文章总览

1 纯定位模式

当完成建图后,会生成pbstream格式的地图文件
配置纯定位模式的lua脚本
backpack_2d_localization.lua

include "backpack_2d.lua"TRAJECTORY_BUILDER.pure_localization_trimmer = {max_submaps_to_keep = 3,
}
POSE_GRAPH.optimize_every_n_nodes = 20return options

配置纯定位模式的launch文件

import os
from launch import LaunchDescription
from launch_ros.actions import Node
from launch.substitutions import LaunchConfiguration
from launch.actions import DeclareLaunchArgumentdef generate_launch_description():# 参数声明map_file = DeclareLaunchArgument('map_file',default_value=os.path.expanduser('/home/cat/map/map.pbstream'),description='Path to prebuilt map file')configuration_directory = DeclareLaunchArgument('configuration_directory',default_value='/home/cat/cartographer_ws/src/cartographer_ros/cartographer_ros/configuration_files',description='Configuration directory')configuration_basename = DeclareLaunchArgument('configuration_basename',default_value='backpack_2d_localization.lua',description='Configuration file basename')use_sim_time = DeclareLaunchArgument('use_sim_time',default_value='false',description='Use simulation time')# Cartographer 节点cartographer_node = Node(package='cartographer_ros',executable='cartographer_node',name='cartographer_node',parameters=[{'use_sim_time': LaunchConfiguration('use_sim_time')}],arguments=['-configuration_directory', LaunchConfiguration('configuration_directory'),'-configuration_basename', LaunchConfiguration('configuration_basename'),'-load_state_filename', LaunchConfiguration('map_file'),'-load_frozen_state', 'true'  # 关键:冻结地图状态'-pure_localization', 'true'   # 关键:明确启用纯定位模式],# 关键重映射:确保与 Navigation2 兼容remappings=[('scan', '/scan'),              # 激光雷达数据('odom', '/odom'),               # 里程计数据('imu', '/imu/data'),            # IMU 数据('initial_pose', '/initialpose') # 初始位姿设置(用于重定位)],output='screen')# 占用网格节点# occupancy_grid_node = Node(#     package='cartographer_ros',#     executable='cartographer_occupancy_grid_node',#     name='occupancy_grid_node',#     parameters=[{'use_sim_time': LaunchConfiguration('use_sim_time')}],#     arguments=[ #         '-resolution', '0.05',  # 网格分辨率#         '-pure_localization', 'true'  # 纯定位模式#     ]# ) return LaunchDescription([map_file,configuration_directory,configuration_basename,use_sim_time,cartographer_node])

2 地图发布

注意点:occupancy_grid_node需要注释掉,否则仍然会发送/map话题,cartographer算法没有纯定位的功能,在纯定位时也会计算子图。
我们可以使用nav2_map_server包的map_server节点实现地图的发送,配置yaml_filename问题,即可发送地图信息。
将之前slam建图时得到的pbstream文件转为yaml文件,使用如下命令实现:

ros2 run cartographer_ros cartographer_pbstream_to_ros_map -map_filestem=map18  -pbstream_filename=map.pbstream -resolution=0.02

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《大数据之路1》笔记3:数据管理

一 元数据 1.1 元数据概述 定义: 元数据是关于数据的数据,元数据打通了源数据、数据仓库、数据应用,记录了数据从生产到消费的全部过程。元数据主要记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态和ETL的任务运行状态…

排序实现java

排序算法概述Java中实现排序可以通过多种方式,包括内置方法、自定义算法或使用第三方库。常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序等。使用Arrays.sort()方法对于数组排序,Java提供了Arrays.sort()方法,支持对基本…

51c大模型~合集182

我自己的原文哦~ https://blog.51cto.com/whaosoft/14174587 #LaV-CoT 超越GPT-4o,蚂蚁集团与南洋理工大学提出:首个语言感知的视觉思维链 随着大型视觉语言模型(VLM)的飞速发展,它们在处理复杂的视…

C++ STL之deque的使用和模拟实现

目录 deque 核心本质与定位 与stack和queue的关系: deque的使用 deque的底层实现 deque的原理介绍 deque的缺陷 总结: deque deque文档 : deque 翻译: 双端队列 deque(通常发音类似“deck”)是“double-ended queue”(双端队列&…

布草洗涤厂设备租赁押金原路退回系统—东方仙盟

设备租赁状态设备管理添加设备设备收押金设备退押金在布草洗涤行业的运营版图中,设备租赁是连接厂商与客户的重要纽带,而押金的收取与退还则是这一环节中关乎信任与效率的关键节点。未来之窗布草洗涤厂深谙此道,专为设备租赁业务打造的 “押金…

换源rocklinux和centos

一、Rockylinux换源,国外的源换成国内的源#nmcli connection modify ens33 ipv4.addresses 192.168.121.11 ipv4.gateway 192.168.121.2 ipv4.method manual ipv4.dns 114.114.114.114 connection.autoconnect yes修改地址#systemctl stop firewalld#systemctl diab…

第一部分:服务器硬件配置

目录1.1 服务器上架与连线1.2 启用CPU虚拟化功能(BIOS设置)1.3 配置RAID存储步骤1:进入RAID配置界面步骤2:确认RAID控制器信息步骤3:创建系统RAID(用于安装ESXi)步骤4:创建数据RAID&…

手搓一个 DELL EMC Unity存储系统健康检查清单

写在前面对于DELL EMC存储系统Unity的一些深度的健康检查通过Web的Unisphere图形化界面是做不到的,图形化界面只能看到是否有告警,物理的东西是否有问题的,逻辑的Pool和LUN等是否ready,再深入的潜在的问题是查不到的。另外&#x…

【数据结构】二叉树的概念

01 概念定义:二叉树既然叫二叉树,顾名思义即度最大为2的树称为二叉树。 它的度可以为 1 也可以为 0,但是度最大为 2 。 一颗二叉树是节点的一个有限集合,该集合:① 由一个根节点加上两棵被称为左子树和右子树的二叉树组…

【RK3576】【Android14】如何在Android14下单独编译kernel-6.1?

单独编译kernel依赖如下几个源码:【交叉编译工具链】prebuilts/clang/host/linux-x86/clang-r487747c【内核源码】kernel-6.1为什么Android下编译内核使用clang作为交叉编译工具链而不是GCC?Android 14 选择使用预置的 Clang 工具链(如 clang…

什么是Redis的Pipeline

介绍Redis的Pipeline是一种网络优化技术,在没有Pipeline的时候,客户端往redis发送请求,客户端需要等到redis响应之后才能发送下一个请求。而Pipeline,使redis可以一次性接收多个请求。减少了通信次数,显著的提高了性能…

【ElementUI el-table跨页勾选】

一、el-table需加上refs和 row-key属性 二、type"selection"勾选框 需加上 reserve-selection储备选择属性 三、在分页请求数据时&#xff0c;触发 setSelected()方法 四、在 selection-change变化时保存 selectedRows <el-table ref"tables" :data&quo…

论文阅读/博弈论/拍卖:《Truthful Auction for Cooperative Communications》

摘要&#xff1a;一方面&#xff0c;协作通信由于其在提升无线网络容量方面的巨大潜力而日益受到关注。另一方面&#xff0c;协作通信技术的实际应用却很少见&#xff0c;即使在一些对带宽需求极高的应用场景中&#xff0c;系统设计者也并未采用协作通信技术来开发创新的网络解…

系统软中间件:连接软件与硬件的桥梁

理解“系统软中间件”这个术语很重要&#xff0c;它实际上是两个紧密相关但又不同的概念的组合&#xff1a; 系统软件中间件 严格来说&#xff0c;“系统软中间件”不是一个标准的独立术语。它通常指的是属于系统软件范畴的中间件&#xff0c;或者理解为作为系统软件重要组成部…

音视频学习(六十四):avc1 hvc1和hev1

基础概念缩写编码标准FourCC说明AVC/H.264Advanced Video Codingavc1最常用的 H.264 编码标识符&#xff0c;兼容 MP4/MOV/FMP4 等容器。HEVC/H.265High Efficiency Video Codinghvc1HEVC 视频流在 MP4/FMP4 中常用标识符&#xff0c;要求存储 NALU 的 VPS/SPS/PPS&#xff08;…

【WIT】编程百问一

01 什么时postman&#xff1f; Postman 是一款专门用于帮助开发人员处理 API 的工具&#xff0c;它的作用主要有以下几个方面&#xff1a; 方便调试 API&#xff1a;就像你打电话给别人要先拨对号码一样&#xff0c;开发人员要让不同的软件系统之间通过 API 进行通信&#xff…

RAG 从入门到放弃?丐版 demo 实战笔记(go+python)

背景 我当前有一个业务系统&#xff0c;希望能添加一个机器人助手。直接使用大模型&#xff0c;由于缺少相关的业务数据&#xff0c;效果并不理想&#xff0c;了解一下 RAG。 什么是 RAG RAG(Retrieval Augmented Generation)&#xff0c;搜索引擎 大模型。 简单来说就是从…

《IDEA 突然“三无”?三秒找回消失的绿色启动键、主菜单和项目树!》

目录 一、左上角绿色启动键凭空消失 1.1 解决办法 二、顶部 File / Edit / View... 整条主菜单栏 罢工 2.1 解决办法 三、左侧 Project 工具窗口 集体失联&#xff0c;只剩 External Libraries 孤零零 3.1 解决办法 昨天下午撸代码&#xff0c;不知道按到了哪儿&#xff…

软件工程实践二:Spring Boot 知识回顾

文章目录一、创建项目&#xff08;Spring Boot 向导&#xff09;二、项目最小代码示例三、运行与验证四、标准目录结构与说明五、Maven 依赖最小示例&#xff08;仅供参考&#xff09;六、常用配置&#xff08;application.yml 示例&#xff09;七、返回 JSON 与统一异常八、Va…

【系列文章】Linux中的并发与竞争[04]-信号量

【系列文章】Linux中的并发与竞争[04]-信号量 该文章为系列文章&#xff1a;Linux中的并发与竞争中的第4篇 该系列的导航页连接&#xff1a; 【系列文章】Linux中的并发与竞争-导航页 文章目录【系列文章】Linux中的并发与竞争[04]-信号量一、信号量二、实验程序的编写2.1驱动…