对于移动机器人来说,最吸引人的莫过于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. 此部分内容在点云相关博客中有过介绍,不赘述。

  

    

机器人学 —— 机器人感知(Mapping)相关推荐

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

    对于机器人感知任务而言,经常需要预判物体的运动,保证机器人在物体与自身接触之前进行规避.比如无人机与障碍物的碰撞,足球机器人判断足球的位置.预判的前提是对当前状态进行准确的估计,比如足球的速度,障碍物 ...

  2. FPGA:下一代机器人感知处理器

    作者简介:刘少山,PerceptIn公司联合创始人.加州大学欧文分校计算机博士,研究方向包括智能感知计算.系统软件.体系结构与异构计算(FPGA.GPU).现在PerceptIn主要专注于增强现实.虚 ...

  3. ROS中阶笔记(六):机器人感知—机器语音

    ROS中阶笔记(六):机器人感知-机器语音 文章目录 1 语音识别理论 2 常用语音功能包 3 科大讯飞SDK 3.1 使用前提 3.2 语音听写 3.3 语音合成 3.4 智能语音助手 4 参考资料 ...

  4. ROS中阶笔记(五):机器人感知—机器视觉

    ROS中阶笔记(五):机器人感知-机器视觉 文章目录 1 ROS中的图像数据 1.1 二维图像 1.1.1 安装安装usb_cam 1.1.2 显示图像数据 1.2 三维图像(kinect) 2 摄像 ...

  5. 机器人感知-视觉部分(Robotic Perception-Vision Section)

    今年参加了ROS机器人暑期学校的交流分享,非常感谢组委会的邀请和易科的支持,虽然讲稿准备了一段时间,但是依然感觉没有讲好,在博文中再具体写一下. 关于ROS暑期学校的相关信息,可以查看:http:// ...

  6. 机器人感知与控制关键技术及其智能制造应用

    源自:自动化学报 作者:王耀南 江一鸣 姜娇 张辉 谭浩然 彭伟星 吴昊天  曾凯 摘 要 智能机器人在服务国家重大需求, 引领国民经济发展和保障国防安全中起到重要作用, 被誉为"制造业皇冠 ...

  7. 智能机器人在机器人机器人感知与运动控制技术与应用案例

    作者:禅与计算机程序设计艺术 当前,物联网.云计算.人工智能和机器人技术已成为我国产业界研究热点.随着机器人的高速发展,无论是研究.制造还是服务,都受到了越来越多的关注.同时,随着大数据.IoT(In ...

  8. 传感器怎么获取障碍物的宽度信息_机器人感知 -- 测距传感器

    在自动驾驶中和移动机器人的应用中,感知是至关重要的一环,周边环境障碍物的确定对于之后的路径规划和移动有着中要的影响.在实践中,我们往往用激光雷达(lidar)来满足感知的要求,主要原理是通过雷达接收到 ...

  9. 机器人感知与规划笔记 (5) - 自动导航

    机器人笔记 - 自动导航 导航问题 定位 (localization) 基于行为的导航(Behavior-based Navigation) 基于模型的导航 (Model-based Navigati ...

最新文章

  1. 什么是数据中台?全面解读数据中台
  2. iOS保存model数据(自定义Model 可以存放到本地)
  3. labview如何进行串口通讯
  4. 创建视图,查询表空间的利用情况
  5. Kafka分区分配策略(3)——自定义分区分配策略
  6. linux centos7 root密码重置
  7. [OS] 远程启动计划任务时以管理员身份运行
  8. 推荐四格漫画:勇者、魔族、龙族
  9. Docker-删除untagged docker images
  10. java jsonp网络爬虫_JSOUP 爬虫
  11. pythonudp通信程序_python中UDP编程实现通信
  12. matlab中的yalmip工具箱 教程,yalmip工具箱及其教程。凸规划问题如何用yalmip工具箱优化?...
  13. 自定义C语言头文件书写格式
  14. python中eval什么意思_python中eval函数作用
  15. SAP ABAP 取物料号的采购订单文本内容
  16. 2022RWCTF体验赛web的wp
  17. 利用go语言创建钱包并遍历钱包(wallet)
  18. C语言自学笔记,第一天
  19. 区块链技术及应用发展概述
  20. JSP中四种作用域的不同

热门文章

  1. eclipse linux 代码提示,Linux Eclipse代码提示功能设置(Java C/C++)
  2. python中字典按键或键值排序_[宜配屋]听图阁
  3. C++安全方向(三):3.8 openssl单项散列章节总结
  4. 解封装(三):AVFormatContext分析
  5. 静态成员调用java,Java 反射 静态变量 静态方法 静态成员 调用 获取修饰符 判断是否为静态...
  6. python执行shell脚本报错_在python中执行shell命令:字符串错误
  7. boost电路输出电流公式_boost电路解析
  8. java 设置组件填充_Java学习笔记(三)Java2D组件
  9. Basic concepts behind Web Audio API
  10. Java MyBaties 映射配置文件 mapper