Skip to content

ZingHng/r2auto_nav_CDE2310

 
 

Repository files navigation

CDE2310 AY 24/25 Group 5

Final bot side view Final bot top view

System requirements

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

Repository structure overview

  • 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

High-level design

Our group's system functions as follows: system flowchart

Subsystem design

Mechanical

See mechanical_readme

Electrical

See electronics_readme

Software

See software_readme

Testing documentation

  • 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

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

About

ROS2 auto_nav code for CDE2310 - AY2024/25

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%