- Ubuntu 24.04.3
- ROS 2 Jazzy (install guidelines: https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debs.html) (use the desktop version and install the development tools)
The following is a step-by-step guide on how to set up the project on a fresh virtual machine with Ubuntu 24.04, ROS 2 Jazzy and git installed. Testing showed that the order of installation and cloning is important for the build to work because some packages depend on ROS 2 repositories being present.
- Clone the project repository
cd # go to desired directory
# clone project repository
git clone git@github.com:Emmaa65/AS_project_group_10.git- Copy simulation files
This assumes that the /Simulation folder is unpacked in the /Downloads folder.
# create directory in /src/simulation/
mkdir -p ~/AS_project_group_10/ros2_ws/src/simulation/unity_sim
# copy simulation files into /src/simulation/unity_sim/
cp -r ~/Downloads/Simulation/. ~/AS_project_group_10/ros2_ws/src/simulation/unity_sim/
# make Simulation.x86_64 executable
chmod +x ~/AS_project_group_10/ros2_ws/src/simulation/unity_sim/Simulation.x86_64- Install required packages
# install packages, flag -y automatically approves of installation
sudo apt install -y \
libgflags-dev \
libgoogle-glog-dev \
libnlopt-dev \
ros-jazzy-depth-image-proc \
ros-jazzy-vision-opencv \
ros-jazzy-pcl-ros \
libnlopt-cxx-dev \
ros-jazzy-nav2-msgs \
ros-jazzy-nav2-util \
libfcl-dev \
libompl-dev \
ros-jazzy-ompl \
ros-jazzy-octomap \
ros-jazzy-octomap-msgs \
ros-jazzy-octomap-server \
ros-jazzy-octomap-ros- Clone Octomap plugins for RViz into src
cd AS_project_group_10/ros2_ws/src/
git clone https://github.com/OctoMap/octomap_rviz_plugins -b ros2
cd ../Note:
The required packages may be installed (Step 3) before cloning the project repo (step 1) and copying the simulation files (step 2).
The octomap_rviz_plugins (Step 4) must come last, after the ROS 2 Octomap and PCL packages.
However, it is highly recommended to follow the guide step by step.
- Checkout and pull main
# run these from the repo root or in ros2_ws/
git checkout main
git pull- Build, source and launch
# source if not included in .bashrc
source /opt/ros/jazzy/setup.bash
# build inside the workspace
cd ~/AS_project_group_10/ros2_ws
# build the project and source workspace (use --symlink-install for faster iterations)
colcon build && source install/setup.bash
# execute main launch file
ros2 launch system_bringup main.launch.py
- View saved octomap afer simulation has finished
ros2 launch system_bringup view_saved_octomap.launch.py- Text file with detected objects is stored under:
~/AS_project_group_10/ros2_ws/detected_objects.txt