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.
Type | Test |
---|---|
gps | A singular GPS (Global Positioning System) antenna/receiver pair. These may also be referred to as GNSS receivers. |
ins | An inertial navigation system (INS) that consists of an IMU and a GPS unit. |
imu | An inertial measurement unit consisting of an accelerometer, gyroscope and potentially a magnetometer. |
lidar | A light emitting sensor that uses this light to determine the distance to obstacles. This includes 1D, 2D and 3D range detection sensors. |
radar | A radio emitting sensor used to compute distance/velocity of obstacles. |
camera | A 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... |
stereo | A 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
Message Type: sensor_msgs/Image
Type: camera, stereo
Description: 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.