Questions tagged «coverage»

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

2
访问未知障碍的网格上每个可访问空间的有效方法是什么?
我正在尝试使用探索在相当粗糙的2D网格空间中创建障碍物的地图。我通过尝试从一个空间移动到相邻空间来检测障碍物,如果失败,则目标空间中会存在障碍物(此问题中没有测距传感器的概念)。 示例网格http://www.eriding.net/resources/general/prim_frmwrks/images/asses/asses_y3_5d_3.gif(例如) 当所有可到达的正方形都已被访问时,该过程完成。换句话说,即使某些空间没有障碍物(因为它们被包围),它们也可能是完全无法到达的。这是预期的。 在最简单的情况下,我可以使用DFS算法,但是我担心这将花费很长时间才能完成-机器人将花更多的时间回溯而不是探索新领域。我希望这在尝试到达无法到达的正方形时尤其成问题,因为机器人将耗尽所有选择。 在更复杂的方法中,正确的方法似乎是Boustrophedon细胞分解。 但是,我似乎找不到关于Boustrophedon细胞分解算法的完整描述(即,简单的完整描述)。还有像资源这一块,或在垂直细胞分解更一般的一个,但他们没有提供多少洞察高级算法,也没有涉及到的低级别的数据结构。 如何有效访问(映射)此网格?如果存在,我希望有一种算法在网格平方总数方面比更好(即对于网格,它比好)。O(n2)O(n2)O(n^2)O(n4)O(n4)O(n^4)n∗nn∗nn*n
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.