历史上的今天
返回首页

历史上的今天

今天是:2025年03月17日(星期一)

正在发生

2020年03月17日 | 关于扫地机器人路径规划算法的解读

2020-03-17 来源:领衔资讯

(文章来源:领衔资讯)

随着人们生活水平的提高,人们对于智能家居的需求日益旺盛,扫地机器人就是其中之一,据前瞻网发布的数据显示,2018年扫地机市场增长预计达到120亿元,随着扫地机器人技术的不断发展,未来扫地机器人将会有更广阔的市场空间。在扫地机器人中,路径规划是其最核心的技术,所谓路径规划是指根据自身对环境进行认知,来确定周围环境和自身位置信息,进而规划出一条最优运行路线。同时又能高效完成清扫任务。

通常,移动机器人实现路径规划需要解决这三大问题:1.机器人从初始位置到目标位置的运动;2.通过相关算法使机器人能够绕开障碍物,并且经过某些必须经过的地方完成对应的工作任务;3.在完成以上任务的前提下,能做到机器人运动轨迹的优化。

说到扫地机器人路径规划,就不得不提到SLAM技术了,当然,SLAM技术与路径规划是两个层面的东西,SLAM更像是一种被动技能,默默为机器人提供地图和定位信息,但当机器人需要实现自主移动,便需要路径规划和SLAM的相互合作,如果没有SLAM为路径规划提供高质量的定位信息,路径规划就难以实现自身的工作。

机器人要做到路径规划,除了要解决SLAM本身的难点外,路径规划也是有很多问题需要解决的,先不说扫地机器人,对于通用机器人来说,要做的第一个路径规划便是寻路的算法,也可以理解为从A点到B点的移动。在这个过程中,又会涉及到全局路径规划及局部路径规划。

什么是全局路径规划呢?可以理解为,在一张静态的地图上,机器人仅仅根据地图测算出当前点到目标点的一个距离。这种方式有很多种算法,目前听到最多的就是Astar算法,这种也同时运用在即时战略游戏里进行单位寻路时使用。

除了全局路径规划还有局部路径规划的问题,由于在全局路径规划中机器人已经规划出了大致的行走路径,但在实际的移动过程中会出现很多突发情况,如在机器人移动时突然一个人走过来,挡住了机器人已规划好的行走道路,在这种情况下,机器人如何能在不修改之前规划好的路径前提下去绕开这个人呢?对于机器人来说行走的大方向是对的,但在有障碍物出现的情况下需要临时改道,这样的过程便叫做局部路径规划。目前针对该问题的应对算法传统上有EFF、目前又动态穿透法的算法来进行。

解决从A点到B点的移动就是实现路径规划的第一个问题。这也是目前扫地机器人进行路径规划的第一个环节。但相比其他服务机器人,扫地机器人的问题会更加复杂一点,因为扫地机器人在工作中还会涉及到贴边清扫及来回清扫等任务,这就需要有更多的算法体系来支撑。

再回到SLAM技术上,目前在SLAM技术中,会涉及到SLAM及视觉SLAM两种,激光SLAM是通过旋转激光发射器不断发射激光,并通过内置的摄像头拍摄反射光并成像,利用几何测距原理物体和机器本身的相对位置,据此绘制完整边界的地图和确定机器在地图中的位置。而视觉SLAM是通过内置的 RGB 摄像头不断移动自身的位置进行拍摄,提取和匹配相邻帧图片特征点、利用测距原理测算出障碍物的距离。

相较于视觉SLAM,就一直作为扫地机器人的原配久居正统之位,激光雷达的优势在于精度高,可以精确绘制房间地图和行走路线,工作稳定,不依赖于环境光线。分秒建图:开启清扫后,只需几个转圈的时间,激光雷达就会扫描出家中地图,在清扫过程中能毫厘不差的刻画家庭环境构造和家具分布。

边扫边建立完整地图:清扫时扫地机会先沿边清扫出一片区域,在分区内以弓字形的路径走出工整的路线,边扫边建图,通过一个个分区的形式将家里每个地方都清扫覆盖到,最终形成家中的完整地图。

地图规划清晰且覆盖率高:当扫地机扫完家后,家里的地图就能完整的呈现,与户型图的贴合度能达到99%以上,可以清晰的看出对家里的清扫规划,覆盖到了家中的每一个角落,没有产生漏扫。重要的是,地图一次生成就能保存,再次清扫时无需重新建立地图,当家具布置发生变化时,通过云端地图功能,会实时更新和优化。

自主行走毫不费力:家中的餐桌底下桌脚多,地形复杂,最是考验扫地机的行走能力。而拥有激光导航的扫地机能绕着每个桌角清扫一圈,直至将餐桌底下探索完整,进了餐桌底下出不来,是不存在的。
      (责任编辑:fqj)

推荐阅读

史海拾趣

Baneasa SA公司的发展小趣事

面对日益增长的市场需求,Baneasa SA意识到必须提升产能以满足客户的需求。于是,公司投入大量资金对生产线进行升级改造,引进了先进的生产设备和技术。这些举措使得Baneasa SA的产能得到了大幅提升,同时也保证了产品质量的稳定性和可靠性。

Ememory Technology Inc公司的发展小趣事

除了自主研发外,eMemory还积极寻求与外部合作伙伴的联合研发。在2016年,eMemory与马来西亚的半导体晶圆代工厂Silterra联合宣布,基于Silterra 0.18微米CMOS制程技术的一次性可编程(OTP)存储器已经通过了验证。这一合作不仅证明了eMemory技术的先进性和可靠性,还为双方带来了新的市场机遇。

启攀微(CHIPHOM)公司的发展小趣事

随着市场竞争的加剧和技术的不断进步,启攀微电子(CHIPHOM)意识到只有不断创新才能保持领先地位。公司加大了在新技术、新产品方面的研发投入,积极探索物联网、人工智能等新兴领域的应用。同时,公司还注重人才培养和团队建设,吸引了一批高素质的技术人才和管理人才加入公司。在创新驱动的引领下,启攀微电子(CHIPHOM)不断推出具有竞争力的新产品和解决方案,赢得了客户的广泛认可。

粤翔(FlyWin)公司的发展小趣事
根据需求分析结果,选择合适的电压监测元件、电源管理元件、储能元件和保护元件。
Genesis Microchip公司的发展小趣事

在20世纪中期,GI作为一家新兴的电子设备制造商,以其对新兴技术的敏锐洞察力和创新精神而崭露头角。公司创始人意识到半导体技术的巨大潜力,决定投入大量资源进行研发。通过不懈努力,GI成功推出了多款基于半导体技术的创新产品,如早期的晶体管收音机和电视机,这些产品不仅在当时市场上引起了轰动,也为公司后续的快速发展奠定了坚实基础。这一阶段的成功,标志着GI在电子行业技术创新的道路上迈出了坚实的一步。

DART(英国达特)公司的发展小趣事

随着技术的不断成熟和产品的不断完善,DART公司开始将目光投向更广阔的市场。他们积极参加各种国际展会,与全球各地的潜在客户建立联系。同时,公司也加大了品牌宣传的力度,通过赞助行业活动、发布技术文章等方式提升品牌知名度和影响力。这些努力使得DART公司的市场份额逐渐扩大,品牌形象也日益深入人心。

问答坊 | AI 解惑

靠车吃饭,靠油生存,现在车贵,油贵,疯了!

如今燃油税又涨了,最苦的就是我们这些靠车吃饭的普通车主,每天靠车运货、拉生意,现在油价涨了,真不知到将来怎么讨生活。…

查看全部问答>

2-60V可调

最近打算做一个2-60V可调电源,最大电流为10A,纹波<100mv,不知大家有什么建议给我吗?虽然做过电源但是还没有做过这么大功率的,第一次尝试,不知该考虑些什么? 希望各位大虾多给提点意见 …

查看全部问答>

自己的4*4键盘扫描实现

本人刚开始学弹片,对C语言也是刚刚接触,看了 对于入门还不错. 在这里贴出自己写的键盘扫描实现,小弟初学者,也没考虑那么多,如效率之类的 有不足之处 欢迎大家讨论 #include #include #define uint unsigned int #define uchar unsigned char s ...…

查看全部问答>

请教等效阻抗

在网上下载的电路相关学习资料,学习到电路短路判断这一块时。遇到等效阻抗这一概念。根据学习资料上给出的电阻值,其等效阻抗=并联电路的电阻值。但是我看电路图上给出的量电阻的位置处于一条直线上,很矛盾。所以发帖请教各位老师。希望能得到等 ...…

查看全部问答>

求一个 vs2005 下 C# 写的适用于 2440+wince5.0 的串口通讯程序

求一个 vs2005 下 C# 写的适用于 2440+wince5.0 的串口通讯程序 越详细越好 我刚接触这一块 C#的语法还没学全 以前也从没在win下编过程 但是头儿要求的特别急 想找个例程边看边学 希望有大侠能指点一下 同时希望有这种例程的能给我 ...…

查看全部问答>

请教高手 jffs2_get_inode_nodes(): Data CRC failed on node...问题

/bin/mount -n -t jffs2 /dev/mtdblock/3 -o rw,noatime /app jffs2: Erase block size too small (16KiB). Using virtual blocks size (32KiB) instead Empty flash at 0x02407104 ends at 0x02407200 set hw ether and ip of eth0 eth0: Sett ...…

查看全部问答>

ST给的Demo中的STM3210E-EVAL如何产生的?

IAR编译器下本来的工程应该是Debug,Release,但是ST给的Demo中的 TM3210E-EVAL如何产生的?属于Debug呢还是Release呢?…

查看全部问答>

1602显示问题

我的电路和程序如下,按照郭天祥教程做的,为什么仿真不了??             感谢各路大侠指导     [ 本帖最后由 sphshine 于 2011-10-29 20:29 编辑 ]…

查看全部问答>

P1REN没有定义?

我刚开始学430在编译下面代码的时候,IAR报错 Error[Pe020]: identifier \"P1REN\" is undefined E:\\workspace\\main.c 12 #include \"io430.h\"#include \"intrinsics.h\" int main( void ){  // Stop watchdog timer to prevent time out ...…

查看全部问答>

用LM Flash Programmer通过串口给LM 3S800下载程序时,包长的确定

在boot_serial工程中有config.h配置文件,其中有一个变量为BUFFER_SIZE,原文件中默认为20,当把这样配置的引导程序下载到芯片中后,用LM Flash Programmer通过串口下载程序时,LM Flash Programmer中在“Configation”下的“Transfer Size”最大只 ...…

查看全部问答>