Я хочу переместить NAO, отправив данные о скорости через NAOqi C ++ API ALMotionProxy :: moveToward (), это требует нормированной скорости вдоль x-y-z. Я генерирую эти команды с помощью джойстика, чтобы они автоматически нормализовались в диапазоне [-1,1].
Однако, когда я устанавливаю соответствующие значения в методе, NAO перемещается, только если значения точно равны -1 или +1. Для всех остальных значений вместо этого он вообще не перемещается. Это выглядит как необычное поведение, потому что, используя блок moveToward в Choregraphe, NAO фактически перемещает также значения от -1 до 1.
Я печатаю сгенерированные команды джойстика до того, как они будут предоставлены двигаться в сторону() метод, поэтому я уже проверил, что они правильно приобретены. Я командую NAO только вдоль направления x и z.
Вставка кода здесь не нужна, интерес представляет просто вызов метода
motionProxy.moveToward(fvel_x,0.0f,fvel_z);
Пожалуйста, скажите мне, если вам нужна дополнительная информация. Заранее спасибо за ваши ответы.
Задача решена. Существует конфликтная проблема между версией Naoqi 1.14 и OpenCV, работающей в Ubuntu 14.04 (фактически, документация Naoqi не обеспечивает поддержку более новой ОС). Запуск того же кода на Ubuntu 12.04 решил мою проблему.
Других решений пока нет …