MADRaS : Multi Agent Driving Simulator
  In this work, we present MADRaS, an open-source multi-agent driving simulator
for use in the design and evaluation of motion planning algorithms for
autonomous driving. MADRaS provides a platform for constructing a wide variety
of highway and track driving scenarios where multiple driving agents can train
for motion planning tasks using reinforcement learning and other machine
learning algorithms. MADRaS is built on TORCS, an open-source car-racing
simulator. TORCS offers a variety of cars with different dynamic properties and
driving tracks with different geometries and surface properties. MADRaS
inherits these functionalities from TORCS and introduces support for
multi-agent training, inter-vehicular communication, noisy observations,
stochastic actions, and custom traffic cars whose behaviours can be programmed
to simulate challenging traffic conditions encountered in the real world.
MADRaS can be used to create driving tasks whose complexities can be tuned
along eight axes in well-defined steps. This makes it particularly suited for
curriculum and continual learning. MADRaS is lightweight and it provides a
convenient OpenAI Gym interface for independent control of each car. Apart from
the primitive steering-acceleration-brake control mode of TORCS, MADRaS offers
a hierarchical track-position -- speed control that can potentially be used to
achieve better generalization. MADRaS uses multiprocessing to run each agent as
a parallel process for efficiency and integrates well with popular
reinforcement learning libraries like RLLib.
