如何在AgileX PIPER機械臂上實現(xiàn)連續(xù)軌跡記錄和重放
掌握機械臂運動的藝術(shù)!該項目演示了如何在AgileX PIPER機械臂上實現(xiàn)連續(xù)軌跡記錄和重放。無論您是構(gòu)建教學(xué)演示還是自動化復(fù)雜操作,這本全面的指南都將引導(dǎo)您完成從設(shè)置到部署的每一步。
功能演示
你會學(xué)到什么:
?用時間序列數(shù)據(jù)記錄復(fù)雜的運動軌跡
?回放記錄的運動與精確控制
?集成Python SDK與CAN通信
?實施機械臂安全機制
項目概述
該解決方案通過智能時間序列數(shù)據(jù)管理捕獲并再現(xiàn)PIPER機械臂的復(fù)雜運動。該系統(tǒng)支持一次性演示和無限循環(huán)操作,非常適合教學(xué)、測試和生產(chǎn)自動化。
主要特點:
?實時連續(xù)軌跡記錄教學(xué)模式
?多重重放模式(單、多、無限循環(huán))
?雙級調(diào)速系統(tǒng)
?具有自動接頭定位的安全機構(gòu)
?基于csv的數(shù)據(jù)持久性,便于可移植性
?完整的抓手集成支持
開始
你需要什么
硬件:
?AgileX PIPER機械臂
?USB-to-CAN模塊
?支持Linux的計算機
軟件要求:
?Ubuntu 18.04或更高版本
?Python 3.6或更高版本
?Git版本控制
術(shù)前檢查表
在你開始工作之前,確保你的工作空間已經(jīng)準備好了。
?清除機械臂周圍的所有障礙物
?檢查電源是否穩(wěn)定,指示燈是否正常
?確保良好的照明,以便觀察位置
?測試夾持器動作(如果配備)
?確認地面穩(wěn)定,避免震動
?測試教學(xué)按鈕功能
環(huán)境設(shè)置
步驟1:安裝系統(tǒng)工具
Bash
步驟2:安裝CAN工具和配置
Bash
步驟3:克隆并安裝PIPER SDK
Bash
步驟4:克隆項目存儲庫
Bash
記錄你的第一個軌跡
記錄工作流程
第一步:充電
?接通PIPER臂的電源
?將USB-to-CAN模塊連接到您的計算機
第二步:啟動錄音程序
Bash
第三步:進入教學(xué)模式
短按教學(xué)按鈕
?手臂進入教學(xué)模式(關(guān)節(jié)可以自由移動)
第四步:記錄動作
?準備好后在終端按回車鍵
?手動引導(dǎo)手臂通過你想要的軌跡
?該程序?qū)崟r記錄位置變化
第五步:退出教學(xué)
?再次短按教學(xué)按鈕退出教學(xué)模式
?錄音自動停止
記錄最佳實踐
運動規(guī)劃:
?從一個安全、容易接近的初始位置開始
?避免靠近關(guān)節(jié)極限的位置
?規(guī)劃平坦的路徑,不要突然改變方向
?考慮運動約束和奇異位置
速度控制:
?保持適度的移動速度以獲得一致的數(shù)據(jù)質(zhì)量
?在關(guān)鍵位置減速以獲得更好的精度
?避免突然加速或減速
?在最后記錄之前測試你的軌跡速度
數(shù)據(jù)質(zhì)量提示:
?在無振動的穩(wěn)定條件下記錄
?使用平穩(wěn)、刻意的動作
?包括流程步驟的自然停頓
?目標是10-30秒的記錄(根據(jù)需要調(diào)整record_time參數(shù))
技術(shù)深度:記錄實現(xiàn)
配置參數(shù)
Python
它是如何工作的
位置獲?。合到y(tǒng)使用get_pos()函數(shù)連續(xù)讀取關(guān)節(jié)狀態(tài)和夾持器位置(如果附加)。數(shù)據(jù)只記錄時,手臂的位置變化,大大減少文件大小,同時保持準確性。
時間戳處理:記錄位置之間的時間間隔以0.1ms的精度計算。Time () - last_time, 4)。這種平衡提供了機器人控制精度,而不需要過多的存儲開銷。
數(shù)據(jù)格式(CSV):每行包含:[time_interval, joint1, joint2, joint3, joint4, joint5, joint6, gripper_opening]
例子:
完整記錄代碼
Python
回放你的軌跡
重播工作流
第一步:退出教學(xué)模式
?短按教學(xué)鍵退出教學(xué)模式
?重要提示:系統(tǒng)將自動執(zhí)行復(fù)位操作,將關(guān)節(jié)2、3和5帶到安全位置(零點)。
第二步:啟動重播程序
Bash
第三步:執(zhí)行重放
?出現(xiàn)提示時按Enter鍵
?手臂會回放記錄的軌跡
?監(jiān)控控制臺輸出以獲得實時反饋
重播的配置
Python
雙級調(diào)速
該系統(tǒng)提供兩個互補的速度控制:
?硬件級(move_spd_rate_ctrl):控制機械臂的物理移動速度(10-100%)。確保安全性和機械可靠性。
?軟件級(play_speed):縮放軌跡點之間的時間間隔。不需要重新記錄軌跡。
例子:
?play_speed = 0.5:以半速回放(非常適合演示)
?play_speed = 2.0:以雙倍速度回放(用于制作周期)
?play_speed = 1.0:以原始錄制速度重放
技術(shù)深潛:重放實現(xiàn)
安全停止機構(gòu)
當(dāng)?shù)谝淮瓮顺鼋虒W(xué)模式時,執(zhí)行一個關(guān)鍵的安全順序:
Python
為什么是這三個關(guān)節(jié)?
?關(guān)節(jié)2(肩部):控制上臂俯仰和整體穩(wěn)定性
?關(guān)節(jié)3(肘部):控制前臂角度和末端執(zhí)行器位置
?關(guān)節(jié)5(手腕):控制末端方向和夾持器方向
安全角度范圍:防止重力墜落、機械碰撞,保證足夠的操作空間。
Arm Enable命令功能
Python
完整的重放代碼
Python
故障排除指南
問題1:“No Piper Class”錯誤
錯誤消息:ModuleNotFoundError:沒有名為‘Piper’的模塊
原因:SDK版本不正確
解決方案:
Bash
問題2:手臂在回放過程中不會移動
癥狀:終端顯示“模式切換失敗”或“手臂無響應(yīng)”
原因:程序執(zhí)行過程中按下教學(xué)鍵
解決方案:
?檢查教學(xué)按鈕指示燈是否熄滅
?如果開啟,短按教學(xué)鍵退出教學(xué)模式
?重新運行回放程序
問題3:連接失敗
癥狀:“CAN連接錯誤”或“未找到設(shè)備”
原因:usb -CAN模塊連接異?;驒z測到多個CAN模塊
解決方案:
?確保只連接了一個USB-to-CAN模塊
?重新啟動CAN接口:
Bash
?如果需要,檢查USB權(quán)限
高級用法
記錄多個軌跡
使用不同的參數(shù)集創(chuàng)建單獨的錄音會話:
Python
生產(chǎn)自動化
對于連續(xù)生產(chǎn)周期:
Python
性能優(yōu)化
減少文件大小和處理時間:
Python
代碼存儲庫
導(dǎo)航到:piper/recordAndPlayTraj/查看所有腳本
本文編譯自hackster.io