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 螺钉固定。
- 棕榈 (MC) 变体 — M2020-Elite(20×20 毫米)。 安装在机器人掌板上的凹槽中。 角落处有四个 M2 螺丝孔。
对于指尖 (DP) 型号,将传感器平面与指尖接触面对齐。 将带状电缆沿着手指身体向手腕方向布线,用随附的电缆夹固定,以防止在运动过程中被绊住。 避免带状电缆急剧弯曲 - 保持至少 5 毫米的弯曲半径。
接线及通讯板
通过 USB 将传感器连接到通信板和主机 PC
产品包中包含三个通信板选件。 根据您的部署进行选择:
- 10 通道 SPI 集线器 — 通过集线器 PCB 上标记的通道端口连接最多 10 个传感器块。 每个端口都接受传感器带状连接器。 通过随附的 5V USB 电缆为集线器供电。 使用该板进行全手触觉覆盖。
- 单通道串行转换器 — 用于单传感器原型设计。 将传感器带连接到板的单个端口。 该板向主机提供 USB 串行接口。
- 高速集成板 — 多通道 SPI/I2C。 通道接线图请参阅产品包中的通信协议文档(v1.0.5)。
连接完毕后,将通信板 USB 电缆插入 Windows x64 主机。 开发板的电源 LED 应立即亮起。 主机将枚举一个新的 COM 端口 (Windows) 或 /dev/ttyUSB* (Linux)。
驱动程序和 PXSR 软件安装
在 Windows x64 主机上安装 PXSR v1.0.7
PXSR 软件注册 USB 驱动程序、提供实时热图可视化并处理数据导出。 初始设置和校准验证需要它。
- 定位
pxsr-gen3-win-x64-1.0.7_Release.exe在 【04】软件安装包 产品包的文件夹。 - 以管理员身份运行安装程序。 接受 UAC 提示 — 安装程序为通信板注册 WHQL 签名的 USB 驱动程序。
- 安装完成后,PXSR 将在以下位置可用:
C:\Program Files\PaXini\PXSR\PXSR.exe. - 如果 Windows 提示重新启动驱动程序,请重新启动。
传感器校准
加载XLSX坐标文件并建立零负载基线
每个 GEN3 变体都附带相应的 XLSX 文件,该文件将原始紫杉醇索引映射到相对于传感器中心的物理 (x, y) 坐标(以毫米为单位)。 准确的热图渲染和接触质心计算需要加载正确的文件。
- 打开 PXSR。 连接通讯板后,单击 连接。 状态栏应显示“设备已连接”。
- 前往 文件 → 打开坐标图 并选择与您的传感器型号匹配的 XLSX 文件。 使用表中的 规格 确认正确的文件名(例如,
PXSR-STDDP03B.xlsx适用于 26 毫米 M2826-Omega 指尖)。 - 确保传感器已卸载(无接触,感应面上无重力负载)。 点击 校准 → 零基线。 PXSR 捕获 100 帧并存储所有taxel 和所有 6 个 F/T 轴的零负载偏移。
- 在传感器卸载的情况下,验证右侧面板中的 6 轴条的读数均接近零(在 ±0.02 N / ±0.001 Nm 内)。
数据流验证
确认实时力/扭矩读数和紫杉醇热图
连接并校准 PXSR 后,在集成到机器人管道之前验证所有传感器通道是否正确传输。
- 对传感器表面施加轻柔、均匀的指尖压力。 热图面板应显示接触点处的局部高压区域。
- 将指尖滑过表面并观察 PXSR 覆盖层中的接触质心跟踪。
- 横向按压传感器(剪切力)——Fx 和 Fy 条应响应,同时 Fz 保持接近零。
- 对于 SPI 集线器部署:验证 PXSR 中的每个通道选项卡是否显示实时数据。 数据为零的通道表示色带连接松动 - 重新安装并重试。
要导出数据以进行离线分析,请使用 录音 → 开始。 PXSR 保存包含以下列的 CSV:时间戳 (Unix ms)、Fx、Fy、Fz、Tx、Ty、Tz 和完整的平面紫杉醇数组。 每一行都是一个样本帧。
ROS2集成
通过 Python pyserial 包装器将传感器数据发布到 ROS2 主题
对于 ROS2 集成,请使用 pyserial 直接从通信板的 USB 串行端口读取帧并将其发布到 ROS2 主题上。 下面的框架符合 Fearless Platform WebSocket 期望的 JSONL 遥测格式,并且可以适用于 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)以启用基于浏览器的实时热图查看和同步片段记录以及联合和摄像机流。 请参阅 开发者维基 完整的注册握手和遥测格式。