技术规格

完整的硬件规格、ROS2 主题参考、piper_sdk API 摘要和故障排除指南。

机械规格

规格 价值
自由度6 DOF + 可选夹具
抵达〜600毫米
最大有效负载〜1.5公斤
重复性±0.1毫米
外形尺寸紧凑型桌面/台式
多臂通过独立 CAN 接口的双臂主从
制造商敏捷机器人

电气与通讯

规格 价值
电源24伏直流电
沟通CAN 总线 — 1,000,000 bps (1 Mbps)
主机接口USB 至 CAN 适配器(例如 CANable、GS_USB)
Linux界面套接字CAN(can0, can1, …)

软件与控制

规格 价值
控制方式关节位置、末端执行器姿势、夹具
Python SDKpip3 install piper_sdk敏捷机器人/piper_sdk
ROS包敏捷机器人/piper_ros (ROS Noetic + MoveIt)
模拟凉亭远 piper_gazebo.launch
URDFpiper_description.urdf (固件≥S-V1.6-3)
操作系统支持乌班图 18.04、20.04、22.04
Python版本Python 3.6+

联合限制

联合的 我的(你) 麦克斯(你)
关节1−175+175
关节2−90+135
关节3−150+80
关节4−175+175
关节5−90+90
第 6 关节−175+175

ROS 主题和服务

标准主题和服务公开 piper_ros 启动后 start_single_piper.launch.

主题/服务 类型 方向 描述
/joint_states 传感器消息/关节状态 Sub(发送命令) 关节位置命令 - 订阅将运动目标发送到手臂
/arm_status Piper_msgs/ArmStatus 酒吧(反馈) 手臂状态反馈:启用/禁用、错误标志、当前关节位置
/end_pose 几何信息/姿势 酒吧(反馈) 笛卡尔空间中的末端执行器姿势反馈(位置+四元数)
/enable_srv std_srvs/SetBool 服务 使能够 (true) 或禁用 (false) 所有手臂关节
/go_zero_srv std_srvs/触发器 服务 命令手臂移动到零/起始位置
/gripper_srv Piper_msgs/GripperCmd 服务 设置夹具位置(0 = 打开,最大 = 完全关闭)
/stop_srv std_srvs/触发器 服务 立即停止所有关节运动(通过 ROS 紧急停止)
/reset_srv std_srvs/触发器 服务 复位臂错误并在出现故障后重新启用

Piper_sdk API 参考

上的关键方法 C_PiperInterface 班级。 初始化为 piper = C_PiperInterface("can0").

方法 描述
ConnectPort() 打开CAN接口并启动通信线程
EnableArm(7) 启用所有 6 个关节和夹具(位掩码;7 = 全部)
DisableArm(7) 禁用所有关节 - 完成后或断开连接之前始终调用
EmergencyStop() 立即停止所有关节运动
MotionCtrl_2(j1, j2, j3, j4, j5, j6) 发送 6-DOF 关节位置命令(角度以度为单位)
GetArmJointMsgs() 读取当前关节位置、速度和扭矩
GetArmEndPoseMsgs() 读取当前末端执行器笛卡尔位姿
GripperCtrl(position, speed) 设置夹具位置(0 = 打开)和速度
GetArmGripperMsgs() 读取当前夹具状态和位置反馈

故障排除

症状 可能的原因 使固定
OSError: [Errno 19] No such device CAN接口不up 跑步 sudo ip link set can0 up 并验证 ifconfig can0
手臂不响应命令 机械臂未处于从模式或未启用 称呼 piper.EnableArm(7) 连接后。 确认手臂上的从属模式跳线设置正确。
联合反馈读取全零 比特率不匹配 确保CAN接口比特率恰好为1000000。 重新运行 ip link set can0 type can bitrate 1000000.
can.CanError: Failed to transmit CAN总线未终止 确保 CAN 总线两端都有 120 欧姆终端电阻。 通过 DIP 开关启用 Piper 的内部终结器。
RViz 中的 URDF 机器人模型不正确 固件不匹配 固件 < S-V1.6-3:使用 piper_description_old.urdf。 较新的固件:使用 piper_description.urdf.
can0 上的权限被拒绝 用户不在 dialout 团体 SocketCAN 需要 root 或适当的权限。 运行命令 sudo 或配置 udev 规则。
VR teleop:手臂超调/达到极限 scaleFactor Unity 太高了 减少 scaleFactor 在 Unity 应用程序中并逐步重新测试。 Piper 工作空间比 xArm 小。

GitHub 存储库

存储库 描述
敏捷机器人/piper_sdk 官方Python SDK。 安装: pip3 install piper_sdk。 包括演示、接口规范(INTERFACE_V2.MD)和双臂导轨。
敏捷机器人/piper_ros ROS Noetic 包,包含 MoveIt、Gazebo 模拟、URDF 和标准 ROS 主题/服务。
← 返回派珀中心 设置指南 → 完整的开发者维基 →

准备好使用 Piper 收集操作数据了吗?

可在我们位于加利福尼亚州山景城的工厂进行实际评估和数据收集。