Robot Operations
Robot Startup Procedure
Launch the robot’s core systems and verify that topics and nodes are running correctly.
After configuring your Raspberry Pi and flashing the firmware, you can start the robot’s onboard ROS 2 stack. This module describes the launch command and how to verify that all expected topics and nodes are active.
ros2 launch common_platform launch_robot.launch.py
ros2 topic list
ros2 node list
Examine the output to confirm that sensor topics like /scan and /camera/image_raw are present and that nodes such as rplidar_node, camera_node and micro_ros_agent are running. If any expected topics or nodes are missing, troubleshoot by reviewing earlier setup steps.
Shutdown Procedure
Properly shut down the robot by stopping all running ROS processes and powering off the Raspberry Pi.
To safely power off the robot, you should first stop any running ROS nodes and processes, then issue a shutdown command. Abruptly disconnecting power can corrupt the filesystem or leave hardware in an unsafe state.
sudo shutdown now
Reboot Procedure
Restart the Raspberry Pi to apply configuration changes or reset the system.
Rebooting the robot is useful after editing configuration files or applying firmware updates. A reboot cleanly shuts down processes and restarts the operating system.
sudo reboot
Emergency Shutdown
Safely stop the robot in emergency situations by halting software and cutting power if necessary.
In an emergency—such as a runaway robot or hardware failure—you must quickly stop all software and power down the system to prevent damage or injury. Follow these steps:
sudo shutdown -h now
If software commands fail or the system is unresponsive, cut power by switching off the power supply or unplugging the battery. After addressing the issue, inspect hardware and restart with the normal procedure.
Routine Maintenance
Perform regular checks on sensors, motors and software to ensure reliable operation of the robot.
Consistent maintenance prolongs the life of your robot and catches issues before they become critical. This module outlines daily and weekly checks you can perform using ROS 2 commands.
ros2 launch common_platform launch_robot.launch.py
ros2 topic echo /${ROS_NAME}/scan
ros2 topic echo /${ROS_NAME}/camera/image_raw
ros2 topic echo /${ROS_NAME}/imu/data
ros2 topic pub /cmd_vel geometry_msgs/msg/Twist "{}"
CAUTION: To test actual robot movement, ensure the workspace is clear and publish a non-zero velocity command:
ros2 topic pub /cmd_vel geometry_msgs/msg/Twist "{linear: {x: 0.1, y: 0.0, z: 0.0}, angular: {x: 0.0, y: 0.0, z: 0.0}}"
This will cause the robot’s wheels to turn. Only run this command if you have verified the area is safe.
Maintenance Schedule
Regular maintenance extends the robot’s operational life and prevents unexpected failures. Follow this schedule:
Daily Checks (before each session):
- Visual inspection for loose cables, damaged components, or debris
- Verify battery charge level
- Check wheel rotation and motor response
- Confirm sensor connectivity (LiDAR, camera, IMU)
Weekly Maintenance:
- Clean LiDAR lens and camera optics with a soft, lint-free cloth
- Inspect and tighten mounting hardware
- Check tire condition and wheel alignment
- Update ROS packages:
sudo apt update && sudo apt upgrade
Monthly Maintenance:
- Deep clean all sensors and remove accumulated dust
- Calibrate IMU if drift is observed
- Test battery capacity and charging cycle
- Review and update firmware if new releases are available
- Inspect motor brushes and bearings for wear
Quarterly Maintenance:
- Full system diagnostic and performance review
- Replace worn mechanical components (wheels, belts, bearings)
- Recalibrate sensors and verify accuracy
- Backup system configurations and custom code
- Review logs for recurring errors or warnings
Schedule deeper maintenance (tightening hardware, inspecting cables, updating packages) weekly or monthly as recommended by the program.