This system uses a Turtlebot3 Burger with ROS2 Humble (specifications can be found on the Robotis website)
The robot is required to autonomously navigate and fully map a maze. Upon detecting a heat source, the robot should approach the heat source, stop, and fire 3 ping pong balls in a firing sequence of 2-4-2s. The robot must detect two distinct heat sources in the maze. Optionally, the robot can scale a ramp and detect a third heat source in the ramp zone.
The full final mission details can be found here
- Electronics this folder contains information for the electronics (heat sensor and launcher mechanism)
- Mechanical this folder contains information for the mechanical design of the launcher mechanism and mounts for heat sensor and motor drivers
- assets this folder contains pictures and documents
- dev_scripts
- r2z1.py for debugging
- ramp.py ramp test script
- sensor_development scripts used for development of heat source detection
- launcher_development scripts used for development of launcher system
- board_integration other test scripts
- reference_scripts Scripts used as reference, including original r2auto_nav scripts
- tasks in-class tasks and submissions
- README.md
- helper_funcs.py helper functions to test robot functionality
- mappingphase.py ensures map closure is achieved after all non-ramp heat sources are found in searching phase
- package.xml contains package dependencies
- pathfinder.py navigates the robot to subsequent decision points
- searchingphase.py sweeps the map for heat sources
- setup.py creates entry points for the package
- software_readme.md this file contains information for the software
- survivorzonesequence.py heat source detection, launcher firing and ramp sequence
Our group's system functions as follows:

See software_readme
- amg_read_test and sensor_test are used for checking output from the sensor
- amg_listener_test and amg_publisher_test are used for checking publishing of sensor data from RPi to remote PC via ROS2
- r2z1.py can be run on the remote PC to view debug messages during full operation of the system as described in the end user documentation
This repository can be downloaded as normal and built as a ROS2 workspace. Refer to ROS2 Humble documentation for more information.
See user manual for details on operation

