机器人学 —— 机器人感知(Mapping)

  对于移动机器人来说,最吸引人的莫过于SLAM,堪称Moving Robot 皇冠上的明珠。Perception 服务于 SLAM,Motion Plan基于SLAM。SLAM在移动机器人整个问题框架中,起着最为核心的作用。为了专注于Mapping,此章我们假设 Location 是已知的。

1、Metric Map

  轨迹规划任务是再Metric Map的基础上完成的。当然,层次最高的是语意图,语意图是未来研究的热点方向。获取Metric Map 的难度最大之处在于:1、传感器噪声(May be solved by PGM; 2、机器人在移动(Location 问题);

  常见的MAP是基于UGV而言的, 使用的地图是Occupancy Map,与之前在轨迹规划栏目中的图一样,以 0 表示无法到达的区域,以 1 表示可以达到的区域。

  

2、传感器噪声问题的Naive Solution

  解决传感器噪声问题的方法是对传感器进行建模,其模型为概率模型:

  

  对于给定的观测,其factor 如上,当连续N次观测到同一个xy的值时,利用 factor product,即可获得n次观测的Joint CPD ,在Joint CPD 上运行MAP算法,即可获得最终的地图了。在通解的基础上,确实是这样设计算法的,但是我们目前面对的Mapping 问题还太Naive,不需要如此复杂的手段。

  

  此处定义了一个odd,表示发生与否可能性的比值。换言之,就是传感器出错的概率比,这是一个可以估计的量。比如传感器测出有物体的odd是2,没物体的odd是3.

  依据Beyes 公式把Odd展开:

  

  其中,p(m = 1|z)/p(m = 0/z) 表示的是测量完成后 odd 的值,它等于  此次测量值 + 之前的odd。

  换言之,我们只要定义好先验图与log-odd-meas,就可以了。

3、Mapping Algorithm

  所有的东西总是说起来容易做起来难。即使是如此Naive的Map,真正Coding还是很难的。尤其是如何高效的实现Map的更新,此外,机器人每次发出的激光线达上千条,每个位姿都要更新上前个点。对此问题,我设计了并行算法,即使在并行的条件下,生成一次Map也要近20s.

  算法流程如下:

  1、将激光击中的点变换到全局坐标系下

  2、利用Breshenman 算法,获取激光通过的路径

  3、获取Occupied Map 与 Free Map

  4、更新Map.

  左图是单次测量的图,也就是机器人一个位姿的测量结果。显然,在靠近机器人的地方,噪声严重。右图是机器人在空间中移动后最终的Map。

4、3D Mapping

  对于2维地图,我们采用 free+occupy 的形式储存空间中的障碍物。然而有障碍物的地方毕竟还是少数,或者说,地图是稀疏的。

  对于3维数据而言,我们用3维的空间来描述显然不划算,由其是当空间巨大时。此时我们选择的地图,或者说是数据结构是kd-tree 与 OcTree. 此部分内容在点云相关博客中有过介绍,不赘述。

  

    

时间: 2024-10-15 21:16:24

机器人学 —— 机器人感知(Mapping)的相关文章

机器人学 —— 机器人感知(Gaussian Model)

机器人感知是UPNN机器人专项中的最后一门课程,其利用视觉方法来对环境进行感知.与之前提到的机器人视觉不同,机器人感知更侧重于对环境物体的识别与检测.与计算机视觉不同,机器人视觉所识别的物体往往不需要高精度测量,物体也有明显特征.机器人感知最为典型的应用是对环境的感知 —— SLAM,同步定位与地图构建.如果说机器人视觉解决了where am I的问题,那么Robotic Perception 面对的是Who is it. 1.1D Gaussian 感知要解决的是对环境识别的问题,沿着PGM的

机器人学 —— 机器人感知(Kalman Filter)

对于机器人感知任务而言,经常需要预判物体的运动,保证机器人在物体与自身接触之前进行规避.比如无人机与障碍物的碰撞,足球机器人判断足球的位置.预判的前提是对当前状态进行准确的估计,比如足球的速度,障碍物靠近的速度.一般认为,测量是存在误差的 —— 眼见未必为实. 1.物体的运动学模型 物体的运动学模型使用状态向量来表达.以2维空间的质点运动为例,物体的运动学模型可以表达为 x = [ px py vx vy ]' .其中 px py 表示物体的位置,vx vy 表示物体的速度.如果能够准确估计物体

机器人学 —— 机器人感知(Location)

终于完成了Robotic SLAM 所有的内容了.说实话,课程的内容比较一般,但是作业还是挺有挑战性的.最后一章的内容是 Location. Location 是 Mapping 的逆过程.在给定map的情况下,需要求取机器人的位姿. 1.Location 的意义 在机器人导航任务中,location 可以告诉机器人目前位置,以方便闭环控制或者轨迹规划.一般情况下,Location 可以通过GPS,WIFI 等方式完成.GPS的定位精度在3.5米左右,WIFI则大于10米.对于机器人.无人汽车而

机器人感知

ros学习第五讲:机器人感知 1.首先,你要有一个摄像头,最好功能简单易学的,容易上手. 2.安装usb_cam启动摄像头. sudo apt-get install ros-kinetic-usb-cam 转自:https://www.corvin.cn/535.html 原文地址:https://www.cnblogs.com/AIboy/p/11801160.html

机器人学 —— 机器人视觉(估计)

之前说到,机器人视觉的核心是Estimation.求取特征并配准,也是为了Estimation做准备.一旦配准完成,我们就可以从图像中估计机器人的位置,姿态.有了位置,姿态,我们可以把三维重建的东西进行拼接.从视觉信息估计机器人位姿的问题可以分为三个大类:1.场景点在同一平面上.2.场景点在三维空间中.3.两幅点云的配准. 所有问题有一个大前提就是知道相机内部矩阵K. 1.由单应矩阵进行位姿估计 单应矩阵原指从 R2--R2 的映射关系.但在估计问题中,如果我们能获得这种映射关系,就可以恢复从世

机器人学 —— 机器人视觉(基础)

机器人视觉是一种处理问题的研究手段.经过长时间的发展,机器人视觉在定位,识别,检测等多个方面发展出来各种方法.其以常见的相机作为工具,以图像作为处理媒介,获取环境信息. 1.相机模型 相机是机器人视觉的主要武器,也是机器人视觉和环境进行通信的媒介.相机的数学模型为小孔模型,其核心在于相似三角形的求解.其中有三个值得关注的地方: 1.1 1/f = 1/a + 1/b 焦距等于物距加上像距.此为成像定理,满足此条件时才能成清晰的像. 1.2 X  = x * f/Z 如果连续改变焦距f ,并同时移

机器人学 —— 机器人视觉(特征)

上回说到机器人视觉的核心任务是estimation,理论框架是射影几何理论.在之前的作业中展现了单应变换的巨大威力.然而,整个estimation 的首要条件是已知像素点坐标,尤其是多幅图中对应点的像素坐标. 单幅图像的处理方法都是大路货了,不赘述.这篇博客想讲讲不变点检测与不变特征.由于机器人在不断运动,所以可能从不同方向对同一物体进行拍摄.而拍摄的距离有远近,角度有titled. 由于射影变换本身的性质,无法保证两幅图中的物体看上去一样.所以我们需要一种特征提取方法(特征点检测),能够保证检

机器人学 —— 机器人视觉(Bundle Adjustment)

今天完成了机器人视觉的所有课程以及作业,确实是受益匪浅啊! 最后一个话题是Bundle Adjustment. 机器人视觉学中,最顶尖的方法. 1.基于非线性优化的相机位姿估计 之前已经在拟合一篇中,已经补完了非线性最小二乘拟合问题.Bundle Adjustment,中文是光束平差法,就是利用非线性最小二乘法来求取相机位姿,三维点坐标.在仅给定相机内部矩阵的条件下,对四周物体进行高精度重建.Bundle Adjustment的优化目标依旧是最小重复投影误差. 与利用non-linear mea

视觉SLAM漫谈 (三): 研究点介绍

1. 前言 读者朋友们大家好!(很久很久)之前,我们为大家介绍了SLAM的基本概念和方法.相信大家对SLAM,应该有了基本的认识.在忙完一堆写论文.博士开题的事情之后,我准备回来继续填坑:为大家介绍SLAM研究的方方面面.如果前两篇文章算是"初识",接下来几篇就是"渐入佳境"了.在第三篇中,我们要谈谈SLAM中的各个研究点,为研究生们(应该是博客的多数读者吧)作一个提纲挈领的摘要.然后,我们再就各个小问题,讲讲经典的算法与分类.我有耐心讲,你是否有耐心听呢? 在&l