Руководство по установке Paxini PX-6AX GEN3
От распаковки до потоковой передачи данных за шесть шагов. Охватывает монтаж, проводку, программное обеспечение PXSR, калибровку, проверку и интеграцию ROS2.
Монтаж
Прикрепите сенсорную плитку к конечному эффектору робота.
Семейство GEN3 поставляется в трех анатомических форм-факторах. Выберите правильный вариант и точку крепления:
- Варианты на кончиках пальцев (DP) — Диаметр от 13 до 30 мм. Предназначен для роботизированных напальчников. 13 мм (S1813-Core/Elite) и 15 мм (S2015-Elite) подходят для таких компактных и ловких рук, как LinkerBot O6. Размеры 26 мм (M2826-Omega) и 30 мм (L3530-Omega) подходят для захватов большего размера.
- Варианты подушечек для пальцев (IP/CP) — Плоские площадки (от 16×10 мм до 53×25 мм) для крепления на дорсальной или вентральной поверхности пальцев робота. Крепится с помощью прилагаемой клейкой основы или винтов M2 в зависимости от варианта.
- Вариант Palm (MC) — М2020-Элит (20х20 мм). Крепится в утопленном кармане на ладонной пластине робота. Четыре отверстия под винты М2 по углам.
Для вариантов с кончиком пальца (DP) выровняйте плоскую поверхность датчика заподлицо с контактной поверхностью кончика пальца. Проложите ленточный кабель вдоль корпуса пальца по направлению к запястью, закрепив его прилагаемыми зажимами, чтобы предотвратить зацепление во время движения. Избегайте резких изгибов шлейфа — соблюдайте радиус изгиба не менее 5 мм.
Плата проводки и связи
Подключите датчик к коммуникационной плате и главному ПК через USB.
В комплект поставки входят три варианта платы связи. Выберите в зависимости от вашего развертывания:
- 10-канальный SPI-концентратор — Подключите до 10 сенсорных панелей через промаркированные порты каналов на плате концентратора. Каждый порт принимает ленточный разъем датчика. Подайте питание на концентратор через прилагаемый USB-кабель 5 В. Используйте эту доску для тактильного покрытия всей руки.
- Одноканальный последовательный преобразователь — Для односенсорного прототипирования. Подключите ленту датчика к единственному порту платы. Плата предоставляет хосту последовательный интерфейс USB.
- Высокоскоростная интегрированная плата — Многоканальный SPI/I2C. Схему подключения каналов см. в документе протокола связи (v1.0.5) в комплекте поставки продукта.
После подключения подключите USB-кабель коммуникационной платы к хосту Windows x64. Светодиод питания на плате должен загореться немедленно. Хост перечислит новый COM-порт (Windows) или /dev/ttyUSB* (Линукс).
Установка драйвера и программного обеспечения PXSR
Установите PXSR v1.0.7 на свой хост с Windows x64.
Программное обеспечение PXSR регистрирует драйвер USB, обеспечивает визуализацию тепловой карты в реальном времени и осуществляет экспорт данных. Он необходим для первоначальной настройки и проверки калибровки.
- Найдите
pxsr-gen3-win-x64-1.0.7_Release.exeв 【04】Установочный пакет программного обеспечения папку вашего комплекта продуктов. - Запустите установщик от имени администратора. Примите приглашение UAC — установщик регистрирует USB-драйвер, подписанный WHQL, для коммуникационной платы.
- После завершения установки PXSR будет доступен по адресу:
C:\Program Files\PaXini\PXSR\PXSR.exe. - Перезагрузитесь, если Windows предложит перезагрузку драйвера.
Калибровка датчика
Загрузите файл координат XLSX и установите базовую линию с нулевой нагрузкой.
Каждый вариант GEN3 поставляется с соответствующим файлом XLSX, который сопоставляет необработанные индексы такселей с физическими координатами (x, y) в миллиметрах относительно центра датчика. Загрузка правильного файла необходима для точного рендеринга тепловой карты и расчета контактного центра.
- Откройте PXSR. Подключив плату связи, нажмите Соединять. В строке состояния должно отображаться «Устройство подключено».
- Перейти к Файл → Открыть карту координат и выберите файл XLSX, соответствующий варианту вашего датчика. Используйте таблицу в Характеристики чтобы подтвердить правильность имени файла (например,
PXSR-STDDP03B.xlsxдля наконечника пальца M2826-Omega диаметром 26 мм). - Убедитесь, что датчик разгружен (нет контакта, нет гравитационной нагрузки на чувствительную поверхность). Нажмите Калибровка → Нулевая базовая линия. PXSR захватывает 100 кадров и сохраняет смещение нулевой нагрузки для всех такселей и всех 6 осей F/T.
- Убедитесь, что показания 6-осевых полос на правой панели близки к нулю (в пределах ±0,02 Н / ±0,001 Нм) при разгруженном датчике.
Проверка потоковой передачи данных
Подтвердите текущие показания силы/крутящего момента и тепловую карту такселя.
Подключив и откалибровав PXSR, убедитесь, что все каналы датчиков передают правильную потоковую передачу, прежде чем интегрировать их в конвейер вашего робота.
- Осторожно и равномерно надавите кончиком пальца на поверхность датчика. Панель тепловой карты должна показывать локализованную область высокого давления в точке контакта.
- Проведите кончиком пальца по поверхности и наблюдайте за отслеживанием центра тяжести контакта на наложении PXSR.
- Нажмите на датчик вбок (сила сдвига) — полоски Fx и Fy должны среагировать, пока Fz остается близким к нулю.
- Для развертываний концентратора SPI: убедитесь, что на каждой вкладке канала в PXSR отображаются текущие данные. Каналы с нулевыми данными указывают на ослабленное ленточное соединение — переустановите и повторите попытку.
Чтобы экспортировать данные для автономного анализа, используйте Запись → Старт. PXSR сохраняет CSV со столбцами: временная метка (Unix ms), Fx, Fy, Fz, Tx, Ty, Tz и полный плоский массив такселей. Каждая строка представляет собой один образец выборки.
Интеграция ROS2
Публикация данных датчиков в темах ROS2 через оболочку Python pyserial.
Для интеграции ROS2 используйте pyserial считывать кадры непосредственно с последовательного USB-порта коммуникационной платы и публиковать их в темах ROS2. Приведенный ниже скелет соответствует формату телеметрии JSONL, ожидаемому Fearless Platform WebSocket, и может быть адаптирован для ROS2. sensor_msgs издательский.
#!/usr/bin/env python3 # paxini_ros2_bridge.py — Paxini GEN3 → ROS2 topic publisher # Requires: pyserial, rclpy, sensor_msgs import serial, json, time import rclpy from rclpy.node import Node from std_msgs.msg import String class PaxiniPublisher(Node): def __init__(self): super().__init__('paxini_gen3') self.pub = self.create_publisher(String, '/paxini/tactile', 10) # Configure port per PaXini GEN3 Communication Protocol v1.0.5 self.ser = serial.Serial('/dev/ttyUSB0', baudrate=115200, timeout=0.1) self.create_timer(0.01, self.read_and_publish) # 100 Hz def read_and_publish(self): raw = self.ser.read(64) # frame size: see protocol doc if len(raw) == 0: return ft = self.parse_force_torque(raw) taxels = self.parse_taxel_array(raw) msg = String() msg.data = json.dumps({ "type": "telemetry", "device": "paxini_gen3", "ft": ft, "taxels": taxels, "ts": int(time.time() * 1000) }) self.pub.publish(msg) def parse_force_torque(self, raw): # Implement per PaXini GEN3 Communication Protocol v1.0.5 return {"fx": 0.0, "fy": 0.0, "fz": 0.0, "tx": 0.0, "ty": 0.0, "tz": 0.0} def parse_taxel_array(self, raw): # Returns flat list of taxel pressure values return [] def main(): rclpy.init() node = PaxiniPublisher() rclpy.spin(node) if __name__ == '__main__': main()
Чтобы подписаться на тему и записать данные в файл JSONL для автономного обучения:
# Subscribe and log to file
ros2 topic echo /paxini/tactile --no-arr > tactile_session.jsonl
/api/teleop/ws), чтобы обеспечить просмотр тепловых карт в реальном времени в браузере и синхронную запись эпизодов вместе с совместными потоками и потоками с камеры. См. Вики для разработчиков для полного подтверждения регистрации и формата телеметрии.