The goal of this project is to equip the Clearpath Jackal UGV with perception, localization, and mapping capabilities for navigation. For more details, please go to my portfolio post.
jackal_3d_slam: This is a ROS 2 package that implements 3D SLAM using RTAB-Map, autonomous navigation using Nav2, and real-time object detection using YOLOv7 on the Clearpath Jackal UGV. It also implements point cloud processing.
- Clearpath Jackal UGV
- Intel RealSense D435i
- Velodyne LiDAR VLP-16
- ROS 2 Humble
- RTAB-Map
- Nav2
- YOLOv7
- Point Cloud Library (PCL)
Install with sudo apt install
:
- ros-humble-rtabmap
- ros-humble-rtabmap-ros
- ros-humble-navigation2
- ros-humble-nav2-bringup
- ros-humble-perception-pcl
Please refer to the next section for the dependencies related to the Jackal.
The additional part of this project was bringing the Jackal up to a running state on ROS 2 Humble. The instructions are provided in a separate repository, which is available here. Additional dependencies related to the Jackal are listed there.
- After setting up the Jackal, clone this repository in the src directory of your workspace on the Jackal's computer. In your workspace, build the package by running
colcon build
. - From your computer, SSH into the Jackal's computer (instructions are provided in the repository mentioned before). Go to your workspace and source it by running
source install/setup.bash
. - Run
ros2 launch jackal_3d_slam jackal_transform.launch.py use_filtered:=true
to launch RTAB-Map with filtered point cloud data. Otherwise, runros2 launch jackal_3d_slam jackal_transform.launch.py use_unfiltered:=true
. - Open a new terminal on your computer and SSH into the Jackal's computer again. Go to your workspace, source it, and run
ros2 launch jackal_3d_slam start_3d_slam.launch.xml filter:=true
to filter the point cloud. Otherwise, runros2 launch jackal_3d_slam start_3d_slam.launch.xml
. - Open a new terminal on your computer, go to your workspace, source it, and run
ros2 launch nav2_bringup rviz_launch.py
. You should now be able to send goals to the Jackal on RViz.