一、引言 1、AGV需要同时具备定位、避障与导航的功能,其中避障对于雷达本身的分辨率、精度要求并不是很高,只需要能够根据预设定的雷达扫描范围准确避开障碍物即可,故本文以TIM240(SICK激光类雷达)为例介绍实现多雷达时空标定的问题。2、多个避障雷达可能会被安装在车体各个位置,并且不一定有重叠区域,所以通过提取特征点再进行ICP或NDT配准的方法获取相对位姿变换关系的方式不可行,由于机械结构本
简介:介绍Intel realsense D435 在EHub_tx1_tx2_E100载板,TX1核心模块环境(Ubuntu18.04)下测试ROS驱动,打开摄像头图像和查看深度图和点云图,本文的前提条件是你的TX1里已经安装了ROS版本:Melodic。关于测试硬件EHub_tx1_tx2_E100载板请查看:EdgeBox_EHub_tx1_tx2_E100 开发板评测_机器
一、引言 1、本博文主要讲具体的实车调试的配置过程。2、底盘是松灵的底盘,已经提供了ros接口,只需要发布cmd_vel话题给相应的速度和角速度的值就可以控制其移动,所以我们只需要关注move_base包的输入,以及如何给定位信息即可。 二、整体思路与流程 1、tf_tree的搭建(1)tf_tree可以理解为各个坐标系之间的变换关系,一个最基本的tf_tree为map->odom-&
以前大概写过一下,太烂了。。。也是没什么人写,再详细讲解一下 整体简洁一点尝试主要用文字说明这个比较关键的点,其实整体和多传感器融合也有很大的关联,无论是外感还是内感传感器,无外乎从运动出发或者从观测出发: 这个部分不需要扯到VIO里面非线性优化那块比较复杂的东西,直接列出线性高斯情况下的运动/观测方程: 运动方程:Xk=A(k-1)X(k-1)+Vk+Wk, k=1,....K 观测方程
一、引言 1、本博文主要目的是将rslidar_to_velodyne功能包的ros1版本转换为ros2版本2、内容会包含ROS1到ROS2迁移技巧,是自己总结的一套简单的流程,可以保证ROS2下的代码试跑成功,如果需要将代码进一步转化为类的实现的方式,自己稍作修改就可以了3、最终会放原始ROS1版本以及修改过后的ROS2版本的代码配置文件和CPP文件供大家对比参考4、本来是想用现成的开源的RO
参考视频:【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili 参考文档:http://www.autolabor.com.cn/book/ROSTutorials/ 导航实现03_路径规划 毋庸置疑的,路径规划是导航中的核心功能之一,在ROS的导航功能包集navigation中提供了 move_base 功能包,用于实现此功能。 1.move_bas
导航实现02_amcl定位 参考视频:【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili 参考文档:http://www.autolabor.com.cn/book/ROSTutorials/ 所谓定位就是推算机器人自身在全局地图中的位置,当然,SLAM中也包含定位算法实现,不过SLAM的定位是用于构建全局地图的,是属于导航开始之前的阶段,而当前定位是
0. 简介 对于ORB-SLAM3而言。如何将代码融入Wheel和GPS是一个挺有意思的事情。通过GPS和Wheel可以非常有效的约束视觉里程计结果。Wheel这块主要就是将速度等信息融合到前端中,类似IMU和视觉帧间的关系。而GPS由于频率不是很高,所以基本是用于全局修正的作用。这部分我们经常使用松耦合的形式,当然也有工作去做了紧耦合相关的工作。 1. Wheel特征添加 这一部分主要的其实就是
0. 简介 同时定位与地图构建(SLAM)技术广泛应用于地面机器人、无人机和自动驾驶汽车。本文介绍了一种高效、稳健和准确的激光雷达SLAM系统LTA-OM。该系统采用FAST-LIO2和稳定三角形描述符作为激光雷达-惯性测量单元(IMU)里程计和环路检测方法。LTA-OM实现了功能完备,包括环路检测和修正、误报环路闭合拒绝、长期关联地图和多会话定位与地图构建。本文的一个创新之处是实时长期关联(LT
0. 简介 束调整(Bundle Adjustment,BA)是指同时确定传感器姿态和场景几何的问题,这是机器人视觉中的一个基本问题。本文提出了一种高效且一致的激光雷达束调整方法。该方法利用边缘和平面特征来表示场景几何,并直接最小化每个原始点到相应几何特征的自然欧氏距离。这种表述的一个好处是几何特征可以通过解析方法求解,从而大大降低了数值优化的维度。为了更高效地表示和求解所得到的优化问题,《Eff
导航实现01_SLAM建图 参考视频:【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程_哔哩哔哩_bilibili 参考文档:http://www.autolabor.com.cn/book/ROSTutorials/ SLAM算法有多种,当前我们选用gmapping,后续会再介绍其他几种常用的SLAM实现。 1.gmapping简介 gmapping 是ROS开源社区中较
Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据用于debug. 可以在https://github.com/stevenlovegrove/Pangolin上下载Pangolin,终端使用如下的指令也OK: git clone https://github.com/s
在学习高博的slam时,用的是slambook2-master这个新仓库,在ch5/stereo这个工程运行时,做了一些更改; 工程包括如下内容(其中build是自己创建的)根据安装依赖库的路径,对CMakeLists.txt做了些更改,更改后的内容如下: find_package(Pangolin REQUIRED) find_package(OpenCV 3.0 REQUIRED)
前言 预积分:是一种十分常见的IMU数据处理方法。 与传统的IMU运动学积分不同,预积分可以将一段时间内的IMU测量数据累积,建立预积分测量,同时还能保证测量值与状态变量无关。 如果以吃饭来比喻的话,ESKF像是一口口地吃菜,而预积分则是从锅里先把菜一块块夹到碗里,再把碗里的菜一口气吃掉。 无论是LIO系统还是VIO系统,预积分已经称为诸多紧耦合IMU系统的标准方法。 在ESKF中,将两个GNS
0. 简介 将SLAM应用于机器人应用中,可靠性和效率是两个最受重视的特性。本文《Light-LOAM: A Lightweight LiDAR Odometry and Mapping based on Graph-Matching》考虑在计算能力有限的平台上实现可靠的基于激光雷达的SLAM功能。首先与大多数选择点云配准的显著特征的方法相反,我们提出了一种非显著特征选择策略,以提高可靠性和鲁棒性
0. 简介 多激光雷达与相机外参标定对于机器人和自动驾驶领域来说是非常关键的,特别是对于固态LiDAR而言,其中每个LiDAR单元的视场(Field-of-View,FoV)非常小,通常需要集体使用多个单元。大多数外部标定方法是针对360°机械旋转LiDAR提出的,其中假设视场与其他LiDAR或相机传感器重叠。很少有研究工作专注于小FoV LiDAR和相机的标定,也没有关注标定速度的提高。在《Ta
1. IMU基本原理 惯性测量单元(Inertial Measurement Unit,简称 IMU)一般由3轴加速度计和3轴陀螺仪组成。加速度计为力传感器,可根据各方向受力(包含重力)情况计算每个轴上的加速度。陀螺仪为角速度检测仪,可根据每个轴上的角加速度得到各个轴上的角度变化。惯导解算主要是通过加速度计测得的载体加速度和陀螺仪测得的载体相对于导航坐标系的角速度,来对载体的位置、 姿态
0. 简介 精确且长期稳定的定位对于停车场内的行车任务,如自动驾驶或自动代客泊车等,至关重要。现有方法依赖于固定且内存效率低下的地图,缺乏强大的数据关联方法,不适用于精确的定位或长期地图维护。《LESS-Map: Lightweight and Evolving Semantic Map in Parking Lots for Long-term Self-Localization》一文提出了一种
0. 简介 在众多机器人应用中,通过最近邻搜索建立新采集点与历史累积数据(即地图)之间的对应关系至关重要。然而,静态树数据结构不足以实时处理大型且动态增长的地图。为了解决这个问题,我们在文中《i-Octree: A Fast, Lightweight, and Dynamic Octree for Proximity Search》提出了i-Octree,一个动态八叉树数据结构,它既支持快速最近邻
0. 简介 LinK3D、CSF、BALM这几个都是非常方便去插入到激光SLAM框架的。这里我们会分别从多个角度来介绍如何将每个框架插入到SLAM框架中 1. LinK3D:三维LiDAR点云的线性关键点表示 LinK3D的核心思想和基于我们的LinK3D的两个LiDAR扫描的匹配结果。绿色线是有效匹配。当前关键点(黑色,CK)的描述符用其相邻关键点来表示。描述符的每个维度对应于扇区区域。第一维度
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信