运动规划入门5.白话人工势场法,从原理到Matlab实现

开通VIP,畅享免费电子书等14项超值服

首页

好书

留言交流

下载APP

联系客服

2024.03.24北京

1.1

引力势场

(AttractivePotentialField)

人工势场这个特殊的势场并不是一个单一的场,其实它是由两个场叠加组合而成的,一个是引力场,一个是斥力场。

顾名思义引力势场是具有吸引的性质,会将机器人从起点处朝着终点处吸引,所以引力场的存在使得机器人获得了运动的大方向。

在实际的工程中,其实有很多种方法可以构建这样的一个引力势场,最简单而且也是最常用的方式就是直接对地图自由空间的每个点都相对终点计算出欧氏距离的平方,并乘上一个缩放系数ε。

fa(x,y)便是所谓的引力势场函数,它会构建一个离终点越远引力越大的特殊势场,在Matlab中可以非常直观地看到这个引力势场。

1.2

斥力势场

(RepulsivePotentialField)

当然仅仅只有引力势场是不够的,我们还需要让机器人懂得避开地图中的障碍物,这时斥力势场便有用武之地了,斥力势场的会构建一个距离障碍物越近,斥力越大的特殊势场。

这个过程其实非常好理解,引力势场负责吸引机器人从起点朝着终点运动,斥力势场负责规避地图中的障碍。

通常我们会用下面这个函数来构建斥力势场:

其中ρ(x,y)是一个特殊的函数,它会计算出离当前点(x,y)最近的障碍物的距离,而d0是一个距离阈值,当当前点到最近障碍物的距离大于d0时不产生斥力。η同样是一个简单的缩放系数。

在Matlab中可以直观地看到这个斥力势场的样子,离障碍物越近的点所具备的斥力值越大,离障碍物越远斥力值越小,甚至为0。

我们生成了引力势场和斥力势场这两个特殊势场之后,只要将两个势场进行简单的叠加组合之后就得到了最终的人工势场。

在Matlab中可以直观地看到这个叠加的结果如下,其实相信看到这里小伙伴们应该有点感觉了,当我们每个人工势场都是根据特定的终点而特定生成的,在地图不变的情况下,改变终点的位置便会改变人工势场。终点的位置总是人工势场中势能最低的地方,想象一下,现实中存在一个长得和人工势场一样的曲面,现在我们拿着一个小球放在曲面的高处,那么在重力的作用下,小球自然而然地就会顺着曲面滚到最低点。如果你成功地想象出这个画面,那么恭喜你,你已经领悟了人工势场的核心思想了。

1.3

梯度下降

相信只要是学过高数的小伙伴一定知道梯度的概念,如果你忘记了,那么赶紧回去复习。梯度下降法在寻找最优点的问题上被十分广泛地运用,但其实这也是一个听名字很高大上,说穿了很直观的方法。

我还是和各路前辈一样使用山坡为例,来说说明梯度下降法的核心思想。假设你一觉醒来被空投到一个未知的山坡上,现在要求你尽全力下山,也就是说要你找到最低的点。那么这时候你该怎么办呢?非常简单,第一步:环顾你的四周找到一个坡度最陡峭的地方;第二步:朝着最陡峭的方向迈出一步;就这样重复执行第一步、第二步,直到你到达一个位置,在这个位置的四周都比它高,也就是说这是一个你能找到的最低的点。

在数学中,梯度的方向就是函数位于当前某一点(x0,y0)时,增长速度最快的方向。那么反过来,将函数添加上负号,再求梯度,便可以找到函数减少最快的方向。

所以这便回答了方才提出的“如何利用人工势场进行运动规划”这一问题,我们采用梯度下降法配合人工势场进行运动规划。

2.1

引力势场函数

然后引力势场函数的实现相对比较简单,就是计算meshgrid中每个点相对于终点的欧氏距离的平方,乘以一个缩放系数。对,就是这么简单。

2.2

斥力势场函数

斥力势场函数在实现中比较麻烦的点在于ρ(x,y)函数,但是各位不要担心,万能的Matlab已经有现成的函数可以实现这个功能,这个函数就是bwdist()。

在bwdist()的描述中我们可以得知,这个函数其实是一个图像处理函数,他会计算出一张二值图片中所有像素点相对其最近的非零像素点的距离。这就正合我们意了,我们的障碍物地图恰好就是一张二值图片,0表示自由空间,1表示障碍物。那么这个函数就会计算出地图中每个点相对最近障碍物的距离值,当然如果当前点恰好是个障碍物,那么最近的障碍物就是它自己,所以得到的距离结果就是0。

如下图的代码所示,influence就是表达式中的d0即距离阈值,这里将bwdist()的结果除以100再加1,首先是除以100是为了将距离值缩放到一个合理的范围,其次加1是为了规避前面说过障碍物结果为0的情况。

最终将两个生成的势场简单地相加就可以得到最终的人工势场了。

2.3

梯度规划器

2.4

最终运行效果

从4月份到现在,当初答应你们的5个运动规划入门算法已经悉数奉上,那么本系列就可以暂告一段落了。希望笔者这粗糙的讲解可以帮到你们些许。

THE END
1.当matlab在中国被全面禁止,国产仿真软件的破局之策与替代曙光由于时间和篇幅原因,不能够一一介绍,笔者体验了其中几款,在这里分享一下,供大家参考。1)MWORKS:由苏州同元软控自主研发,兼容matlab,在功能上几乎可以替换。由MWORKS.syslab和MWORKS.sysplorer两部分构成,其中MWORKS.Syslab对应matlab主程序,MWORKS.Sysplorer对应simulink,目前已升级到2024b版本。官方提供体验版https://baijiahao.baidu.com/s?id=1818484784163527945&wfr=spider&for=pc
2.布尔逻辑与二进制在智能领域中的不足布尔逻辑和二进制虽然在计算领域取得了很大的成绩,并获得了大家的认同,但在智能领域依然存在着一些局限性。在未来智能的研究中,我们应该构建新的逻辑体系,既包括布尔逻辑也涉及非布尔逻辑,既涵盖理性的逻辑也关涉感性的非逻辑。下面将讨论一下二进制和布尔逻辑在一些智能应用中可能有缺点: https://www.bilibili.com/opus/1009126210021621766
3.培训MATLAB数据分析/图形图像处理/机器学习与深度学习MATLAB是由美国MathWorks公司推出的一款应用于科学计算和工程仿真的交互式编程软件,它有包罗万象的工具箱和草稿纸式的编程语言,将符号计算、数值分析、矩阵计算、科学数据可视化、数据处理与机器学习、图像处理、信号处理、计算金融学、计算生物学以及非线https://mp.weixin.qq.com/s?__biz=MzA4NzI1NjE0Nw==&mid=2649813806&idx=3&sn=c9dfd2dc9eb29759df8d4ce74ec5dbaf&chksm=88386e12bf4fe70440f1363ea51cc8d33cbc18642ecfccfa33af9453540e8486ea7bfac24bfa&scene=27
4.别再投了!17个月还在一审,IF狂跌近一半,这本1区SCI稿件积压严重更多精彩尽在SciencePub学术:http://www.sciencepub.cn (1)期刊征稿(SCIE/SSCI/EI/CNKI) · Call for Paper(SCIE):JCR1区,中科院3区,计算工程类,Elsevier,预计3-5个月录用。 · Call for Paper(SCIE):JCR1区,中科院1区TOP,农林科学类,Elsevier,预计1-3个月录用。 https://zhuanlan.zhihu.com/p/12464501503
5.2023年流行的20种编程语言SQL 的缺点 如果您不熟悉编程或数据库概念,SQL 可能很难学习。 与其他语言相比,SQL 可能比较慢,主要是在处理大型数据库时。 而且SQL 不太适合某些类型的任务,例如复杂的数学计算或机器学习。 16. HTML HTML(超文本标记语言)是创建网页和应用程序的标准语言。HTML 用于创建网页。您可以使用 HTML 将图像、链接和其https://www.51cto.com/article/741828.html
6.工作分析总结资料在图书馆中会有专门负责资料收集的人员, 这些人员进入社会进行深入的搜集工作, 对一些在网络上无法查询的资料进行搜集。对于这些工作人员来说要多到社会进行资料的搜集工作。通常期刊及报纸都有一定的时效性,因此对这些具有前瞻性的信息就会有很多的需求者, 通常网上对信息的发布会比报纸晚一些, 因此搜集工作者要找到https://www.360wenmi.com/f/file9l0ks8ws.html
7.职称评定个人专业技术总结(通用17篇)图书馆数据库资源建设继续加强。图书馆目前的数据库包括正式开通的数据库有7个:中国医药知识仓库(CHKD)、万方数据库、书生电子图书、中国生物医学文献服务系统(CBM)及SinoMed、外文期刊数据库(即北京地区医院外文期刊资源共享全文数据库)、康健西文(FMJS)、医学多媒体;试用的数据库有3个:超星电子图书数据库及超星读秀、https://www.ruiwen.com/zongjie/5797396.html
8.新兴信息服务业9篇(全文)高校图书馆在资源建设上多数倾向于本校的重点学科、优势学科,因此高校图书馆在资源建设上应提高外文资源的保障率,及时获取国外最先进的科学技术,提供科技成果、行业报告、标准和产品资料,并向企业提供全文服务;提供国内外同行产品与服务的最新发展动态,加强对战略新兴企业的专题信息资源库建设。对战略新兴企业开展包括文献https://www.99xueshu.com/w/ikeyxs34q89b.html
9.大三上学期个人学习总结范文(精选17篇)3、我对暑期在蚌埠找到的教育培训实习工作也做了总结,知道了在教育理论与实践之间还存在着很大的差距,有些时候也会因为所学的东西的不够而对教师工作造成很大的阻力,于是在这一学期中,我针对了自己在实习中遇到的问题,又回到了图书馆中阅读相关书籍、向老师请教并参与了班级组织的到学校去见习,听优秀的老师如何讲课https://www.hrrsj.com/jiaoxue/xueqizongjie/826229.html
10.MATLAB在数学建模中的应用(豆瓣)图书MATLAB在数学建模中的应用 介绍、书评、论坛及推荐https://book.douban.com/subject/6052205/
11.科技信息智能建筑作为信息高速公路的终点站,己充分表现了它在经济、文化、科技领域中的重要作用。银行、证券、期货、保险、商场、贸易商社、政府机构、科研机构、医院、学校、图书馆、体育场馆、机场等,只要是按现代管理方式运作的行业,它的建筑物都具有智能建筑的要素,全国约有数以千计。2011年19期 No.375 60+85页 [查看http://kjxx.cbpt.cnki.net/WKE/WebPublication/wkTextContent.aspx?colType=4&yt=2011&st=19
12.隔离在家中研究生们如何全面提升科研实力?澎湃号·政务检索内容与谷歌学术完全一致;同时整合了谷歌学术、sci-hub、libgen的文献下载渠道,检索到的很大一部分英文文献可直接下载;缺点是访问不稳定。 四、文献管理篇 面对下载到的数十甚至上百篇科技文献,你是否对管理它们一筹莫展呢?别着急,通过一些文献管理工具,我们就可以轻松打造个人专属的电子图书馆了。让我们在选择前https://www.thepaper.cn/newsDetail_forward_6098684
13.干货十大流行AI框架和库的优缺点分析腾讯云开发者社区缺点: —需要与其他库一起使用以获得高度的抽象 —AWS使用它上有点bug —与其他库相比,原生Theano有点低级 4.Caffe 语言:C++。 Caffe是一个强大的深度学习框架,借助Caffe,你可以非常轻松地构建用于图像分类的卷积神经网络(CNN)。 Caffe主类: 优点: —无需编写代码即可进行模型的训练 —Python和MATLAB都可用 https://cloud.tencent.com/developer/article/1048499
14.当你想用Mac做科研时…也许真的能行?——用于科研的macOS应用网页端应用的好处在于不限定平台,甚至在 iPad 上也可以用。只是有些专用网站需要学校图书馆购买的权限。 1.在线思维导图 也许在线版本的思维导图已经足够你使用了。无论是 MindMaster,还是幕布,都可以在网页端进行绘制。 2.在线协作平台 比如Trello,Teamambition 等平台都可以尝试。但是科研工作协作功能的应用没有信息https://ios.sspai.com/post/58739
15.大学毕业实习报告在图书馆前回望,通往东门的那条路,左边是繁忙的建筑工地,右边是教学楼,仅有的那片可怜的草坪是看不到的。虽还是春天的早上,但还是给人一种热的感觉。也许因为是新建不久的,路两旁几乎没有一棵树。北京春季多风,有时还会夹杂着工地上的土,形成一个小型“沙尘暴”,令这条路有些让人望而却步,尤其是在夏天,大https://www.pinda.com/zhichang/shixibaogao/29737.html
16.关于图书馆的规章制度,以下叙述不恰当的是。湖南大学图书馆(南校总馆)共有几层楼() A. 6 B. 7 C. 8 D. 9 查看完整题目与答案 在1988年被批准为国家重点文物保护单位的建筑是() A. 湖南大学胜利斋 B. 湖南大学大礼堂 C. 湖南大学老图书馆 D. 岳麓书院 查看完整题目与答案 结核病 查看完整题目与答案 手烧炉在投煤时https://www.shuashuati.com/ti/0581a62d97e745bab6e658bb16bb286c.html?fm=bdbdsad763254e9f1e8d25e4f551a05b7fb71
17.广东碧桂园学校1.广东省立中山图书馆数字资源(可以用广东省统一身份认证登录办理读者证,办证后可以阅览超星数字图书馆、人大复印资料全文数据库、博看期刊数据网、“读览天下”的电子图书报刊资源,享受中国知网、万方数据库、读秀知识库、维普期刊整合资源、人民日报图文数据库和英文数据库EBSCO等全文数据库查阅服务,拥有MET全民英语资源http://bgy.gd.cn/sztsg.html
18.通信行业职业生涯规划范文(通用7篇)父亲:现在最重要的就是能力,要有真正的`能力才能服人,所以在学校和工作以后都要继续努力的去学习 母亲:凡事都得脚踏实地,一步一步的走,不可操之过急。 五、职业分解与组合 1、20XX年—20XX年在校期间(21—25) 职业目标: (1)学好专业知识,多去图书馆尽量使自己博览群书,积极参加社会实践以不影响学习为前提https://www.yjbys.com/qiuzhizhinan/show-471395.html
19.Matlab地震数据处理工具开发与应用研究.docx5.毕业论文(设计)的目标及具体要求(1)通过毕业设计深入理解地震数据处理(2)学会通过互联网,图书馆查找相关专业文献(3)完成文献综述和开题报告(4)学会CREWES Matlab Toolbox编制程序(5)必要的理论分析和证明(6)必要的计算结果及图件分析6、完成毕业论文(设计)所需的条件(1)图书馆提供专业图书和电子文献数据库(2)https://m.book118.com/html/2016/0818/51852185.shtm