3.1 KiB
AUTOGENERATED, title
AUTOGENERATED | title |
---|---|
DO NOT EDIT FILE DIRECTLY | Car Racing |
Car Racing
:width: 200px
:name: car_racing
This environment is part of the Box2D environments. Please read that page first for general information.
Action Space | Box([-1. 0. 0.], 1.0, (3,), float32) |
Observation Shape | (96, 96, 3) |
Observation High | 255 |
Observation Low | 0 |
Import | gymnasium.make("CarRacing-v2") |
Description
The easiest control task to learn from pixels - a top-down racing environment. The generated track is random every episode.
Some indicators are shown at the bottom of the window along with the state RGB buffer. From left to right: true speed, four ABS sensors, steering wheel position, and gyroscope. To play yourself (it's rather fast for humans), type:
python gymnasium/envs/box2d/car_racing.py
Remember: it's a powerful rear-wheel drive car - don't press the accelerator and turn at the same time.
Action Space
If continuous: There are 3 actions: steering (-1 is full left, +1 is full right), gas, and breaking. If discrete: There are 5 actions: do nothing, steer left, steer right, gas, brake.
Observation Space
State consists of 96x96 pixels.
Rewards
The reward is -0.1 every frame and +1000/N for every track tile visited, where N is the total number of tiles visited in the track. For example, if you have finished in 732 frames, your reward is 1000 - 0.1*732 = 926.8 points.
Starting State
The car starts at rest in the center of the road.
Episode Termination
The episode finishes when all of the tiles are visited. The car can also go outside of the playfield - that is, far off the track, in which case it will receive -100 reward and die.
Arguments
lap_complete_percent
dictates the percentage of tiles that must be visited by
the agent before a lap is considered complete.
Passing domain_randomize=True
enables the domain randomized variant of the environment.
In this scenario, the background and track colours are different on every reset.
Passing continuous=False
converts the environment to use discrete action space.
The discrete action space has 5 actions: [do nothing, left, right, gas, brake].
Reset Arguments
Passing the option options["randomize"] = True
will change the current colour of the environment on demand.
Correspondingly, passing the option options["randomize"] = False
will not change the current colour of the environment.
domain_randomize
must be True
on init for this argument to work.
Example usage:
env = gymnasium.make("CarRacing-v1", domain_randomize=True)
# normal reset, this changes the colour scheme by default
env.reset()
# reset with colour scheme change
env.reset(options={"randomize": True})
# reset with no colour scheme change
env.reset(options={"randomize": False})
Version History
- v1: Change track completion logic and add domain randomization (0.24.0)
- v0: Original version
References
- Chris Campbell (2014), http://www.iforce2d.net/b2dtut/top-down-car.
Credits
Created by Oleg Klimov