Autoware-建图

2 篇文章 0 订阅
1 篇文章 0 订阅

1. 首先启动runtime manager

roslaunch runtime_manager runtime_manager.launch

2. 启动激光雷达

(1)针对velodyne 多线lidar

如果你有velodyne激光可以启动默认配置:[Sensing] 页面下 [Lidars] 选项下针对你的velodyne选择,velodyne激光对应的发布的点云topic:/velodyne_packets,frame_id:velodyne,topic会被重映射成为/points_raw。

 2.1 录制点云数据

点击runtime manager右下角 [ROSBAG] 按钮,在弹出的对话框中点击下方点击 [Refresh] 按钮刷新话题列表,找到/points_raw 并勾选。

点击 [Start] 按钮,等数据录完,点击 [Stop],此时数据会保存在autoware/ros目录下。此时,数据录制完毕。

2.2 回放点云数据

点击进入 [Simulaton] 页面,点击界面右下方的 Rviz 按钮,启动 Rviz 可视化窗口。在 Rviz 界面中左菜单栏中找到 Fixed Frame, 在该栏目中修改 world 为 velodyne。点击左下角 [Add] 按钮,加载 By Topic 下 /points_raw 话题的 PointCloud2 选项。

点击 runtime manager 下的 [Simulation] 菜单的 [Pause] 按钮,此时在 Rviz 中可以看到之前记录的数据被显示出来。如下所示。

 2.3 建图

这里,需要先讲一下autoware的建图用坐标系之间的关系,基本坐标系有四类:分别为世界坐标系:world;地图坐标系:map;车的坐标系base_link;传感器坐标系:velodyne。他们之间的转换关系,如下:

从world到map的坐标系转换与从base_link到velodyne的坐标系转换是固定的,用ROS的TF即可。从map到base_link的映射就需要scan-to-map的算法,autoware在建图采用的是ndt matching。

(1)设置从base_link到velodyne坐标系的TF。

在 [Setup] 菜单中,确保 [Localizer] 下选项为 [Velodyne],在 [Baselink to Localizer] 中设置好各个参数之后点击 TF 按钮,其中x、y、z、yaw、pitch、roll表示真车雷达中心点与车身后轴中心点的相对位置关系(右手坐标系,真车后车轴为原点),此时可以点击[Vehicle Model],如果[Vehicle Model]为空,那么会加载一个默认模型(在rviz显示时,如果有激光雷达数据,车辆会显示为黑色)。如下所示。

(2)设置map到base_link转换

在 [Compulting] 菜单栏中找到 [lidar_localizer]下的 [Ndt_Mapping] 选项,设置 [app],并勾选。Ndt_Mapping会有一些设置需要注意一下,如下图:

参数用默认,如果有GPU(一定有,因为没有CUDA不能安装autoware),可以选择 [pcl_anh_gpu]。

(3)设置从world到map转换

点击 [Map] 页面,点击 [TF] 的 [ref] 选择 autoware/ros/src/.config/tf/tf_local.launch 文件,这是加载默认world到map的坐标转换,打开tf_local.launch文件如下: 

<launch>
    <node pkg="tf" type="static_transform_publisher" name="world_to_map" args="0 0 0 0 0 0 /world /map 10" />
</launch>

 args的参数“0 0 0 0 0 0 /world /map 10”表示:从/world坐标系转换到/map坐标系的x, y, z, roll, pitch, yaw转换,且频率为10Hz。

点击 [TF] 按钮,如下图:

(4)制作点云地图

和回放点云数据一样,点击进入 [Simulaton] 页面,点击界面右上方 [Ref] 按钮,加载之前录制的 bag 文件,点击 [Play] 按钮播放数据,然后再点击 [Pause] 暂停播放。点击runtime manager右下方的 [Rviz] 按钮,启动 Rviz 可视化窗口。加载Rviz的配置文件,路径为:autoware/ros/src/.config/rviz/ndt_mapping.rviz。加载后rviz的配置文件后,回到runtime manager的 [Simulaton] 页面,再次点击 [Pause] 开始播放,这是可以看到Rviz 可视化窗口显。

运行停止,表示地图生成完毕。

(5)保存点云地图

打开 [Compulting] 下的 [Ndt_Mapping] 选项的 [app],如下所示:

点击 [ref] 选择保存地图的路径,将 [Filter Resolution] 参数设置为0.2,点击 [PCD OUTPUT]按钮,开始保存pcd文件。此时,可以在保存的路径里看到一个.pcd文件,该文件就是地图文件。

(6)查看地图文件

选择runtime manager的 [Map] 菜单,点击 [Point Cloud] 按钮的 [ref],加载刚才保存.pcd文件,并点击 [Point Cloud] 按钮,进度条显示OK,则加载完毕,如下所示:

点击runtime manager 右下角的 [RViz] ,在RViz显示界面点击左下角的 [Add] 按钮,通过 [By Topic] 找到/points_map 并打开,在rviz中显示如下:

到此为止,点云地图制作完毕。

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值