版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于特征估计的激光SLAM技术第四章目录CONTENTS01rviz和Gazebo工具02激光雷达传感器03基于激光的Gmapping算法04基于激光的HectorSLAM算法05基于激光的Cartographer算法01rviz和Gazebo工具
机器人系统中存在大量数据,这些数据在计算过程中往往都处于数据形态,比如图像数据中0~255的RGB值。但是这种数据形态的值往往不利于开发者去感受数据所描述的内容,所以常常需要将数据可视化显示,例如机器人模型的可视化、图像数据的可视化、地图数据的可视化等。rviz是ROS可视化(ROSvisualization)的缩写,是ROS中强有力的3D可视化工具。它使得用户能够查看模拟机器人模型、来自机器人传感器的传感器日志信息,并且重放已记录的传感器信息。用户能够对机器人应用程序进行调试,调试内容涵盖从传感器输入到计划动作(或计划外动作)的整个过程。rvizrviz主界面划分为以下几个主要的显示区域:1.中心窗口2.
Displays控制面板3.工具栏4.Views控制面板5.Time控制面板6.主窗口菜单栏。常见的display类型类型描述消息类型Axes显示坐标系-Gamera从相机视角显示图像sensor_msgs/Imagesensor_msgs/CameraInfoGrid显示网格-Image显示图像sensor_msgs/ImageLaserScan显示激光雷达数据sensor_msgs/LaserScanImage显示图像sensor_msgs/ImagePointClode2显示点云数据sensor_msgs/PointCloud2Odomerty显示里程计数据nav_msgs/OdometryPointClode2显示点云数据sensor_msgs/PointCloud2RobotModel显示机器人模型-PointClode2显示TF树-rviz的视角1.Orbital轨道摄像机视角,围绕一个焦点旋转,L:单击并拖动围绕焦点旋转M:在相机向上和向右向量形成平面,按下中键并拖动焦点R:单击拖动鼠标放大/缩小焦点向上拖动放大,向下拖动缩小滚轮:放大缩小焦点2.FPS第一视角FPVL:单击选中对象,并拖动旋转M:移动沿着相机向上、向右向量形成的平面移动R:右击并拖动,前后移动,上拖向前移动,下拖向后移动滚轮:前后移动3.top-downOrthographic自上而下的正视图L:单击并拖动绕Z轴旋转M:在XY平面移动R:右击并拖动,缩放图像滚轮:缩放图像4.XYOrthographic限制在XY平面GazeboGazebo是一款3D动态模拟器,能够在复杂的室内和室外环境中准确有效地模拟机器人群。与游戏引擎提供高保真度的视觉模拟类似,Gazebo提供高保真度的物理模拟,其提供一整套传感器模型,以及对用户和程序非常友好的交互方式。1.Gazebo的典型用途●测试机器人算法●设计机器人●用现实场景进行回归测试2.Gazebo的一些主要特点●包含多个物理引擎●包含丰富的机器人模型和环境库●包含各种各样的传感器●程序设计方便和具有简单的图形界面3.系统要求Gazebo官方建议,Gazebo目前最好在Ubuntu或者其他的Linux发行版上运行。同时您的计算机需要具有以下功能:●专用GPU:Nvidia卡往往在Ubuntu中运行良好●至少是IntelI5或同等产品的CPU●至少500MB的可用磁盘空间●安装尽可能高版本的UbuntuTrusty02激光雷达传感器激光雷达探测原理激光雷达(Lidar)类似于雷达(Radar),但是分辨率更高,因为激光的波长大约比无线电的波长小10万倍。可以用来区分真实移动中的行人和人物海报、在三维立体空间中建模、检测静态物体、精确测距。激光雷达是通过发射激光束来探测目标位置、速度等特征量的雷达系统,具有测量精度高、方向性好等优点。隼鸟2号LiDAR结合光学相机影像获取龙宫全球三维地形信息iPadPro探测点云示意图激光雷达优点●具有极高的分辨率●抗干扰能力强●获取的信息量丰富●可全天时工作激光雷达缺点●工作时受天气和大气影响大。激光一般在晴朗的天气里衰减较小,传播距离较远。而在大雨、浓烟、浓雾等坏天气里,衰减急剧加大,传播距离大受影响。●激光雷达的波束极窄,在空间搜索目标非常困难,直接影响对非合作目标的截获概率和探测效率,只能在较小的范围内搜索、捕获目标,激光雷达RPLIDARA1高度60毫米直径98.5毫米重量170克测量半径范围0.15-12米扫描测距角度360度测量频率最大可达每秒8000次扫描频率5.5赫兹。激光雷达RPLIDARA2高度41毫米直径190毫米重量76克测量半径范围0.15-18米扫描测距角度360度测量频率最大可达每秒8000次扫描频率15赫兹。激光雷达RPLIDARA1/2是思岚科技(SLAMTEC)有限公司的产品,能够准确测量试场中物体轮廓边沿与设备间的相对距离,可快速获得环境轮廓信息,这些轮廓信息组成所谓的点云并绘制出3D环境地图,可以帮助机器人实现自主构建地图、实时路径规划与自动避开障碍物。03基于激光的Gmapping算法Gmapping是一种基于Rao-Blackwellized粒子滤波器并适用于网格地图的SLAM算法,也是一种有效解决同时定位和建图的算法,它将定位和建图分离,并且每一个粒子都携带一幅地图。
Gmapping算法流程图重要性重采样(SamplingImportanceResampling,SIR)滤波器
Gmapping算法的实现步骤1)第i个粒子在k时刻的预测位姿可以由k-1
时刻的位姿和控制输入通过运动模型得出。2)机器人基于地图
,从预测的位姿处执行扫描匹配算法。扫描匹配执行的搜索区域被限定在附近的一个有限区域内。如果扫描匹配失败,则根据运动模型计算位姿和权重(忽略步骤3和4)。3)通过扫描匹配器在位姿周围选取一组采样点,其中是扫描匹配器通过将当前观测值与已构建的地图进行匹配,找到最有可能的位姿。基于这些点,通过逐点评估采样位姿中的目标分布来计算建议的平均值和协方差矩阵。在此阶段计算加权系数。4)根据改进的建议分布得出粒子i
的新位姿,位姿服从高斯分布的形式。5)更新粒子权重。6)根据机器人位姿和最新观测,更新粒子i的地图。7)得到新粒子样本后,根据阈值执行重采样步骤。04基于激光的HectorSLAM算法HectorSLAM使用一种快速在线学习的占用栅格地图系统,它是结合了激光雷达系统和基于惯性传感的三维姿态估计系统的鲁棒扫描匹配方法。通过使用快速近似的地图梯度和多分辨率栅格,实现了可靠的定位和建图。HectorSLAM功能包使用高斯牛顿的方法,不需要里程计数据,只根据激光信息便可构建地图。
SLAM一般分为前端和后端系统。SLAM前端用于实时在线估计机器人运动,后端用于对位姿图进行优化。前端快速扫描匹配步骤用于位姿估计,而较慢的后端建图步骤在后台或远程计算机上运行。HectorSLAM方法主要关注前端系统,没有提供相应的位姿图优化,主要是由于这种优化在真实环境下建图是不需要的,因为HectorSLAM方法对于机器人执行任务来说已经足够精确。HectorSLAM算法原理HectorSLAM系统需要用到6自由度运动的平台,这不同于其它2D网格SLAM算法所假设的3自由度运动,因此系统必须估计由平台的平移和旋转组成的全6自由度状态。为此,该系统由两个主要组件组成,导航滤波器子系统融合来自惯性测量单元和其他可用传感器的信息,形成一致的3D解决方案,而2DSLAM子系统用于提供地平面内的位姿和航向信息。这两种估计都是单独更新的,并且只是松散耦合的,因此它们随着时间的推移保持同步。Hectorslam算法的实现步骤(1)在2DSLAM中,为了能够表示任意环境,HectorSLAM使用占用栅格地图,占用栅格地图的离散特性限制了地图表达精度,也不允许直接计算插值或导数。给定一个连续的地图坐标,占用值以及梯度可以如图用四个近邻点来近似,沿着x轴和y轴进行线性插值,然后得到:导数可以近似为(2)扫描匹配是将激光扫描相互对齐或与现有地图对齐的过程,HectorSLAM实质上是一个将扫描末端点与已知地图对准优化方法,其基本思路是使用高斯-牛顿法。通过解最小二乘函数,使得激光扫描与地图有最佳的对齐:代表机器人的位姿,代表i号激光束在机器人姿态下扫描点的世界坐标,其坐标变化为:根据优化测量误差来实现对的估计:对做一阶泰勒展开得:对上式求偏导并设置为,可得上述最小化问题的高斯牛顿方程:其中(3)HectorSLAM使用扩展卡尔曼滤波器(EKF)。在扫描时的卡尔曼估计可以用均值和协方差来表示,位姿估计
直接得出,融合结果如下:观测器矩阵C将整个状态空间投影到SLAM系统的三维子空间中,参数用来调整SLAM更新的效果。于是,进一步有:05基于激光的Cartographer算法基于激光的SLAM方法中,扫描--扫描匹配(Scan-to-scanmatching)经常用于计算相对姿态变化。然而,扫描--扫描匹配本身会很快积累误差。扫描--地图匹配(Scan-to-mapmatching)有助于限制这种误差积累,可使用高斯-牛顿方法在线性插值图上寻找局部最优解。当高精度频率激光雷达提供良好的位姿初始估计时,局部优化的扫描--地图匹配是有效和鲁棒的。
像素精度的扫描匹配方法,可以进一步减少了局部误差积累。解决剩余局部误差累积的两种常见方法是粒子滤波和基于图形的SLAM。Cartographer是谷歌推出的一套基于图优化的SLAM算法。Cartographer的设计目的是在计算资源有限的情况下,实时获取相对较高精度的2D地图。考虑到基于模拟策略的粒子滤波方法在较大环境下对内存和计算资源的需求较高,Cartographer采用基于图优化方法。Cartographer是一个实时的室内建图算法,能生成分辨率的栅格地图。在前端将最新的激光雷达扫描数据在相邻的子图上(整个地图的一小块)完成扫描匹配,得到一个在短时间内准确的最佳插入位置(位姿)后,将扫描插入到子图中。扫描匹配中,位姿估计的误差会在整个地图中随时间逐渐累积,在后端中,通过回环检测加约束进行优化消除误差。Cartographer算法框架图Cartographer算法原理Cartographer系统将独立的局部和全局方法综合来实现二维的定位与地图构建。在局部方法中,每个连续的扫描都与世界坐标系上的一小块区域(称为子图)进行匹配,使用非线性优化将扫描与子图对齐,此过程被称为扫描匹配。子图的构建就是将扫描结果不断与子图的坐标系对齐的迭代过程。将扫描原点设为,雷达扫描点记为,。变换表示的是位姿位于扫描帧中的位置转换到子图帧中的位置,于是,对于一个雷达扫描点,转换到子图帧中可以用下式表示:连续帧扫描可以用来构建一个子图,这些子图采用概率网格
:的形式,r是网格地图的分辨率网格点和相关像素
网格点所对应计算的值代表存在障碍物的概率。对于每个网格点定义相应的像素,它是由离网格点最近的所有点组成的。每一个像素是尺寸为的方格,它代表对应范围内的所有点,扫描数据点是实数,概率网格的尺寸是整数。每当扫描要插入到概率网格地图时,都要确定命中(hits)的点和未命中(misses)的点集。命中就是网格里有雷达数据点,未命中就是没雷达数据点。每一个Hit的点(阴影且画的),对应的最近邻格子点加入到命中点集合;每一个Miss的点(阴影),雷达原点到扫描点中间的格子点全部加到未命中点集合,如果这个点已经在命中点集中则排除。与hit和miss相关的扫描和像素每个还未观察到的网格,可以自定义赋值为一个或者值(一般用0.5,即不知道这个网格有没有被占用)。已经观察到的网格,它的概率更新为:每个网格的命中概率更新公式为:一帧扫描插入子图之前,首先要对这帧扫描的位姿进行优化。Cartographer使用的是基于Ceres库的扫描匹配。该优化问题可以描述成一个非线性最小二乘问题:与扫描匹配一样,环路闭合优化也可描述为一个非线性最小二乘问题,每间隔几秒,就用Ceres库来计算出一个解:残差的计算:当扫描匹配将不正确的约束添加到优化问题时,损失函数(例如Huberloss)可以用于减少异常值的影响。使用基于分支定界(Branch-and-bound)扫描匹配方法,得到精确到像素级的最优位姿估计,核心公式如下:分支定界算法的基本步骤分支定界法是求解整数规划问题的最常用算法,这种方法不但可以求解纯整数规划,还可以求解混合整数规划问题。分支定界法采用搜索与迭代的方法,选择不同的分支变量和子问题进行分支。基于视觉的SLAM技术第五章目录CONTENTS01经典视觉SLAM框架02MonoSLAM算法03ORB-SLAM204多机器人视觉SLAM技术01经典视觉SLAM框架视觉SLAM框架前端:VO后端:Optimization回环检测Loop
Closing建图Mapping视觉传感器1.单目相机模型某一相机拍摄时,若外部所有可视景物光线只能通过相机的光心到达相机的成像平面并形成倒立缩小的成像平面点,这种相机就属于针孔模型相机几何关系:2.双目相机模型双目相机一般是由左右两个单目相机组成,两个相机水平放置,当然也还有其他放置方式,比如上下两目,本质上没有什么区别。双目相机双目相机成像原理几何关系:3.深度相机模型深度相机能够主动测量每个像素的深度信息红外结构光来测量像素距离(Kinect1代相机)通过飞行时间法原理来测量像素距离(Kinect2代相机)●在基于红外结构光的原理中,相机主要是根据返回的结构光的图案来计算物体与相机之间的距离。●基于飞行时间法原理的相机主要是通过向目标发射脉冲光,然后根据发送到返回之间光束的飞行时间来确定物体和相机之间的距离的。视觉里程计VisualOdometry相邻图像估计相机运动基本形式:通过两张图像计算运动和结构不可避免地有漂移方法●特征点法
●直接法后端优化▪滤波▪BA图优化(视觉主流方法)1.BA代价函数与图优化(1)1.投影模型第一步,把世界坐标转换到相机坐标系:第二步,将投至归一化平面,得到归一化坐标:第三步,考虑归一化坐标的径向畸变情况,可以用一个多项式函数来描述畸变前后的坐标变化:第四步,根据内参模型,计算像素坐标:(2)BA优化函数投影的整个过程看似有些复杂,可以将整个过程概括为一个观测方程,可以把它抽象成:关于观测的误差:整体的代价函数可以定义为:2.BA求解把自变量定义成所有待优化的变量:给自变量一个增量时,目标函数变为:把空间点的变量也放在一起,把相机位姿变量放到一起:公式可以简化表达:3.位姿图优化相机的位姿以及位姿节点之间相对运动的估计:按照李群的写法来表示:构建误差:将扰动项移至两侧,根据伴随性质,可以得到:稍加整理可以得到:求出误差关于两个位姿的雅可比矩阵:取近似:总体目标函数为:将扰动项移至最后,导出右乘形式的雅可比矩阵:回环检测检测机器人是否回到早先位置识别到达过的场景计算图像间的相似性方法:词袋模型建图用于导航、规划、通讯、可视化、交互等度量地图vs拓扑地图稀疏地图vs稠密地图02MonoSLAM算法MonoSLAM是由AndrewJ.Davison等人在2007年提出的一种在未知场景中恢复单目相机3D移动轨迹的实时算法。该方法的核心是在概率框架内在线创建一个稀疏持久的地图路标。▪采用一种主动的地图构建与测量方法▪使用一般的平滑相机运动模型来捕捉视频流中固有的动力学先验信息▪彻底解决单目特征初始化问题。MonoSLAM系统图MonoSLAM算法1、概率三维地图MonoSLAM是基于概率特征的建图,地图中的信息代表相机状态和所有感兴趣的特征的当前估计,还代表这些估计中的不确定性。地图可以状态向量和协方差矩阵表示:相机的状态向量:2、自然视觉路标●MonoSLAM的目标是在相机可能剧烈运动下能够重复识别一样的视觉地标●假定每一个特征都在一个局部平面上●在初始化阶段,认为局部平面的法向与特征至相机矢量平行3、系统初始化在单目相机SLAM算法中,初始化时通常在相机前面放置一个已知物体作为先验信息●在单目相机SLAM中,没有直接的方法来测量特征深度或里程信息●初始化时,已知特征信息可有助于直接进入预测、测量、更新的模式4、运动模型和预测MonoSLAM采用恒定速度、恒定角速度模型噪声为:状态更新方程为:通过雅可比矩阵计算得到过程噪声协方差:5、主动特征测量与地图更新相机的位置:图像中特征的位置:径向畸变模型:特征在图像上位置预测的不确定性用对称信息协方差矩阵表示:6、特征初始化MonoSLAM中,在新特征首个测量和确认后,在地图中初始化一条3D线并使得该特征在此线上。这是一条半无限线,起点为相机的估计位置,沿着特征点视觉方向并指向无穷远处7、地图管理●对地图中特征数量的管理,需要动态地决定何时应该识别和初始化新特征,何时需要删除某个特征。●使从任何相机位置所可见的可靠特征的数量接近预定值●只有当相机经过的区域中可见的特征数量小于阈值时,才会将特征添加到地图中8、特征方位估计▪当相机移动时,它的外观会随着视角的变化而改变。▪扭曲的量化取决于相机的初始和当前位置,特征中心的三维位置以及其局部表面的方位。▪SLAM系统提供了实时的相机位姿和3D特征位置的估计,为每一个特征点都保留了相机初始位置和局部平面方位的估计。在两个不同位置观测定向平面几何态势,于是,扭曲可由单应性来描述:平面特征表面三维方位估计流程假设外观预测能保证特征的当前图像位置能定位,下一步则是测量预测模板和当前图像之间的扭曲变化。通过假设扭曲变化小,并采用概率逆合成梯度下降图像对齐步骤进行搜索来达到全局最佳拟合。03ORBSLAM2算法ORB-SLAM2是一款基于单目、双目、RGB-D相机的SLAM系统ORB-SLAM2是在单目ORB-SLAM的基础上提出的▪回环检测▪地图重用▪重定位算法流程图ORB-SLAM主线线程1、跟踪线程跟踪线程主要负责对每一帧图像的相机位姿进行定位,同时决策何时插入新的关键帧。(1)特征提取(2)局部地图初始化(3)相机位姿计算(4)局部地图跟踪(5)是否插入关键帧判断插入关键帧的条件:1)局部建图线程闲置或距离上次插入关键帧时间超过了20帧;2)距离最近一次相机重定位处理超过了20帧;3)当前帧中至少跟踪50个ORB特征关键点;4)当前帧中跟踪的特征点的数量至少有10%不同于参考关键帧。2、局部建图线程(1)关键帧插入(2)地图点云筛选(3)新地图点云创建(4)局部BA(5)局部关键帧筛选3、闭环检测(1)候选关键帧(2)计算相似变换(3)回环融合(4)本征图优化ORB-SLAM2主要模块4、单目、双目近处和双目远处特征点▪ORB-SLAM2直接对输入图像进行预处理,提取一些关键位置上的特征,输入图像直接被弃用▪ORB-SLAM2能处理单目或者双目特征点,进一步分成远处特征点和近处特征点两类。5、单目与双目约束的光束平差法▪采用光束平差法(BA)来优化跟踪线程中相机的位姿(纯运动BA)▪优化关键帧的本地窗口和局部建图线程的特征点(局部BA)▪在回环检测之后优化所有的关键帧和特征点(全局BA)1.纯运动BA最小化世界坐标系下3D点与特征点之间的重投影误差来优化相机旋转矩阵和平移矩阵投影函数单目用表示,双目用表示2.局部BA优化的是一组共视关键帧以及在这些关键帧所观测到的特征点3.全局BA是局部BA的一个特例,除了初始帧,所有的关键帧和地图中所有点都会被优化6、回环检测和全局BA闭环分两步执行▪闭环必须被检测和确认▪通过优化一个位姿图去矫正闭环在ORB-SLAM2的位姿优化后,系统采用全局的BA优化以获取最优解。
7、关键帧插入若跟踪的近点数目小于某一个阈值,且这个帧能产生至少个新近双目特征点,此时将会插入一个新的关键帧。经验值认为,当和时效果最好。8、定位模式只要环境没有明显变化,该模式就可用于在已知地图区域进行轻量级的长期定位。在该模式中,局部建图和回环检测线程停用,相机始终可以通过跟踪进行重定位。04多机器人视觉SLAM技术1.多机器人系统将多机器人系统与SLAM技术相结合,机器人之间相互交换信息,共享观测信息来协助对方相互定位并构建环境地图。集中式分布式混合式2.机器人相互识别(1)目标检测方案▪当机器人成员相互进入视野时,能够从图像中把机器人从环境背景中分离出来,从而达到识别的目的▪基于深度学习的目标检测,相比于其它方案来说,检测效果更好,检测的准确率得到了大幅提升▪以YOLO(YouOnlyLookOnce)为代表的深度学习检测方案(2)YOLO基本原理▪首先调整图像大小▪然后将图像输入卷积神经网络▪最好根
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度金融衍生品投资咨询服务合同范本
- 二零二四年度窑炉承包项目验收及环保达标验收细则合同3篇
- 二零二五年度水泥电杆生产设备租赁合同
- 二零二五年度企业人力资源招聘渠道拓展合同6篇
- 2025年度电子商务平台产品溯源管理合同模板4篇
- 2025年度电气设备环保评估与认证合同4篇
- 二零二五年度沉井施工劳务承包合同范本4篇
- 二零二四年度玉米种植合作社与饲料企业合作合同3篇
- 二零二五年度数字经济领域股权投资与数据服务合同
- 2025年度房地产开发项目专用块石供应合同2篇
- 2024年社区警务规范考试题库
- 2024年食用牛脂项目可行性研究报告
- 2024年全国各地中考试题分类汇编(一):现代文阅读含答案
- 2024-2030年中国户外音箱行业市场发展趋势与前景展望战略分析报告
- GB/T 30306-2024家用和类似用途饮用水处理滤芯
- 家务分工与责任保证书
- 消防安全隐患等级
- 温室气体(二氧化碳和甲烷)走航监测技术规范
- 华为员工股权激励方案
- 部编版一年级语文下册第一单元大单元教学设计
- 《保单检视专题》课件
评论
0/150
提交评论