Run ROS code with GitHub Actions triggered by each commit. The code runs inside a Ubuntu 18.04 Docker container that has ROS Melodic, Gazebo 9, Python 2.7, and the Race On code ready to start a simulation. Using Docker containers instead of VM allows us to exactly replicate the same environment both locally and on GitHub where the evaluations will happen.
- (Priority: High) Create two Docker images,
simulation
anddevelopment
. Thesimulation
image will contain the minimum necessary tools to run the Gazebo simulator and will be used in the GitHub Actions. Thedevelopment
image will extend thesimulation
one with development tools that teams will use to write their code such as Jupyter Notebook/Lab and a local Webviz server. - (Priority: High) Clean the current code to have only one packeage
race-on-sim
that will contain all the necessary code to simulate the car using Gazebo and return a lap time. - (Priority: High) Starter code that completes a lap wich teams will work to extend.
- (Priority: Medium) Add visual clues to the track such that Labs 5 to 8 can be implemented
- (Priority: Medium) Adjust f1tenth labs for Race On.
- (Priority: Low) Setup script based on the Docker file that will install all the dependencies on a fresh Ubuntu 18.04
- Setup ROS and check the simulator, record data
- Dynamic speed control
- Follow the line
- Track placement
- Localization
- SLAM
- Planing
- Sensor fusion (camera, odometry, accelerometer)
- What is a reasonable time limit for GitHub to execute the code and at the same time prevent an infinite loop for stalling all the resources?