Skip to content

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.

Sensing preprocesses the data of each sensor driver. Camera images, radar objects, and the LiDAR point cloud go to Perception. The LiDAR point cloud, the GNSS pose, the IMU data, and the vehicle twist go to Localization. Autoware 2.0.0 defines no Sensing topic for ultrasonics, radar scan, GNSS velocity, and GNSS acceleration.InputsSensingUsersCamera driverImageCamera preprocessingLens distortion correctionImageRadar driverRadarTracksRadar preprocessingNoise filter, conversionObjectsLiDAR driversPointCloud2Point cloud preprocessingFilters, concatenationPoint cloudGNSS driverNavSatFix, orientationGNSS poserPose in the map frameGNSS poseIMU driverImuIMU correctorYaw rate offset and scaleIMU dataVehicle interfaceVelocityReportVelocity converterReport to twistVehicle twistNot defined in Autoware 2.0.0Ultrasonics, radar scan, GNSS velocity, GNSS accelerationPerceptionLocalization
Each kind of sensor data goes through its own preprocessing before Perception and Localization use it.

Inputs#

NameTopicTypeDescription
Camera image/sensing/camera/<camera name>/image_rawsensor_msgs/msg/ImageImage data from a camera driver.
Radar tracks/sensing/radar/<radar name>/objects_rawradar_msgs/msg/RadarTracksTracks from a radar driver.
Radar scanNot definedradar_msgs/msg/RadarScanScan from a radar driver.
LiDAR point cloud/sensing/lidar/<lidar name>/pointcloud_raw_exsensor_msgs/msg/PointCloud2Point cloud from a LiDAR driver.
GNSS position/sensing/gnss/<receiver>/nav_sat_fixsensor_msgs/msg/NavSatFixPosition from a GNSS driver.
GNSS-INS orientation/autoware_orientationautoware_sensing_msgs/msg/GnssInsOrientationStampedOrientation from a GNSS-INS driver.
IMU data/sensing/imu/<imu name>/imu_rawsensor_msgs/msg/ImuAngular velocity and linear acceleration from an IMU driver.
Vehicle velocity/vehicle/status/velocity_statusautoware_vehicle_msgs/msg/VelocityReportVelocity from the vehicle interface.
UltrasonicsNot definedsensor_msgs/msg/RangeDistance data from an ultrasonic sensor driver.
GNSS velocityNot definedgeometry_msgs/msg/TwistWithCovarianceStampedVelocity from a GNSS driver.
GNSS accelerationNot definedgeometry_msgs/msg/AccelWithCovarianceStampedAcceleration from a GNSS driver.

Outputs#

NameTopicTypeDescription
Camera image/sensing/camera/<camera name>/image_rect_colorsensor_msgs/msg/ImageImage after lens distortion correction. Perception uses it.
Radar objects/sensing/radar/detected_objectsautoware_perception_msgs/msg/DetectedObjectsThe 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_syncsensor_msgs/msg/PointCloud2The point cloud of one LiDAR after cropping, distortion correction, and the ring outlier filter.
Concatenated point cloud/sensing/lidar/concatenated/pointcloudsensor_msgs/msg/PointCloud2The point clouds of all LiDARs, synchronized and concatenated. Perception and Localization use it.
GNSS pose/sensing/gnss/pose_with_covariancegeometry_msgs/msg/PoseWithCovarianceStampedThe 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_datasensor_msgs/msg/ImuIMU data after autoware_imu_corrector. Localization and the distortion correction of the point cloud use it.
Vehicle twist/sensing/vehicle_velocity_converter/twist_with_covariancegeometry_msgs/msg/TwistWithCovarianceStampedThe 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/RadarScan topics (for example scan_raw) in the namespace of the radar. No launch file in autoware_launch uses them.
  • GNSS velocity: the u-blox driver of sample_sensor_kit_launch publishes /sensing/gnss/ublox/fix_velocity and /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.