How to Use Racing Simulator
A vehicle simulator for the Dallara AV-21R. This simulator provides a way for teams to test their autonomous racing software with similar dynamics, sensors, and interface to the real car.
Documentation
-
How to use racing simulator (this page)
Downloading Simulator
There are two options to run racing simulations:
-
Download binary (recommended)
Download the most recent racing simulator build in the Github Releases.
-
Windows: Double-click the downloaded executable (.exe)
-
Linux:
-
Double-click the downloaded executable (.so)
-
The first time you may need to set the executable permissions with
chmod +x AWSIM.so
-
-
From the Unity Editor
a. To run directly from the Unity editor, clone the repository and make sure you are on the
racing-main
git branch.b. Run the script
sm_setup.sh
to set up the repository to pull the correct submodules.c. Follow the instructions in Getting Started - Setup Unity Project.
d. Download and import
racetracks_v1.unitypackge
Download racetrack assets (unitypackage)
e. In Unity Editor, from the menu bar at the top, select
Assets -> Import Package -> Custom Package...
and navigate theracetracks_v1.unitypackage
file.
Scenario Setup
In the main menu, click the 'Scenario Setup' button. - Select a saved scenario from the dropdown or create a new one (scenario and vehicle setups are saved in your Documents folder) - Select a saved vehicle setup - Select a racetrack - In the scenario setup, you can select number of cars, how they are controlled, their colors, and their car number - You can name your scenario and save it to use the same scenario settings later - When you have multiple scenarios saved, you can pick one from the left dropdown menu - The most recently saved scenario will be at the top of the dropdown for convenient testing - Currently simulator only supports one ROS2 car (multicar coming soon) - If you are controlling a car with ROS2: - Set the ROS_DOMAIN_ID to use for the car (This is currently not implemented and will only use ROS_DOMAIN_ID 0) - Generic AI mode is currently disabled - Human control type will allow for keyboard control - The option to "Hot start raptor" will start the low level ECU in sys_state = 9 (as explained in Sensors - Raptor)
Vehicle Setup
To view or create a setup, click the 'Vehicle Setup' button. - Modify an existing setup or save a new one with the 'Save' button - To fill in suggested values, press the 'Default' button - Differential - Choose between a spool differential and a Limited Slip Differential (LSD) - Steering - Choose between realistic or ideal steering actuation - Set the desired pure steering delay (s) and steering bandwidth (hz) - Set the max steering motor angle (deg) and max steering motor rate (deg/s) - Set the steering ratio - Suspension - Set the anti-roll bar rates (N/m) - Brakes - Set the brake constant (conversion from kPa to Nm of torque) - Tyres - Enable or disable thermal tyre effects - Set ambient and track temperatures (deg Celcius)
Sensor Setup
Sensor setup menu is currently disabled but will be available at a future date
Simulation operation
To start a simulation, click 'Drive' from the 'Scenario Setup' menu.
- 'C' cycles through various camera angles
- 'R' or Reset button reset the car back onto the track and pointed in the correct direction
- Pause button -> Restart button relaunches the entire scenario
- The HUD shows steering motor input, throttle input, brake input, current gear, speed, rpm, ct_state, sys_state, tire tempuratures, and lap times.
Human driver mode
- Controls are 'arrow keys' for throttle, steering and brake
- 'tab' for gear up
- 'caps lock' or 'shift' for gear down
ROS2 driver mode
- You can continue with standard AV-21R startup proceedure
- If you selected 'Raptor Hot Start' then you can immediately begin driving
- If you did not, vehicle requires an orange flag and a ct_state = 5, followed by removing the orange flag to begin driving.
- Low-level state machine is described in more detail in the Sensors - Raptor section.
Copyright and License
Copyright 2023 Autonoma Inc.
All code is licensed under the Apache 2.0 License. All assets are distributed under the CC BY-NC License.