大学我正在做一个项目,我必须教一个机器人(Nao机器人)玩九个男人的莫里斯。不幸的是,我对机器人技术领域还很陌生,我需要一些技巧来解决一些问题。目前我正致力于机器人的本地化/定位,我想知道哪种本地化方法最适合我的项目。
项目的简短说明: 机器人有一个固定的起始位置,必须在一块大小约为3x3米的电路板上走动(当我达到10点声望时,我会张贴电路板的图片)。除了游戏代币外,场上没有障碍物,棋盘上的游戏线标记为黄色。对于方向,我使用机器人拥有的两个相机设备。
我发现了一些像
这样的方法蒙特卡洛本地化
SLAM (同时本地化和制图)
但对于像我这样的初学者来说,这些方法似乎相当复杂,如果有些人有一些好的想法可以解决这个问题的简单方法,我真的很感激。对我来说,功能优先于性能。
答案 0 :(得分:0)
我对这九个男人的莫里斯游戏有着模糊的认识,但我会尽量给你一个更简单的想法。
首先,你需要有一张你的电路板地图。在您的情况下,这应该很容易,因为您的环境是静态的。从您的电路板上执行此映射的technique很少。对于你的情况,我建议有一个度量图,这是一个占用网格。为网格中的每个单元格指定坐标。这将有助于机器人导航。
正如您所提到的,您的机器人从固定位置开始。在启动时,使用此参考位置和方向初始化您的机器人(相对于网格的X-Y轴,可能您不需要相机,我不确定!!)。通过初始化我的意思是,在网格上标记你的位置。
使用Dead Reckoning进行本地化,并在机器人穿过纸板时不断更新机器人的位置和方向。我希望你的机器人从伺服系统获得一些反馈,比如旋转次数等等。进行数学运算并在机器人移动到网格中的不同单元格时更新机器人的位置坐标。
您可以使用A-Star算法查找机器人的路径。您需要先进行路径规划才能导航。您还必须在网格上标记这些游戏代币,以避免在规划路径时发生冲突。