gym_donkeycar.envs package

Submodules

gym_donkeycar.envs.donkey_env module

file: donkey_env.py author: Tawn Kramer date: 2018-08-31

class gym_donkeycar.envs.donkey_env.AvcSparkfunEnv[source]

Bases: gym_donkeycar.envs.donkey_env.DonkeyEnv

class gym_donkeycar.envs.donkey_env.DonkeyEnv(level, time_step=0.05, frame_skip=2)[source]

Bases: gym.core.Env

OpenAI Gym Environment for Donkey

ACTION_NAMES = ['steer', 'throttle']
STEER_LIMIT_LEFT = -1.0
STEER_LIMIT_RIGHT = 1.0
THROTTLE_MAX = 5.0
THROTTLE_MIN = 0.0
VAL_PER_PIXEL = 255
close()[source]

Override close in your subclass to perform any necessary cleanup.

Environments will automatically close() themselves when garbage collected or when the program exits.

is_game_over()[source]
metadata = {'render.modes': ['human', 'rgb_array']}
render(mode='human', close=False)[source]

Renders the environment.

The set of supported modes varies per environment. (And some environments do not support rendering at all.) By convention, if mode is:

  • human: render to the current display or terminal and return nothing. Usually for human consumption.
  • rgb_array: Return an numpy.ndarray with shape (x, y, 3), representing RGB values for an x-by-y pixel image, suitable for turning into a video.
  • ansi: Return a string (str) or StringIO.StringIO containing a terminal-style text representation. The text can include newlines and ANSI escape sequences (e.g. for colors).
Note:
Make sure that your class’s metadata ‘render.modes’ key includes
the list of supported modes. It’s recommended to call super() in implementations to use the functionality of this method.
Args:
mode (str): the mode to render with

Example:

class MyEnv(Env):

metadata = {‘render.modes’: [‘human’, ‘rgb_array’]}

def render(self, mode=’human’):
if mode == ‘rgb_array’:
return np.array(…) # return RGB frame suitable for video
elif mode == ‘human’:
… # pop up a window and render
else:
super(MyEnv, self).render(mode=mode) # just raise an exception
reset()[source]

Resets the state of the environment and returns an initial observation.

Returns:
observation (object): the initial observation.
seed(seed=None)[source]

Sets the seed for this env’s random number generator(s).

Note:
Some environments use multiple pseudorandom number generators. We want to capture all such seeds used in order to ensure that there aren’t accidental correlations between multiple generators.
Returns:
list<bigint>: Returns the list of seeds used in this env’s random
number generators. The first value in the list should be the “main” seed, or the value which a reproducer should pass to ‘seed’. Often, the main seed equals the provided ‘seed’, but this won’t be true if seed=None, for example.
step(action)[source]

Run one timestep of the environment’s dynamics. When end of episode is reached, you are responsible for calling reset() to reset this environment’s state.

Accepts an action and returns a tuple (observation, reward, done, info).

Args:
action (object): an action provided by the agent
Returns:
observation (object): agent’s observation of the current environment reward (float) : amount of reward returned after previous action done (bool): whether the episode has ended, in which case further step() calls will return undefined results info (dict): contains auxiliary diagnostic information (helpful for debugging, and sometimes learning)
class gym_donkeycar.envs.donkey_env.GeneratedRoadsEnv[source]

Bases: gym_donkeycar.envs.donkey_env.DonkeyEnv

class gym_donkeycar.envs.donkey_env.GeneratedTrackEnv[source]

Bases: gym_donkeycar.envs.donkey_env.DonkeyEnv

class gym_donkeycar.envs.donkey_env.WarehouseEnv[source]

Bases: gym_donkeycar.envs.donkey_env.DonkeyEnv

gym_donkeycar.envs.donkey_ex module

exception gym_donkeycar.envs.donkey_ex.SimFailed[source]

Bases: Exception

gym_donkeycar.envs.donkey_proc module

file: donkey_proc.py author: Felix Yu date: 2018-09-12

class gym_donkeycar.envs.donkey_proc.DonkeyUnityProcess[source]

Bases: object

quit()[source]

Shutdown unity environment

start(sim_path, headless=False, port=9090)[source]

gym_donkeycar.envs.donkey_sim module

file: donkey_sim.py author: Tawn Kramer date: 2018-08-31

class gym_donkeycar.envs.donkey_sim.DonkeyUnitySimContoller(level, time_step=0.05, hostname='0.0.0.0', port=9090, max_cte=5.0, loglevel='INFO', cam_resolution=(120, 160, 3))[source]

Bases: object

calc_reward(done)[source]
get_sensor_size()[source]
is_game_over()[source]
observe()[source]
quit()[source]
render(mode)[source]
reset()[source]
take_action(action)[source]
wait_until_loaded()[source]
class gym_donkeycar.envs.donkey_sim.DonkeyUnitySimHandler(level, time_step=0.05, max_cte=5.0, cam_resolution=None)[source]

Bases: gym_donkeycar.core.tcp_server.IMesgHandler

calc_reward(done)[source]
determine_episode_over()[source]
get_sensor_size()[source]
is_game_over()[source]
observe()[source]
on_car_loaded(data)[source]
on_connect(socketHandler)[source]
on_disconnect()[source]
on_recv_message(message)[source]
on_recv_scene_names(data)[source]
on_scene_selection_ready(data)[source]
on_telemetry(data)[source]
queue_message(msg)[source]
reset()[source]
send_control(steer, throttle)[source]
send_get_scene_names()[source]
send_load_scene(scene_name)[source]
send_reset_car()[source]
take_action(action)[source]

Module contents