Сообщество рук Уцзи

Общие вопросы и устранение неполадок, связанных с SDK Wuji dexterous Hand, конвейером JSONL и интеграцией платформы.

FAQ

Какой пакет Python мне нужен для чтения данных с руки Wuji?

Установить wujihandpy, официальный пакет Wuji SDK Python:

pip install wujihandpy numpy

The wuji_hand_sdk_stream.py скрипт моста импортирует его через import wujihandpy и звонки hand.read_joint_actual_position(timeout=0.4) чтобы получить массив позиций суставов 5×4. Проверьте установку: python3 -c "import wujihandpy; print(wujihandpy.__version__)".

Что представляет собой массив позиций суставов 5×4?

Рука уцзи имеет 5 пальцев (большой, указательный, средний, безымянный, мизинец), каждый с 4 суставами. read_joint_actual_position() вызов возвращает плоский список из 20 чисел с плавающей запятой, представляющих углы сочленений в радианах. Сценарий моста преобразует его в массив 5×4, вычисляет среднее значение по 4 суставам каждого пальца и нормализует диапазон от [0, π/2] до [0, 1], чтобы получить значение для каждого пальца. bends значение, используемое в телеоперации и записи.

Карта давления всегда равна нулям. Это нормально?

Это может быть. Если подключено только оборудование положения шарнира без модуля тактильного датчика, pressure_map_24x32 Поле представляет собой заполнитель, заполненный нулями. Использовать mock_wuji_stream.py чтобы убедиться, что конвейер рендеринга тепловых карт работает правильно. Для производственного использования убедитесь, что ваша версия прошивки Wuji включает поддержку тактильных датчиков, а также что тактильный модуль запитан и подключен.

Как мне работать без физического оборудования?

Используйте прилагаемый mock_wuji_stream.py скрипт для создания синтетических кадров JSONL с анимированными изгибами пальцев, тактильной картой гауссовых капель давления, 6-осевыми данными IMU и показаниями ЭДС с настраиваемой частотой Гц:

python3 mock_wuji_stream.py --hz 30 --hand-side right --seed 42

Чтобы использовать фиктивный поток с агентом, переопределите команду потока по умолчанию с помощью --wuji-cmd:

python3 wuji_glove_agent.py \
  --session YOUR_SESSION_ID \
  --node-id wuji-mock \
  --wuji-cmd "python3 mock_wuji_stream.py --hz 30 --hand-side right"

Все функции платформы работают одинаково в макетном режиме.

В чем разница между wuji_glove_agent.py и wuji_hand_sdk_stream.py?

wuji_hand_sdk_stream.py является источником данных: он импортирует wujihandpy, считывает необработанные позиции суставов с оборудования и отправляет кадры JSONL на стандартный вывод с настраиваемой частотой. wuji_glove_agent.py — это мост платформы: он запускает сценарий потока как подпроцесс, анализирует выходные данные JSONL и пересылает декодированные данные датчиков на платформу Fearless через WebSocket. Агент также обрабатывает регистрацию сеанса, буферизацию телеметрии, повторное подключение и проверку связи с задержкой.

Как выбрать левую или правую руку?

Проходить --glove left, --glove right, или --glove auto (по умолчанию) wuji_glove_agent.py. В автоматическом режиме агент считывает hand_side поле из первого кадра JSONL. Скрипт потока принимает --hand-side left или --hand-side right, по умолчанию вправо. Для двусторонней записи запустите два процесса агента с разными --node-id ценности и разные --glove настройки, подключенные к одному и тому же идентификатору сеанса.

Агенту не удается подключиться к платформе WebSocket. Что мне следует проверить?

Убедитесь, что серверная часть Fearless работает: curl http://localhost:8000/health. Если вы используете удаленный сервер, передайте правильный URL-адрес: --backend ws://HOST:PORT. Агент использует экспоненциальную задержку (минимум 1 с, максимум 10 с) для повторного подключения — следите за выводом терминала на предмет попыток повторного подключения и конкретного сообщения об ошибке.

Лучше всего работает с OpenArm 101.

Wuji Hand — рекомендуемая перчатка оператора для ОпенАрм 101 сеансы телеоперации. Установите OpenArm на устойчивую поверхность, подключите агент Wuji к тому же сеансу, что и агент Arm, и вы получите полную установку для сбора данных для телеоперации и имитационного обучения. См. Шаг настройки телеоперации OpenArm инструкции по интеграции.

Готовы начать собирать?

Данные телеоперации с высокой степенью резкости при частоте 30 Гц. Лучше всего работает с OpenArm 101.