Safety Architecture¶
The ROS2 gateway implements a sophisticated safety mechanism with human override capability.
Safety Override System¶
The system implements a priority-based control architecture:
- Autonomous/Manual Control Priority: User publishes
Twistmessages on the/rover/cmd_veltopic. - Radio Monitoring: The controller node monitors CAN bus activity to detect radio presence. If the radio is present, it doesn't interfere with the control. Otherwise, it sends CAN messages to control the Rover.
- Fail-safe: If radio connection is lost, this triggers a system stop and the Rover halts.
- Radio Command Publishing: Radio commands are published to
/rover/radio/cmd_velfor monitoring by the user.
Control Flow¶
The following images illustrate the control flow and radio override logic:
When no physical radio is active (first image):
- User sends commands via
/rover/cmd_vel - Controller node forwards commands to CAN bus
- Rover executes commands
When physical radio is active (second image):
- Radio module sends commands from RC transmitter directly via CAN bus
- Controller node reads these CAN messages
- Controller node publishes radio commands to
/rover/radio/cmd_velfor monitoring - Controller node ignores any
/rover/cmd_velcommands

