This directory contains the ros2 package that should be run on the ros2 server machine.
wallfollow.py
Contains the main bulk of the code for the robot. It manages state to navigate the bot through the maze, manage signals from various sensors on the bot, and orchestrate the completion of the taskconv.py
Contain helper code to assist in transformations of odometry data into base_link, required because the tf2 python library is not fully updated to work with ros2.
On the server side, two processes must be run:
ros2 launch turtlebot3_cartographer turtlebot3_cartographer.launch.py
ros2 run ts_server wallfollow
This directory contains the ros2 package that should be run on the ros2 client (i.e. the turtlebot).
launch.py
Defines all scripts that should be launched from this packagebutton.py
Publishes Empty messages tobutton
whenever the button is pressed.nfc.py
Publishes Empty messages tonfc
while a NFC tag is detectedthermal.py
Publishes Float32MultiArray messages tothermal
periodically once values are read from the thermal camera.motors.py
Subscribes to the/motor
topic, in order to allow the server to control the firing of balls.
On the client side, two processes must be run:
ros2 launch turtlebot3_bringup robot.launch.py
ros2 launch ~/turtlebot_ws/src/r2auto_nav/ts_client/launch.py
This directory contains standalone scripts for testing and calibrating the systems.
firing.py
Run to test flywheel motors, servo motor, and firing sequence.calibrate_thermals.py
Run to test thermal sensor and calibrate based on the temperature of the target.
This directory contains setup scripts for installing the code onto a new machine.
bootstrap_client.py
Updates packages, installs required libraries, and builds the client side code.bootstrap_server.py
Installs required libraries, and builds the server side code.