求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
目录
Autoware.Auto
安装
系统依赖性和目标环境
使用 ADE 安装
使用 ADE 安装 arm64 系统
没有使用 ADE 安装
SVL 仿真器
使用
自动代客泊车示范
F1Tenth 演示1
F1Tenth 演示2
启动和测试行为计划
启动和测试全局计划
地图创建
初始化 NDT 定位器
运行 EKF 过滤器进行本地化
3D感知堆栈
记录/回放计划
使用rosbag进行本地化演示
Autoware Auto启动场景仿真器
建立
设计
Autoware Auto常见的设计-1
Autoware Auto常见的设计-2
Autoware.Auto 控制器设计
Autoware.Auto 驱动程序设计
Autoware.Auto 设计融合
Autoware.Auto 本地化
Autoware.Auto 的地图
Perception设计
Autoware.Auto 的 设计计划
Autoware.Auto 的 设计跟踪
Autoware.Auto 的 预测
Autoware.Auto 的系统
Autoware.Auto 的工具
Autoware.Auto 提供的指南
 
 
3D感知堆栈
李澎涛,俎涛 翻译(火龙果软件工程)
620 次浏览
15次  

概述

本演示旨在解释运行以下感知节点的一般过程。 Autoware.Auto 3D 感知堆栈由一组计算和发布对象边界框所必需的节点组成。 这样做的最小堆栈是:

  1. point_cloud_filter_transform_node :将输出转换 velodyne_node 为公共帧。 文档可以在这里找到: point_cloud_filter_transform_nodes
  2. ray_ground_classifier_node :对激光雷达点进行分类以指示它们属于地面还是非地面。 文档可以在这里找到: ray_ground_classifier
  3. euclidean_cluster_node :将非地面点聚类到对象检测中。 文档可以在这里找到: euclidean_cluster

还有一些可选节点,本教程未介绍,可用于扩充堆栈:

  1. point_cloud_fusion :将来自多个源的点云融合到一条消息中。 这目前用于将前后激光雷达数据融合到单个消息流中。 本教程仅使用前激光雷达数据。 可以在此处找到文档: point_cloud_fusion_nodes
  2. voxel_grid_nodes :这可用于通过体素网格表示对点云数据进行下采样。 本教程不执行下采样。 文档可以在这里找到: voxel_grid_filter

启动感知节点

先决条件

此演示假定指令在 ADE 环境中运行。 有关安装的更多信息,请参阅 安装 ADE 。 根据选择生成数据的模式, .aderc 可能需要使用不同的文件以确保配置了正确的环境。

生成传感器数据

要运行感知堆栈,需要生成传感器数据并将其与相应的“机器人状态”一起发布,该“机器人状态”用于确定传感器相对于车辆的位置。 本节介绍了实现此目的的三种不同方法:

  • 运行仿真器
  • 重放传感器数据
  • 连接到物理传感器

运行仿真器

1.使用 LGSVL 配置输入 ADE:

$ ade --rc .aderc-lgsvl 开始 --update --enter

2.请参阅 Autoware.Auto 旁边的运行 SVL 仿真器

3.发布机器人状态描述:

$ ade 输入 ade$ ros2 运行 robot_state_publisher robot_state_publisher /opt/AutowareAuto/share/lexus_rx_450h_description /urdf/lexus_rx_450h.urdf

重放传感器数据

1.下载 PCAP 文件 Dual VLP-16 Hi-Res pcap 文件

2.使用带有额外标志的默认脚本输入 ADE 以正确运行 RViz

$ ade --rc .aderc 开始 --update --enter

3.将下载的文件移动到您的 adehome 文件夹中。

4.使用以下命令重播文件 udpreplay :

$ ade 输入
ade$ udpreplay -r -1 route_small_loop_rw.pcap

5.启动前激光雷达的 velodyne_node

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 运行 velodyne_nodes velodyne_cloud_node_exe --ros-args -p model:=vlp16 --remap __ns:=/lidar_front --params-file /opt/AutowareAuto/share/velodyne_nodes/param/vlp16_test.param.yaml

6.启动后激光雷达的 velodyne_node

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 运行 velodyne_nodes velodyne_cloud_node_exe --ros-args -p model:=vlp16 --remap __ns:=/lidar_rear --params-file /opt/AutowareAuto/share/velodyne_nodes/param/vlp16_test_rear.param.yaml

7.发布机器人状态描述:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 运行 robot_state_publisher robot_state_publisher /opt /AutowareAuto/share/lexus_rx_450h_description /urdf/lexus_rx_450h_pcap.urdf

连接到物理传感器

1.使用带有额外标志的默认脚本输入 ADE 以正确运行 RViz

$ ade --rc .aderc 开始 --update --enter -- --net=host --privileged

2.为此,请更新 velodyne_node 参数文件中的 IP 地址和端口参数,然后启动该节点:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 运行 velodyne_nodes velodyne_ cloud_node_exe --ros-args -p model:=vlp16 --remap __ns:=/lidar_front --params-file /opt/AutowareAuto/share/velodyne_nodes/param/ vlp16_test.param.yaml

启动可视化

rviz2 可用于在发布时可视化感知数据。 要启动可视化工具,请打开一个新终端,然后:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ rviz2 -d /opt/AutowareAuto/share/autoware_auto _examples/rviz2/autoware_perception_stack.rviz

rviz 配置显示了本教程中的所有主题。 当节点启动时,它们将显示在 rviz 中。 可以选中和取消选中主题名称旁边的复选框以切换可视化的感知输出。

启动感知节点

1.启动 point_cloud_filter_transform_node 节点。 该节点将点云从 转换 velodyne_node 为公共框架。 在新终端中,执行:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 run point_cloud_filter_transform_nodes point_cloud _ filter_transform_node_exe --ros-args --remap __ns:=/lidar_front --params-file /opt/AutowareAuto/share/point_cloud_filter_transform _ nodes/param/vlp16_sim_lexus_filter_transform.param.yaml --remap __node:=filter_transform_vlp16_front --remap points_in:= / lidar_front/points_xyzi

Autoware.Auto 转换点快照

2.启动 ray_ground_classifier_node 节点。 该节点根据点云点是地面还是非地面对点云点进行分类。 在新终端中,执行:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 run point_cloud_filter_transform_nodes point_cloud_filter_transform_node_exe --ros-args --remap __ns:=/lidar_front --params-file /opt/AutowareAuto/share/point_cloud_filter_ transform_nodes/param/vlp16_sim_lexus_filter_t ransform.param.yaml --remap __node:=filter_transform_vlp16_front --remap points_in := /lidar_front/points_xyzi

Autoware.Auto 光线地面滤镜快照

3.启动 euclidean_cluster_node 节点。 该节点将非地面点聚集到对象中,并可选择发布边界框或凸多边形棱镜。 对于发布边界框,在新终端中,执行:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 运行 euclidean_cluster_nodes euclidean_ cluster_node_exe --ros-args --params-file /opt/AutowareAuto/share/euclidean_cluster_nodes/ param /vlp16_lexus_cluster.param.yaml --remap points_in:=/points_nonground

Autoware.Auto边界框分割快照

或者,从欧几里得聚类算法中发布凸多边形棱镜。 在新终端中,执行:

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 运行 euclidean_cluster_nodes euclidean _ cluster_node_exe --ros-args --params-file /opt/AutowareAuto/share/euclidean_cluster_nodes / param/vlp16_lexus_cluster_as_polygon.param.yaml --remap points_in:=/points_nonground

Autoware.Auto凸多边形棱镜分割快照

便捷启动文件

为了简化启动这些节点的过程,存在一个方便的启动文件,它可以 robot_state_publisher 使用单个命令启动感知堆栈的其余部分。 要启动感知堆栈,请使用以下启动文件:

PCAP 传感器数据

笔记

如果您没有 PCAP 文件的副本,请参阅上述步骤以重放传感器数据。

1.使用以下命令重播文件 udpreplay :

$ ade 输入
ade$ udpreplay -r -1 route_small_loop_rw.pcap

2.在另一个终端中 启动前激光雷达的 velodyne_node :

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 运行 velodyne_nodes velodyne_cloud_node_exe --ros-args -p model:=vlp16 --remap __ns:=/lidar_front --params-file /opt/AutowareAuto/share/velodyne_nodes/param/ vlp16_test.param.yaml

3.在另一个终端中 启动后激光雷达的 velodyne_node :

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 运行 velodyne_nodes velodyne_cloud_node_exe --ros-args -p model:=vlp16 --remap __ns:=/lidar_rear --params-file /opt/AutowareAuto/share/velodyne_nodes/param/ vlp16_test_rear.param.yaml

4.输入 ADE 并运行启动文件

发布凸多边形棱柱来描述物体的空间位置。

进入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 启动 autoware_demos 激光雷达 _多边形_棱镜_pcap.launch.py

或者,发布用于描述对象空间位置的边界框。

进入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 启动 autoware_demos 激光雷达_ bounding_boxes_pcap.launch.py

SVL 仿真器

笔记 如果 SVL 仿真器已经在运行,请跳过步骤 1。

1.请参阅 Autoware.Auto 旁边的运行 SVL 仿真器

2.输入 ADE 并运行启动文件

3.发布凸多边形棱柱来描述物体的空间位置。

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 启动 autoware_demos 激光雷达_多边形_棱镜_lgsvl.launch.py

或者,发布用于描述对象空间位置的边界框。

$ ade 输入
ade$ source /opt/AutowareAuto/setup.bash
ade$ ros2 启动 autoware_demos 激光雷达_bounding_boxes_lgsvl.launch.py

 


您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码: 验证码,看不清楚?请点击刷新验证码 必填



620 次浏览
15次
欢迎参加课程:
MBSE(基于模型的系统工程)
系统思维与系统工程
系统工程方法与实践