使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制

使用mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制

前言: 今天是大年十三,这是新年的第一篇blog,在这里祝大家新年快乐,新的一年身体健康、心想事成、万事如意。快临近开学了,之前一直就想调用百度地图或者高德地图的api,进行机器人的GPS在真实卫星的地图上绘制,方便以后的科研和算法交叉验证。通过查阅知乎和提问朋友,暂得两种方法实现GPS轨迹的绘制,也在今天调试了一遍。
在此感谢 三部曲的作者朱总的热心解答、知乎博主文刀竹夭的热心解答。

Mapviz绘制kitti数据集 GPS轨迹

使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制_第1张图片

参考博客:
Visualize the GNSS messages in Mapviz, ROS
使用rviz_satellite重现UCB汽车行驶数据集(1) GNSS部分
ubuntu下安装Mapviz
mapviz - ROS Wiki

mapviz GPS轨迹绘制

主要参考博客,博主已经说得很清楚啦,在这里只是复述一下
Visualize the GNSS messages in Mapviz, ROS
另附:另一个博主的参考视频,给我很大的启发和帮助 Mapviz来做GPS+里程计+LiDAR可视化

数据集

这里使用的数据集与知乎博主有所不同,我是用的是kitti的数据集,下载链接
使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制_第2张图片

下载Mapviz

下载参考 :ubuntu下安装Mapviz

ROS wiki:http://wiki.ros.org/mapviz

1.1github下载到 catkin_ws/src 下

https://github.com/swri-robotics/mapviz

1.2也可以通过 apt 下载到 catkin_ws/src 下

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

2.使用rosdep安装依赖

rosdep install --from-paths src --ignore-src

3.编译

catkin_make

4.报错解决

ros编译时与opencv发生冲突的解决办法 opencv_imgcodecs3.so.3.3.1: undefined reference to `TIFFReadDirectory@LIBTIFF

修改launch文件

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

可仿照下图进行一个添加配置
使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制_第3张图片

注意:先添加 地图 /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.

本人修改后的mapviz代码下载

地图绘制工具

中科图新 GPS绘制工具

这个工具主要由朱总推荐使用
官网下载链接 : http://www.engine3d.com/
本人所用版本压缩包下载地址:
链接:https://pan.baidu.com/s/1Ix-4XywVeNk9sZwZA4pXdw 提取码:09m5
通过GPS保存的EXCEL文档生成GPS轨迹
excel中 第一列为经度、第二列为纬度、第三列为高度

1.点击 Excel转kml

excel示例如下所示:
使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制_第4张图片
在这里插入图片描述
使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制_第5张图片

2.配置

使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制_第6张图片

3.刻画轨迹

使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制_第7张图片
使用Mapviz、中科图新 进行机器人GPS轨迹卫星地图绘制_第8张图片

你可能感兴趣的:(搭建实验室3d,slam,移动小车,ROS机器人)