如何获取Nao机器人的关节坐标?

How to get Nao robot's joint coordinates?

对于我的项目,一个人跟随 Nao 机器人的运动,我从深度传感器获得了世界坐标中的人体骨骼关节数据(x,y,z)。现在我需要机器人的关节坐标来证明人类模仿的合理性。深度传感器无法追踪到Nao机器人

我使用 motionProxy.getPosition 函数找到了机器人的传感器位置。我还尝试使用已弃用的函数 getJointNames 找出关节名称,但没有获取这些关节的 "positions" 的函数。

是否需要手动测量关节和传感器之间的距离并计算关节位置?另外,有人试过在 Nao 机器人上使用 Vicon 或其他运动跟踪系统吗?

您可以使用 ALMotion.getPosition 获得笛卡尔世界中任何关节的位置。 例如:

ALMotion.getPosition( RShoulderPitch 0 1)
[-0.627288878,-0.0759276226,0.991154313,-0.000606168585,-0.315976441,0.014949495]

ALMotion.getPosition( HeadPitch FRAME_TORSO 1)
[-0.0248374045,-0.000473844644,0.991121054,-0.000527210592,-0.317508608,-0.0489440858]

...