械手裝配程序開發(fā)與調(diào)試實(shí)戰(zhàn):從選型到節(jié)拍優(yōu)化)
最近在弄一條小型電子產(chǎn)品的自動(dòng)化裝配線核心設(shè)備是一臺(tái)匯川四軸機(jī)械手。我負(fù)責(zé)整臺(tái)機(jī)械手的裝配程序開發(fā)和現(xiàn)場(chǎng)工藝調(diào)試說白了就是讓這臺(tái)機(jī)械手自己完成“抓料—對(duì)位—插裝—壓合—檢測(cè)”這一整套動(dòng)作代替原來人工重復(fù)的裝配工位。項(xiàng)目從方案確認(rèn)到設(shè)備穩(wěn)定跑通前后用了三周左右中間踩了不少坑也積累了一些比較實(shí)用的經(jīng)驗(yàn)。這篇筆記就把整個(gè)裝配程序的開發(fā)過程完整梳理一遍從方案選型、程序框架設(shè)計(jì)、點(diǎn)位示教到問題排查給打算自己做類似項(xiàng)目的同行一個(gè)參考。這個(gè)內(nèi)容不需要多深的數(shù)學(xué)基礎(chǔ)但需要有一點(diǎn)PLC或者工業(yè)機(jī)器人編程的基本概念。如果你準(zhǔn)備上第一個(gè)機(jī)器人裝配項(xiàng)目、或者正在猶豫要不要用四軸機(jī)械手替換人工工位這篇文章應(yīng)該對(duì)你有用。我會(huì)把關(guān)鍵技術(shù)點(diǎn)、參數(shù)設(shè)定思路、現(xiàn)場(chǎng)故障排查方法都放在后面直接照著走基本就能搭出一條能跑的自動(dòng)裝配邏輯。1. 項(xiàng)目背景與整體方案選型1.1 為什么裝配場(chǎng)景優(yōu)先選四軸機(jī)械手四軸機(jī)械手行業(yè)內(nèi)通常指SCARA形態(tài)的設(shè)備三個(gè)旋轉(zhuǎn)軸負(fù)責(zé)水平面內(nèi)的移動(dòng)和旋轉(zhuǎn)一根垂直升降軸負(fù)責(zé)上下插裝動(dòng)作。這種結(jié)構(gòu)從運(yùn)動(dòng)學(xué)上就非常契合裝配工藝水平方向靈活、垂直方向剛度大插裝時(shí)不容易歪斜對(duì)零件配合段的沖擊也小。我這里的工件是一個(gè)尺寸大概拳頭大小的塑料殼體需要把內(nèi)部的限位卡簧、密封圈和一個(gè)小型PCB組件依次裝進(jìn)去。最開始考慮過六軸機(jī)械手但實(shí)際測(cè)算后發(fā)現(xiàn)六軸在這種工況下屬于“大材小用”第一整個(gè)裝配過程不需要復(fù)雜的空間姿態(tài)變換關(guān)鍵動(dòng)作就是垂直插裝第二六軸多出來的兩個(gè)關(guān)節(jié)反而會(huì)放大末端誤差垂直方向剛度也不如SCARA結(jié)構(gòu)第三六軸本體價(jià)格和后期維護(hù)成本都明顯高出四軸一截。在裝配線上四軸機(jī)械手的優(yōu)勢(shì)可以簡(jiǎn)單歸納成幾點(diǎn)垂直剛度大Z軸上下動(dòng)作穩(wěn)定適合壓裝、插入、鉚接這類對(duì)垂直方向剛性要求高的工藝。水平柔順性好SCARA結(jié)構(gòu)在水平方向天然帶有一定柔性配合浮動(dòng)接頭可以容忍零件和定位治具之間的小量偏差不易卡死。速度快同級(jí)負(fù)載下運(yùn)動(dòng)慣量小整體節(jié)拍可以做得比六軸快對(duì)產(chǎn)線節(jié)拍提升更友好。性價(jià)比高機(jī)構(gòu)簡(jiǎn)單、軸數(shù)少采購(gòu)成本和后期保養(yǎng)成本都更低。打個(gè)比方六軸機(jī)械手像人的手臂能做各種復(fù)雜姿態(tài)四軸SCARA像“桌面上的圓規(guī)筆尖”在平面上跑得又快又準(zhǔn)垂直方向按下去又特別穩(wěn)。絕大多數(shù)“從上方把零件放進(jìn)固定工裝”的裝配動(dòng)作都用不到六軸的那種靈活性四軸才是效率最高的選擇。如果你遇到需要傾斜裝配、繞障礙擺位或者工件需要多角度翻轉(zhuǎn)的工況那還是要老老實(shí)實(shí)選六軸。裝配場(chǎng)景選型的第一原則不是“功能越多越好”而是“結(jié)構(gòu)匹配工藝”。1.2 控制方案與通信架構(gòu)確定機(jī)械手本體之后緊接著要定控制方案。四軸機(jī)械手的控制通常有兩種做法一種是用機(jī)械手自帶的專用控制器示教器編程通過總線或者IO和PLC交互另一種是用PLC本身做運(yùn)動(dòng)控制把四個(gè)伺服軸掛在一個(gè)控制器下自己寫運(yùn)動(dòng)邏輯。我這次選的是第一種方案匯川四軸機(jī)械手自帶控制器配合外部PLC做整線邏輯。原因很直接機(jī)械手控制器的插補(bǔ)、軌跡規(guī)劃、防碰撞、力矩限制這些功能是出廠就調(diào)好的自己用PLC寫四軸聯(lián)動(dòng)軌跡耗費(fèi)的開發(fā)時(shí)間遠(yuǎn)超省下的成本而且后期維護(hù)難度大。產(chǎn)線自動(dòng)化項(xiàng)目講究的是可靠和可維護(hù)能用成熟功能就別自己造輪子。PLC和機(jī)械手控制器之間的數(shù)據(jù)交互我實(shí)測(cè)下來推薦用EtherCAT總線。EtherCAT循環(huán)周期短、數(shù)據(jù)量大可以同時(shí)傳輸位置給定、狀態(tài)反饋和工藝參數(shù)機(jī)械手動(dòng)作和PLC邏輯的配合會(huì)非常絲滑。如果現(xiàn)場(chǎng)條件受限CANopen和Modbus RTU也能用但通訊周期和抗干擾能力要額外驗(yàn)證。這里有一個(gè)必須特別注意的點(diǎn)安全類信號(hào)絕對(duì)不要依賴總線傳輸必須走硬接線IO。急停、安全門、安全光柵這些信號(hào)要直接串進(jìn)伺服使能回路的繼電器鏈里一旦觸發(fā)就立刻斷使能停車??偩€通訊再快也有延遲和斷線的可能安全信號(hào)走總線等于拿命賭運(yùn)氣這是行業(yè)里血的教訓(xùn)換來的共識(shí)。機(jī)械手和PLC之間預(yù)留的IO點(diǎn)也不要吝嗇每個(gè)關(guān)鍵動(dòng)作最好都有對(duì)應(yīng)的狀態(tài)反饋信號(hào)哪怕暫時(shí)用不上也要預(yù)留。信號(hào)點(diǎn)補(bǔ)齊了后續(xù)調(diào)試和排故障能省一大半時(shí)間。1.3 機(jī)械手負(fù)載選型與節(jié)拍估算機(jī)械手選型不能只看“能不能抓起來”還要算動(dòng)態(tài)負(fù)載和節(jié)拍。負(fù)載校核的公式不復(fù)雜但每一項(xiàng)都要認(rèn)真填總負(fù)載 末端夾具重量 工件重量 抓取附加力吸盤吸力、夾爪夾緊反力、偏載力矩比如我的項(xiàng)目里末端氣動(dòng)夾爪加連接板接近1.8公斤工件0.6公斤加起來2.4公斤我選的是負(fù)載能力5公斤的機(jī)型留了超過一倍的余量。余量不是浪費(fèi)機(jī)械手在高速加減速時(shí)產(chǎn)生的慣性力遠(yuǎn)大于靜態(tài)負(fù)載余量不足輕則抖動(dòng)丟步重則損壞減速機(jī)。還有一點(diǎn)容易被忽略慣量匹配。機(jī)械手末端夾具和工件的轉(zhuǎn)動(dòng)慣量也要落在廠商給的允許范圍內(nèi)否則高速旋轉(zhuǎn)軸容易過載報(bào)警。選型階段可以直接把夾具的3D模型和重量發(fā)給機(jī)械手廠商的技術(shù)人員幫忙校核比自己悶頭算準(zhǔn)確得多。節(jié)拍估算同樣要提前做。一個(gè)簡(jiǎn)單的經(jīng)驗(yàn)公式單循環(huán)時(shí)間 各段運(yùn)動(dòng)時(shí)間總和 夾爪/氣缸動(dòng)作時(shí)間 信號(hào)確認(rèn)延遲 預(yù)留安全余量運(yùn)動(dòng)時(shí)間可以粗略用“移動(dòng)距離/平均速度×1.5”來估算因?yàn)閷?shí)際運(yùn)動(dòng)包含加減速階段平均速度并不會(huì)總在最大值附近。我們最初預(yù)估單循環(huán)28秒實(shí)際調(diào)試完空跑是24秒帶料后穩(wěn)定在26秒和估算值差距不大說明前期預(yù)留余量的思路是對(duì)的。如果節(jié)拍預(yù)估嚴(yán)重超標(biāo)就要在方案階段考慮雙機(jī)械手并行或者優(yōu)化工藝動(dòng)線而不是等設(shè)備到場(chǎng)后再硬壓縮速度。2. 裝配程序的核心邏輯與關(guān)鍵設(shè)計(jì)2.1 程序流程框架的標(biāo)準(zhǔn)三段式裝配程序的結(jié)構(gòu)不需要多花哨基本就是“取料—裝配—返回”的標(biāo)準(zhǔn)三段式循環(huán)。程序設(shè)計(jì)失敗的項(xiàng)目多半不是因?yàn)檫壿嫃?fù)雜而是把簡(jiǎn)單邏輯寫復(fù)雜了。我習(xí)慣把整個(gè)循環(huán)拆成三個(gè)階段每個(gè)階段再切分成若干“動(dòng)作—確認(rèn)”的配對(duì)組合。取料階段機(jī)械手從供料盤上方快速移動(dòng)到取料位慢速下降夾爪閉合確認(rèn)工件夾緊信號(hào)到位后抬升離開。裝配階段機(jī)械手?jǐn)y帶工件快速移動(dòng)到裝配工位上方慢速下降接近定位治具執(zhí)行插裝動(dòng)作等待裝配到位信號(hào)松爪再抬升。返回階段機(jī)械手抬升到安全高度回到原點(diǎn)或等待位輸出循環(huán)完成信號(hào)給PLC等待下一個(gè)啟動(dòng)指令。每個(gè)階段內(nèi)部的邏輯就是“發(fā)動(dòng)作指令—等待確認(rèn)信號(hào)—繼續(xù)下一步”。機(jī)械手程序內(nèi)部不判斷工件好壞的工藝邏輯夾具有沒有夾到料、裝配是不是到位這些確認(rèn)信號(hào)都來自外部傳感器和PLC的判斷。機(jī)械手就是一個(gè)“執(zhí)行者”PLC才是“大腦”。這種分工的好處是以后換產(chǎn)品、換治具只需要改機(jī)械手點(diǎn)位和PLC工藝邏輯程序架構(gòu)本身不需要大改。具體的程序結(jié)構(gòu)我用類似結(jié)構(gòu)化文本的偽代碼來表示方便大家理解核心順序PROGRAM MainLoop WHILE TRUE // 等待PLC啟動(dòng)信號(hào) WaitFor(StartSignal : TRUE); // 階段一取料 MoveJ(PickAbove, Speed : 50%); MoveL(PickPosition, Speed : 15%); SetDO(GripperClose, TRUE); WaitFor(PartClamped : TRUE); MoveL(PickAbove, Speed : 50%); // 階段二裝配 MoveJ(InsertAbove, Speed : 70%); MoveL(InsertStart, Speed : 30%); MoveL(InsertDeep, Speed : 8%, TorqueLimit : 30%); WaitFor(InsertOK : TRUE); SetDO(GripperOpen, TRUE); MoveL(InsertAbove, Speed : 50%); // 階段三返回 MoveJ(SafePosition, Speed : 80%); SetDO(CycleDone, TRUE); WaitFor(CycleAck : TRUE); SetDO(CycleDone, FALSE); END_WHILE END_PROGRAM這樣的結(jié)構(gòu)有一個(gè)顯著的優(yōu)點(diǎn)任意一個(gè)確認(rèn)信號(hào)沒有到位程序就停在當(dāng)前步驟不會(huì)繼續(xù)執(zhí)行后續(xù)動(dòng)作天然具備防錯(cuò)能力。調(diào)試過程中哪一步卡住就查哪個(gè)信號(hào)定位問題非???。比把所有動(dòng)作串在一起不停執(zhí)行、靠延時(shí)硬撐的寫法要安全得多。2.2 坐標(biāo)系與工具標(biāo)定裝配程序開發(fā)里最容易返工的就是坐標(biāo)系沒弄對(duì)。四軸機(jī)械手涉及坐標(biāo)系包括世界坐標(biāo)系、工具坐標(biāo)系TCP、工件坐標(biāo)系用戶坐標(biāo)系和關(guān)節(jié)坐標(biāo)系。其中TCP和用戶坐標(biāo)系的標(biāo)定質(zhì)量直接決定裝配精度。TCP就是工具中心點(diǎn)具體到這個(gè)項(xiàng)目就是夾爪兩個(gè)手指閉合后的中心點(diǎn)。機(jī)械手控制器的位置指令控制的是TCP點(diǎn)而不是末端法蘭中心。出廠時(shí)控制器只知道法蘭盤中心在哪里裝完夾爪之后TCP位置發(fā)生了變化必須重新標(biāo)定。如果TCP不標(biāo)或者標(biāo)得不準(zhǔn)最典型的表現(xiàn)是單點(diǎn)定位沒問題但換一個(gè)姿態(tài)去同一個(gè)位置時(shí)末端偏得很離譜。四軸機(jī)械手的TCP標(biāo)定通常用四點(diǎn)法操作上就是把一個(gè)尖銳的針尖固定在某個(gè)位置機(jī)械手用四個(gè)不同的姿態(tài)去對(duì)同一個(gè)針尖控制器根據(jù)四個(gè)姿態(tài)自動(dòng)反算出TCP偏移量。這個(gè)操作看似簡(jiǎn)單但有兩個(gè)細(xì)節(jié)直接影響精度對(duì)針時(shí)一定要慢速微調(diào)最好用增量模式每步0.1毫米甚至更小去逼近手一抖偏差就大了。標(biāo)定完成后必須做驗(yàn)證用尖點(diǎn)分別在不同高度、不同方向反復(fù)對(duì)準(zhǔn)同一物理標(biāo)記點(diǎn)誤差超過0.5毫米就要重新標(biāo)。工件坐標(biāo)系的設(shè)定同樣重要。我在裝配治具的定位銷平面上建立了一個(gè)用戶坐標(biāo)系水平面方向和治具安裝方向?qū)R。這樣做的好處非常明顯所有裝配點(diǎn)位都基于這個(gè)用戶坐標(biāo)系記錄將來整個(gè)治具整體平移或者旋轉(zhuǎn)我只需要更新用戶坐標(biāo)系的原點(diǎn)和方向不用一個(gè)一個(gè)重新示教點(diǎn)位。這種思路在換型調(diào)試時(shí)能省出大量時(shí)間和精力。2.3 裝配工藝參數(shù)的設(shè)定策略程序框架搭好之后真正決定裝配成敗的是工藝參數(shù)。這些參數(shù)包括各段運(yùn)動(dòng)速度、加速度平滑系數(shù)、Z軸力矩限制閾值、到位確認(rèn)信號(hào)的選擇。速度分段是最基礎(chǔ)也是最重要的策略。我自己的習(xí)慣是三段法遠(yuǎn)距離快速移動(dòng)用最大速度的70%到90%縮短空跑時(shí)間接近工件的階段降到30%左右給機(jī)械手留出減速緩沖真正進(jìn)入裝配配合段的插裝動(dòng)作控制在5%到15%保證零件以穩(wěn)定的速度進(jìn)入配合位置減小沖擊。很多人圖省事全程用一個(gè)速度跑結(jié)果要么空跑太慢拖節(jié)拍要么插裝太快把零件撞飛。Z軸壓裝時(shí)的力矩限制值也很關(guān)鍵。四軸機(jī)械手的垂直軸通常支持力矩限制功能也就是在位置控制的同時(shí)設(shè)定一個(gè)扭矩上限一旦實(shí)際力矩超限就停止或者報(bào)警。這個(gè)功能本質(zhì)上就是一個(gè)“軟性力控”用來保護(hù)零件不被壓壞。我做的這個(gè)項(xiàng)目里卡簧需要壓入殼體卡槽純位置控制很難把握壓入深度我用的是“位置控制力矩報(bào)警”的方式壓入過程中如果力矩超過設(shè)定閾值程序立刻停止并報(bào)警防止卡簧變形或者殼體破裂。力矩閾值通過多次手動(dòng)壓裝測(cè)試取平均值再加上20%余量來確定不能拍腦袋填。對(duì)位找正方面有一個(gè)小技巧。如果零件和定位孔都做了導(dǎo)向倒角允許一定的位置偏差可以在機(jī)械手抓具和法蘭之間加一個(gè)浮動(dòng)接頭。浮動(dòng)接頭讓夾爪在水平方向有少量自由活動(dòng)空間插裝時(shí)零件會(huì)順著導(dǎo)向倒角自動(dòng)滑入定位位置相當(dāng)于機(jī)械結(jié)構(gòu)幫忙做了一次“被動(dòng)找正”。我見過很多項(xiàng)目糾結(jié)于提高機(jī)械手重復(fù)定位精度來解決插裝卡料其實(shí)加個(gè)浮動(dòng)接頭就解決了成本低而且非??煽?。裝配程序里還必須設(shè)計(jì)完善的“信號(hào)確認(rèn)”邏輯。夾爪是否真正夾到料、壓裝是否到位、松爪是否完成每一步都要有傳感器信號(hào)反饋不能只靠程序延時(shí)猜測(cè)。我在取料位裝了光電傳感器檢測(cè)工件存在夾爪氣缸上裝了磁性開關(guān)檢測(cè)夾緊狀態(tài)裝配工位裝了接近開關(guān)檢測(cè)插裝到位。程序每個(gè)動(dòng)作之間等待這些信號(hào)確認(rèn)缺一個(gè)就停在該步驟報(bào)警。雖然信號(hào)點(diǎn)多花了些成本但設(shè)備在無(wú)人值守運(yùn)行時(shí)出的問題大幅減少這筆投入非常值得。3. 實(shí)操過程與程序?qū)崿F(xiàn)示例3.1 程序架構(gòu)與模塊劃分裝配程序在機(jī)械手控制器里最好不要只寫一個(gè)巨大的主程序我習(xí)慣按功能拆成多個(gè)子程序模塊主程序只負(fù)責(zé)流程調(diào)度。這樣寫的好處是邏輯清楚、排查方便后續(xù)換產(chǎn)品或增加新工序時(shí)可以直接復(fù)用現(xiàn)有子程序不用動(dòng)主流程。我這次的項(xiàng)目把程序拆成六個(gè)模塊Main主循環(huán)負(fù)責(zé)整機(jī)啟動(dòng)、停止、復(fù)位和循環(huán)流程調(diào)度。Pick取料子程序管理取料位移動(dòng)、夾爪控制、料檢測(cè)和夾緊確認(rèn)。Insert裝配子程序管理裝配位移動(dòng)、壓裝參數(shù)、插入深度和到位確認(rèn)。Detect檢測(cè)子程序配合PLC讓機(jī)械手停留在檢測(cè)位讀取外部視覺或者傳感器結(jié)果。Alarm報(bào)警處理子程序匯總各類報(bào)警執(zhí)行安全回退動(dòng)作并通知PLC。Home回零子程序開機(jī)或者報(bào)警恢復(fù)后的回零動(dòng)作。程序之間的信號(hào)聯(lián)鎖通過控制器和PLC之間的IO映射表來實(shí)現(xiàn)。調(diào)試階段我把這套信號(hào)聯(lián)鎖表保存在柜門內(nèi)側(cè)方便現(xiàn)場(chǎng)人員隨時(shí)查閱。這里分享一張項(xiàng)目里實(shí)際使用的信號(hào)點(diǎn)表大家可以作為參考信號(hào)名稱方向作用備注StartSignalPLC → 機(jī)械手啟動(dòng)一次裝配循環(huán)上升沿觸發(fā)PartClampedIO → 機(jī)械手工件已夾緊到位取料完成確認(rèn)InsertOKIO → 機(jī)械手裝配已到位壓裝完成確認(rèn)GripperClose機(jī)械手 → IO夾爪閉合指令控制氣動(dòng)電磁閥GripperOpen機(jī)械手 → IO夾爪張開指令控制氣動(dòng)電磁閥CycleDone機(jī)械手 → PLC單次循環(huán)完成等待PLC復(fù)位AlarmOut機(jī)械手 → PLC機(jī)械手報(bào)警輸出觸發(fā)產(chǎn)線聲光報(bào)警模塊化的思路在調(diào)試階段體現(xiàn)出的最大價(jià)值是我調(diào)整Insert子程序里的壓裝深度和速度完全不需要擔(dān)心影響Pick部分主程序只要調(diào)用的子程序名稱不變內(nèi)部邏輯隨便改。這種“高內(nèi)聚低耦合”的架構(gòu)思路放在機(jī)器人編程里一樣成立。3.2 從示教到運(yùn)行調(diào)試的完整步驟很多第一次做機(jī)械手項(xiàng)目的同行拿到設(shè)備之后不知道從哪里下手。我整理了一套現(xiàn)場(chǎng)調(diào)試流程嚴(yán)格按照這個(gè)順序推進(jìn)基本能避免“回頭返工”的尷尬。第一步機(jī)械手安裝與零點(diǎn)設(shè)置。機(jī)械手底座必須用水平儀校準(zhǔn)水平度太差會(huì)直接影響裝配精度和運(yùn)行穩(wěn)定性。底座固定螺絲采用對(duì)角順序逐步緊固確保底座不變形。然后在控制器里執(zhí)行回零操作把機(jī)械手設(shè)定到機(jī)械原點(diǎn)確認(rèn)各軸編碼器零點(diǎn)無(wú)偏差。首次通電建議先手動(dòng)低速測(cè)試每個(gè)軸的運(yùn)動(dòng)方向確認(rèn)與示教器顯示一致再嘗試聯(lián)動(dòng)。第二步點(diǎn)位示教與程序編寫。示教之前先把所有關(guān)鍵位置在設(shè)備上用記號(hào)筆標(biāo)記出來包括取料位、裝配位、安全等待位、中間過渡點(diǎn)。示教器操作時(shí)用增量模式低速移動(dòng)逐步逼近理想位置。點(diǎn)位記錄完成后把前面設(shè)計(jì)的模塊化程序錄入控制器編譯通過后下載到控制器。第三步空跑與帶料調(diào)試。先不給機(jī)械手裝工件以低速空跑完整循環(huán)觀察軌跡有沒有干涉、點(diǎn)位有沒有碰撞風(fēng)險(xiǎn)??张軟]問題后逐步加快速度到目標(biāo)值。然后開始帶料調(diào)試第一次帶料建議全程低速用單步模式一步一步執(zhí)行確認(rèn)每一段的動(dòng)作和信號(hào)都正常后再切換到連續(xù)模式。我在第一次帶料時(shí)發(fā)現(xiàn)插裝動(dòng)作會(huì)輕微碰擦治具邊緣就是因?yàn)閱尾侥J较乱欢我欢味⒊鰜淼娜绻簧蟻砭瓦B續(xù)跑大概率直接撞壞治具。第四步節(jié)拍優(yōu)化與穩(wěn)定性測(cè)試。連續(xù)運(yùn)行24小時(shí)以上或者至少1000個(gè)循環(huán)記錄中途的報(bào)警次數(shù)和停機(jī)原因統(tǒng)計(jì)實(shí)際節(jié)拍分析瓶頸后再針對(duì)性地優(yōu)化。穩(wěn)定性測(cè)試期間不要離開現(xiàn)場(chǎng)隨時(shí)記錄異常聲音和信號(hào)狀態(tài)。整個(gè)調(diào)試周期我實(shí)際用了4個(gè)工作日就完成了從零位設(shè)置到帶料連續(xù)運(yùn)行。如果PLC程序、機(jī)械安裝這些都和機(jī)械手調(diào)試并行推進(jìn)一定要提前約定好信號(hào)時(shí)序避免互相等待浪費(fèi)時(shí)間。3.3 節(jié)拍優(yōu)化實(shí)錄節(jié)拍優(yōu)化這塊我用真實(shí)數(shù)據(jù)來說明更有參考價(jià)值。項(xiàng)目剛跑起來時(shí)單循環(huán)節(jié)拍是34秒離客戶要求的28秒差了6秒。我沒有直接加高速度而是先做瓶頸分析。我打開程序監(jiān)控界面把每個(gè)動(dòng)作的耗時(shí)拉出來看發(fā)現(xiàn)問題集中在三處取料位到裝配位的長(zhǎng)距離移動(dòng)速度只給了50%明顯偏保守白白浪費(fèi)了空跑時(shí)間。壓裝動(dòng)作統(tǒng)一用10%的速度執(zhí)行連中間的空行程也在蠕動(dòng)實(shí)際上只需要在進(jìn)入配合段之后保持低速接近段可以用中速。機(jī)械手每次循環(huán)結(jié)束等待PLC復(fù)位信號(hào)PLC掃描周期配合不好多出將近1秒的空閑等待。針對(duì)這三個(gè)問題做了優(yōu)化長(zhǎng)距離移動(dòng)速度提高到80%接近段用30%只有實(shí)際插入段保持10%PLC側(cè)把CycleDone復(fù)位邏輯改到中斷任務(wù)里減少掃描周期延遲。改完之后單循環(huán)節(jié)拍從34秒降到26秒完全滿足客戶要求。而且機(jī)器運(yùn)行聲音、振動(dòng)都在正常范圍沒有因?yàn)樘崴俪霈F(xiàn)抖動(dòng)。這里想提醒一點(diǎn)節(jié)拍優(yōu)化的大忌是“一上來就拉滿加速度”。加速度設(shè)置過大機(jī)械手末端會(huì)出現(xiàn)明顯抖動(dòng)時(shí)間長(zhǎng)了還會(huì)損害減速機(jī)甚至把螺絲震松。優(yōu)化順序一定是先清理邏輯浪費(fèi)再調(diào)整路徑規(guī)劃最后才是提升速度和加速度參數(shù)。4. 常見問題與排查技巧實(shí)錄4.1 抖動(dòng)、過沖與定位偏差現(xiàn)場(chǎng)調(diào)試中遇到最多的問題就是機(jī)械手運(yùn)動(dòng)到目標(biāo)點(diǎn)之后出現(xiàn)抖動(dòng)或者過沖定位結(jié)果忽好忽壞。出現(xiàn)這類現(xiàn)象時(shí)我建議按照“先機(jī)械、后電氣、再參數(shù)”的順序排查。先檢查機(jī)械底座固定螺絲有沒有松動(dòng)、機(jī)械手安裝面是否水平、末端夾具連接板有沒有松脫。我有一次遇到高速定位后末端明顯抖動(dòng)排查了很長(zhǎng)時(shí)間最后發(fā)現(xiàn)是夾爪連接板的四個(gè)安裝螺絲有兩個(gè)已經(jīng)松了。這種機(jī)械問題初期很隱蔽因?yàn)榈退贂r(shí)感覺不出來速度一高就暴露。再檢查控制器參數(shù)加速度設(shè)置是否過猛、S曲線平滑參數(shù)是不是設(shè)成了0、負(fù)載參數(shù)是否和實(shí)際夾具一致。我見過的多起抖動(dòng)問題最后都是因?yàn)榘鸭铀俣日{(diào)到接近最大值機(jī)械手末端負(fù)載的慣性力超過了機(jī)構(gòu)承受能力。處理方式很簡(jiǎn)單把加速度回調(diào)到一個(gè)不再抖動(dòng)的值通常是在原參數(shù)的70%到80%。如果項(xiàng)目節(jié)拍要求必須用很高的加減速就需要考慮換更大規(guī)格的機(jī)械手而不是硬逼現(xiàn)有設(shè)備超限運(yùn)行。定位偏差的問題則要回到零點(diǎn)、TCP和用戶坐標(biāo)系檢查。零點(diǎn)如果因?yàn)閿嚯娀蛘邎?bào)警時(shí)位置跑丟重新回零會(huì)導(dǎo)致所有點(diǎn)位整體偏移這種情況要重新校準(zhǔn)零點(diǎn)再示教關(guān)鍵點(diǎn)。TCP不準(zhǔn)的典型特征是機(jī)器人在不同姿態(tài)下對(duì)同一個(gè)物理點(diǎn)存在偏差解決辦法就是重新做TCP標(biāo)定和驗(yàn)證。4.2 抓料位置漂移抓料位置漂移的故障在裝配產(chǎn)線上非常影響士氣因?yàn)樗谋憩F(xiàn)往往是“時(shí)好時(shí)壞”。早晨開機(jī)位置準(zhǔn)運(yùn)行兩小時(shí)后慢慢偏下午出現(xiàn)抓空或者碰料。這種漂移首先懷疑機(jī)械結(jié)構(gòu)的熱變形和應(yīng)力釋放。供料盤的定位治具如果材質(zhì)較軟或者固定方式只用了單邊壓緊運(yùn)行一段時(shí)間后受機(jī)械手反復(fù)推料的影響會(huì)產(chǎn)生微小位移累積下來就足夠?qū)е伦タ铡N姨幚磉^一個(gè)類似問題對(duì)策是在治具底面增加定位銷和雙邊壓緊位置就穩(wěn)定下來了。如果確認(rèn)治具沒有位移還要排查供料盤上的來料位置是否有累積誤差。前段工序如果來料擺放本身就不穩(wěn)定機(jī)械手固定點(diǎn)位當(dāng)然會(huì)“時(shí)準(zhǔn)時(shí)不準(zhǔn)”。這種情況要么要求前道工序改進(jìn)定位要么在機(jī)械手上加視覺引導(dǎo)用相機(jī)識(shí)別來料實(shí)際位置后自動(dòng)補(bǔ)償抓取。視覺引導(dǎo)路徑看起來投入高但如果是長(zhǎng)期生產(chǎn)需求性價(jià)比很高。零點(diǎn)丟失導(dǎo)致的漂移也要留意。機(jī)械手如果頻繁急停報(bào)警、斷電時(shí)未回零編碼器數(shù)據(jù)可能丟失重新上電后必須回零。我建議在程序里設(shè)置開機(jī)強(qiáng)制回零邏輯不回零不允許進(jìn)入自動(dòng)模式從制度上杜絕零點(diǎn)丟失帶來的批量不良。4.3 機(jī)械手與PLC通訊偶發(fā)斷線EtherCAT總線在正常運(yùn)行時(shí)非常穩(wěn)定但在復(fù)雜的工業(yè)現(xiàn)場(chǎng)偶爾會(huì)出現(xiàn)“運(yùn)行幾個(gè)小時(shí)斷一次線重新上電又好了”的故障。這種偶發(fā)故障最難查因?yàn)楝F(xiàn)場(chǎng)再現(xiàn)困難測(cè)試過程中可能幾個(gè)小時(shí)一段時(shí)間就是不復(fù)現(xiàn)。排查這類問題要按電磁兼容的思路來走。先檢查通訊線纜的屏蔽層接地屏蔽層必須在控制器側(cè)單端接地不能在兩側(cè)同時(shí)接地形成地環(huán)流也不能懸空不接。然后檢查通訊電纜是否和動(dòng)力電纜在同一個(gè)線槽里貼著走線動(dòng)力電纜的變頻器輸出會(huì)產(chǎn)生強(qiáng)烈的電磁干擾如果通訊電纜沒有屏蔽或者距離太近就會(huì)出現(xiàn)偶發(fā)丟包斷線。處理方式包括通訊電纜單獨(dú)走線槽并與動(dòng)力線保持至少20厘米間距、加裝磁環(huán)、通訊接頭重新壓接保證接觸可靠。另一個(gè)容易被忽視的是連接器的接觸質(zhì)量。EtherCAT網(wǎng)線接頭如果在振動(dòng)環(huán)境下沒有鎖緊運(yùn)行中會(huì)出現(xiàn)接觸不良導(dǎo)致的偶發(fā)斷線。這種問題往往表現(xiàn)為重新插拔一下線纜就“恢復(fù)正?!钡珜?shí)際接觸仍然處于脆弱狀態(tài)。排查時(shí)不要怕麻煩把每個(gè)接頭都重新插拔并檢查鎖扣必要時(shí)直接更換成品網(wǎng)線。考慮到斷線的危害我在程序里增加了通訊超時(shí)監(jiān)控和信號(hào)糾偏機(jī)制一旦通訊中斷機(jī)械手立即進(jìn)入安全停止?fàn)顟B(tài)并保持當(dāng)前位置通訊恢復(fù)后必須手動(dòng)復(fù)位才能繼續(xù)循環(huán)而不是自動(dòng)接著跑。這樣可以避免通訊瞬時(shí)中斷后數(shù)據(jù)錯(cuò)亂導(dǎo)致的誤動(dòng)作。4.4 常見問題速查表故障現(xiàn)象可能原因排查步驟高速定位抖動(dòng)底座松動(dòng)/加速度過大/減速機(jī)磨損緊螺絲 → 回調(diào)加速度 → 檢查減速機(jī)抓料位置漂移治具位移/來料偏差/零點(diǎn)丟失查定位銷 → 查來料一致性 → 重新回零通訊偶發(fā)斷線屏蔽接地不良/線纜干擾/接頭松動(dòng)查接地 → 分線槽 → 換接頭插裝卡料零件倒角不足/定位偏差/夾爪不對(duì)中加導(dǎo)向倒角 → 加浮動(dòng)接頭 → 重標(biāo)TCP夾爪夾不緊氣壓不足/夾爪磨損/磁性開關(guān)誤判查氣源壓力 → 查夾爪 → 校傳感器報(bào)警后無(wú)法復(fù)位信號(hào)未消除/回零未完成/安全回路鎖定查看報(bào)警碼 → 確認(rèn)信號(hào)狀態(tài) → 復(fù)位安全回路某軸偶發(fā)過載負(fù)載過重/加減速過猛/機(jī)械卡滯查負(fù)載參數(shù) → 降低加減速 → 盤動(dòng)檢查裝配到位信號(hào)時(shí)好時(shí)壞接近開關(guān)安裝松動(dòng)/檢測(cè)距離過近重新固定 → 調(diào)整檢測(cè)距離除了這些常見問題調(diào)試過程中務(wù)必養(yǎng)成記錄的習(xí)慣。每次報(bào)警的代碼、發(fā)生的時(shí)間、當(dāng)時(shí)的運(yùn)行速度、當(dāng)時(shí)的信號(hào)狀態(tài)都記在調(diào)試日志里。很多偶發(fā)問題單靠腦子記是記不住的有日志數(shù)據(jù)才有排查分析的依據(jù)。最后說點(diǎn)實(shí)在的做完整臺(tái)設(shè)備的機(jī)械手裝配程序我最大的體會(huì)是動(dòng)作邏輯寫出來并不難真正常反應(yīng)的功夫都在“可靠”這兩個(gè)字上。一個(gè)看起來非常簡(jiǎn)單的插裝動(dòng)作背后是坐標(biāo)系標(biāo)定精度、信號(hào)時(shí)序設(shè)計(jì)、工藝參數(shù)匹配、機(jī)械結(jié)構(gòu)狀態(tài)、電氣抗干擾能力的綜合結(jié)果。如果你也是剛開始接觸機(jī)械手裝配項(xiàng)目我建議先從模仿標(biāo)準(zhǔn)流程開始不要一上來就搞復(fù)雜架構(gòu)。把每一個(gè)動(dòng)作都拆成“指令—確認(rèn)信號(hào)”把每一段速度都按“快—中—慢”的原則去設(shè)定把每一類傳感器信號(hào)都接到程序里并寫清楚報(bào)警提示這條基礎(chǔ)路線走熟了很多高級(jí)功能自然就水到渠成。后續(xù)這個(gè)項(xiàng)目還可以繼續(xù)擴(kuò)展比如加一套2D視覺引導(dǎo)用來適應(yīng)來料位置的波動(dòng)或者增加Z軸力矩閉環(huán)實(shí)現(xiàn)真正的力控壓裝再或者兩臺(tái)機(jī)械手同時(shí)協(xié)作一個(gè)工位提升節(jié)拍上限。每一步擴(kuò)展都可以基于現(xiàn)在這套模塊化架構(gòu)來實(shí)現(xiàn)只需要新增對(duì)應(yīng)的子程序模塊不需要推翻重來。設(shè)備穩(wěn)定運(yùn)行兩個(gè)多月之后我再去現(xiàn)場(chǎng)回訪操作工人說比人工裝配輕松多了良品率也穩(wěn)定。我覺得這就是自動(dòng)化裝配項(xiàng)目最有價(jià)值的回報(bào)不需要人一直盯著機(jī)器自己就能把活干好而它背后的這套程序邏輯就是我們工程師價(jià)值的體現(xiàn)。