定位
本文采用的是点云匹配的定位方法,利用autoware中的ndt_matching,将激光雷达实时扫描的数据与构建的pcd地图中的点云进行匹配,从而实现定位
在确保之前的配置全部取消的情况下(主要保证没有数据在回放),在[Setup]下点击[TF]按钮,并确定Localizer选项位于[Velodyne]处,同时确保参数配置正确
在[Map]中加载之前建立的PCD地图和TF文件并加载生效
[Sensing]下点击[Velodyne VLP_16]启动VLP16 Velodyne激光雷达
[Sensing]下找到[voxel_grid_filter]选项并勾选
找到[Computing]下的[ndt_matching]选项,打开[app],确保[topic:/config/ndt]选项处于[Initial Pose]处,如果有GPU则把[Method Type]更改为[pcl_anh_gpu],退出并勾选ndt_matching
找到[Computing]下的[vel_pose_connect],打开[app]并确保选项[Simulation Mode]未被勾选,退出并勾选vel_pose_connect
打开[Rviz],默认显示或使用自编辑保存的Rviz均可
由于初始位置与Map TF有一定的距离,所以导致定位晃动而无法准确与地图匹配,这时需要借助Rviz中的[2D Pose Estimate]箭头进行辅助定位,在rviz中点击[2D Pose Estimate],按住左键选中目前车辆在地图中的位置,其中箭头尾部代表真实车辆的当前大概位置,箭头表示车辆的车头朝向
这里进行匹配定位时,可能由于辅助选择的初始位置存在误差,导致匹配错误,需要重复多次尝试
感知
雷达目标检测
在文定位的前提下在Sensing项目里启动ray_ground_filter,并点击app,将input_point_topic选择为/filter_points
勾选[Computing]子界面下的[Lidar_euclidean_cluster_detect]和lidar_contour_tracker
打开[Rviz],默认显示或使用自编辑保存的Rviz均可
在Rviz左下角点击[Add]添加一个名为:[BoundingBoxArray]的选项
加载之后,将该选项展开栏下的[Topic]修改为:/bounding_boxes
此时在Rviz界面中会出现右图所示方框,这就是利用激光雷达做的聚类检测结果
这里的检测结果在后续局部规划里会用到