Sensor Kit Configuration
The sensor kit consists of the description package and the launch package. The description package, autosdv_sensor_kit_description
, stores the relative coordinates for each sensor on the vehicle. The launch package, autosdv_sensor_kit_launch
, contains a set of launch files for all kinds of sensors along with their runtime parameters.
Notice
The sensor kit defines the composition and the data paths of sensors. If you're looking per-sensor driver configuration, please refer to Sensor Component Chapter.
The Description Package
The description package stores the coordinates of each sensor installed on the vehicle. It's done by working on these two configuration files.
../autosdv_sensor_kit_description/config/sensor_kit_calibration.yaml
../autosdv_sensor_kit_description/urdf/sensor_kit.xacro
For example, the coordinate for the ZED camera is named as zedxm_camera_link
, which pose parameters are defined in sensor_kit_calibration.yaml
.
sensor_kit_base_link:
zedxm_camera_link: # Zed Camera
x: 0.0
y: 0.0
z: 0.0
roll: 0.0
pitch: 0.0
yaw: 0.0
The sensor_kit.xacro
file has corresponding entries for the coordinate. In the xacro snipplet, it defines a <xacro:zed_camera>
component and a joint from sensor_kit_base_link
to zedxm_camera_link
.
<xacro:zed_camera name="zedxm" model="zedxm" custom_baseline="0" enable_gnss="false">
<origin
xyz="${calibration['sensor_kit_base_link']['zedxm_camera_link']['x']}
${calibration['sensor_kit_base_link']['zedxm_camera_link']['y']}
${calibration['sensor_kit_base_link']['zedxm_camera_link']['z']}"
rpy="${calibration['sensor_kit_base_link']['zedxm_camera_link']['roll']}
${calibration['sensor_kit_base_link']['zedxm_camera_link']['pitch']}
${calibration['sensor_kit_base_link']['zedxm_camera_link']['yaw']}"
/>
</xacro:zed_camera>
<joint name="zedxm_camera_joint" type="fixed">
<origin
xyz="${calibration['sensor_kit_base_link']['zedxm_camera_link']['x']}
${calibration['sensor_kit_base_link']['zedxm_camera_link']['y']}
${calibration['sensor_kit_base_link']['zedxm_camera_link']['z']}"
rpy="${calibration['sensor_kit_base_link']['zedxm_camera_link']['roll']}
${calibration['sensor_kit_base_link']['zedxm_camera_link']['pitch']}
${calibration['sensor_kit_base_link']['zedxm_camera_link']['yaw']}"
/>
<parent link="sensor_kit_base_link"/>
<child link="zedxm_camera_link"/>
</joint>
The Launch Package
The autosdv_sensor_kit_launch
package contains a collection of launch files in the launch
directory. The notable one is sensing.launch.xml
. It is the mother launch file used to start the whole sensing module and all the other launch files are included.
The camera.launch.xml
, gnss.launch.xml
, imu.launch.xml
and lidar.launch.xml
launch files correspond to respective sensing functions. Each of them contains sensing drive execution methods and their parameters.
The pointcloud_preprocessor.launch.py
is the special one that provides the multi-LiDAR fusion feature. It includes a point cloud processor node that subscribes to one or multiple input topics from LiDARs drivers.
parameters=[
{
"input_topics": [
"/sensing/lidar/bf_lidar/points_raw",
],
"output_frame": LaunchConfiguration("base_frame"),
"input_twist_topic_type": "twist",
"publish_synchronized_pointcloud": True,
}
],