实现原理: 在纯定位时,检测当前Trajectory和之前的Trajectory的匹配状态(约束的匹配情况),对于变化大的子图,在其区域添加新的子图,对于完全变化的区域,移除其子图。 在前端可以写个定时保存功能; 对于原地图和添加子图部分,我选择了对2者进行合并,合并的方式就是先找到原先地图最后submap的index,然后在后面把新增的submap加上去。 定义几个重要变量
为什么要这么做?因为我们知道,cartographer会在纯定位时,不断增长submap,当周围环境发生变化,且机器人静止时,定位信息会随着imu的偏移不断累积,导致定位错误。 这里给出了其中一个解决方案,就是机器人静止时,不再添加node,方法就是检测机器人前端匹配的结果,当显示机器人距离和角度变化比较小的时候,就不在往后端发送node,前端也传回不增长的active_submap。代码如下:
ROS包内容:代码暂不公开 这篇日志的目的是快速项目实施,所以详细的部分会不断补充。举例如下: 项目包1:项目地址 Pylon Camera Aruco_ros AUBO Robot 大寰机械手AG-95 流程集成模块 模块包: 相机采集包(创建抓取图像服务,单张) Realsense Camera 模块地址(微软深度摄像头,官方提供ros包)Pylon
参考文章1-ros中的速度平滑处理和yocs_smoother_velocity介绍及关于全向扩展包实现https://www.jianshu.com/p/926d6e68ebd1 2-ROS使用yocs_smoother_velocity做速度平滑处理https://blog.csdn.net/lclfans1983/article/details/105444059 3-使用yocs_ve
ROS包内容:代码暂不公开 这篇日志的目的是快速项目实施,所以详细的部分会不断补充。举例如下: 项目包1:项目地址 Pylon Camera Aruco_ros AUBO Robot 大寰机械手AG-95 流程集成模块 模块包: 相机采集包(创建抓取图像服务,单张) Real
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信