我想通过 NAOqi C ++ API ALMotionProxy::moveToward()发送速度输入来移动NAO,这需要沿x-y-z的标准化速度。我通过操纵杆生成这些命令,以便它们在[-1,1]范围内自动标准化。 但是,当我在方法中设置相应的值时,NAO仅在值正好为-1或+1时才会移动。相反,对于所有其他值,它根本不会移动。这看起来像是一种不寻常的行为,因为在Choregraphe中使用moveToward块,NAO实际上也会移动-1到1之间的值。
我打印生成的操纵杆命令,然后将它们提供给 moveToward()方法,因此我已经检查过它们是否已正确获取。我只沿x和z方向指挥NAO。
此处粘贴代码是不必要的,感兴趣的部分只是方法调用
motionProxy.moveToward(fvel_x,0.0f,fvel_z);
如果您需要更多信息,请告诉我。提前感谢您的回答。
答案 0 :(得分:0)
问题解决了。 Naoqi 1.14版本与OpenCV之间存在冲突问题,在Ubuntu 14.04上运行(实际上,Naoqi文档并不能确保支持更新的操作系统)。在Ubuntu 12.04上运行相同的代码解决了我的问题。