前言: 今天是大年十三,这是新年的第一篇blog,在这里祝大家新年快乐,新的一年身体健康、心想事成、万事如意。快临近开学了,之前一直就想调用百度地图或者高德地图的api,进行机器人的GPS在真实卫星的地图上绘制,方便以后的科研和算法交叉验证。通过查阅知乎和提问朋友,暂得两种方法实现GPS轨迹的绘制,也在今天调试了一遍。
在此感谢 三部曲的作者朱总的热心解答、知乎博主文刀竹夭的热心解答。
Mapviz绘制kitti数据集 GPS轨迹
参考博客:
Visualize the GNSS messages in Mapviz, ROS
使用rviz_satellite重现UCB汽车行驶数据集(1) GNSS部分
ubuntu下安装Mapviz
mapviz - ROS Wiki
主要参考博客,博主已经说得很清楚啦,在这里只是复述一下
Visualize the GNSS messages in Mapviz, ROS
另附:另一个博主的参考视频,给我很大的启发和帮助 Mapviz来做GPS+里程计+LiDAR可视化
这里使用的数据集与知乎博主有所不同,我是用的是kitti的数据集,下载链接
下载参考 :ubuntu下安装Mapviz
ROS wiki:http://wiki.ros.org/mapviz
https://github.com/swri-robotics/mapviz
cd catkin_ws/src
sudo apt-get install ros-$ROS_DISTRO-mapviz ros-$ROS_DISTRO-mapviz-plugins ros-$ROS_DISTRO-tile-map ros-$ROS_DISTRO-multires-image
rosdep install --from-paths src --ignore-src
catkin_make
ros编译时与opencv发生冲突的解决办法 opencv_imgcodecs3.so.3.3.1: undefined reference to `TIFFReadDirectory@LIBTIFF
This is a very important step
1.The initialize_origin.py node takes in a GPS coordinate and uses that to connect the WGS84 coordinate system to ROS TF tree; setting will make it use the first GPS message it gets instead of using one of the pre-defined origins.设置初始经纬度为auto自动获取
<param name="local_xy_origin" value="auto"/>
2.修改话题名称,kitti数据集的GPS话题名称为 /kitti/oxts/gps/fix
<remap from="fix" to="/kitti/oxts/gps/fix"/>
完整的launch文件 mapviz.launch
<launch>
<node pkg="mapviz" type="mapviz" name="mapviz"></node>
<node pkg="swri_transform_util" type="initialize_origin.py" name="initialize_origin" >
<param name="local_xy_frame" value="/map"/>
<param name="local_xy_origin" value="auto"/>
<rosparam param="local_xy_origins">
[{ name: swri,
latitude: 29.45196669,
longitude: -98.61370577,
altitude: 233.719,
heading: 0.0},
{ name: back_40,
latitude: 29.447507,
longitude: -98.629367,
altitude: 200.0,
heading: 0.0}]
</rosparam>
<!--<remap from="fix" to="/navsat/fix"/>-->
<remap from="fix" to="/kitti/oxts/gps/fix"/>
</node>
<node pkg="tf" type="static_transform_publisher" name="swri_transform" args="0 0 0 0 0 0 /map /origin 100" />
</launch>
roslaunch mapviz apviz.launch
注意:先添加 地图 /tile_map,再添加GPS /navsat 话题
Notice that: The sequence of plugins in your panel is vital. Because Mapviz draws its plugins in the order that they are listed in the plugin panel. If navsat is listed first, it will draw that first, and then it will draw the tile_map over that, so you would not be able to see any fixes.
地图绘制工具
这个工具主要由朱总推荐使用
官网下载链接 : http://www.engine3d.com/
本人所用版本压缩包下载地址:
链接:https://pan.baidu.com/s/1Ix-4XywVeNk9sZwZA4pXdw 提取码:09m5
通过GPS保存的EXCEL文档生成GPS轨迹
excel中 第一列为经度、第二列为纬度、第三列为高度