Технические характеристики

Полные характеристики оборудования, справочник по темам ROS2, сводка API Piper_sdk и руководство по устранению неполадок.

Механические характеристики

Спецификация Ценить
Степени свободы6 степеней свободы + дополнительный захват
Достигать~600 мм
Макс. полезная нагрузка~1,5 кг
Повторяемость±0,1 мм
Форм-факторКомпактная столешница/рабочий стол
МногорукийДвойной ведущий-ведомый через отдельные интерфейсы CAN
ПроизводительAgileX Робототехника

Электрика и связь

Спецификация Ценить
Источник питания24 В постоянного тока
КоммуникацияCAN-шина – 1 000 000 бит/с (1 Мбит/с)
Хост-интерфейсАдаптер USB-CAN (например, CANable, GS_USB)
Linux-интерфейсСокетCAN (can0, can1, …)

Программное обеспечение и управление

Спецификация Ценить
Режимы управленияПоложение сустава, поза конечного исполнительного органа, захват
Python SDKpip3 install piper_sdkagilexrobotics/piper_sdk
Пакет РОСagilexrobotics/piper_ros (РОС Noetic + MoveIt)
МоделированиеБеседка далеко piper_gazebo.launch
URDFpiper_description.urdf (прошивка ≥ S-V1.6-3)
Поддержка ОСУбунту 18.04, 20.04, 22.04
Версия PythonПитон 3.6+

Совместные ограничения

Соединение мой (ты) Макс (ты)
Сустав 1−175+175
Сустав 2−90+135
Сустав 3−150+80
Сустав 4−175+175
Совместное 5−90+90
Сустав 6−175+175

Темы и услуги ROS

Стандартные темы и услуги, представленные piper_ros после запуска start_single_piper.launch.

Тема/Услуга Тип Направление Описание
/joint_states датчик_msgs/JointState Суб (отправка команд) Команды положения сустава — подпишитесь на отправку целей движения в руку.
/arm_status piper_msgs/ArmStatus Паб (отзыв) Обратная связь о состоянии рычага: включено/выключено, флаги ошибок, текущие положения суставов.
/end_pose Geometry_msgs/Поза Паб (отзыв) Обратная связь позы конечного эффектора в декартовом пространстве (позиция + кватернион)
/enable_srv std_srvs/SetBool Услуга Давать возможность (true) или отключить (false) все суставы рук
/go_zero_srv std_srvs/Триггер Услуга Прикажите руке переместиться в нулевое/исходное положение
/gripper_srv piper_msgs/GripperCmd Услуга Установите положение захвата (0 = открыто, макс = полностью закрыто)
/stop_srv std_srvs/Триггер Услуга Немедленно прекратить все движения суставов (аварийная остановка через ROS)
/reset_srv std_srvs/Триггер Услуга Сброс ошибок постановки на охрану и повторное включение после неисправности.

Справочник по API piper_sdk

Ключевые методы на C_PiperInterface сорт. Инициализируйте с помощью piper = C_PiperInterface("can0").

Метод Описание
ConnectPort() Откройте интерфейс CAN и запустите поток связи.
EnableArm(7) Включить все 6 суставов и захват (битовая маска; 7 = все)
DisableArm(7) Отключите все соединения — всегда звоните по завершении или перед отключением.
EmergencyStop() Немедленно прекратить все движения суставов.
MotionCtrl_2(j1, j2, j3, j4, j5, j6) Отправьте команду положения сустава с 6 степенями свободы (углы в градусах)
GetArmJointMsgs() Чтение текущих положений суставов, скоростей и крутящих моментов
GetArmEndPoseMsgs() Прочитать текущую декартову позу конечного эффектора
GripperCtrl(position, speed) Установите положение захвата (0 = открыто) и скорость.
GetArmGripperMsgs() Чтение текущего состояния захвата и обратной связи по положению

Поиск неисправностей

Симптом Вероятная причина Исправить
OSError: [Errno 19] No such device CAN-интерфейс не работает Бегать sudo ip link set can0 up и проверьте с помощью ifconfig can0
Рука не реагирует на команды Постановка не в ведомом режиме или не включена Вызов piper.EnableArm(7) после подключения. Убедитесь, что перемычка ведомого режима установлена ​​на рычаге правильно.
Совместная обратная связь считывает все нули Несоответствие битрейта Убедитесь, что битрейт интерфейса CAN равен точно 1000000. Повторите запуск. ip link set can0 type can bitrate 1000000.
can.CanError: Failed to transmit CAN-шина не окончена Убедитесь, что на обоих концах шины CAN присутствуют согласующие резисторы сопротивлением 120 Ом. Включите внутренний терминатор Piper с помощью DIP-переключателя.
Неверная модель робота URDF в RViz Несоответствие прошивки Прошивка < S-V1.6-3: используйте piper_description_old.urdf. Более новая прошивка: используйте piper_description.urdf.
Разрешение отклонено на can0 Пользователь не в сети dialout группа SocketCAN требует root или соответствующих разрешений. Запускайте команды с помощью sudo или настроить правила udev.
VR-телеоп: рука выходит за пределы/выходит за пределы scaleFactor слишком высоко в Unity Уменьшать scaleFactor в приложении Unity и постепенно повторите тестирование. Рабочее пространство Piper меньше, чем xArm.

Репозитории GitHub

Репозиторий Описание
agilexrobotics/piper_sdk Официальный Python SDK. Установить: pip3 install piper_sdk. Включает демоверсии, спецификацию интерфейса (INTERFACE_V2.MD) и двуручная направляющая.
agilexrobotics/piper_ros Пакет ROS Noetic с MoveIt, моделированием Gazebo, URDF и стандартными темами/услугами ROS.
← Вернуться назад на Пайпер Хаб Руководство по установке → Полная вики для разработчиков →

Готовы собирать данные о манипуляциях с помощью Piper?

Доступно для практической оценки и сбора данных на нашем предприятии в Маунтин-Вью, Калифорния.