
Security News
TypeScript is Porting Its Compiler to Go for 10x Faster Builds
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Learn-to-Race is an OpenAI gym compliant, multimodal control environment where agents learn how to race. Unlike many simplistic learning environments, ours is built around Arrival’s high-fidelity racing simulator featuring full software-in-the-loop (SIL), and even hardware-in-the-loop (HIL), simulation capabilities. This simulator has played a key role in bringing autonomous racing technology to real life in the Roborace series, the world’s first extreme competition of teams developing self-driving AI.
An overview of the Learn-to-Race framework
Please visit our official docs for a comprehensive guide on getting started with the environment. Happy racing!
While learning-based agents continue to demonstrate superhuman performance in many areas, we believe that they still lack in terms of generalization abilities and often require too many interactions. In summary, agents will have the ability to learn on training racetracks, but will be evaluated on their performance on an unseen evaluation track. However, the evaluation track is not truly unseen. Much like a Formula-1 driver, we will let agents interact with the new track for 60 minutes during a pre-evaluation stage before true evaluation.
We provide multiple baseline agents to demonstrate how to use Learn-to-Race including both classical and learning-based controllers. The first is a RandomActionAgent
to show basic functionality. We also include a Soft Actor-Critic agent, tabula rasa, trained for 1000 epsiodes. On the Las Vegas track, it is able to consistently complete laps in under 2 minutes each using only visual features from the virtual camera as input.
Episode 1
Episode 100
Episode 1000
One of the key features of this environment is the ability to create arbitrary configurations of vehicle sensors. This provides users a rich sandbox for multimodal, learning based approaches. The following sensors are supported and can be placed, if applicable, at any location relative to the vehicle:
Additionally, these sensors are parameterized and can be customized further; for example, cameras have modifiable image size, field-of-view, and exposure. We provide a sample configuration below which has front, birdseye, and side facing cameras both in RGB mode and with ground truth segmentation.
Left Facing | Front Facing | Right Facing | Birdseye |
---|---|---|---|
![]() | ![]() | ![]() | ![]() |
![]() | ![]() | ![]() | ![]() |
Please visit our documentation for more information about sensor customization.
Python: We use Learn-to-Race with Python 3.6 or 3.7.
Graphics Hardware: An Nvidia graphics card & associated drives is required. An Nvidia 970 GTX graphics card is minimally sufficient to simply run the simulator, but a better card is recommended.
Docker: Commonly, the racing simulator runs in a Docker container.
Container GPU Access: If running the simulator in a container, the container needs access to the GPU, so nvidia-container-runtime is also required.
Due to the container GPU access requirement, this installation assumes a Linux operating system. If you do not have a Linux OS, we recommend running Learn-to-Race on a public cloud instance that has a sufficient GPU.
env_kwargs.controller_kwargs.sim_path
of your configuration file. Alternatively, you can run the simulator as a Docker container by setting env_kwargs.controller_kwargs.start_container
to True. If you prefer the latter, you can load the docker image as follows:$ docker load < arrival-sim-image.tar.gz
$ pip install virtualenv
$ virtualenv venv # create new virtual environment
$ source venv/bin/activate # activate the environment
(venv) $ pip install -r requirements.txt
Please cite this work if you use L2R as a part of your research.
@misc{herman2021learntorace,
title={Learn-to-Race: A Multimodal Control Environment for Autonomous Racing},
author={James Herman and Jonathan Francis and Siddha Ganju and Bingqing Chen and Anirudh Koul and Abhinav Gupta and Alexey Skabelkin and Ivan Zhukov and Andrey Gostev and Max Kumskoy and Eric Nyberg},
year={2021},
eprint={2103.11575},
archivePrefix={arXiv},
primaryClass={cs.RO}
}
FAQs
a OpenAI gym environment for high performance autonomous racing
We found that l2r demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
TypeScript is porting its compiler to Go, delivering 10x faster builds, lower memory usage, and improved editor performance for a smoother developer experience.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.