gazebo仿真环境下cartographer应用建图(融合odom和scan)
一、环境说明ros1 noetic版本仿真环境为turtlebot3_house.world下图为笔者自己搭建的丑陋小车二、配置2.1、文章参考可以参考笔者上篇文章快速配置。链接:Turtlebot3gazebo仿真cartographer建图踩坑经验分享2.2、.lua 代码my_car/config/turtlebot3_lds_2d_gazebo.lua代码如下-- Copyright 2016 The Cartographer Authors---- Licensed under the Apache License, Version 2.0 (the License);-- you may not use this file except in compliance with the License.-- You may obtain a copy of the License at---- http://www.apache.org/licenses/LICENSE-2.0---- Unless required by applicable law or agreed to in writing, software-- distributed under the License is distributed on an AS IS BASIS,-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.-- See the License for the specific language governing permissions and-- limitations under the License.includemap_builder.luaincludetrajectory_builder.luaoptions{map_builderMAP_BUILDER,trajectory_builderTRAJECTORY_BUILDER,map_framemap,tracking_framebase_footprint,-- imu_link, If you are using gazebo, use base_footprint (libgazebo_ros_imus bug)published_frameodom,odom_frameodom,provide_odom_framefalse,publish_frame_projected_to_2dfalse,use_odometrytrue,use_nav_satfalse,use_landmarksfalse,num_laser_scans1,num_multi_echo_laser_scans0,num_subdivisions_per_laser_scan1,num_point_clouds0,lookup_transform_timeout_sec0.2,submap_publish_period_sec0.3,pose_publish_period_sec5e-3,trajectory_publish_period_sec30e-3,rangefinder_sampling_ratio1.,odometry_sampling_ratio1.,fixed_frame_pose_sampling_ratio1.,imu_sampling_ratio1.,landmarks_sampling_ratio1.,}MAP_BUILDER.use_trajectory_builder_2dtrueTRAJECTORY_BUILDER_2D.min_range0.1TRAJECTORY_BUILDER_2D.max_range3.5TRAJECTORY_BUILDER_2D.missing_data_ray_length3.TRAJECTORY_BUILDER_2D.use_imu_datafalse#笔者只改了这里把imu关掉 TRAJECTORY_BUILDER_2D.use_online_correlative_scan_matchingtrueTRAJECTORY_BUILDER_2D.motion_filter.max_angle_radiansmath.rad(0.1)POSE_GRAPH.constraint_builder.min_score0.65POSE_GRAPH.constraint_builder.global_localization_min_score0.7returnoptions注意笔者这部分的代码是直接复制的turtlebot3/turtlebot3_slam/config/turtlebot3_lds_2d_gazebo.lua只把imu关掉了如上代码的中文注释部分为什么要把imu关掉呢turtlebot3官方建图融合的是odom、scan、imu但是turtlebot3的launch文件里多启动了一个turtlebot3/turtlebot3_slam/src/flat_world_imu_node.cpp节点这个节点大家可以自行研究不启动这个节点建图就会报错笔者目前能力有限暂时调过这个节点把imu关掉只融合odom和scan2.3、launch代码启动次文件前需要启动你的gazebo环境并检查tf链是否正确文件my_car/launch/new_cartographer.launch代码如下launchargnameconfiguration_basenamedefaultturtlebot3_lds_2d_gazebo.lua/!-- cartographer_node --nodepkgcartographer_rostypecartographer_nodenamecartographer_nodeargs-configuration_directory $(find my_car)/config -configuration_basename $(arg configuration_basename)outputscreen/node!-- cartographer_occupancy_grid_node --nodepkgcartographer_rostypecartographer_occupancy_grid_nodenamecartographer_occupancy_grid_nodeargs-resolution 0.05//launchrviz需在单独在一终端另行启动2.4、启动通用键盘控制节点rosrun teleop_twist_keyboard teleop_twist_keyboard.py当然如果你对move_base足够熟练可以用move_base需自行添加这样建图只需要简单鼠标点几下就可以了三、建图结果如下

相关新闻

Linux线程间通信:基于消息队列实现三线程异步数据流

Linux线程间通信:基于消息队列实现三线程异步数据流

1. 项目概述与核心价值 最近在整理系统编程和并发通信的笔记,发现很多朋友对Linux下的进程间通信(IPC)如数家珍,但对线程间使用消息队列通信的实践却相对陌生。大家更习惯用互斥锁、条件变量或者管道,但有时候&#xf…

2026/9/19 19:46:19 阅读更多 →
XML Sitemap 优化高级玩法:避开导致降权的5个核心误区

XML Sitemap 优化高级玩法:避开导致降权的5个核心误区

当独立站后台数据显示大量网页长期处于未被搜索引擎收录的状态时,许多站点负责人往往会陷入焦灼。XML 站点地图作为引导网络爬虫遍历站点结构的数字清单,其配置细节直接决定了搜索引擎抓取资源的分配效率。在日常运维中,若对站点地图的技术规…

2026/9/21 12:31:57 阅读更多 →
2026 企业项目管理系统选型指南:泛微・事井然项目管理平台解析

2026 企业项目管理系统选型指南:泛微・事井然项目管理平台解析

在当今商业环境中,项目已成为组织推动战略落地、实现业务增长的核心抓手。无论是工程建设、产品研发、IT 信息化实施,还是专业服务交付,项目管理水平直接决定了企业的执行力和竞争力。然而,传统项目管理模式长期面临几大痛点&…

2026/9/19 6:28:55 阅读更多 →

最新新闻

Win10虚拟内存配置速查手册:搞定环境卡顿的5个硬核技巧

Win10虚拟内存配置速查手册:搞定环境卡顿的5个硬核技巧

Win10虚拟内存配置速查手册:搞定环境卡顿的5个硬核技巧 配置环境就卡半天,你是不是也经历过?装个Java SDK,跑个Maven,还没等IDEA打开,任务管理器里内存条已经飘红了。这时候别急着换显卡,先看看你的Win10虚拟内存设没设对…

2026/9/21 18:17:18 阅读更多 →
3步搞懂水印在线制作生成器原理,从入门到精通

3步搞懂水印在线制作生成器原理,从入门到精通

3步搞懂水印在线制作生成器原理,从入门到精通 面试被问原理答不上来?别慌,很多开发者卡在“水印在线制作生成器”这块,以为只是调个API,其实底层逻辑涉及图像合成、像素操作甚至网络传输标准。想从入门到精通,不能只停留在会用,得看懂数据是怎么流…

2026/9/21 18:17:18 阅读更多 →
3个实战项目搞定电路原理,面试不再卡壳

3个实战项目搞定电路原理,面试不再卡壳

3个实战项目搞定电路原理,面试不再卡壳 面试被问“讲讲电路原理底层逻辑”,你脑子一片空白?别慌,这不是你的错,是过去只看书没动手。…

2026/9/21 18:17:18 阅读更多 →
CAAC无人机执照源码拆解与速查手册

CAAC无人机执照源码拆解与速查手册

CAAC无人机执照源码拆解与速查手册 最近很多同行问我,为什么刚买的无人机突然飞不动了,或者App里全是报错。说白了,就是版本升级后 API 全变了。很多小白还在用上一代的调用方式,结果被新的安全协议卡得死死的。今天这篇 CAAC…

2026/9/21 18:17:18 阅读更多 →
TanStack Table `createFacetedMinMaxValues()` 源码解析:分面过滤数值范围(min/max)的生成与记忆化实现

TanStack Table `createFacetedMinMaxValues()` 源码解析:分面过滤数值范围(min/max)的生成与记忆化实现

前端UI组件 【免费下载链接】table 🤖 Headless UI for building powerful tables & datagrids for TS/JS - React-Table, Vue-Table, Solid-Table, Svelte-Table 项目地址: https://gitcode.com/gh_mirrors/ta/table 点击查看 免费下载 createFace…

2026/9/21 18:17:18 阅读更多 →
释魂源码解析:3招搞定版本升级API全变痛点

释魂源码解析:3招搞定版本升级API全变痛点

释魂源码解析:3招搞定版本升级API全变痛点 版本升级后 API 全变了,你的代码直接跑不通?别慌,这就是很多开发者升级框架时的噩梦。光看报错日志是修不好的,必须下沉到源码解析层面,看清接口契约到底改了什么。…

2026/9/21 18:16:18 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/21 3:13:20 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/21 2:19:36 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/21 4:51:05 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →