历史上的今天
今天是:2025年04月20日(星期日)
2020年04月20日 | 扫地机器人运动轨迹及回位优化的设计思路
2020-04-20 来源:网络整理
(文章来源:网络整理)
自从扫地机器人面世以来,运动轨迹计算以及自动回位的问题就凸显了出来,实现完全的智能化应用一直是这一领域的技术难点,我也研究过目前市面的一些产品的设计,也看了网上大家对各个厂家产品的对比实验,差异很大,并不能满足所有人的需求,而且一些产品装配了众多的,为的只是实现基本的避障和路径优化,个人认为很不值得这么做。
几个月前一个朋友找到我,他遇到了一个问题,他设计的一款扫地机器人总是会莫名其妙地到处乱跑,并且有时候本体与充电基座的连接不是很好,无法很好的充电,这就是我们今天要讲的的路径规划与自动回位的问题,优化设计思路也针对这个产品来做分析。
我先来说一下具体的硬件配置,这个产品的硬件配置是四面4个超声波传感器,充电端两组传感器,超声波传感器用于四个方向的距离估算和障碍物躲避,红外用于与充电底座接近时做精确定位,这样的硬件配置只能说是基本合理,符合原理设计的要求。
原来的算法设计思路是扫地机器人工作时通过四个超声波传感器扫描四周的地面情况,计算四个方向中距离最远的障碍物然后调整到这个方向进行清扫,经过一次循环后,继续按照这种方式进行清扫工作,你可以把整个的清扫地面想象成标准的矩形,扫地机器人首先沿矩形的长边移动,到终点后向宽边移动一定的步进距离,以此类推完成整个的清扫工作,这样的方式看似合理,其实会出现一个致命的问题,超声波传感器的测距范围是有盲区的,所以在某些情况下,进入盲区后,扫地机器人原有的算法逻辑就会发生混乱而导致到处乱撞。
再来看一下回位的问题,我发现网上也有人说过这个事情,一些情况下会出现接触不好甚至是无法回位的情况,朋友的产品也出现了这个问题,我总结了一下,他的充电基座内含一个无线模块,充电机器人内部也有一个无线模块,基本可以覆盖整个清扫环境,充电基座一直处于监听状态,当扫地机器人完成清扫或需要充电时会发送连接请求,建立链接,然后扫地机器人会根据信号强度和超声波绘制的清扫界面来逐步向充电基座靠拢,当接近到一定距离时利用红外测距传感器进行精确定位但是定位精度不高还有就是采用滑轨导入的方式入扣力度不好控制,某些时候会出现接触不良,导致无法充电。
问题讲完了,下面我来说明一下我的改进思路,首先针对路径规划逻辑混乱的问题,我建议在扫地机器人的四周增加红外测距传感器,盲区可以控制到比较低的水平,其实按照理想情况应该每面至少三组,但是由于成本因素最后只保留了每面一组,这样基本解决了盲区的问题,同时可以根据红外测距传感器的数据来微调规划路径,优化行进算法,在实验了很多次后,问题基本得到解决。
关于回位的问题,我的建议有两种,一种是采用整体的方式,这样的好处就是无需精确控制扫地机器人的回位路径,只要它行驶到充电区域即可,而且防水和安全性能会得到很大的提升,但是对应的修改成本比较大,所以我提出了第二点建议,采用辅助定位的方式,只改了部分,最终解决了大部分出现问题的情况。
但是这个方案还可以进一步优化,我的构想是在充电基座底部增加几组磁铁线圈,当扫地机器人进入到一定区域之后,利用磁力来修正中心位置使扫地机器人的中心与底座处于同一位置,类似于同心圆,这样的好处是,如果充电过程中如果有人不小心触碰扫地机器人导致位置偏移,扫地机器人可以自动回位,这样保证了充电的可靠性。
目前还有一些设计修改的优化思路还是停留在构想阶段,有人也建议我利用测距代替红外和超声波的设计,但是个人觉得激光对于光路的设计还有算法方面的修改比较复杂,而且成本相对较高,不能使用很多传感器来进行布局,所以不太愿意采用这样的方式。总体来说对于一个智能化的设备,最实用的还是其根本功能,自动清扫,节省人力和时间,同时价格要亲民,设计的思路和方向还是应该基于这些方面。
(责任编辑:fqj)
史海拾趣
|
急问:MP3电路原理图!请教高手,帮我分析下这个MP3原理图中各个组成部分的原理、处理器的功能。 http://blog.ednchina.com/Upload/Blog/2007/3/30/826adf84-7829-4de7-8065-2149d80d0c85.jpg 请高手帮我分析下这个MP3原理图中各个组成部分的原理、处理器的功能。 谢谢!… 查看全部问答> |
|
求助Could not find file 'C:\WINCE500\PBWorkspaces\e\RelDir\Geode_x86_Release\MyDri Could not find file \'C:\\WINCE500\\PBWorkspaces\\e\\RelDir\\Geode_x86_Release\\MyDriver.exe\' on disk 在生成操作系统镜像的时候出现的问题 怎么解决啊 是编译的过程中出现的问题 … 查看全部问答> |
|
弱弱的问一个问题,Windows中的WinInet API在Window Mobile中能用吗? 例如HttpSendRequest、InternetReadFile之类的函数。 如果不可以,是否手机就不能通过http协议请求某个服务器的数据?… 查看全部问答> |
|
我的2812芯片flash写入了一次之后,就没办法写了怎么回事的?CCS连接之后点on-chip flash programmer,对话框全是灰色的,只有一个onlock按钮可以点,但是点了之后弹出unlock failed,CCS提示解锁失败,设备锁定。 但是上次烧写的时候我并没有改动 ...… 查看全部问答> |
|
在移植mtd-utils时遇到个问题,就是使用nandwrite写入文件系统的映像(jffs2格式)时,出现:Unknown flash (not normal NAND)错误,通过查看源码,这个错误是在程序中检测flash的页面大小处打印的, /* Make sure device page sizes are val ...… 查看全部问答> |
|
我正在学DSP,有几个问题: 关于C5416 外扩的FLASH型号该怎么选择,做音频处理的话,一般用什么型号的FLASH? C5416如何跟FLASH连接? 如何读取数据及存储数据? 希望和各位DSP的大牛们能帮帮我,非常感谢!… 查看全部问答> |
|
本人刚开始学uCOS系统,现在有一块S3C44B0X的板子,想把uCOS移植进去,于是在网上找了一些基于S3C44B0X的uCOS源码,但是不知道如何运用编译器把源码处理,自然也就不知道怎么把内核系统烧进板子,现在不知道如何下手,而且在网上找的资料都没有运用 ...… 查看全部问答> |
|
Pca采集的问题: 单片机C8051F120 我用Pca采集脉冲传感器个数,为什么进入单片机只有一个脉冲,而采集出来的是很多个呢?? Pca初始化: PCA0L = 0x00; PCA0H = 0x00; &nb ...… 查看全部问答> |




