先学习一波 先来看看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
我们可以看到,前端视觉里程计能给出一个短时间内的轨迹和地图,但由于不可避免的误差累积,这个地图在长时间内是不准确的。所以怎么办?我们人类自己在现实世界中会记录自己走了多少米,还有就是使用路面的标志物来辅助定位,和机器人的方式也是相同的,即同时存在2种数学上的解释:运动方程,观测方程。 因此,我们关心的问题就变成:当我拥有某些运动数据u和观测数据z时,如何来确定状态量位姿x,路标y的分布?进而,如
实现原理: 在纯定位时,检测当前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 微博 微信