核心用法
SOARM Control Skill 专为控制 SOARM101 机械臂设计,提供两种主要控制模式:
1. XYZ 坐标控制(推荐)
通过 pinocchio_xyz_drive.py 使用笛卡尔坐标直接控制末端执行器位置,内部自动计算逆运动学。支持参数包括三维坐标、关节速度限制、夹爪控制及串口配置。
2. 关节角度控制
通过 soarm_set_joints.py 直接设定五个关节角度(shoulder-pan、shoulder-lift、elbow-flex、wrist-flex、wrist-roll),适用于精确预设位置恢复。
关键功能特性:
- 内置
home与look_desktop等预设位姿 --keep-connected参数支持连续运动场景,减少连接开销- 状态查询与失能控制辅助脚本
- 依赖 Hugging Face LeRobot 框架与 Pinocchio 运动学库
显著优点
- 抽象层级友好:XYZ 控制屏蔽底层运动学细节,降低使用门槛
- 生态整合:基于开源 LeRobot 项目,与社区数据集和预训练模型兼容
- 灵活部署:Conda 环境管理,支持自定义校准配置
- 硬件适配:针对 SOARM101 优化,提供标准化串口通信接口
潜在缺点与局限性
- 硬件绑定:专用于 SOARM101 机械臂,跨平台迁移需重新校准
- 依赖链复杂:需维护 Python 3.10 + Conda + Pinocchio + LeRobot 多层依赖
- 逆运动学限制:Pinocchio 求解器可能对奇异点或 unreachable poses 处理不够优雅
- 无视觉反馈:纯开环控制,需外部系统补偿定位误差
适合人群
- 机器人研究者与爱好者
- 需要快速搭建机械臂自动化流程的开发者
- 学习逆运动学与机器人控制的入门用户
- 已拥有 SOARM101 硬件的 LeRobot 生态用户
常规风险
- 物理安全风险:机械臂运动可能造成碰撞伤害,需确保工作空间无障碍
- 设备损坏风险:频繁启停或超限位操作可能损伤舵机
- 连接稳定性:串口通信在长时间高频率命令下可能出现延迟或丢包
- 校准依赖:错误的校准文件将导致系统性定位偏差
使用建议
首次部署务必低速测试,验证运动学解的合理性后再提升速度;生产环境建议外接急停开关与边界限位传感器。