This document has instructions to get you started. Reach each section carefully.
If you have a Windows, Mac or Linux on your desktop you can use Docker Desktop and Dev Containers extension in VScode to do local development. Running Docker Desktop from an Ubuntu host is recommended, either as a dual boot or native OS. You can host the Docker container from a Windows WSL2 Ubuntu evironment, but that is more cumbersome and inefficient. Mac is untested.
-
- Docker command line is sufficient on Linux
-
Follow the Dev Containers Tutorial
-
Follow the linked instructions on how to clone a repository locally, login to GitHub and when prompted, put in the repository URL:
git clone https://github.com/CabrilloRoboticsClub/SUAS_ros.git -
You will also need to grab the recursive repositories:
git submodule update --init --recursive -
And (for Ubuntu) enable gui passthrough:
xhost +local: -
You will be prompted to re-open the folder in a development container. Select yes. Confirm that you have the devconainer open by looking at the bottom left corner of VScode. It should look like the picture below:
-
Create a Terminal in your VScode window with the
Terminal -> New Terminalmenu.
Here are some steps to test your repository. These steps work on my setup at home. The simulation stack is very heavy and may require a reasonably powerful GPU. Run this command in the dev container terminal.
-
Build the software in your dev container:
make -
Source the
setup.bashfile after the build is complete.source install/setup.bash -
Launch a simulation:
ros2 launch ardupilot_gz_bringup iris_runway.launch.py -
Control the simulation with a flight controller. There are a number of programs available. I have had success with QGroundControl.
Ardupilot has official tutorials here:
- Install ROS2
- ROS 2 with SITL in Gazebo
- ROS 2 waypoint goal inerface
- Cartographer SLAM with ROS 2 in SITL
None of the tutorial's setup steps are necessary. The development container is fully setup.
