Sensing#
This page describes the interface of the Sensing component. See the Sensing component design for the concepts.
The Sensing component takes the data of the sensor drivers and preprocesses it for Perception and Localization. The sensor kit of a vehicle launches the drivers and the preprocessing. The topic names below come from sample_sensor_kit_launch and the launch files of autoware_sensing_launch. Another sensor kit can use other names for the driver topics.
Inputs#
| Name | Topic | Type | Description |
|---|---|---|---|
| Camera image | /sensing/camera/<camera name>/image_raw | sensor_msgs/msg/Image | Image data from a camera driver. |
| Radar tracks | /sensing/radar/<radar name>/objects_raw | radar_msgs/msg/RadarTracks | Tracks from a radar driver. |
| Radar scan | Not defined | radar_msgs/msg/RadarScan | Scan from a radar driver. |
| LiDAR point cloud | /sensing/lidar/<lidar name>/pointcloud_raw_ex | sensor_msgs/msg/PointCloud2 | Point cloud from a LiDAR driver. |
| GNSS position | /sensing/gnss/<receiver>/nav_sat_fix | sensor_msgs/msg/NavSatFix | Position from a GNSS driver. |
| GNSS-INS orientation | /autoware_orientation | autoware_sensing_msgs/msg/GnssInsOrientationStamped | Orientation from a GNSS-INS driver. |
| IMU data | /sensing/imu/<imu name>/imu_raw | sensor_msgs/msg/Imu | Angular velocity and linear acceleration from an IMU driver. |
| Vehicle velocity | /vehicle/status/velocity_status | autoware_vehicle_msgs/msg/VelocityReport | Velocity from the vehicle interface. |
| Ultrasonics | Not defined | sensor_msgs/msg/Range | Distance data from an ultrasonic sensor driver. |
| GNSS velocity | Not defined | geometry_msgs/msg/TwistWithCovarianceStamped | Velocity from a GNSS driver. |
| GNSS acceleration | Not defined | geometry_msgs/msg/AccelWithCovarianceStamped | Acceleration from a GNSS driver. |
Outputs#
| Name | Topic | Type | Description |
|---|---|---|---|
| Camera image | /sensing/camera/<camera name>/image_rect_color | sensor_msgs/msg/Image | Image after lens distortion correction. Perception uses it. |
| Radar objects | /sensing/radar/detected_objects | autoware_perception_msgs/msg/DetectedObjects | The objects of all radars in one topic. See the radar notes below the table. Perception uses it in the object recognition modes with radar. |
| LiDAR point cloud | /sensing/lidar/<lidar name>/pointcloud_before_sync | sensor_msgs/msg/PointCloud2 | The point cloud of one LiDAR after cropping, distortion correction, and the ring outlier filter. |
| Concatenated point cloud | /sensing/lidar/concatenated/pointcloud | sensor_msgs/msg/PointCloud2 | The point clouds of all LiDARs, synchronized and concatenated. Perception and Localization use it. |
| GNSS pose | /sensing/gnss/pose_with_covariance | geometry_msgs/msg/PoseWithCovarianceStamped | The pose of the vehicle from GNSS, in the map frame. autoware_gnss_poser makes it from the GNSS position and the GNSS-INS orientation. Localization uses it. |
| IMU data | /sensing/imu/imu_data | sensor_msgs/msg/Imu | IMU data after autoware_imu_corrector. Localization and the distortion correction of the point cloud use it. |
| Vehicle twist | /sensing/vehicle_velocity_converter/twist_with_covariance | geometry_msgs/msg/TwistWithCovarianceStamped | The vehicle velocity as a twist with covariance, from autoware_vehicle_velocity_converter. Localization and the distortion correction of the point cloud use it. |
Radar topics: No sensor kit in autoware_launch 0.53.0 launches a radar. The radar_tracks_postprocessor.launch.xml launch file runs the noise filter and autoware_radar_tracks_msgs_converter. Its topic names are relative. If a sensor kit includes it in the namespace /sensing/radar/<radar name>, it reads /sensing/radar/<radar name>/objects_raw and publishes /sensing/radar/<radar name>/detected_objects. The Perception launch files read one topic, /sensing/radar/detected_objects, by default (the input/radar argument of object_recognition_lidar_radar.launch.xml, for example). So a sensor kit must merge the objects of all radars into this topic. For example, the aip_xx1_gen2_launch sensor kit of TIER IV merges its radars with autoware_simple_object_merger, and it relays the topic of a single radar with topic_tools relay.
Inputs marked "Not defined": Autoware 2.0.0 defines no Sensing topic for these inputs. The autoware_component_interface_specs package does not define them, no launch file in autoware_launch uses them, and the Sensing component has no outputs for them. A search of the Autoware 2.0.0 workspace found only these related topics:
- Ultrasonics: no topic, no node, and no launch file.
- Radar scan: the Nebula drivers of the Continental ARS548 and SRR520 radars publish
radar_msgs/msg/RadarScantopics (for examplescan_raw) in the namespace of the radar. No launch file inautoware_launchuses them. - GNSS velocity: the u-blox driver of
sample_sensor_kit_launchpublishes/sensing/gnss/ublox/fix_velocityand/sensing/gnss/ublox/navpvt. The Sensing component does not process them. Eagleye, an optional localization method, reads the GNSS velocity directly from/sensing/gnss/ublox/navpvt. - GNSS acceleration: no topic, no node, and no launch file.