No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

No version for distro lyrical showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Version 0.53.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description
Checkout URI https://github.com/autowarefoundation/autoware_launch.git
VCS Type git
VCS Version main
Last Updated 2026-10-26
Dev Status UNKNOWN
Released UNRELEASED
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The autoware_sensor_driver_launch package

Maintainers

  • David Wong
  • Max Schmeller
  • Dai Nguyen

Authors

No additional authors.

autoware_sensor_driver_launch

Per-sensor-model driver launch files shared by sensor kits. Pre/post-processing units live in autoware_sensing_launch; this package hosts the driver layer that feeds them.

Launch files

  • velodyne_VLP16.launch.xml, velodyne_VLS128.launch.xml, robosense_Bpearl.launch.xml, robosense_Helios.launch.xml, hesai_XT32.launch.xml, hesai_OT128.launch.xml — per-model LiDAR wrappers. Filenames and argument names are a stable interface for sensor kits inside and outside this repository.
  • nebula_velodyne.launch.xml, nebula_robosense.launch.xml, nebula_hesai.launch.xml — per-make driver chains: the nebula driver node, configured by the model param file shipped in the nebula driver package.

Container addressing

Every file takes target_container, the absolute path of an existing container (e.g. /sensing/lidar/top/pointcloud_preprocessor/pointcloud_container), and loads the driver node into it. Containers are created by the sensor kit, which also loads whatever preprocessing follows; this package never creates one.

Interface notes

  • launch_driver selects the nebula operating mode: online (hardware driver feeding the decoder) or offline (decoder on recorded packets). It does not control whether the node is launched — a kit whose sensor data arrives as pointclouds simply does not include a driver launch.
  • The driver publishes pointcloud_raw_ex, which is the input the following preprocessing reads.

Package Dependencies

Please see <exec_depend> in package.xml.

CHANGELOG

Changelog for package autoware_sensor_driver_launch

0.53.0 (2026-10-13)

  • Merge remote-tracking branch 'origin/main' into tmp/bot/bump_version_base

  • refactor(sensing)!: separate sensor driver and pre-processing layers from sensor kit configuration (#1938)

    * refactor(launch)!: rename tier4_sensing_launch to autoware_sensing_launch tier4_sensing_launch held one 19-line pass-through page that pushed the sensing namespace and included the sensor kit entry. The component page now includes that entry directly and pushes the namespace itself, so the layer is gone and the package is left as the home of the shared sensing units added next.

    • move the package to autoware_universe_launch/autoware_sensing_launch

    - rename tier4_sensing_component.launch.xml to components/component_sensing.launch.xml

    - drop the pass-through page and its diagram Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensing_launch): add the shared sensing unit library Declarative XML units for the sensor data pre/post-processing stages, each addressed by an absolute container path so a caller can place it in any container it owns.

    • pointcloud_container, the only unit that creates a container

    - pointcloud_crop_boxes, pointcloud_preprocessor_{cpu,cuda}, pointcloud_concatenation_{cpu,cuda}

    - blockage_diagnostics, gnss_postprocessor, imu_corrector, radar_tracks_postprocessor

    • shared preprocessing, blockage and radar defaults under config/

    - generate_crop_box_params.py, which turns vehicle info and mirror geometry into the crop box files the kits commit and pass in; septentrio_heading_converter.py is installed as a runtime node The parameter files and the heading converter are ported from tier4/aip_launcher (aip_common_sensor_launch), Apache-2.0 under the same TIER IV copyright. Nothing includes these units yet. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * feat(autoware_sensor_driver_launch): add the sensor driver layer The hardware interface layer, kept apart from the pre-processing units so that a sensor make and model can be brought into the ROS graph on its own.

    - nebula_{velodyne,robosense,hesai}: per-make driver chains, configured by the model param file shipped in the nebula driver package

    - velodyne_{VLP16,VLS128}, robosense_{Bpearl,Helios}, hesai_{XT32,OT128}: per-model wrappers

    - every file loads its node into target_container, an existing container owned by the caller; this package never creates one The velodyne and robosense wrappers carry the content of the sample kit's common_sensor_launch, which the following commit removes. The hesai wrappers are ported from tier4/aip_launcher (aip_common_sensor_launch) onto the same chain pattern, with sync_angle and cut_angle in place of scan_phase and nebula's own host_ip default. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    • refactor(sensing)!: adopt the shared sensing units in the sample and awsim kits

    - sample kit: create one container per lidar, then load the per-model driver wrapper and the CPU preprocessing chain into it; concatenation comes from the shared unit

    - awsim kit: preprocessing only, since AWSIM publishes pointcloud_raw_ex directly

    - commit the crop box geometry each kit owns, generated from the vehicle description by generate_crop_box_params.py, in place of the runtime vehicle_info and mirror lookups

    - remove common_sensor_launch, whose nebula_node_container.launch.py the driver chains replace; its changelog continues as autoware_sensor_driver_launch/CHANGELOG.rst The awsim_labs fork read its preprocessing defaults out of common_sensor_launch; it points at autoware_sensing_launch until its own commit retires it. The awsim kit no longer launches a nebula driver node or the velodyne monitor. Co-Authored-By: Claude Opus 5 (1M context) <<noreply@anthropic.com>>

    * refactor(sensing)!: adopt the shared sensing units in the single_lidar kit single_lidar_common_launch was a copy of common_sensor_launch that had drifted apart from it, having lost the

File truncated at 100 lines see the full file

Launch files

  • launch/hesai_OT128.launch.xml
      • launch_driver [default: true]
      • model [default: Pandar128E4X]
      • max_range [default: 300.0]
      • min_range [default: 0.3]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 10800000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/hesai_XT32.launch.xml
      • launch_driver [default: true]
      • model [default: PandarXT32]
      • max_range [default: 120.0]
      • min_range [default: 0.05]
      • sensor_frame [default: pandar]
      • return_mode [default: Strongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/nebula_hesai.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 10110]
      • packet_mtu_size [default: 1500]
      • udp_socket_receive_buffer_size_bytes [default: 5400000]
      • sync_angle [default: 0]
      • cut_angle [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_robosense.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/nebula_velodyne.launch.xml
      • sensor_model
      • launch_driver [default: true]
      • setup_sensor [default: true]
      • return_mode [default: Dual]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 2380]
      • packet_mtu_size [default: 1500]
      • scan_phase [default: 0.0]
      • min_range [default: 0.3]
      • max_range [default: 300.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • rotation_speed [default: 600]
      • dual_return_distance_threshold [default: 0.1]
      • udp_only [default: false]
      • frame_id [default: lidar]
      • use_intra_process [default: false]
      • target_container
  • launch/robosense_Bpearl.launch.xml
      • launch_driver [default: true]
      • model [default: Bpearl]
      • max_range [default: 30.0]
      • min_range [default: 0.4]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/robosense_Helios.launch.xml
      • launch_driver [default: true]
      • model [default: Helios]
      • max_range [default: 150.0]
      • min_range [default: 0.2]
      • sensor_frame [default: robosense]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.200]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • gnss_port [default: 7788]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLP16.launch.xml
      • launch_driver [default: true]
      • model [default: VLP16]
      • max_range [default: 130.0]
      • min_range [default: 0.4]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container
  • launch/velodyne_VLS128.launch.xml
      • launch_driver [default: true]
      • model [default: VLS128]
      • max_range [default: 250.0]
      • min_range [default: 0.5]
      • sensor_frame [default: velodyne]
      • return_mode [default: SingleStrongest]
      • sensor_ip [default: 192.168.1.201]
      • host_ip [default: 192.168.1.10]
      • data_port [default: 2368]
      • scan_phase [default: 0.0]
      • cloud_min_angle [default: 0]
      • cloud_max_angle [default: 360]
      • udp_only [default: false]
      • target_container

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged autoware_sensor_driver_launch at Robotics Stack Exchange