Skip to content

PSI 手套 ROS2 SDK 使用手册

ψ-SynGlove Air ROS2 驱动与可视化文档。

📋 目录

  1. 硬件安装方法说明
  2. SDK安装和配置方法
  3. 例程编译和调用方法
  4. SDK接口调用说明
  5. SDK打印内容说明
  6. 连接状态查询与故障排查

1. 硬件安装方法说明

本文适用于 ψ-SynGlove Air(Air Hand V2):22 路关节 ADC 采集,五指可选配 LRA 线性马达 触觉反馈。

SDK 源码:psi-air-glove-SDK/psi-air-glove-SDK/ros2_sdk/(包 psi_glove_ros2psi_glove_visualizer)。

1.1 硬件清单

  • PSI 数据手套(左手/右手)
  • USB 数据线

1.2 硬件连接步骤

  1. USB 连接手套与计算机
  2. Linux 确认设备:ls /dev/ttyACM*
  3. 串口权限:sudo usermod -a -G dialout $USER

1.3 与驱动的关系

驱动通过 left_port / right_port 参数指定串口,默认 auto_connect:=true


2. SDK安装和配置方法

2.1 系统要求

ROS2(Humble 等)、GCC 9+、yaml-cpp;可视化包另需 Python 与 mujoco

2.2 编译

bash
cd ~/ros2_ws/src
# 链接或复制 ros2_sdk 下包到 src/
colcon build --packages-select psi_glove_ros2 psi_glove_visualizer
source install/setup.bash

2.3 配置

psi_glove_ros2/config/default_config.yaml — 左右手各指 min/max 校准。

2.4 启动

bash
ros2 launch psi_glove_ros2 psi_glove.launch.py \
  left_port:=/dev/ttyACM0 right_port:=/dev/ttyACM1

3. 例程编译和调用方法

3.1 例程列表

例程名称路径功能说明
驱动启动launch/psi_glove.launch.py双手套采集
订阅示例examples/subscriber_example.py订阅 /psi_glove_left
可视化psi_glove_visualizer/launch/visualizer.launch.pyMuJoCo
简单订阅psi_glove_visualizer/examples/simple_subscriber.py轻量示例

3.2 运行

bash
ros2 launch psi_glove_ros2 psi_glove.launch.py left_port:=/dev/ttyACM0
ros2 topic echo /psi_glove_left
ros2 service call /play_lra psi_glove_ros2/srv/PlayLra \
  "{hand: 'left', modes: [5,0,0,0,0], amplitudes: [32,0,0,0,0]}"

4. SDK接口调用说明

4.1 话题

话题说明
left_topic / right_topic校准后关节角(可配置,默认 /ruiyan_hand/.../set_angles
psi_glove_left / psi_glove_right原始 22 路 ADC

4.2 参数

left_portright_portbaudratefrequencyconfig_fileauto_connect 等(见 launch)。

4.3 PlayLra 服务

hand: "left" | "right"modes[5]amplitudes[5]

4.4 不包含

  • Python 离线 wheel、FingertipPoseCalculator
  • C++ OpenCV 可视化器(ROS 侧用 psi_glove_visualizer

5. SDK打印内容说明

节点启动打印端口、频率、配置路径;subscriber_example 打印帧与关节采样;play_lra 返回 success/message


6. 连接状态查询与故障排查

bash
ros2 topic hz /psi_glove_left
ros2 service list | grep play_lra

常见问题:串口权限、YAML 未安装到 share、校准范围、play_lra 数组长度必须为 5。

分章节阅读:安装 · 例程 · API · 输出 · 排查