技术分享 | 如何让无人机实现室内自主搜寻?
Posted 阿木实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术分享 | 如何让无人机实现室内自主搜寻?相关的知识,希望对你有一定的参考价值。
在电影《烈火英雄》的电影有这样一幕,在火灾现场之后会对余火进行排查,由于人工排查中存在死灰复燃的情况,这给消防员的工作带来了极大的危险,我在想是否有一种机器人代替人完成高风险的工作呢?
我首先想到的时候关于轮式、履带式地面机器人,可是我发现火灾后的现场环境总是复杂的,地面环境更是崎岖不平存在楼梯的房间更是难以到达。
因此,自主快速移动的无人机在我的脑海中荡漾。我开始想我应该怎么设计我的无人机,我需要哪些功能,并如何实现这些功能。我大概有两条技术路线,第一条是买现成的飞机加上自己的模块,但是这样的无人机的定制化并不高达不到室内搜索的效果,第二条技术路线是采用的开源方案进行深度的开发个性化定制。我选择了后者。开源的飞控有很多,但是怎么能让飞机实现自主飞行呢?我找到了阿木实验室的Prometheus自主无人机开源项目。我使用了其中的几个比较大的模块,例如室内定位、路径规划(避障)、控制、Aruco码识模块。
其中比较主要的两个模块路径规划和Aruco码识模块,接下来我将做简单的介绍。全局路径规划分为全局算法和局部算法:全局路径规划是在已知的环境中,给机器人规划一条路径,路径规划的精度取决于环境获取的准确度,全局路径规划可以找到最优解,但是需要预先知道环境的准确信息,当环境发生变化,如出现未知障碍物时,该方法就无能为力了。它是一种事前规划,因此对机器人系统的实时计算能力要求不高,虽然规划结果是全局的、较优的,但是对环境模型的错误及噪声鲁棒性差。
局部路径规划则环境信息完全未知或有部分可知,侧重于考虑机器人当前的局部环境信息,让机器人具有良好的避障能力,通过传感器对机器人的工作环境进行探测,以获取障碍物的位置和几何姿态等信息,这种规划需要搜集环境数据,并且对该环境模型的动态更新能够随时进行校正,局部规划方法将对环境的建模与搜索融为一体,要求机器人系统具有高速的信息处理能力和计算能力,对环境误差和噪声有较高的鲁棒性,能对规划结果进行实时反馈和校正,但是由于缺乏全局环境信息,所以规划结果有可能不是最优的,甚至可能找不到正确路径或完整路径。两者协同工作,机器人可更好的规划从起始点到终点的行走路径。
A算法:A算法是全局启发式搜索算法,是一种尽可能基于现有信息的搜索策略,也就是说搜索过程中尽量利用目前已知的诸如迭代步数,以及从初始状态和当前状态到目标状态估计所需的费用等信息。
A*算法在选择下一个被检查的节点时考虑来之前花费代价,同时使用到目标距离作为引导,两者之和作为评价该节点处于最优路线上的可能性的量度,这样可以首先搜索到位于最优路径上可能性大的节点。
A算法的基本思想如下:引入当前节点j的估计函数$f^$,当前节点j的估计函数定义为:$f^(j)= g(j)+h^(j)$ 其中$g(j)$是从起点到当前节点j的实际代价的量度,$h^(j)$是从节点j到终点的最小消耗的估计,可以依据实际情况,选择$h^(j)$的具体形式,$h^(j)$要满足一个要求:不能高于节点j到终点的实际最小费用。从起始节点向目的节点搜索时,每次都搜索$f^(j)$最小的节点,直到发现目的节点。
-------引用于阿木实验室Prometheus-Wiki
Aruco码识模块:其中的ArUco是一个开源的微型的现实增强库,它除了用于现实增强,还很用于实现一些机器视觉方面的应用,波士顿最新的人形机器人Atlas也曾使用过改方法进行视觉定位。
ArUco开源库有几个特点例如:1.基于C++;2.仅依赖于OpenCV(≥2.4.9)和Eigen3。 路径规划采用的是A算法、目标检测算法采用的是ArUco机器视觉算法,接下来就是室内搜索无人机的演示视频啦(点击链接文章末尾): https://mp.weixin.qq.com/s?__biz=MzIwNzgxNzg0Mg==&mid=2247507992&idx=1&sn=1a91591820a8f266017f71692b9009cc&chksm=970e7d05a079f41396a6bcb7595e8053101b5fd4c8d61b784cb0c7084d3b2c454fa54f245490&token=1599367556&lang=zh_CN#rd
- End -
技术发展的日新月异,阿木实验室将紧跟技术的脚步,不断把机器人行业最新的技术和硬件推荐给大家。看到经过我们培训的学员在技术上突飞猛进,是我们培训最大的价值。如果你在机器人行业,就请关注我们的公众号,我们将持续发布机器人行业最有价值的信息和技术。 阿木实验室致力于前沿IT科技的教育和智能装备,让机器人研发更高效!
以上是关于技术分享 | 如何让无人机实现室内自主搜寻?的主要内容,如果未能解决你的问题,请参考以下文章
技术分享 | 为什么学习rrt_exploration实现自主建图容易掉坑?
技术分享 | 关于Prometheus自主无人机开发你需要懂得一些“小事”(上)