简介:,我现在已经创建了一个运行良好的应用程序。问题是,我的胡椒机器人正在做这个应用程序,而站在一个地方。我用AlNavigation.explore()设法让它以间隔的方式移动,但这似乎不是最平滑的方法,因为它主要是围绕自己做圆圈,然后稍微移动一下。另外,当Pepper电池低于15%时,我希望它能找到它的充电站。在自主生活中,我成功地做到了这一点,但当我的应用程序打开时,它就不起作用了。我在我的应用程序中添加了ALRecharge.goToStation()来修复这个问题,但是有时它可以工作,有时却不能。
问题:
1)如何让辣椒在房间里顺利地“走”,然后在别人和佩珀说话时停下来?
2)如何在我的应用程序中添加充电器应用程序,这样他们才能一起工作,或者我应该自己为我的应用程序工作?
3)如何确保Pepper找到充电股票,即使Pepper没有从它所在的位置看到它?
有没有人有这样的例子,也许他们让辣椒“生活”在房间里,也使用胡椒充电站。
谢谢
发布于 2017-05-04 09:20:37
当你让你的辣椒去充电时,充电站必须在视野中(大约小于3米)。
否则,他就找不到了。
我建议的是使用在ALNavigation探索过程中在后台创建的地图,将Pepper发送到他的充电站附近,然后启动ALRecharge.goToStation()方法。
所以在他的充电器上打开你的辣椒最简单的方法(或者重新启动naoqi),所以在探索之后,你只需要让他进入世界位置(0,0,0),然后你可以让他去充电。
如果不想使用导航移动,还可以使用WorldRobotPosition手动将其发送回0、0、0位置。
发布于 2017-05-04 10:10:09
亚历山大解是一个很好的。
如果您通过探索方法在ALNavigation中创建一个映射,您也可以将随机映射中的目标提供给navigateToInMap方法,以便很顺利地导航。
然后,当您使用ALFaceDetection或ALPeoplePerception检测到某人时,您可以决定停止导航。
发布于 2017-05-10 18:25:38
如果您使用ALNavigation,您可以绘制一张地图并使用它与Pepper一起移动:
ALNavigation.explore()
#The best is to start exploration near the charging station, so the coordinates (0,0) will be the charging station
path = ALNavigation.saveExploration()
ALNavigation.loadExploration(path)
ALNavigation.startLocalization()好了,现在你已经本地化了。您可以获得您的机器人当前位置
ALNavigation.getRobotPositionInMap()返回一个具有机器人位置和置信度的数组。在你的机器人上创建一个文件,如果你有多个坐标要保存,就把坐标像{充电器: 0,0}一样放进去。
如果您想要顺利地移动,您可以使用ALNavigation.navigateToInMap(coord),但是它不会很顺利。更好的方法是使用多个ALMotion.moveToward(x,y,θ,configuration)并设置机器人的速度。
https://stackoverflow.com/questions/43758372
复制相似问题