Raph Rover ROS 2 API Reference
Subscribed topics​
-
controller/cmd_ackermann(ackermann_msgs/msg/AckermannDrive)Steers the robot when operating in the Ackermann steering mode.
-
controller/cmd_led_panel(raph_interfaces/msg/LedStripState)Sets a new user state for all the LEDs in the LED strip.
-
controller/cmd_led_strip(raph_interfaces/msg/LedPanelState)Sets a new user state for all the LEDs in the specified LED panel.
-
controller/cmd_turn_in_place(raph_interfaces/msg/TurnInPlaceDrive)Sets the target angular velocity when operating in the turn-in-place steering mode.
-
controller/cmd_vel(geometry_msgs/msg/Twist)Steers the robot using Twist commands. More standardized way to control the robot. Useful for some navigation stacks. Not recommended for manual teleoperation. Only uses
linear.xandangular.zcomponents.
Published topics​
-
controller/imu/data(sensor_msgs/msg/Imu)Filtered readings from the onboard IMU. These include:
- linear acceleration from the accelerometer,
- angular velocity from the gyroscope, with a dynamic bias compensation applied, and
- orientation calculated from the accelerometer and gyroscope sensor fusion.
-
controller/odom(nav_msgs/msg/Odometry)Odometry calculated from wheel encoders and the onboard IMU.
-
controller/diagnostics/imu(raph_interfaces/msg/ImuDiagnostics)Diagnostic information about the IMU module.
Includes module temperature and calibration data. -
controller/diagnostics/motors(raph_interfaces/msg/MotorDiagnostics)Diagnostic information about the motors.
Includes motor temperatures, power consumption and fault data. -
controller/drivetrain_state(raph_interfaces/msg/DrivetrainState)Current drivetrain state, including steering mode and calibration status.
-
controller/led_strip_state(raph_interfaces/msg/LedStripState)Current state of the whole LED strip.
-
controller/power_system_state(raph_interfaces/msg/PowerSystemState)Current information about the power system.
-
oak/imu/data_raw(sensor_msgs/msg/Imu)Current gyroscope and accelerometer readings from the Oak-D IMU.
-
oak/left/camera_info(sensor_msgs/msg/CameraInfo)Calibration data for the raw images from the left Oak-D camera.
-
oak/left/image_raw(sensor_msgs/msg/Image)Raw images from the left Oak-D camera.
-
oak/left_rect/camera_info(sensor_msgs/msg/CameraInfo)Calibration data for the rectified images from the left Oak-D camera.
-
oak/left_rect/image_rect(sensor_msgs/msg/Image)Rectified images from the left Oak-D camera.
-
oak/rgb/camera_info(sensor_msgs/msg/CameraInfo)Calibration data for the raw images from the center (RGB) Oak-D camera.
-
oak/rgb/image_raw(sensor_msgs/msg/Image)Raw images from the center (RGB) Oak-D camera.
-
oak/rgb_rect/camera_info(sensor_msgs/msg/CameraInfo)Calibration data for the rectified images from the center (RGB) Oak-D camera.
-
oak/rgb_rect/image_rect(sensor_msgs/msg/Image)Rectified images from the center (RGB) Oak-D camera.
-
oak/right/camera_info(sensor_msgs/msg/CameraInfo)Calibration data for the raw images from the right Oak-D camera.
-
oak/right/image_raw(sensor_msgs/msg/Image)Raw images from the right Oak-D camera.
-
oak/right_rect/camera_info(sensor_msgs/msg/CameraInfo)Calibration data for the rectified images from the right Oak-D camera.
-
oak/right_rect/image_rect(sensor_msgs/msg/Image)Rectified images from the right Oak-D camera.
-
oak/stereo/camera_info(sensor_msgs/msg/CameraInfo)Calibration data corresponding to the depth images calculated from the stereo pair (left and right Oak-D cameras).
-
oak/stereo/image_raw(sensor_msgs/msg/Image)Depth images calculated from the stereo pair (left and right Oak-D cameras).
-
oak/points(sensor_msgs/msg/PointCloud2)Point cloud data converted from the depth images.
-
rplidar/scan(sensor_msgs/msg/LaserScan)Raw laser scans from the onboard 2D LIDAR.
-
rplidar/scan_filtered(sensor_msgs/msg/LaserScan)Laser scans from the onboard 2D LIDAR with points lying on the robot's footprint filtered out.
-
joint_states(sensor_msgs/msg/JointState)Current state of the robot joints.
-
robot_description(std_msgs/msg/String)The URDF description of the robot.
-
/diagnostics(diagnostic_msgs/msg/DiagnosticArray)Diagnostic information from various ROS nodes.
-
/parameter_events(rcl_interfaces/msg/ParameterEvent)Parameter events (additions, changes or deletions) from all the running ROS nodes.
-
/rosout(rcl_interfaces/msg/Log)Logs from all the running ROS nodes.
-
/tf,/tf_static(tf2_msgs/msg/TFMessage)Relationships between TF frames in the ROS network.
These topics are used by the tf2 library.
Services​
-
controller/get_controller_info(raph_interfaces/srv/GetControllerInfo)Get information about the controller, including bootloader and firmware versions and other optional information.
-
controller/clear_leds(std_srvs/srv/Trigger)Resets user states for all LEDs in the LED strip.
-
controller/set_leds(raph_interfaces/srv/SetLeds)Set user state for specified LEDs.
-
controller/calibrate_servos(std_srvs/srv/Trigger)Trigger servo calibration procedure.
-
controller/reset_odom(std_srvs/srv/Trigger)Reset odometry position.
-
controller/reset_motor_diagnostics(std_srvs/srv/Trigger)Reset motor faults and calculated consumed energy.
-
controller/set_battery_modes(raph_interfaces/srv/SetBatteryModes)Set target battery modes.
-
controller/set_steering_mode(raph_interfaces/srv/SetSteeringMode)Set the current steering mode.
-
raph_system/get_os_version(raph_interfaces/srv/GetOsVersion)Get the version of the RaphOS running on the robot.
-
raph_system/shutdown(std_srvs/srv/Trigger)Perform onboard computer's system shutdown.
-
raph_system/reboot(std_srvs/srv/Trigger)Perform onboard computer's system reboot.
Parameters​
controller​
-
drivetrain.ackermann_deceleration(type:float, default:5.0)Deceleration to use when operating in ackermann mode.
-
drivetrain.turn_in_place_deceleration(type:float, default:8.0)Deceleration to use when operating in turn-in-place mode.
-
drivetrain.wheel_base(type:float, default:0.382)Distance between front and rear wheels.
-
drivetrain.track_width(type:float, default:0.385)Distance between left and right wheels.
-
drivetrain.wheel_radius(type:float, default:0.08)Radius of the wheel.
-
drivetrain.max_wheel_angular_velocity(type:float, default:19.0)Maximum allowable wheel angular velocity.
-
drivetrain.change_mode_acceleration(type:float, default:2.0)Acceleration to use when changing steering mode.
-
drivetrain.change_mode_steering_angle_velocity(type:float, default:4.0)Steering angle velocity to use when changing steering mode.
-
drivetrain.cmd_vel_acceleration(type:float, default:2.0)Acceleration to use when sending cmd_vel commands.
-
drivetrain.cmd_vel_steering_angle_velocity(type:float, default:5.0)Steering angle velocity to use when sending cmd_vel commands.
-
drivetrain.max_steering_angle(type:float, default:1.08)Maximum steering angle used in ackermann mode.
-
drivetrain.input_timeout(type:float, default:0.5)The duration from last received target, after which the controller will stop the robot. Set to 0 to disable.
-
drivetrain.wheel_disable_timeout(type:float, default:10.0)The duration from last received target, after which the controller will disable all motors. Set to 0 to disable.
-
drivetrain.servo_left_position_offset(type:float, default:0.0)Offset added to the left servo position.
-
drivetrain.servo_right_position_offset(type:float, default:0.0)Offset added to the right servo position.
-
drivetrain.servo_calibration_speed(type:float, default:2.0)Speed of servos during calibration.
-
drivetrain.servo_calibration_timeout(type:float, default:6.0)Timeout for servo calibration procedure.
-
drivetrain.servo_calibration_torque_samples(type:int, default:5)Number of consecutive servo torque readings over the threshold required during calibration.
-
drivetrain.servo_calibration_torque_threshold(type:float, default:1.0)Minimal motor torque that indicates the servo presses against the bumper during calibration.
-
drivetrain.servo_calibration_power_threshold(type:float, default:20.0)The minimal motor power after which we assume the servo is pressing against the bumper during calibration procedure.
-
drivetrain.servo.acceleration_divider(type:int, default:10)Raw acceleration divider value passed to servo motors.
-
drivetrain.servo.position_loop_speed(type:float, default:5.0)Position loop speed value passed to servos motors.
-
drivetrain.wheel.acceleration_divider(type:int, default:2)Raw acceleration divider value passed to wheel motors.
-
power_manager.output_12v_enabled(type:bool, default:true)Whether the 12V output is enabled.
-
power_manager.output_5v_enabled(type:bool, default:true)Whether the 5V output is enabled.
-
power_manager.output_bat_enabled(type:bool, default:true)Whether the BAT output is enabled.
-
imu_filter.gain_acc(type:float, default:0.01)Gain for the accelerometer in the complementary filter for IMU data fusion (0.0-1.0, higher is more trust in the accelerometer).
-
imu_filter.bias_alpha(type:float, default:0.01)The factor at which the gyroscope bias is updated when the IMU is determined to be in steady state (>=0.0, higher is faster bias compensation).
-
imu_filter.steady_state_angular_velocity_threshold(type:float, default:0.05)Threshold for the angular velocity to determine whether the IMU is in steady state.
-
imu_filter.steady_state_acceleration_threshold(type:float, default:0.1)Threshold for the magnitude of the linear acceleration (after subtracting gravity) to determine whether the IMU is in steady state.
-
imu_filter.steady_state_delta_angular_velocity_threshold(type:float, default:0.01)Threshold for the change in angular velocity, between two consecutive measurements, to determine whether the IMU is in steady state.
-
imu_filter.steady_state_required_steady_time(type:float, default:1.0)How long should the IMU reading meet the steady thresholds before it's determined to be in steady state.
-
imu_filter.orientation_variance(type:float, default:0.001)Values on the diagonal of the orientation covariance matrix in the published IMU data.
oak​
-
device.mx_id(type:string, read-only, default:"")Device MX ID to connect to.
-
device.usb_port_id(type:string, read-only, default:"")USB port ID to connect to (e.g. 1.1.2).
-
device.ir_laser_dot_projector_intensity(type:float, default:0.3)IR laser dot projector intensity (0.0-1.0, higher is stronger intensity).
-
device.ir_laser_dot_projector_lazy(type:bool, default:true)If true, the IR laser dot projector will only be turned on when the depth stream is active. If false, the IR laser dot projector will be always on.
-
device.ir_flood_light_intensity(type:float, default:0.0)IR flood light intensity (0.0-1.0, higher is stronger intensity).
-
depth.confidence_threshold(type:int, default:110)Depth images will only contain pixels where depth confidence is below the confidence threshold (lower the confidence value means better depth accuracy).
-
depth.lr_check_enabled(type:bool, default:true)Computes and combines disparities in both L-R and R-L directions.
-
depth.lr_check_threshold(type:int, default:5)Disparity is considered for the output when the difference between LR and RL disparities is smaller than the LR check threshold.
-
depth.subpixel_enabled(type:bool, default:true)Computes disparity with sub-pixel interpolation.
-
depth.subpixel_fractional_bits(type:int, default:3)Number of fractional bits for subpixel mode.
-
depth.min_distance(type:float, default:0.0)Minimal distance in meters.
-
depth.max_distance(type:float, default:10.0)Maximal distance in meters.
-
mono.width(type:int, read-only, default:1280)Mono camera image width.
-
mono.height(type:int, read-only, default:800)Mono camera image height.
-
mono.isp_scale_num(type:int, read-only, default:1)ISP scale numerator for mono cameras.
-
mono.isp_scale_den(type:int, read-only, default:1)ISP scale denominator for mono cameras.
-
mono.fps(type:float, read-only, default:10.0)Mono camera frames per second.
-
mono_compressed.jpeg_quality(type:int, read-only, default:80)JPEG quality for mono compressed images (0-100, higher is better quality and bigger size).
-
rgb.width(type:int, read-only, default:1344)RGB camera image width.
-
rgb.height(type:int, read-only, default:1008)RGB camera image height.
-
rgb.isp_scale_num(type:int, read-only, default:1)ISP scale numerator for RGB camera.
-
rgb.isp_scale_den(type:int, read-only, default:3)ISP scale denominator for RGB camera.
-
rgb.fps(type:float, read-only, default:15.0)RGB camera frames per second.
-
rgb_compressed.jpeg_quality(type:int, read-only, default:80)JPEG quality for RGB compressed images (0-100, higher is better quality and bigger size).