双机 Cartogtapher 建图文件配置

2024-04-01 11:20

本文主要是介绍双机 Cartogtapher 建图文件配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

双机cartogtapher建图

最近在做硕士毕设的最后一个实验,其中涉及到多机建图,经过调研最终采用cartographer建图算法,其中配置多机建图的文件有些麻烦,特此博客以记录

非常感谢我的同门 ”叶少“ 山上的稻草人-CSDN博客的帮助,经过他的点拨,第二天终于将搞明白了如何修改frame_id使得多机启动后tf不冲突,从而实现多机建图


本文不讲原理(因为我目前也不懂很多哈哈哈),只记录如何修改launch等文件实现多机使用cartographer建图不冲突

主要就是修改 frame_id,frame_id是TF坐标的参考

要修改的地方主要在:

无人车(或无人机等)的 urdf 文件

无人车启动相关launch 启动文件

底盘控制 launch 文件

描述 TF 关系的 launch文件

雷达launch文件

cartographer使用到的 lua 文件

PS:建议都把源文件复制一份,重新改名,这样能保存源文件,不至于修改后回不到开始原状态了

目录

一、修改cartographer的launch文件

二、修改无人车相关launch文件

三、修改后的TF树

四、双机运行展示效果

一、修改cartographer的launch文件

该文件名为:revo_lds.lua,路径为 /opt/ros/melodic/share/cartographer_ros/configuration_files

建议复制一份修改名字,我这里复制了一份,重命名为 hc_revo_lds.lua

修改如下三个地方
在这里插入图片描述

tracking_frame:一般设置为发布频率最高的传感器的frame_id

published_framecartographer发布的tf树最后将指向 published_frame,这个必须设置正确,否则TF树连接不成功,一般设置为地盘的 link name

为了区别其他的无人车,我这里加了前缀 “car1/”

odom_frameodom_frame与实际的里程计话题及消息没有什么关系,只是cartographer的一个中间话题,如果将 provide_odom_frame 设置为 true,则 TF 为 map -> odom_combined1 -> car1/base_footprint

如果将 provide_odom_frame 设置为 false,则 TF 为 map -> car1/base_footprint

这取决于是否需要 cartographer 来提供 odom信息

PS:修改建图 launch文件
在这里插入图片描述

如果第一步你修改了文件名,则这里需要修改一下


二、修改无人车相关launch文件
  1. 修改无人车底盘 frame_id

    hc_base_serial.launch
    在这里插入图片描述

  2. 修改无人车的 urdf 文件 hc_mini_mec_robot.urdf

    主要修改 link 的名字

    hc_mini_mec_robot.urdf

    在这里插入图片描述

  3. 修改 TF 坐标变化的 launch 文件,替换使用到的 URDF 文件名

    hc_robot_model_visualization.launch
    在这里插入图片描述

  4. 在 turn_on 功能包中修改用于建图、导航的 TF 关系与小车外形 launch文件(跟你自己的对应上即可)hc_turn_on_wheeltec_robot.launch
    在这里插入图片描述

  5. 修改雷达 launch 文件 hc_rplidar.launch,frame_id 加上前缀即可
    在这里插入图片描述

  6. 修改 mapping 建图 launch文件 ,修改几个launchw文件,添加 group 命名空间,与其他智能体区分

    hc_mapping.launch

在这里插入图片描述


三、修改后的TF树效果

所有的TF树

在这里插入图片描述

无人车1的TF树

在这里插入图片描述

无人车2的TF树(只改了无人车1,所以无人车2不动它了)

在这里插入图片描述

四、双机运行展示效果

无人车1

在这里插入图片描述

无人车2

在这里插入图片描述

这篇关于双机 Cartogtapher 建图文件配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/867037

相关文章

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

Servlet中配置和使用过滤器的步骤记录

《Servlet中配置和使用过滤器的步骤记录》:本文主要介绍在Servlet中配置和使用过滤器的方法,包括创建过滤器类、配置过滤器以及在Web应用中使用过滤器等步骤,文中通过代码介绍的非常详细,需... 目录创建过滤器类配置过滤器使用过滤器总结在Servlet中配置和使用过滤器主要包括创建过滤器类、配置过滤

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

在Spring中配置Quartz的三种方式

《在Spring中配置Quartz的三种方式》SpringQuartz是一个任务调度框架,它允许我们定期执行特定的任务,在Spring中,我们可以通过多种方式来配置Quartz,包括使用​​@Sche... 目录介绍使用 ​​@Scheduled​​ 注解XML 配置Java 配置1. 创建Quartz配置

Kibana的安装和配置全过程

《Kibana的安装和配置全过程》Kibana是一个开源的数据分析和可视化平台,它与Elasticsearch紧密集成,提供了一个直观的Web界面,使您可以快速地搜索、分析和可视化数据,在本文中,我们... 目录Kibana的安装和配置1.安装Java运行环境2.下载Kibana3.解压缩Kibana4.配

tomcat在nginx中的配置方式

《tomcat在nginx中的配置方式》文章介绍了如何在Linux系统上安装和配置Tomcat,并通过Nginx进行代理,首先,下载并解压Tomcat压缩包,然后启动Tomcat并查看日志,接着,配置... 目录一、下载安装tomcat二、启动tomcat三、配置nginx总结提示:文章写完后,目录可以自动

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。