The unitree_navigation_pkg enables computer vision-based navigation for TurtleBot3 robots using YOLOv8 segmentation models. It supports both simulation in Gazebo and real-world applications with physical cameras or video files.
- System Overview
- Installation Prerequisites
- Basic Usage
- Using a Physical Camera
- Using a Video File
- Advanced Configuration
- Troubleshooting
This package offers:
- Path detection using YOLOv8 segmentation models.
- Computer vision-based navigation for TurtleBot3 in Gazebo simulation.
- Support for both physical cameras and pre-recorded videos.
- Visualization of segmentation and navigation decision-making processes.
Ensure the following are installed:
- ROS 2 Humble
- Gazebo 11
- TurtleBot3 packages
- YOLOv8 segmentation models
-
Clone the Repository:
cd ~/ros2_ws/src git clone https://github.com/mathis-de-brouwer/unitree_navigation_pkg.git
-
Install Dependencies:
cd ~/ros2_ws rosdep install --from-paths src --ignore-src -r -y
-
Build the Package:
colcon build
-
Source the Workspace:
source install/setup.bash -
Launch the Simulation:
ros2 launch unitree_navigation_pkg simulation_launch.py
-
Connect the Camera:
Ensure your physical camera is connected and recognized by the system.
-
Launch the Camera Node:
ros2 launch unitree_navigation_pkg camera_launch.py
-
Start Navigation:
ros2 launch unitree_navigation_pkg navigation_launch.py
-
Specify the Video Path:
Edit the
video_launch.pyfile to set the path to your video file. -
Launch the Video Node:
ros2 launch unitree_navigation_pkg video_launch.py
-
Start Navigation:
ros2 launch unitree_navigation_pkg navigation_launch.py
-
Model Parameters:
Adjust the YOLOv8 model parameters in the
configdirectory to fine-tune detection performance. -
Navigation Settings:
Modify navigation parameters in the
navigationdirectory to suit different environments or robot configurations.
-
Camera Not Detected:
Ensure the camera is properly connected and recognized by the system. Use
ls /dev/video*to check. -
Simulation Issues:
Verify that Gazebo is installed correctly and that the TurtleBot3 model is properly configured.
-
Model Loading Errors:
Confirm that the YOLOv8 models are placed in the correct directory and that the paths in the configuration files are accurate.