用Mapviz显示卫星地图轨迹

1、安装Mapviz

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

Github:[https://github.com/swri-robotic]

控制台输入命令

sudo apt-get install ros-$ROS_DISTRO-mapviz ros-$ROS_DISTRO-mapviz-plugins ros-$ROS_DISTRO-tile-map ros-$ROS_DISTRO-multires-image

注意:用ros命令安装不是最新版本,如果安装最新可以从源码安装

源码安装

  • github下载到 catkin_ws/src 下
  • 使用rosdep安装依赖
rosdep install --from-paths src --ignore-src
  • 编译
catkin_make

2、修改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"/>		#设为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="/gvins/gnss_fused_lla"/>		#将话题名称修改为自己数据报的输出话题
  </node>

  <node pkg="tf" type="static_transform_publisher" name="swri_transform" args="0 0 0 0 0 0 /map /origin 100"  />
</launch>

查看自己的话题
在这里插入图片描述

启动mapviz

roslaunch mapviz mapviz.launch

3、mapviz调用地图api

因为mapviz默认加载的地图为Stamen的地图,为外国网站,所以加载很慢,选择使用天地图的WMTS-api,进行切片地图的显示,并在上面显示轨迹

3.1、申请天地图API key 个人密钥

需要先申请天地图API KEY,注意申请时,选择的应用类型为:服务端,提交后就能生成自己的tk 密钥。

在这里插入图片描述

3.2、地图瓦片获取格式

天地图API (tianditu.gov.cn)

在这里插入图片描述

天地图地图服务二级域名包括t0-t7,您可以随机选择使用,如http://t2.tianditu.gov.cn/vec_c/wmts?tk=您的密钥

请求示例

http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={z}&TILEROW={x}&TILECOL={y}&tk=您的密钥

需要注意的是: 如下图所示,mapviz中,在tile_map 中,添加的Base URL 格式为

http://tile.stamen.com/terrain/{level}/{x}/{y}.png     #   level  x  y  分别表示  高经纬

在这里插入图片描述

所以需要将天地图api调取格式中的 z 变量改为 level 变量,mapviz才能识别到,修改后的天地图api调取格式为

http://t0.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILEMATRIX={level}&TILEROW={x}&TILECOL={y}&tk=您的密钥

将上述URL添加到Base URL
在这里插入图片描述

Max Zoom越大加载的地图越精确,根据自己的电脑性能来

3.3、添加 navsat 路径display

选择自己的话题和适当的颜色,即可在卫星地图上绘制路径

注意,mapviz中要先添加tile_map 再 添加 navsat(new display)

在这里插入图片描述

3.4、效果如下

在这里插入图片描述

参考文章

(31条消息) ubuntu下安装Mapviz_青年2333的博客-CSDN博客

(31条消息) 使用Mapviz,进行机器人GPS轨迹卫星地图绘制(2)-调用天地图API,快速加载刷新地图_KaHoWong的博客-CSDN博客_gps轨迹绘制地图

息) 使用Mapviz,进行机器人GPS轨迹卫星地图绘制(2)-调用天地图API,快速加载刷新地图_KaHoWong的博客-CSDN博客_gps轨迹绘制地图](https://blog.csdn.net/weixin_41281151/article/details/120630786)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐