使用ndt_mapping_nodes功能包建点云地图,生成pcd文件
-
1、修改
ndt_mapper.launch.py
文件:
将filter_transform_vlp16_front
节点中的points_xyzi
改为->points_raw
编译 -
2、运行LGSVL:
可参考 LGSVL仿真配置; -
3、终端1:
ros2 launch ndt_mapping_nodes ndt_mapper.launch.py
- 4、在LGSVL中控制车辆在地图中跑一圈(点云地图的位置和角度跟开始建图时车辆的位置和角度有关,若点云地图与高境地图存在位置误差可通过修改
autonomoustuff_parking_lot_lgsvl.yaml
文件的经纬度进行调整); - 5、ctrl+c结束ndt节点,会自动在目录中生成PCD文件,可以使用
pcl_viewer
查看PCD点云地图的效果,PCD文件默认是ascii格式的,需要修改为二进制; - 6、使用VIM打开刚刚创建的PCD文件,将SIZE改为:4 4 4 1,将TYPE改为:F F F U
- 7、PCD格式转换:(ascii转为二进制):
pcl_convert_pcd_ascii_binary ascii.pcd binary.pcd 1
其中ascii.pcd
为刚刚创建的PCD文件,文件名默认ndt开头。binary.pcd
为转换后的二进制格式的文件名,文件名可以自定义;
- 8、修改
avp_sim.launch.py
文件:
map_pcd_file
中的PCD文件名改为自己新创建的PCD文件名
map_yaml_file
中的yaml文件名改为自己新创建的yaml文件名,文件内容的经纬度信息通过查看OSM文件获取 - 9、修改
avp_core.launch.py
文件:
map_osm_file
中的OSM文件名改为新创建的OSM文件名 编译 - 10、运行avp相关launch文件