Как получить совместные координаты робота Нао? - PullRequest
0 голосов
/ 01 июля 2019

Для моего проекта человек следует за движениями робота Нао, и у меня есть данные скелета человеческого сустава в мировой координате в виде (x, y, z) от датчика глубины. Теперь мне нужны совместные координаты робота, чтобы оправдать имитацию человека. Датчик глубины не может отследить робота Nao.

Я нашел положения датчиков робота, используя функцию motionProxy.getPosition. Я также попытался выяснить названия соединений с устаревшей функцией getJointNames, но нет функции для определения «позиций» этих соединений.

Должен ли я вручную измерять расстояние между суставами и датчиками и рассчитывать положение сустава? Кроме того, кто-нибудь пробовал использовать Vicon или другую систему отслеживания движения на роботе Nao?

1 Ответ

0 голосов
/ 02 июля 2019

Вы можете иметь положение любого сустава в декартовом мире, используя 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]

...

...