48.Isaac教程--GMapping应用程序

news2024/11/23 8:47:40

GMapping应用程序

GMapping 是一个使用 OpenSlam 软件库的地图生成工具。 该应用程序允许您创建地图以在其他应用程序中使用。

GMapping 应用程序使用 Carter 参考机器人的 LIDAR 功能。

注意

建图是一项计算密集型和存储密集型活动,可能需要微调才能生成合适的建筑地图。 为获得最佳结果,请记录您的建图日志并离线调整 GMapping 参数。

根据机器人的能力,利用里程计或机器人姿势的姿势树。 使用惯性测量单元 (IMU) 来改进结果。

虽然您可以在桌面上运行 GMapping 应用程序,但对于实际的地图绘制,它必须部署并在 Carter 机器人上运行。

部署和运行 GMapping 应用程序

  1. 按照应用程序控制台选项中的说明将 //apps/carter/gmapping:gmapping-pkg 部署到机器人。

  2. 在选择目标机器人配置文件的同时运行 GMapping 应用程序:

bob@carter1:~/gmapping-pkg$ ./apps/carter/gmapping/gmapping --more "apps/carter/robots/carter_1.json"

输出

示例应用程序在整个运行过程中将地图写入 /tmp/map.img_.png 文件夹。 使用以下配置参数为 Gmapping codelet 指定输出路径:

"config": {
  "gmapping.gmapping": {
    "GMapping": {
      "file_path": "/tmp"
    }
  }
}

建图示例

下面的图像序列说明了随着时间的推移,从第一次激光雷达数据捕获到建筑物地图的建图过程。

建图建议

机器人在建图过程中移动的速度会影响结果。 速度越慢,LIDAR 样本的数量越多,从而提高了准确性。 避免急转弯。 配置机器人以限制最大线速度和角速度。

定期匹配和关闭路径循环,以纠正测绘期间里程计和惯性测量中的漂移和错误。 匹配深度是有限的。 在可能的情况下,绕建筑物中的街区导航,例如隔间畜栏和大型建筑元素。 无需驾车穿过已绘制地图的区域; 它会增加噪音。

从帧到帧保持足够的锚点。 这在离开或进入新区域或转入走廊时尤为重要。 避免驾驶太靠近墙壁。 选择与您的建筑拓扑一样高的(匹配)粒子数量,您可以在不丢失扫描匹配或仅恢复到里程计的情况下,这会导致糟糕的建图结果。

使用足够长的范围来帮助维护锚点,但使用较小的更新范围来绘制清晰的地图图像。 理想情况下,您的更新范围不应大于要建图的最大区域长度的一半。

在使用日志建图应用程序完成真实世界捕获后,记录您的扫描和里程计通道以重播和创建具有不同参数的新地图。 调整配置参数以针对您的建图用例进行试验。

使用 GMapping 或 logamppings 生成的地图时,修剪地图图像的灰色边缘。 这减少了文件的大小并提高了使用地图图像的算法的性能。 修改后,将这些地图保存为灰度、压缩、PNG 格式,以显着减小文件大小。

更多精彩内容:
https://www.nvidia.cn/gtc-global/?ncid=ref-dev-876561

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

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

相关文章

Hive(1):Apache Hive入门

1 Apache Hive概述 1.1 什么是Hive Apache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一种类似SQL的查询模型,称为Hive查询语言(HQL&a…

记OPNsense防火墙的安装过程 - 安全

前些天在网上看到防火墙软件OPNsense,对其有了兴趣,以前写过一个其前面的一个软件M0n0wall( 关于m0n0wall的安装及配置 ),当时也是非常有名的防火墙,现在有了OPNsense,这个老防火墙已经停止更新了。 下面对OPNsense防火…

MFC如何实现屏幕截图

目录一 程序实现效果二 程序实现思路三 具体实现一 程序实现效果 本文描述了MFC中实现屏幕截图的一种方式,程序界面如下: 单击【开始截屏】,按住鼠标左键,一直拖动到需要截屏的矩形的右下角,松开鼠标左键&#xff0c…

工业设备数据采集调研要点

一、概述 当一家客户提出需要采集设备的数据,通常需要对设备、通讯、采集方案进行确认。此时我们需要做两件事: 1、向客户要设备清单,便于确认设备的数量。(客户提供) 2、确认设备信息、通讯接口信息、采集方案。&a…

图文详解 Java 泛型,写得太好了!

一、泛型的引入我们都知道,继承是面向对象的三大特性之一,比如在我们向集合中添加元素的过程中add()方法里填入的是Object类,而Object又是所有类的父类,这就产生了一个问题——添加的类型无法做到统一 由此就可能产生在遍历集合取…

OpenShift 4 - 在单节点 OpenShift 上部署 ODF 存储软件

《OpenShift / RHEL / DevSecOps 汇总目录》 说明:本文已经在支持 OpenShift 4.12 的 OpenShift Local 环境中验证 文章目录什么是 ODF LVM ?为 OpenShift Local 增加额外存储设备安装并配置 ODF LVM Operator使用 ODF 创建 PVC/PV 验证什么是 ODF LVM &…

Mock的接口自动化测试如何测?

1.Mock实现原理和实现机制 在某些时候,后端在开发接口的时候,处理逻辑非常复杂,在测试的时候,后端在未完成接口的情况下该如何去测试呢? 我们需要测试,但是有些请求又需要修改一下参数,或者改…

寻找适合程序员的笔记软件

做为一个程序员,有两个东西是我们必需的.一个是搜索,另一个则是记录. 当我们遇到不会或解决不了的困难点时,我们会第一时间使用搜索(如Google)来寻找解决方案,而当我们积累与在技术上有任何心得时,我们会记录它. 因而,寻找一个合适的笔记软件,对程序员非常重要. 一) 程序员…

Apache Spark 机器学习 特征转换 1

分词器(Tokenizer) 分词是一个处理过程,其将文本句子分割成一系列独立的单词词汇集合,Spark提供Tokenizer分词器类,其提供的功能是使用分隔符的方式处理文本句子的特征转换,Spark提供RegexTokenizer分词器…

在PC上安装OpenSSL,生成证书

文章目录一.在编程 PC 上安装 OpenSSL1. 下载安装 OpenSSL2.生成CA认证3. 生成 Broker 证书4. 生成各个 Client 的证书一.在编程 PC 上安装 OpenSSL 为了使用带 TLS 安全证书的 ADS Over MQTT,在 MQTT 的 Server 和 Client 侧都需要证书以进行安全通信,…

安装vue-cli2和3以及创建vue2和vue3项目的步骤及区别

文章目录安装vue-cli2版本步骤1.下载vue-cli2问题1:安装Vue Cli出现EEXIST: file already exists, cmd shim ‘C:\Users\2.vue-cli2构建vue项目问题2:报错: vue-cli Failed to download repo vuejs-templates/webpack: connect ETIMEDOUT 19…

「兔了个兔」福兔贺春,纯CSS实现超精美月兔404界面(附源码)

💂作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学会计学专业大二本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后…

搭建一个FAQ智能问答系统/服务

FAQ智能问答系统 介绍 项目传送门:https://github.com/wzzzd/FAQ_system 构建了一个FAQ智能问答系统。 使用多种方法,实现FAQ的问题-模板匹配功能。 使用Tornado框架,部署成轻量级的Web服务应用。 整体框架如下。 流程 1.初始化流程 1.…

这福利给你要不要 — 用Python采集相亲网站女生数据

前言 俗话说学咱这行的男同志 找对象容易吗 这马上就要过完年了 是时候找找女朋友了 我在这里摸索到了个网站 或许你们可以来看看 送一波单身福利 不需要的也可以学学怎么采集这些数据呗 环境与模块 环境开发 Python 3.8Pycharm 模块使用 import parsel --> p…

类与对象的原理

前言 在JavaScript中,类的实现是基于原型继承机制的。 JavaScript中的类的一个重要特性是“动态可继承”。 类与原型 在JavaScript中,类的所有实例对象都从同一个原型对象上继承属性,因此原型对象是类的核心。 所有的类都有一个共同的根…

关系数据库——关系操作和关系完整性

文章目录一、关系操作1.基本的关系操作2.关系数据语言的分类关系代数语言关系演算语言具有关系代数和关系演算双重特点的语言二、关系的完整性1.实体完整性(Entity Integrity)实体完整性规则2.参照完整性(Referential Integrity)参照完整性规则引用关系3.用户定义的完整性(User…

WebRTC 的连接过程

经过前面几部分的铺垫,你应该对P2P音视频互动的过程有了一个大概的了解,有可能你会觉得过程比较繁琐,甚至涉及到了网络底层。但是,不要担心,WebRTC已经帮我们做了很多的事情,让我们在音视频开发时变得轻而易…

【Spring源码】22. 属性填充populateBean()详解

进入populateBean()对bean的属性进行填充,将各个属性值注入(存在其他bean的属性,则会递归初始化依赖的bean)一开始会先对传入的参数进行判断(如下图红框框中的逻辑)如果传入的BeanWrapper和RootBeanDefinit…

SpringBoot3+最新MybatisPlus+Mysql与TDengine双数据源

前言 昨天写的ideaApifox uploader插件apifox新年第一天上班就上榜了,真是不错。今天来补一篇,本来应该是在前一篇之前发的。实际上就是最新的springBoot集成最新的mybatisPlus,加双数据源:mysql、TDengine,一个关系型…

kvm虚拟机克隆

kvm虚拟机克隆链接克隆和完整克隆的区别完整克隆自动克隆手动克隆的步骤1.复制模板vm磁盘为新vm的磁盘2.复制模板vm配置文件为新vm的配置文件3.修改新vm配置文件中的信息为新vm的信息4.导入新vm的配置文件5.启动新vm链接克隆1.生成链接克隆虚拟机磁盘文件2.后续流程与手动克隆一…