今天终于完成了机器人轨迹规划的最后一次课了,拜拜自带B - BOX 的 Prof. TJ Taylor.

  最后一节课的内容是利用势场来进行轨迹规划。此方法的思路非常清晰,针对Configration Space 里面的障碍物进行 DT变换,用DT变换值作为罚函数的输入,让机器人尽可能的远离障碍物,同时再终点设计抛物面函数,让机器人有向终点靠近的趋势。最后所获得的就是机器人的一种可行运动轨迹。由于此轨迹是梯度下降的,并且罚函数是连续的,所以如果机器人不陷入局部最优,那么就可以获得全局最优路径(我本人不持这样的观点,二阶Hessian矩阵大写的不服,凭什么贪婪算法是最短路径?)

1、基于DT变换生成罚函数图

  DT变换是2D2值图像中的一种算法,其作用是找到某像素到最近非0像素的距离。换言之,就是机器人到最近障碍物的距离。这种距离再机器人学运动中非常容易获得,只要有实时的距离传感器,就能够找到机器人再不同位置下,到最近障碍物的距离。从而生成 f - map (罚函数图)

  

  机器人的Configuration Space 与 f - map 如上图所示。

2、拉向终点的势

  除了罚函数以外,机器人还需要一个拉向终点的势 —— Configuration Space 上一个以终点为中心的抛物面。将其与f - map 相加后,即可得到最终的Artificial Potential.

  

3、梯度下降

  在Artificial Potential 上执行梯度下降算法,获得机器人运动轨迹。

4、总结

  机器人轨迹规划是很有前景的学科,以后有前途的方向包括以下:

  非同性机器人:无人汽车不能随时倒车

  动力学约束下的规划:考虑机器人的加速减速

  多机器人轨迹规划

  针对移动障碍轨迹规划

  针对不确定环境轨迹规划

机器人学 —— 轨迹规划(Artificial Potential)的更多相关文章

  1. 机器人学 —— 轨迹规划(Introduction)

    轨迹规划属于机器人学中的上层问题,其主要目标是计划机器人从A移动到B并避开所有障碍的路线. 1.轨迹计划的对象 轨迹规划的对象是map,机器人通过SLAM获得地map后,则可在地图中选定任意两点进行轨 ...

  2. 机器人学 —— 轨迹规划(Sampling Method)

    上一篇提到,机器人轨迹规划中我们可以在 Configuration Space 中运行A* 或者 DJ 算法.无论A* 还是DJ 算法,都必须针对邻域进行搜索,如果2自由度则有4邻域,2自由度则有8邻 ...

  3. 机器人学 —— 轨迹规划(Configuration Space)

    之前的轨迹规划中,我们只考虑了质点,没有考虑机器人的外形与结构.直接在obstacle map 中进行轨迹规划,然而世纪情况中,机器人有固定外形,可能会和障碍物发生碰撞.此情况下,我们针对机器人自由度 ...

  4. 【2018.04.19 ROS机器人操作系统】机器人控制:运动规划、路径规划及轨迹规划简介之一

    参考资料及致谢 本文的绝大部分内容转载自以下几篇文章,首先向原作者致谢,希望自己能在这些前辈们的基础上能有所总结提升. 1. 运动规划/路径规划/轨迹规划的联系与区别 https://blog.csd ...

  5. 机器人关节空间轨迹规划--S型速度规划

    关节空间 VS 操作空间 关节空间与操作空间轨迹规划流程图如下(上标$i$和$f$分别代表起始位置initial和目标位置final): 在关节空间内进行轨迹规划有如下优点: 在线运算量更小,即无需进 ...

  6. 机器人中的轨迹规划(Trajectory Planning )

    Figure. Several possible path shapes for a single joint 五次多项式曲线(quintic polynomial) $$\theta(t)=a_0+ ...

  7. zz自动驾驶中轨迹规划的探索和挑战

    大家好,今天我们主要介绍一下轨迹规划的探索和挑战,我主要从四个方面介绍: 轨迹规划的概念 决策 横向规划 纵向规划 轨迹规划的概念: 轨迹规划的核心就是要解决车辆该怎么走的问题.比如我们知道了附近有行 ...

  8. Minimum Snap轨迹规划详解(2)corridor与时间分配

    在上一篇文章中,我们得到的轨迹并不是很好,与路径差别有点大,我们期望规划出的轨迹跟路径大致重合,而且不希望有打结的现象,而且希望轨迹中的速度和加速度不超过最大限幅值.为了解决这些问题有两种思路: 思路 ...

  9. Minimum Snap轨迹规划详解(1)轨迹规划

    一. 轨迹规划是什么? 在机器人导航过程中,如何控制机器人从A点移动到B点,通常称之为运动规划.运动规划一般又分为两步: 1.路径规划:在地图(栅格地图.四\八叉树.RRT地图等)中搜索一条从A点到B ...

随机推荐

  1. 内置系统账户:Local system/Network service/Local Service 区别

    参考文献: http://www.cnblogs.com/xianspace/archive/2009/04/05/1429835.html 前言 今天在安装sqlserver2008 r2的时候,在 ...

  2. 删除weblogic应用缓存,weblogic 缓存的删除方法

    security (注意:security目录下为安全认证文件,切不可删除!) 正常情况下只需删除tmp目录下缓存文件(不同的工程在tmp下面有不同的路径,如果不清楚的话可以一起删除). 个别情况下会 ...

  3. 你真的会用Gson吗?Gson使用指南(4)

    原文出处: 怪盗kidou 注:此系列基于Gson 2.4. 本次文章的主要内容: TypeAdapter JsonSerializer与JsonDeserializer TypeAdapterFac ...

  4. .ipynb文件转.py文件

    到要转的demo.ipynb所在目录下,然后输入命令: jupyter nbconvert --to script demo.ipynb

  5. 转载-vim配置收藏

    转载自:http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 1.按F5可以直接编译并执行C.C++.java代码以及执行shel ...

  6. 如何在Angular优雅编写HTTP请求

    原文:https://segmentfault.com/a/1190000010570799 ----------------------------------------------------- ...

  7. WPF如何为程序添加splashScreen(初始屏幕)

    一.考虑到大部分的splashscreen其实都只是一个图片,所以最简单的做法是,先导入一张图片,然后设置它的生成操作为“splash screen” 二.通过程序设置SplashScreen pub ...

  8. MDX Cookbook 07 - 在不同层次结构的成员中实现 逻辑 OR 的效果

    第一个示例:查看所有包括黑色产品的子目录产品中的 Reseller Order Quantity 和 Reseller Order Count. 第二个示例:和第一个示例查询结构一样,只是筛选的是大小 ...

  9. 原创:vsphere概念深入系列四:Nic Teaming若干问题

    参考文档:http://www.hyper-v.nu/archives/marcve/2013/01/lbfo-hyper-v-switch-qos-and-actual-performance-pa ...

  10. phpBB3.2 自动检测浏览器语言

    这是根据HTTP request header里的Accept-Language信息来处理的. 首先看一下Accept-Language的格式 Accept-Language: <languag ...