Repository Summary
Description | Implementation of 3D SLAM, autonomous navigation, object detection, and point cloud processing on the Clearpath Jackal UGV |
Checkout URI | https://github.com/r-shima/3d_slam_and_object_detection.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2024-01-31 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
jackal_3d_slam | 0.0.0 |
README
3D SLAM and Object Detection for Jackal Navigation
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.
Package
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.
Hardware
- Clearpath Jackal UGV
- Intel RealSense D435i
- Velodyne LiDAR VLP-16
Software
- ROS 2 Humble
- RTAB-Map
- Nav2
- YOLOv7
- Point Cloud Library (PCL)
Dependencies
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.
Setting Up the Jackal on ROS2 Humble
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.
Quickstart
- 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.Demo