一、cartographer重要文档 有关cartographer的资料有2个比较重要的网站,我们的介绍也是基于这两个网站,其中会加入自己的一些理解,后续也有一些对代码的修改,来实现我们想完善的功能。 1-Cartographer2-Cartographer ROS第1个是Cartographer的核心,它会编译成一个库文件供他人使用第2个是作者写了个ros包来调用Cartographer的核心库
先学习一波 先来看看CMakeList.txt cmake_minimum_required(VERSION 2.8.3) list( APPEND CMAKE_CXX_FLAGS "-std=c++0x ${CMAKE_CXX_FLAGS}") # PACKAGE SETUP ######################################## project(st
VisualizationApp下面的VisualizationFrame类做了初始化的工作 frame_ = new VisualizationFrame(); frame_->setApp( this->app_ ); if( help_path != "" ) { frame_->setHelpPath( QString
1、扫地机器人Qt上位机https://github.com/confidentFeng/cleanRobot2、机械臂仿真上位机https://github.com/grotius-cnc/skynet_robot_control_rtos_ethercat3、使用qml实现的机器人上位机,适配ROS2https://github.com/Miker2808/Robot-Contorl-Qt-G
运行测试 双目+IMU可以参考官方文档Running ROS example: Download a rosbag (e.g. V1_02_medium.bag) from the EuRoC dataset (http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets). Open 3 tabs on
实现原理: 在纯定位时,检测当前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
积分
粉丝
勋章
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信