2. SDK安装和配置方法 
2.1 系统要求 
- ROS2 版本: Humble(推荐)
 - 操作系统: Ubuntu 22.04 LTS(推荐)
 - C++ 编译器: GCC 7+ / Clang 5+
 - CMake 版本: 3.16 或更高版本
 - Python 版本: 3.8 或更高版本
 - 依赖包: 
rclcpp(ROS2 C++ 客户端库)sensor_msgs(ROS2 传感器消息)matplotlib(Python 可视化,用于可视化器)numpy(Python 数值计算,用于可视化器)
 
2.2 设置 ROS2 工作空间 
2.2.1 创建工作空间 
bash
# 创建工作空间目录
mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
# 复制 ROS2 SDK 包
cp -r /path/to/psi-glove-SDK/ros2_sdk/psi_glove_ros2 .
cp -r /path/to/psi-glove-SDK/ros2_sdk/psi_glove_visualizer .
# 验证目录结构
ls
# 输出:
# psi_glove_ros2/
# psi_glove_visualizer/2.2.2 安装依赖 
bash
# 进入工作空间根目录
cd ~/ros2_ws
# 使用 rosdep 安装 ROS2 依赖
rosdep install --from-paths src --ignore-src -r -y
# 安装 Python 依赖(用于可视化器)
pip3 install matplotlib numpy2.3 编译 SDK 
bash
# 进入工作空间根目录
cd ~/ros2_ws
# 编译所有包
colcon build --packages-select psi_glove_ros2 psi_glove_visualizer
# 或单独编译
# colcon build --packages-select psi_glove_ros2
# colcon build --packages-select psi_glove_visualizer
# 编译输出应显示:
# Starting >>> psi_glove_ros2
# Finished <<< psi_glove_ros2 [10.2s]
# Starting >>> psi_glove_visualizer
# Finished <<< psi_glove_visualizer [2.5s]
#
# Summary: 2 packages finished2.3.1 编译选项 
bash
# 编译 Release 版本(优化性能)
colcon build --packages-select psi_glove_ros2 --cmake-args -DCMAKE_BUILD_TYPE=Release
# 编译 Debug 版本(包含调试信息)
colcon build --packages-select psi_glove_ros2 --cmake-args -DCMAKE_BUILD_TYPE=Debug
# 清理后重新编译
colcon build --packages-select psi_glove_ros2 --cmake-clean-cache
# 编译时显示详细信息
colcon build --packages-select psi_glove_ros2 --event-handlers console_direct+2.4 配置环境 
bash
# 加载编译后的环境(每次打开新终端都需要执行)
source ~/ros2_ws/install/setup.bash
# 验证包是否正确安装
ros2 pkg list | grep psi_glove
# 输出:
# psi_glove_ros2
# psi_glove_visualizer
# 查看包信息
ros2 pkg prefix psi_glove_ros2
# 输出: /home/user/ros2_ws/install/psi_glove_ros2
# 永久配置(添加到 ~/.bashrc)
echo "source ~/ros2_ws/install/setup.bash" >> ~/.bashrc2.5 SDK 可配置参数说明 
ROS2 SDK 通过参数系统提供灵活的配置选项:
2.5.1 启动参数(Launch Arguments) 
| 参数名称 | 类型 | 默认值 | 说明 | 
|---|---|---|---|
left_port | string | /dev/ttyACM0 | 左手手套串口路径 | 
right_port | string | /dev/ttyACM1 | 右手手套串口路径 | 
baudrate | int | 115200 | 串口通信波特率 | 
frequency | int | 100 | 数据采集频率(Hz) | 
left_topic | string | /ruiyan_hand/left/set_angles | 左手话题名称 | 
right_topic | string | /ruiyan_hand/right/set_angles | 右手话题名称 | 
config_file | string | default_config.yaml | 校准配置文件 | 
auto_connect | bool | true | 启动时自动连接设备 | 
2.5.2 节点参数(Node Parameters) 
bash
# 查看节点所有参数
ros2 param list /psi_glove_node
# 获取特定参数值
ros2 param get /psi_glove_node left_port
ros2 param get /psi_glove_node baudrate
# 动态修改参数(运行时)
ros2 param set /psi_glove_node frequency 150
# 保存当前参数到文件
ros2 param dump /psi_glove_node --output-dir ~/ros2_ws/config/2.5.3 典型配置示例 
配置 1: 单手(左手)标准配置
bash
ros2 launch psi_glove_ros2 psi_glove.launch.py \
    left_port:=/dev/ttyACM0 \
    baudrate:=115200 \
    frequency:=100配置 2: 双手配置
bash
ros2 launch psi_glove_ros2 psi_glove.launch.py \
    left_port:=/dev/ttyACM0 \
    right_port:=/dev/ttyACM1 \
    baudrate:=115200 \
    frequency:=100配置 3: 高速配置(低延迟)
bash
ros2 launch psi_glove_ros2 psi_glove.launch.py \
    left_port:=/dev/ttyACM0 \
    baudrate:=500000 \
    frequency:=150配置 4: 自定义话题名称
bash
ros2 launch psi_glove_ros2 psi_glove.launch.py \
    left_port:=/dev/ttyACM0 \
    left_topic:=/psi_glove/left \
    right_port:=/dev/ttyACM1 \
    right_topic:=/psi_glove/right2.6 配置文件 
2.6.1 创建配置文件 
bash
# 创建配置目录
mkdir -p ~/ros2_ws/src/psi_glove_ros2/config
# 创建配置文件
nano ~/ros2_ws/src/psi_glove_ros2/config/my_config.yaml配置文件示例 (my_config.yaml):
yaml
# PSI 手套配置文件
psi_glove_node:
  ros__parameters:
    # 串口设置
    left_port: "/dev/ttyACM0"
    right_port: "/dev/ttyACM1"
    baudrate: 115200
    
    # 采集设置
    frequency: 100
    timeout_ms: 6
    smoothing_window_size: 10
    
    # 话题设置
    left_topic: "/psi_glove/left"
    right_topic: "/psi_glove/right"
    
    # 连接设置
    auto_connect: true
    
    # 校准参数
    calibration:
      left_hand:
        thumb:
          joint_0: {min: 500, max: 3500}
          joint_1: {min: 600, max: 3400}
          joint_2: {min: 550, max: 3450}
          joint_3: {min: 580, max: 3420}
          joint_4: {min: 520, max: 3480}
      right_hand:
        thumb:
          joint_0: {min: 500, max: 3500}
          # ... 其他关节2.6.2 使用配置文件 
bash
# 使用自定义配置文件
ros2 launch psi_glove_ros2 psi_glove.launch.py \
    config_file:=/path/to/my_config.yaml