diff --git a/docs/software/index.rst b/docs/software/index.rst index 9e779a0eb..48b6acb36 100644 --- a/docs/software/index.rst +++ b/docs/software/index.rst @@ -11,6 +11,7 @@ Various documentation related to practices followed by the MIL Software team. documentation_syntax adding_documentation help + vrx_2023 zobelisk asyncio rqt diff --git a/docs/software/vrx_2023.md b/docs/software/vrx_2023.md index 7a68ec756..5c454a5be 100644 --- a/docs/software/vrx_2023.md +++ b/docs/software/vrx_2023.md @@ -10,8 +10,43 @@ a bridge between ROS 1 and ROS 2 that we can use to connect our submission with their competition environment. This guide will help you get familiar with that setup and how to work with VRX. +## Working with ROS 2 + +Your machine will have both ROS 1 and ROS 2 running on it. To work with two versions +of ROS, it's best to only source one version of ROS at a time. + +### Installing ROS 2 + +To install ROS 2, run the `./scripts/install_ros2.sh` script. This will install +ROS 2, the ROS 1 to 2 bridge, and the bridge VRX messages packages. + +### Working with ROS 1 and 2 + +Currently, the MIL installation will source `./scripts/setup.bash` each time you +open your terminal. While this works for most members and most applications, for +VRX this is no longer ideal. We recommend changing that line to this (or +something similar) such that you will be able to choose a version to run with each +new terminal: + +```bash +noetic() { + source ~/catkin_ws/src/mil/scripts/setup.bash +} + +humble() { + source ./ros2_humble/install/local_setup.bash +} +``` + +Then, in terminals where you want to run ROS 2, you can type `humble`. Likewise, +in terminals where you want to run ROS 1, run `noetic`. + ## Bridging VRX +Because the VRX platform is built for ROS 2 and our current software focuses on +ROS 1, we will create a ROS 1 to 2 bridge to allow for communication. The bridge, +our ROS 1 code, and the VRX platform (in ROS 2) will all run on your host machine. + ## Launching Missions To run the entire the entire VRX simulation, you can `roslaunch`. This launches @@ -25,5 +60,5 @@ Some arguments you may want to provide include: * `run_task` - This flag allows you to run and get scored for a certain task. An example argument includes `Navigation` (to run the navigation task). The - task just runs the mission named `Vrx` (so in our case, it would + task runs the mission named `Vrx` (so in our case, it would run `VrxNavigation`).