This project is focused on the development and documentation of the TurtleBot4 robot and the Hermes system, a software system designed to enable autonomous driving capabilities for the TurtleBot4. The repository is structured into three main directories: Documentation, Software, and Results. The Documentation section covers theory, tutorials, setup instructions and more. The Software section includes the codebase for the Hermes system, and the Results section has some results that were achieved during the development of the project.
To set up and quickly start using the TurtleBot4 with the Hermes system, we recommend the following approach:
- Base Setup: Follow the instructions in Base Setup to install ROS2 and the necessary TurtleBot4 packages on your PC.
- Network Discovery Server: Set up the network discovery server to enable communication between your PC and the TurtleBot4 using the guide in Network Discovery Server.
- Camera Configuration: If you need to adjust the camera position or orientation, refer to the instructions in Camera Configuration.
- Launching Hermes: Launch the Hermes system using the provided launch files. Detailed instructions can be found in Launch Files (Hermes).
- RViz: Use RViz to visualize sensor data, maps, and other information from the TurtleBot 4 and Hermes system. Refer to the RViz documentation for guidance.
- Tips & Tricks If you want some tips and tricks such as how to make the TurtleBot charge faster, visit Tips & Tricks
The Hermes directory contains comprehensive documentation about the Hermes system. It includes information about the core functionality, image processing nodes, and launch files. Here are some key files:
- hermes_core.md: Overview of the core Hermes node responsible for mapping and localization.
- depth_intensity_image_syncer.md: Details about the node that synchronizes depth and intensity images from the OAK-D camera.
- launch_files.md: Explanation of the launch files used to start and configure the Hermes system.
- camera_configuration.md: Guide on how to modify the camera settings for the TurtleBot4.
The TurtleBot4 directory contains documentation about the TurtleBot 4. It includes information about the on-board computers, setup instructions, sensor details, and troubleshooting guides. Here are some key files:
- On-Board Computers: Detailed information about the Raspberry Pi 4B used in the TurtleBot4, including how to flash the SD card.
- Setup: Instructions on how to set up the TurtleBot4, including network setup and ROS configuration.
- Troubleshooting: Guides to help you troubleshoot issues with the TurtleBot4, including sensor problems and software configurations.
Hermes - The system which is run on the TurtleBot 4 which we have used for mapping and navigation. Read the docs here
Launch Files - The Launch Files used, read the docs here
Image Compare - The Testing suite includes image comparison algorithms, namely NCC, MSE and SSIM. In image_comparison.py you can set your own weights for each algorithm and you will get a csv containing the results. Read the docs here
Graphs - This script creates graphs to help visualize the results you get from your image comparisons. Read the docs here