6
我应该执行哪种算法来编程房间清洁机器人?
对于此问题,假定以下情况未知: 房间的大小和形状 机器人的位置 存在任何障碍 还假定以下情况是恒定的: 房间的大小和形状 所有(如有)障碍物的数量,形状和位置 并假定机器人具有以下属性: 它只能以绝对单位递增并以度为单位前进。同样,移动操作成功后将返回true,如果由于阻塞而失败,则将返回false 合理无限制的动力来源(假设它是放置在空间站上的太阳能机器人,该空间站始终始终面向太阳且没有天花板) 每次运动和旋转都绝对精确地进行(不必担心数据不可靠) 最后,请考虑机器人环境的以下属性: 处于无天花板空间站上的房间是安全的,但与经过的彗星之间的距离令人沮丧,因此灰尘(和冰)不断散落在环境中。 我被问到这个问题的简单得多的版本(房间是一个矩形,没有障碍,如何在它上面移动以保证至少可以遍历每个部分),然后我开始想知道如果您不能这样做,该如何处理呢?不能保证形状或障碍物的存在。我已经开始使用Dijkstra的算法来研究这个问题,但是我很着迷于听到其他人如何解决这个问题(或者对此是否有一个公认的答案?(Roomba是如何做到的?)