启动 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.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 键
- 在 3D View 面板中,单击并按住鼠标左键,然后拖动以设置初始姿势的方向.
- 之后,车辆将被初始化.然后,您将观察您的车辆和 Autoware 输出.
设置目标姿势#
为 ego 车辆设置目标姿势.
- 单击工具栏中的 2D 导航目标按钮,或按 G 键
- 在 3D View 窗格中,单击并按住鼠标左键,然后拖动以设置目标姿势的方向.
- 如果成功,您将在 RViz 上看到计算出的规划路径.
参与#
参与有两个选项:
- 首先,您可以使用
AutowareStatePanel,它包含在 Autoware RViz 配置文件中, 但它可以在Panels > Add New Panel > tier4_state_rviz_plugin > AutowareStatePanel中找到.
计算路由后,AUTO 按钮将变为活动状态.按下 AUTO 按钮即可进入自动驾驶模式.
- 其次,您可以参与 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 按钮可让您停止车辆.