• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

求一个扫地机器人遍历算法

iksun 2018-04-20 浏览量:2458
使用STM32做了一个扫地机器人,遍历算法查了好多资料是基于碰撞实现的随机,并不能真正遍历,有什么算法实现?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 你所谓的遍历的前提是对区域有全面的描述,和准确的定位,而这个都是不确定的

    其中区域描述是因为对扫地机器人来说要适应完全不同的房间而不确定(还包括无数临时、半临时的遮蔽阻挡物)

    此外还有就是较为精确的定位(需要至少厘米级),当前也不是可行的,或者说是不经济的

    当然,确实有可行的方案(比如通过一些辅助手段实现定位,并对区域进行测定),但这样的成本是相当高的,在此基础上实现遍历算法才有意义,否则还不如随机碰撞,理论上只要供电时间够,基本上能覆盖完整的。

    • 发布于 2018-04-20
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:11
  • 题主,这个属于扫地机的核心竞争力,不会对外开放的,覆盖率越高的算法越好,你可以了解下slam,室内定位导航
    • 发布于2018-04-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 碰撞实现的随机算法成本比较低,门槛也比较低。真正遍历的,需要有识别算法,能够识别房间的特征,那个比较复杂的
    • 发布于2018-04-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 基于碰撞和遍历的关系并不是太大,碰撞是指的转弯(检测边界)的方法,而遍历更在意的是扫干净(全部扫到),能够很远距离得检测边界(小米(石头科技)等高端产品的核心科技)有利于遍历,但其实碰撞也能实现遍历的。遍历的要点是总要去自己没去过的地方,去过的地方就不去了。基于碰撞,说个简单思路,希望能对你有些启发(我也不是专业人士),基本控制程序是:1.精准转180度。2.平移一个体位(可以结合1实现)。思路是从起点开始直线行驶,碰撞后精准转180,同时平移一个体位,然后直线。如此重复N次,平移方向到头后反方向直接平移N个体位,反方向进行同样控制。这样对于一个长方型的屋子应该效率还是不错的
    • 发布于2018-04-20
    • 举报
    • 评论 0
    • 0
    • 0

  • https://wenku.baidu.com/view/4b6327fe81eb6294dd88d0d233d4b14e85243ecf.html,这里面说了点遍历算法,但是总感觉遍历算法说的太清楚的没有相关资料,目前还是随机碰撞的多,毕竟成本低。
    • 发布于2018-04-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 本来就是随便扫扫的东西,那些贵的会说算法多好多好,然后能覆盖大部分面积这一点我也赞同,普通你编程玩玩的话,就大致一行行扫下来就差不多了,还有加个寻电源壁障就差不多了,除非做这个行业,才去很精细的考虑识别环境,立体建模这些
    • 发布于2018-04-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种算法网上搜索一下,随机碰撞的算法使用的比较多
    • 发布于2018-04-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 只能是随机碰撞算法,其他的算法局限性比较大或者算法太复杂不对外公布
    • 发布于2018-04-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种算法都是属于各个公司的专利或是机密,是花很我年调试的算法,不会公开 开源的
    • 发布于2018-04-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 随机碰撞算法实现起来比较简单,也更符合日常扫地的情景,有些地方的确需要重复打扫,如果是要较为智能的算法,需要主控芯片记录运行轨迹,一般厂商为了避免出现严重的BUG都不加入此种算法。

    • 发布于2018-04-24
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是比较难的问题.

    涉及到机器学习.


    • 发布于2018-04-27
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

求一个扫地机器人遍历算法