Skip to content

启动 Autoware#

本节介绍如何使用 Autoware 运行您的车辆. 我们将解释如何使用这些模块运行和启动 autoware:

使用真实车辆启动 Autoware 的先决条件#

请完成以下步骤,以便在您的车辆上集成 Autoware:

根据您的个人车辆完成这些步骤后,您已准备好使用 Autoware.

autoware_launch 包#

autoware_launch 软件包启动 Autoware 软件堆栈启动文件. autoware.launch.xml 启动文件允许调用这些模块启动

通过启用以下启动参数:

  <arg name="launch_vehicle" default="true" description="launch vehicle"/>
  <arg name="launch_system" default="true" description="launch system"/>
  <arg name="launch_map" default="true" description="launch map"/>
  <arg name="launch_sensing" default="true" description="launch sensing"/>
  <arg name="launch_sensing_driver" default="true" description="launch sensing driver"/>
  <arg name="launch_localization" default="true" description="launch localization"/>
  <arg name="launch_perception" default="true" description="launch perception"/>
  <arg name="launch_planning" default="true" description="launch planning"/>
  <arg name="launch_control" default="true" description="launch control"/>

例如,如果您不需要启动 perception、planning、和 control 进行定位(Localization)调试,您可以禁用这些模块,如下所示:

-  <arg name="launch_perception" default="true" description="launch perception"/>
+  <arg name="launch_perception" default="false" description="launch perception"/>
-  <arg name="launch_planning" default="true" description="launch planning"/>
+  <arg name="launch_planning" default="false" description="launch planning"/>
-  <arg name="launch_control" default="true" description="launch control"/>
+  <arg name="launch_control" default="false" description="launch control"/>

此外,还可以使用命令行参数指定要启动的组件.

ros2 launch autoware_launch autoware.launch.xml vehicle_model:=YOUR_VEHICLE sensor_kit:=YOUR_SENSOR_KIT map_path:=/PATH/TO/YOUR/MAP \
    launch_perception:=false \
    launch_planning:=false \
    launch_control:=false

还有, autoware_launch 软件包包括 config 目录下的 autoware modules 参数文件.

<YOUR-OWN-AUTOWARE-DIR>/
  └─ src/
       └─ launcher/
            └─ autoware_launch/
                 ├─ config/
                 ├─     ├─ control/
                 ├─     ├─ localization/
                 ├─     ├─ map/
                 ├─     ├─ perception/
                 ├─     ├─ planning/
                 ├─     ├─ simulator/
                 ├─     └─ system/
                 ├─launch/
                 └─ rviz/

因此,如果我们更改 config 目录中的任何参数,它将覆盖原始参数值,由于 autoware_launch 参数文件路径用于参数加载.

autoware_launch

autoware_launch 包启动和参数迁移图

配置 autoware.launch.xml#

正如我们上面提到的,我们可以启用或禁用 Autoware 模块,通过修改 autoware.launch.xml 或使用命令行参数来启动. 此外,我们还有一些参数用于指定我们的 Autoware 配置.以下是 autoware.launch.xml 启动文件的一些基本配置:

(此外,正如我们之前提到的,您可以将它们用作命令行参数)

车辆#

在 Vehicle 部分,您可以选择是否启动车辆接口.例如,如果你禁用它,则不会调用 vehicle_interface.launch.xml

- <arg name="launch_vehicle_interface" default="true" description="launch vehicle interface"/>
+ <arg name="launch_vehicle_interface" default="false" description="launch vehicle interface"/>

请确保您的车辆接口驱动程序包含在 vehicle_interface.launch.xml 中,有关更多信息,您可以参考创建车辆界面页.

地图#

如果你的点云和 lanelet2 地图名称与 pointcloud_map.pcd 和 lanelet2_map.osm 不同,您需要更新这些 Map 文件名参数:

- <arg name="lanelet2_map_file" default="lanelet2_map.osm" description="lanelet2 map file name"/>
+ <arg name="lanelet2_map_file" default="<YOUR-LANELET2-MAP-FILE-NAME>" description="lanelet2 map file name"/>
- <arg name="pointcloud_map_file" default="pointcloud_map.pcd" description="pointcloud map file name"/>
+ <arg name="pointcloud_map_file" default="<YOUR-POINTCLOUD-MAP-FILE-NAME>" description="pointcloud map file name"/>

感知#

您可以在此处定义您的 autoware_data 路径. Autoware 变得yabloc_pose_initializer, image_projection_based_fusion, lidar_apollo_instance_segmentation 等模型autoware_data文件. 如果您使用 ansible 进行自动软件安装, 必要的工件将下载到 $HOME 目录的 autoware_data 文件夹中. 如果要手动下载构件, 请查看 Ansible artifacts 页面以获取信息.

- <arg name="data_path" default="$(env HOME)/autoware_data" description="packages data and artifacts directory path"/>
+ <arg name="data_path" default="<YOUR-AUTOWARE-DATA-PATH>" description="packages data and artifacts directory path"/>

此外,您可以在此处更改您的感知方法. Autoware 提供 摄像头-激光雷达-雷达融合摄像头-激光雷达融合激光雷达-雷达融合仅激光雷达仅雷达 感知模式. 默认感知方式为 lidar only 模式,但是,如果您想使用 相机-激光雷达融合 ,则需要更改您的感知模式:

-  <arg name="perception_mode" default="lidar" description="select perception mode. camera_lidar_radar_fusion, camera_lidar_fusion, lidar_radar_fusion, lidar, radar"/>
+  <arg name="perception_mode" default="camera_lidar_fusion" description="select perception mode. camera_lidar_radar_fusion, camera_lidar_fusion, lidar_radar_fusion, lidar, radar"/>

如果您想使用红绿灯识别和可视化,您可以将 traffic_light_recognition/enable_fine_detection 设置为 true(默认). 请检查traffic_light_fine_detector 页面了解更多信息.如果您不想使用红绿灯分类器,则可以禁用它:

- <arg name="traffic_light_recognition/enable_fine_detection" default="true" description="enable traffic light fine detection"/>
+ <arg name="traffic_light_recognition/enable_fine_detection" default="false" description="enable traffic light fine detection"/>

有关详细信息,请查看 Launch perception 页面.

启动 Autoware#

使用以下命令启动 Autoware:

ros2 launch autoware_launch autoware_launch.launch.xml map_path:=<YOUR-MAP-PATH> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-MODEL> vehicle_id:=<YOUR-VEHICLE-ID>

可以使用命令行参数指定要启动的组件.例如,如果您不需要启动 Perception, Planning, and Control 进行定位(Localization)调试,则可以启动以下命令:

ros2 launch autoware_launch autoware_launch.launch.xml map_path:=<YOUR-MAP-PATH> vehicle_model:=<YOUR-VEHICLE-MODEL> sensor_model:=<YOUR-SENSOR-MODEL> vehicle_id:=<YOUR-VEHICLE-ID> \
    launch_perception:=false \
    launch_planning:=false \
    launch_control:=false

启动 Autoware 后,我们需要在地图上初始化我们的车辆. 如果您将 GNSS/INS 传感器的 gnss_poser 设置为 gnss.launch.xml, 然后gnss_poser将发送 pose 进行初始化. 如果您没有 GNSS 传感器,则需要手动设置初始姿势.

设置初始姿势#

如果没有或自动初始化返回错误的位置,则需要使用 RViz GUI 设置初始姿势.

  • 单击工具栏中的 2D Pose estimate 按钮,或按 P 键

2D Pose estimate

使用 RViz 进行 2D 姿态估计
  • 在 3D View 面板中,单击并按住鼠标左键,然后拖动以设置初始姿势的方向.

Giving 2D Pose

使用 RViz 设置 2D 姿势估计
  • 之后,车辆将被初始化.然后,您将观察您的车辆和 Autoware 输出.

初始化

车辆初始化

设置目标姿势#

为 ego 车辆设置目标姿势.

  • 单击工具栏中的 2D 导航目标按钮,或按 G 键

初始化

车辆初始化
  • 在 3D View 窗格中,单击并按住鼠标左键,然后拖动以设置目标姿势的方向.

初始化

车辆初始化
  • 如果成功,您将在 RViz 上看到计算出的规划路径.

path-output

RViz 上的规划路径

参与#

参与有两个选项:

  • 首先,您可以使用 AutowareStatePanel,它包含在 Autoware RViz 配置文件中, 但它可以在 Panels > Add New Panel > tier4_state_rviz_plugin > AutowareStatePanel 中找到.

计算路由后,AUTO 按钮将变为活动状态.按下 AUTO 按钮即可进入自动驾驶模式.

autoware-state-panel

Autoware 状态面板(STOP作模式)
  • 其次,您可以参与 ROS 2 主题.在终端中,执行以下命令.
source ~/<YOUR-AUTOWARE-DIR>/install/setup.bash
ros2 topic pub /<YOUR-AUTOWARE-DIR>/engage autoware_auto_vehicle_msgs/msg/Engage "engage: true" -1

现在,车辆应该沿着计算的路径行驶!在自动驾驶过程中,StatePanel 的出现如下图所示.按下 STOP 按钮可让您停止车辆.

autoware-state-panel

自动软件状态面板(自动作模式)