Skip to content

感知启动文件#

概述#

Autoware 感知堆栈启动 正如我们在 [Launch Autoware] 中提到的,以 autoware_launch.xml 启动(../index.md) 页面. autoware_launch 套餐包括 tier4_perception_component.launch.xml 用于从 autoware_launch.xml 启动感知启动文件调用. 此图描述了 autoware_launchautoware_universe 包中的一些 Autoware 感知启动文件流.

perception-launch-flow

Autoware 感知启动流程图

注意

Autoware 项目是一个大型项目. 因此,当我们管理 Autoware 项目时,我们会使用特定的 参数. ROS 2 为这些启动文件提供了参数覆盖功能. 有关更多信息,请参阅 官方 ROS 2 启动文档. 例如 如果我们在顶级启动中定义一个参数, 它将覆盖较低级别启动时的值.

tier4_perception_component.launch.xml#

tier4_perception_component.launch.xml 启动文件是 autoware_launch 包中的主要感知组件启动. 此启动文件在 autoware_universe 存储库的 tier4_perception_launch 包中调用 perception.launch.xml. 我们可以在 tier4_perception_component.launch.xml 修改 perception launch 参数. 我们可以添加任何其他必要的参数,我们想要的,更改它,因为 tier4_perception_component.launch.xml 是其他感知启动文件的顶级启动文件. 以下是一些预定义的感知启动参数:

  • occupancy_grid_map_method: 此参数确定感知堆栈的占用网格映射方法.请查看 probabilistic_occupancy_grid_map 套件了解详细信息. 默认的概率占用格网地图方法是 pointcloud_based_occupancy_grid_map . 如果您想将其更改为 laserscan_based_occupancy_grid_map,您可以在此处更改它:

    - <arg name="occupancy_grid_map_method" default="pointcloud_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
    + <arg name="occupancy_grid_map_method" default="laserscan_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
    
  • detected_objects_filter_method: 此参数确定检测到的对象的过滤方法. 请查看 detected_object_validation 包以获取有关 lanelet 和 position filter 的详细信息. 默认检测到的对象筛选方法是 lanelet_filter. 如果您想将其更改为 position_filter,您可以在此处更改它:

    - <arg name="detected_objects_filter_method" default="lanelet_filter" description="options: lanelet_filter, position_filter"/>
    + <arg name="detected_objects_filter_method" default="position_filter" description="options: lanelet_filter, position_filter"/>
    
  • detected_objects_validation_method: 此参数确定检测到的对象的验证方法. 请查看 detected_object_validation 软件包以获取有关验证方法的详细信息. 默认检测到的对象筛选方法是 obstacle_pointcloud. 如果你想把它改成 occupancy_grid,你可以在这里改, 但请记住,它需要 laserscan_based_occupancy_grid_map 方法作为 occupancy_grid_map_method

    - <arg name="occupancy_grid_map_method" default="pointcloud_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
    + <arg name="occupancy_grid_map_method" default="laserscan_based_occupancy_grid_map" description="options: pointcloud_based_occupancy_grid_map, laserscan_based_occupancy_grid_map"/>
      <arg
      name="detected_objects_validation_method"
    - default="obstacle_pointcloud"
    + default="occupancy_grid"
      description="options: obstacle_pointcloud, occupancy_grid (occupancy_grid_map_method must be laserscan_based_occupancy_grid_map)"
      />
    

注意

您还可以将此参数用作命令行参数:

ros2 launch autoware_launch autoware.launch.xml ... detected_objects_filter_method:=lanelet_filter occupancy_grid_map_method:=laserscan_based_occupancy_grid_map ...

上面解释的预定义 tier4_perception_component.launch.xml 参数, 但有很多看法的争论 包含在 tier4_perception_launchperception.launch.xml 启动文件中. 由于我们没有 fork autoware_universe 仓库, 我们可以将必要的 launch 参数添加到 tier4_perception_component.launch.xml 文件中. 请遵循指南中的一些示例.

perception.launch.xml#

perception.launch.xml 启动文件是 autoware_universe 的主要感知启动. 此启动文件调用必要的感知启动文件 正如我们在上面提到的 Autoware 感知启动流程图. perception.launch.xml 的顶级启动文件是 tier4_perception_component.launch.xml, 因此,如果我们想更改 perception.launch.xml 上的任何内容, 我们将 tier4_perception_component.launch.xml 而不是 perception.launch.xml 应用这些更改.

以下是感知管道的一些示例更改:

  • remove_unknown: 此参数用于确定在相机-激光雷达融合时移除未知对象. 请查看 roi_cluster_fusion 节点了解详细信息. 默认值为 true, 如果你想把它改成 false, 你可以将这个参数添加到 tier4_perception_component.launch.xml 中, 所以它会覆盖 perception.launch.xmlargument

    + <arg name="remove_unknown" default="false"/>
    
  • camera topics: 如果您使用相机-激光雷达融合或相机-激光雷达-雷达融合作为 perception_mode, 您也可以在 tier4_perception_component.launch.xml 上添加您的相机和信息主题, 它将覆盖 perception.launch.xml 启动文件参数:

    + <arg name="image_raw0" default="/sensing/camera/camera0/image_rect_color" description="image raw topic name"/>
    + <arg name="camera_info0" default="/sensing/camera/camera0/camera_info" description="camera info topic name"/>
    + <arg name="detection_rois0" default="/perception/object_recognition/detection/rois0" description="detection rois output topic name"/>
    ...
    

您可以添加所有必要的参数,以 tier4_perception_component.launch.xml 启动文件,就像这些例子一样.