controller.py - Vincent1334/ROS-Humble-BlueRov2-Driver GitHub Wiki

⚙️ Controller node

The Controller Node serves as the fundamental link between our ROS nodes and the BlueRov, managing all topics necessary for controlling the ROV and querying sensor data.

In order for the BlueRov to respond to your code, it is crucial that this node is started first. Therefore, it is recommended to include it at the beginning of your launch file.

📜 Topics

  • /bluerov2/rc/pitch - std_msgs/UInt16 ⚠️
  • /bluerov2/rc/roll - std_msgs/UInt16
  • /bluerov2/rc/throttle - std_msgs/UInt16
  • /bluerov2/rc/yaw - std_msgs/UInt16
  • /bluerov2/rc/forward - std_msgs/UInt16
  • /bluerov2/rc/lateral - std_msgs/UInt16
  • /bluerov2/rc/camera_pan - std_msgs/UInt16 ⚠️
  • /bluerov2/rc/camera_tilt - std_msgs/UInt16
  • /bluerov2/rc/lights - std_msgs/UInt16

[!WARNING]
Topics marked with ⚠️ are only compatible with the BlueROV2 Heavy Configuration.

✅ Valid Values

All RC channels expect a PWM value using the message type std_msgs/UInt16. It's important to note that the neutral PWM value is set at 1500. When set to this value, the corresponding thrusters do not rotate. The maximum PWM value is 1900, representing the maximum thrust force forward. 1100 corresponds to the maximum thrust force in reverse. The only exception is the RC channel for lights. Here, the PWM value 1100 signifies "lights off," while 1900 indicates "lights on."