如何在AgileX PIPER机械臂上实现连续轨迹记录和重放
扫描二维码
随时随地手机看文章
掌握机械臂运动的艺术!该项目演示了如何在AgileX PIPER机械臂上实现连续轨迹记录和重放。无论您是构建教学演示还是自动化复杂操作,这本全面的指南都将引导您完成从设置到部署的每一步。
功能演示
你会学到什么:
•用时间序列数据记录复杂的运动轨迹
•回放记录的运动与精确控制
•集成Python SDK与CAN通信
•实施机械臂安全机制
项目概述
该解决方案通过智能时间序列数据管理捕获并再现PIPER机械臂的复杂运动。该系统支持一次性演示和无限循环操作,非常适合教学、测试和生产自动化。
主要特点:
•实时连续轨迹记录教学模式
•多重重放模式(单、多、无限循环)
•双级调速系统
•具有自动接头定位的安全机构
•基于csv的数据持久性,便于可移植性
•完整的抓手集成支持
开始
你需要什么
硬件:
•AgileX PIPER机械臂
•USB-to-CAN模块
•支持Linux的计算机
软件要求:
•Ubuntu 18.04或更高版本
•Python 3.6或更高版本
•Git版本控制
术前检查表
在你开始工作之前,确保你的工作空间已经准备好了。
•清除机械臂周围的所有障碍物
•检查电源是否稳定,指示灯是否正常
•确保良好的照明,以便观察位置
•测试夹持器动作(如果配备)
•确认地面稳定,避免震动
•测试教学按钮功能
环境设置
步骤1:安装系统工具
Bash
步骤2:安装CAN工具和配置
Bash
步骤3:克隆并安装PIPER SDK
Bash
步骤4:克隆项目存储库
Bash
记录你的第一个轨迹
记录工作流程
第一步:充电
•接通PIPER臂的电源
•将USB-to-CAN模块连接到您的计算机
第二步:启动录音程序
Bash
第三步:进入教学模式
短按教学按钮
•手臂进入教学模式(关节可以自由移动)
第四步:记录动作
•准备好后在终端按回车键
•手动引导手臂通过你想要的轨迹
•该程序实时记录位置变化
第五步:退出教学
•再次短按教学按钮退出教学模式
•录音自动停止
记录最佳实践
运动规划:
•从一个安全、容易接近的初始位置开始
•避免靠近关节极限的位置
•规划平坦的路径,不要突然改变方向
•考虑运动约束和奇异位置
速度控制:
•保持适度的移动速度以获得一致的数据质量
•在关键位置减速以获得更好的精度
•避免突然加速或减速
•在最后记录之前测试你的轨迹速度
数据质量提示:
•在无振动的稳定条件下记录
•使用平稳、刻意的动作
•包括流程步骤的自然停顿
•目标是10-30秒的记录(根据需要调整record_time参数)
技术深度:记录实现
配置参数
Python
它是如何工作的
位置获取:系统使用get_pos()函数连续读取关节状态和夹持器位置(如果附加)。数据只记录时,手臂的位置变化,大大减少文件大小,同时保持准确性。
时间戳处理:记录位置之间的时间间隔以0.1ms的精度计算。Time () - last_time, 4)。这种平衡提供了机器人控制精度,而不需要过多的存储开销。
数据格式(CSV):每行包含:[time_interval, joint1, joint2, joint3, joint4, joint5, joint6, gripper_opening]
例子:
完整记录代码
Python
回放你的轨迹
重播工作流
第一步:退出教学模式
•短按教学键退出教学模式
•重要提示:系统将自动执行复位操作,将关节2、3和5带到安全位置(零点)。
第二步:启动重播程序
Bash
第三步:执行重放
•出现提示时按Enter键
•手臂会回放记录的轨迹
•监控控制台输出以获得实时反馈
重播的配置
Python
双级调速
该系统提供两个互补的速度控制:
•硬件级(move_spd_rate_ctrl):控制机械臂的物理移动速度(10-100%)。确保安全性和机械可靠性。
•软件级(play_speed):缩放轨迹点之间的时间间隔。不需要重新记录轨迹。
例子:
•play_speed = 0.5:以半速回放(非常适合演示)
•play_speed = 2.0:以双倍速度回放(用于制作周期)
•play_speed = 1.0:以原始录制速度重放
技术深潜:重放实现
安全停止机构
当第一次退出教学模式时,执行一个关键的安全顺序:
Python
为什么是这三个关节?
•关节2(肩部):控制上臂俯仰和整体稳定性
•关节3(肘部):控制前臂角度和末端执行器位置
•关节5(手腕):控制末端方向和夹持器方向
安全角度范围:防止重力坠落、机械碰撞,保证足够的操作空间。
Arm Enable命令功能
Python
完整的重放代码
Python
故障排除指南
问题1:“No Piper Class”错误
错误消息:ModuleNotFoundError:没有名为‘Piper’的模块
原因:SDK版本不正确
解决方案:
Bash
问题2:手臂在回放过程中不会移动
症状:终端显示“模式切换失败”或“手臂无响应”
原因:程序执行过程中按下教学键
解决方案:
•检查教学按钮指示灯是否熄灭
•如果开启,短按教学键退出教学模式
•重新运行回放程序
问题3:连接失败
症状:“CAN连接错误”或“未找到设备”
原因:usb -CAN模块连接异常或检测到多个CAN模块
解决方案:
•确保只连接了一个USB-to-CAN模块
•重新启动CAN接口:
Bash
•如果需要,检查USB权限
高级用法
记录多个轨迹
使用不同的参数集创建单独的录音会话:
Python
生产自动化
对于连续生产周期:
Python
性能优化
减少文件大小和处理时间:
Python
代码存储库
导航到:piper/recordAndPlayTraj/查看所有脚本
本文编译自hackster.io





