Skip to main content
Version: 0.9.0

Platform API

The Platform API provides topics to communicate with the hardware platform (eg. sensor data, command velocity, tfs, etc...). This API can be used by autonomy software packages to interface with the hardware platform.

Topics Published by UGV​

The topics in this section are published by the UGV. If available, they are used by the OutdoorNav software.

/tf​

  Message Type: tf2_msgs/TFMessage

  Description: Transform tree describing the 3D links/frames of the robot.

/tf_static​

  Message Type: tf2_msgs/TFMessage

  Description: Static links/frames of robot transform tree.

/platform/cmd_vel​

  Message Type: geometry_msgs/Twist

  Description: Platform-level velocity used to drive the robot.

/platform/description​

  Message Type: std_msgs/String

  Description: String containing robot URDF description.

/platform/diagnostics_agg​

  Message Type: diagnostic_msgs/DiagnosticArray

  Description: Provides a list of human-readable diagnostic messages from various subsystems (sensors, onboard systems, localization, navigation, mapping etc.)

/platform/emergency_stop​

 Message Type: std_msgs/Bool

 Description: True, if robot is emergency stopped, False, otherwise.

/platform/id​

  Message Type: clearpath_platform_msgs/PlatformID

  Description: Contains model, serial number, and hardware revision of the platform

/platform/joint_states​

  Message Type: sensor_msgs/JointState

  Description: Position and velocity of robot's joints.

/platform/odom​

  Message Type: nav_msgs/Odometry

  Description: Platform-level wheel odometry.

/platform/odom_filtered​

  Message Type: nav_msgs/Odometry

  Description: EKF fused odometry from available sources on the platform. This may include the wheel odometry, imu data, etc..


The following table contains the types of sensors that could be integrated onto our robot platforms.

TypeTest
gpsA singular GPS (Global Positioning System) antenna/receiver pair. These may also be referred to as GNSS receivers.
insAn inertial navigation system (INS) that consists of an IMU and a GPS unit.
imuAn inertial measurement unit consisting of an accelerometer, gyroscope and potentially a magnetometer.
lidarA light emitting sensor that uses this light to determine the distance to obstacles. This includes 1D, 2D and 3D range detection sensors.
radarA radio emitting sensor used to compute distance/velocity of obstacles.
cameraA singular lens (ie. mono) camera that produces an ROS image stream. This can therefore include regular mono cameras as well as single lens thermal imagers, etc...
stereoA type of camera with two or more image sensors.

/sensors/imu_[0,1,...]/data​

  Message Type: sensor_msgs/Imu

  Description: Raw data from IMU (gyro / acceleration)

/sensors/imu_[0,1,...]/magnetic_field​

  Message Type: sensor_msgs/MagneticField

  Description: Reports the MPU 9250 Magnetometer sensor information.

/sensors/<type>_[0,1,...]/fix​

  Message Type: sensor_msgs/NavSatFix

  Type: gps, ins

  Description: GPS latitude and longitude data. This data can either be RTK corrected or regular GPS data.

/sensors/<type>_[0,1,...]/heading​

  Message Type: sensor_msgs/Imu

  Type: gps, ins, imu

  Description: RTK heading data computed from a dual GPS receiver setup.

/sensors/<type>_[0,1,...]/pointcloud​

  Message Type: Type: sensor_msgs/PointCloud2

  Type: lidar, radar, stereo, camera

  Description: Raw pointcloud data generated from the specific sensor.

/sensors/<type>_[0,1,...]/scan​

  Message Type: sensor_msgs/LaserScan

  Type: lidar, radar, stereo, camera

  Description: Raw scan data generated from the specific sensor.

/sensors/<type>_[0,1,...]/camera_info​

  Message Type: sensor_msgs/CameraInfo

  Type: camera, stereo

  Description: Camera information including image dimensions, distortion parameters, calibration parameters, etc...

/sensors/<type>_[0,1,...]/image_raw​

  Message Type: sensor_msgs/Image

  Type: camera, stereo

  Description: Raw image data from the specific sensor.

/sensors/<type>_[0,1,...]/depth/camera_info​

  Message Type: sensor_msgs/CameraInfo

  Type: camera, stereo

  Description: Camera information for the depth image including image dimensions, distortion parameters, calibration parameters, etc...

/sensors/<type>_[0,1,...]/depth/image_rect_raw​

  Message Type: sensor_msgs/Image

  Type: camera, stereo

  Description: Raw depth image from the specific sensor.

/onboard_systems/wireless/connection​

  Message Type: wireless_msgs/Connection

  Description: Information about the robot's wireless connection including ssid, frequency, bitrate, and signal and noise levels.

/onboard_systems/bms/state​

  Message Type: sensor_msgs/BatteryState

  Description: State data for each battery module installed.


Topics Subscribed to by UGV​

The UGV subscribes to the topics in this section.

/cmd_vel​

  Message Type: geometry_msgs/Twist

  Description: The command velocity to the platform layer effectively commanding the wheels to spin.