SLAM中将地图映射到谷歌地图上的方法——完美运行

news2024/9/23 17:11:59

文章目录

  • 前言
  • 一、rviz_satellite
  • 二、mapviz


前言

老是看到论文中有将地图映射到谷歌地图上的图,实在是泰裤辣!!(武汉大学)
在这里插入图片描述

搜索了很久,发现有两种可视化软件,分别为rviz_satellite和mapviz。本文完全运行的是rviz_satellite
rviz_satellite工具网站:
https://github.com/nobleo/rviz_satellite
mapviz工具网站:
https://github.com/swri-robotics/mapviz

一、rviz_satellite

1、从github上git clone下来并catkin_make

2、然后打开rviz_satellite/launch文件夹中的demo.gps
在这里插入图片描述
这个消息为ros的sensor_msgs::NavSatFix类型消息,修改为你数据集的起始经纬度。

3、运行demo.launch,修改AerialMapDisplay

  • Topic是GPS测量的主题。该Topic字段必须指向 的发布者sensor_msgs/NavSatFix。请注意,rviz_satellite 在机器人移出中心块之前不会重新加载块(如果启用了动态重新加载)。

  • Robot frame应该是从机器人位置到固定框架的 TF。

  • Dynamically reload当机器人移出中心块时,将导致图像重新加载。这仅在 TF 正确指定机器人框架时才有效。

  • Alpha只是显示透明度。

  • Draw Under将使地图显示在所有其他几何体下方。

  • Zoom是地图的缩放级别。推荐值为 16-19,因为任何更小的值都是非常低的分辨率。22 是当前最大值。

  • Blocks要加载的相邻块数。rviz_satellite 将加载中心块,以及中心周围的许多块。8 是当前最大值。

  • Frame Convention是地图 X/Y 轴的约定。默认是将 XYZ 映射到 ENU,这是 libGeographic 和ROS的默认约定。

  • Object URI必须提供Object URI从中加载卫星图像的(或 URL)。rviz_satellite 目前仅支持瓷砖名称的OpenStreetMap约定。

我在这里整理了 URI 的两种形式:

https://maps.wikimedia.org/osm-intl/{z}/{x}/{y}.png # 最简陋
https://tile.openstreetmap.org/{z}/{x}/{y}.png # 稍好点

注意!如果你想使用效果很好的卫星图,需要首先请求某些地图软件的API访问令牌。请参阅各自的服务条款和版权条款。
以下为readme中的4种需要访问令牌的URI

  • OpenStreetMap: https://tile.openstreetmap.org/{z}/{x}/{y}.png
  • TomTom: https://api.tomtom.com/map/1/tile/basic/main/{z}/{x}/{y}.png?tileSize=512&key=[TOKEN]
  • Mapbox: https://api.mapbox.com/styles/v1/mapbox/satellite-v9/tiles/256/{z}/{x}/{y}?access_token=[TOKEN]
  • GoogleMaps: https://maps.googleapis.com/maps/api/staticmap?maptype=satellite&center={lat},{lon}&zoom={z}&size=256x256&key=[TOKEN]

中标记{z}{x}{y}分别代表缩放级别、x 坐标和 y 坐标。在发出 HTTP 请求时,这些将自动被 rviz_satellite 替换。

4、最后一步,运行你的SLAM算法,将地图添加到rviz上即可,效果如下:
请添加图片描述
“重庆门大学”

二、mapviz

参考博客
1、从github上git clone下来并catkin_make
2、修改参数配置
3、相应的工程目录下运行launch文件,随后点击左下角add,依次添加tile_map和navsat。

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/488645.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

换脸ai的方法分享!这几个换脸APP巨好用。​

换脸ai的方法分享!换脸AI是一种基于人工智能技术的图像处理应用,它可以将一个人的面部特征和表情应用到另一张照片或视频中,实现快速、高效的人脸替换。这种技术利用机器学习模型分析和学习大量的人脸数据,训练出一种“生成对抗网…

GPU基础与CUDA编程入门

文章目录 一、GPU和CPU的区别GPU: 高吞吐量导向设计CPU: 低延迟导向设计GPU适合什么场景:什么是Prefetch? 二、CUDA与OpenCL三、CUDA编程并行计算整体流程内存模型线程块网格Grid:并行线程块组合线程束SIMD 四、CUDA编程实例&…

ModuleNotFoundError: No module named ‘allennlp‘解决方法

1. 准备工作 由于本人复现论文要安装allennlp的包但是遇到些问题,所以特地记录一下 需求:在SBN环境下安装allennlp的包 1.创建环境 创建一个环境名为SBN的环境名字 python版本为3.8.5 可以根据自己需求指定, conda create -n SBN python3.8.5conda a…

企业微信-构造网页授权链接实现登录

文档地址:构造网页授权链接 - 接口文档 - 企业微信开发者中心 注意: 1.redirect_uri:回调链接地址,需要使用urlencode对链接进行处理 2.scope:如果需要获取成员的头像、手机号等信息需要设为snsapi_privateinfo 例如前…

ChatGPT4.0火爆全球,是什么让它独领风骚?

ChatGPT造就了互联网历史上又一个神话,仅用两个月时间就成功吸引了1亿用户,成为全球互联网应用中增长速度最快的一个。连比尔盖茨都称:ChatGPT的历史意义重大,不亚于PC或互联网诞生。这个热度以至于ChatGPT官网长期都处于满负荷运…

射频功率放大器在S180肿瘤细胞膜研究中的应用

实验名称:聚焦超声对S180肿瘤细胞膜理化性质的影响 研究方向:生物医疗 测试目的: 细胞膜是细胞生命活动中有着复杂功能的重要结构其基本作用在于维持细胞内外环境的相对稳定而其通透性、完整性及流动性等理化性质则与胞内外信息传递、物质…

Unity——Mirror学习(01)

1.下载 Mirror是一个简单高效的开源的unity多人游戏网络框架,Mirror在Unity商店中是免费的,因此直接加入自己的资源库并在导入即可。 官方API地址:https://mirror-networking.gitbook.io/docs 2.使用 1.创建场景的网络管理器 网络管理器…

C#,生信软件实践(03)——DNA数据库GenBank格式详解及转为FASTA序列格式的源代码

1 GenBank 1.1 NCBI——美国国家生物技术信息中心(美国国立生物技术信息中心) NCBI(美国国立生物技术信息中心)是在NIH的国立医学图书馆(NLM)的一个分支。它的使命包括四项任务:1. 建立关于分…

Linux操作系统CentOS7安装Nginx[详细版]

Linux操作系统CentOS7安装Nginx[详细版] Nginx安装 1. 官网下载 Nginx 2. 使用 XShell 和 Xftp 将压缩包上传到 Linux 虚拟机中 3. 解压文件 nginx-1.20.2.tar.gz 4. 配置nginx 5. 启动 nginx 6. 拓展(修改端口和常用命令) (一)修…

QProgressBar详解

QProgressBar详解 [1] QProgressBar详解1.QProgressBar简述2.常用方法3.示例,比较进度条4.设置样式表 [1] QProgressBar详解 原文链接:https://blog.csdn.net/wzz953200463/article/details/125530997 1.QProgressBar简述 QProgressBar提供了一个水平…

Spark大数据处理讲课笔记3.5 RDD持久化机制

文章目录 零、本讲学习目标一、RDD持久化(一)引入持久化的必要性(二)案例演示持久化操作1、RDD的依赖关系图2、不采用持久化操作3、采用持久化操作 二、存储级别(一)持久化方法的参数(二&#x…

docker使用集锦

docker简介 docker是一个软件,作用是在任意安装docker软件的系统上虚拟一个容器,用户可以在容器上构建任何自定义环境。 容器与虚拟机的区别在于,虚拟机需要对硬件也虚拟化,分配给虚拟机一定的资源,包括网卡&#xf…

SpringBoot热部署插件原理分析及实战演练

目录 1、关于热部署(Hot Deploy)产生的背景 1)热部署出现前 2)热部署出现后 2、spring-boot-devtools插件原理 1)解决变更文件自动加载到JVM中 2)spring-boot-devtools重启速度比手动重启快 3、关于…

最优化理论(一)Fibonacci法(python实现)

最优化理论之Fibonacci法(python实现) 纯纯干货 刚过完五一假期,又要回归到课程多还要兼顾每天考研复习的生活的日常了,这不,最优化理论课程又需要编写一些代码,鉴于网上基于python实现的系列算法很杂很散(基本没有&…

juc--三大接口

文章目录 juc一、为什么会有juc二、juc--三大接口1.lock2.condition3.ReadWriteLock 二、juc--的默认实现类1.ReentrantLock--lock的默认实现类公平锁,非公平锁 2. ReentrantReadWriteLock读写锁--ReadWriteLock的默认实现类读写锁和排它锁 总结 juc juc: java.util.concurren…

IT行业比较吃香的技能有哪些?

前言 在互联网IT行业中,虽然只有短短几十年时间,但是技术革新一直都在,而且各类前沿技术层出不穷,不断迭代和创新。作为一个程序员,在互联网行业竞争很激烈的当下,更应该通过学习来应对日新月异的前沿技术。…

【IDEA Sprintboot】简单入门:整合SpringSecurity依赖、整合Thymeleaf框架

目录: 1、【IDEA】简单入门:请求数据库表数据_水w的博客-CSDN博客 目录 三、 1、整合SpringSecurity依赖 2、整合Thymeleaf框架 解决css样式等静态资源访问不到的问题 三、 1、整合SpringSecurity依赖 Spring Security是一个能够为基于Spring的企业…

正则表达式学习贴

1. 前言 1.1 为什么要学习正则表达式 1.1.1 极速体验正则表达式威力 /*** 体验正则表达式的威力,给我们文本处理带来哪些便利*/ public class Regexp_ {public static void main(String[] args) {//假定,编写了爬虫,从百度页面得到如下文本…

网络计算模式复习(二)

网格 由于B/S架构管理软件只安装在服务器端上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器&…

李沐深度学习环境安装(包括pytorch和d2l)

李沐深度学习环境安装(包括pytorch和d2l) 目录一、安装Anaconda3二、安装GPU版本的pytorch三、使用jupyter notebook运行李沐书籍的源码 目录 一、安装Anaconda3 进入Anaconda官网下载:https://www.anaconda.com/distribution/ 安装细节不在…