鄭漫 ,金軍
(1.安徽汽車職業(yè)技術(shù)學院 機電工程系,安徽 合肥,230601;2.合肥森曼智能科技有限公司,安徽 合肥,230601)
隨著科學技術(shù)的發(fā)展,食品配料機器人技術(shù)的應用不斷改善著人類生產(chǎn)生活,在工業(yè)領(lǐng)域廣泛應用的機器人逐漸將人們從繁重的勞動中解放出來[1-3]。食品配料機器逐漸開始取代傳統(tǒng)廚師,其為顧客帶來了優(yōu)質(zhì)的服務和體驗[4]。全自動食品配料機器人沖泡機可以在1 h 內(nèi)沖出100 杯咖啡,相當于3 個咖啡師的產(chǎn)量??蛻艨赏ㄟ^應用程序訂購的美味咖啡杯,同時可以控制配料、濃度、調(diào)味料和溫度。
無論是在研究環(huán)境還是在工業(yè)應用中,食品配料機器人的路徑規(guī)劃都是一個具有挑戰(zhàn)性的問題,特別是在高度動態(tài)的環(huán)境中考慮人機交互。在這種情況下,食品配料機器人研究的最終目標是為食品配料機器人提供在線、自主的運動規(guī)劃。與許多機器人的運動規(guī)劃方法相比,食品配料機器人機械手的方法假設環(huán)境是靜止的[5-7],張延恒等[8]提出了以黎曼曲面上的測地線為依據(jù)進行操作臂與安裝基座耦合狀態(tài)下的空間機器人運動規(guī)劃的方法,劉龍等[9]提出了根據(jù)不同的路徑信息控制電機,進而調(diào)整小車速度和方向,最終實現(xiàn)小車沿設定路徑行駛的方法。在路徑生成之前需要離線估算障礙物,在離散化的食品配料機器人構(gòu)型空間(C 空間)中生成子目標來指導規(guī)劃路徑,并行搜索有效路徑。
本文以食品配料機器人的七自由度機械臂為實例,分析了機械臂的運動學正反解問題[10-11]。建立運動學模型對研究七自由度機械臂有很大的意義,有效驗證了機械臂數(shù)學模型以及正解、逆解的正確性。在此基礎上提出七自由度機械臂的規(guī)劃器,其動態(tài)特性確保它可以處理靜止、動態(tài)環(huán)境中的問題。
根據(jù)七自由度機械臂的機械結(jié)構(gòu),關(guān)節(jié)1、3、5、7 為旋轉(zhuǎn)關(guān)節(jié);關(guān)節(jié)2、4、6 為上升(或下降)關(guān)節(jié)。為了解決運動學冗余自由度復雜導致運動學多解,利用避障和軌跡算法來對機器人整體進行研究。
將基座坐標系建立于S點(肩部)處,各個軸建立的坐標系相互之間關(guān)系如圖1 所示(注意,在ROS零位時,L2與L3是共線的)。
圖1 7 自由度機械臂運動學坐標系分布
為描述方便,在下文中將關(guān)節(jié)n所對應的坐標系簡稱為坐標系n,將關(guān)節(jié)i的關(guān)節(jié)值記為θi,i=1,2,3,…,7。
關(guān)節(jié)1、2 和3的軸線相交于一點,交點與坐標系{1}、{2}和{3}的原點重合,關(guān)節(jié)軸1、2 和3 相互垂直。關(guān)節(jié)5、6 和7的軸線相交于一點,交點與坐標系{5}、{6}和{7}的原點重合,關(guān)節(jié)軸5、6 和7相互垂直。各個坐標系的建立方法如下:
(1) 坐標系1 與基坐標系的初始位置重合,并繞其Z軸轉(zhuǎn)動,轉(zhuǎn)動角度為θ1;
(2) 坐標系2 與坐標系1 初始位置重合并繞其Y軸轉(zhuǎn)動,轉(zhuǎn)動角度為θ2;
(3) 坐標系3 與坐標系2 初始位置重合并繞其X軸轉(zhuǎn)動,轉(zhuǎn)動角度為θ3;
(4) 坐標系4 相繞其Y軸轉(zhuǎn)動,轉(zhuǎn)動角度為θ4,并對于坐標系3的X軸正方向平移L2,平移向量為[L20 0]T;
(5) 坐標系5 與坐標系4 初始位置重合并繞其X軸轉(zhuǎn)動,轉(zhuǎn)動角度為θ5;
(6) 坐標系6 相繞其Y軸轉(zhuǎn)動,轉(zhuǎn)動角度為θ6,并對于坐標系5的X軸正方向平移L3,平移向量為[L30 0]T;
(7) 坐標系7 與坐標系6 初始位置重合并繞其X軸轉(zhuǎn)動,轉(zhuǎn)動角度為θ7;
(8) 坐標系8 相對于坐標系7 沿其X軸正方向平移L4,無轉(zhuǎn)動。
程序默認的運動參數(shù)如表1 所示。
表1 食品配料機器人關(guān)節(jié)運動范圍
續(xù)表1
通常把描述一個連桿和下一個連桿間相對關(guān)系的齊次變換叫做T矩陣。本文首先采用MDH 方法建立坐標系,進而用齊次變換矩陣來建立食品配料機器人末端執(zhí)行器坐標系相對于基坐標系的數(shù)學模型。根據(jù)以上這些參數(shù)可以得到連桿坐標系之間的關(guān)系,同時獲得各個關(guān)節(jié)之間的變換矩陣。
根據(jù)各個關(guān)節(jié)的空間幾何關(guān)系可以獲取到相鄰兩個坐標系的變換矩陣,如下所示:
總體正解為正確的運動學正解。
將反向解析問題轉(zhuǎn)化為只與前7 個坐標系相關(guān)的反向解析問題,下文所述中的“末端”如未做說明全部視為機械臂末端均為第7 軸末端而不是夾持器的末端,其向量的值即為第6 關(guān)節(jié)處質(zhì)心的空間坐標。
由于7自由度機械臂的正向解析結(jié)果中涉及到7個關(guān)節(jié)值的正弦和余弦值,使用傳統(tǒng)的反向解析方法,相當于處理一個七元七次方程組。因涉及到正弦與余弦,過高的次數(shù)會給計算帶來極大障礙。分析7 軸機械臂的結(jié)構(gòu),容易得出反解會有無數(shù)組解,故ROS 采用一種新型的解法,逐步將各個軸的關(guān)節(jié)值解出。
1.3.1 反向解析第4 軸
機械臂的結(jié)構(gòu)是以人類手臂為原型設計的,通過分析7 自由度機械臂的空間幾何特點可以發(fā)現(xiàn):當末端位姿與第4軸的關(guān)節(jié)值相對應,對于食品配料機器人的某一位姿,其各個關(guān)節(jié)值存在無數(shù)組可行解。第4 關(guān)節(jié)可行位置在空間中形成一個圓,圓面與第2 關(guān)節(jié)和第6 關(guān)節(jié)中心連線相垂直,各軸之間存在一定的幾何關(guān)系。
1.3.2 反向解析第3 軸
第4 關(guān)節(jié)的位置可以位于一個圓周上,在所有的可行解中,第3 軸的關(guān)節(jié)值得取值范圍覆蓋了-180°~180°,故在不考慮機械限位的情況下,第3 軸可以任意取值,本算法中通常取值為第3 軸機械限位的中位數(shù)。
1.3.3 反向解析第2 軸
由于已經(jīng)解出θ3、θ4,以此為基礎來反向解析θ2,可做如下的處理:
機械臂的示意圖如圖2 所示。為便于直觀理解,對圖中幾何關(guān)系進行說明,保持第4、5、6、7 軸關(guān)節(jié)值不變,轉(zhuǎn)動第3 軸,可以形成如下圖所示的一個圓周。取G、S、e3 點形成的平面(平面A′、B′、C′、D′垂直于水平面)為研究對象,點w′為點w在該平面上的投影,點w′與點w的Z軸坐標相同的。
圖2 各軸幾何關(guān)系示意
上述分析只考慮θ3及θ4>0的情況,采用幾何關(guān)系求解需要分別討論θ2、θ3及θ4的多種情況,計算過程相關(guān)比較繁瑣,因此采用運動學逆解的方式進行計算。
1.3.4 反向解析第1 軸
1.3.5 反向解析第5 至7 軸
反解前4 軸主要借助于末端位姿矩陣的p向量,而反解第5 至7 軸只需使用末端位姿矩陣中的n,o,a3 個向量。由坐標變換規(guī)則有如下關(guān)系:已知末端位姿矩陣,相當于已知同時由于上文已經(jīng)解出前4 軸關(guān)節(jié)值,相當于已知將上式兩側(cè)同時乘以可得如下關(guān)系:
由于反解第5 至第7 軸只需使用n,o,a3 個向量,故上式可以簡化為只做旋轉(zhuǎn)矩陣的乘法,忽略平移向量,即其中由于為單位正交陣,故有如下關(guān)系:
至此,已將7 個軸的關(guān)節(jié)值全部得到反向解析。
盡管食品配料機器人調(diào)配咖啡師具有上述優(yōu)點,但食品配料機器人咖啡店要完全取代傳統(tǒng)的咖啡店還存在一定的爭議。盡管AI 有所進步,但食品配料機器人并不能像人類一樣善于區(qū)分口味的微妙之處。由于食品配料機器人與環(huán)境的實時交互,其規(guī)劃系統(tǒng)必須能夠在在線和動態(tài)的方式中獲取關(guān)于障礙物的信息。
目前還沒有能夠動態(tài)集成障礙物信息的高維規(guī)劃問題的實時解決方案,神經(jīng)網(wǎng)絡已被證明能夠有效地解決多達3 維的高維規(guī)劃問題。這促使將最初的6D 規(guī)劃問題分解為2 個3D 問題,2 個3D 規(guī)劃都涉及共同的現(xiàn)實環(huán)境限制,使得計劃者的障礙景觀不得不依賴于其它當前配置。
圖3 所示工作空間內(nèi)的圓形障礙物在角空間中誘導出不同的障礙物構(gòu)型,其具體取決于實際的末端執(zhí)行器在笛卡爾空間中的位置。手臂的當前方向分別由黑色箭頭和字母C表示。這里將三維構(gòu)型空間分解為二維位置空間和一維角度空間,分別表示末端執(zhí)行器的笛卡爾位置和姿態(tài)。如果從灰色箭頭所示的角度空間來看,位置空間中顯示的3 種構(gòu)型會導致不同的障礙物構(gòu)型。當觀察圖中額外顯示離散角軸時,禁止區(qū)域在角空間中的位移變得明顯,其中禁止角配置用x標記。反之,禁止末端執(zhí)行器在二維笛卡爾空間中的位置隨著末端執(zhí)行器的方向變化而變化。
圖3 工作空間內(nèi)的圓形障礙物在角空間
用螺旋線生成一條機器人位置軌跡曲線將機器人的位置值輸入到運動學求解器,通過逆解求出的一系列關(guān)節(jié)值。將關(guān)節(jié)值通過運動學求解器,通過正解求出一系列位置軌跡。將螺旋線生成的軌跡與運動學正解求取的位置軌跡進行比較,如圖4 所示。
圖4 中藍色曲線代表規(guī)劃的螺旋線,紅色曲線代表用反解求出的關(guān)節(jié)值通過運動學正解求解出的位置螺旋線,從圖4 可知,兩條曲線處于重合狀態(tài),證明了機器人運動學計算的正確性。
圖4 正反解程序驗證對比
根據(jù)咖啡的調(diào)配流程和機器人運動學進行了如圖5的實驗流程。
圖5 機器人制作咖啡流程
食品配料機器人非常擅長以完全相同的方式處理事情。三葉草倒立的圈子完全相同,其是在實驗室中的無數(shù)實驗確定的節(jié)拍節(jié)奏,因此計時非常精確??Х葞熕龅木褪翘峁┱_劑量的新鮮磨碎的咖啡,確保將其正確分配在過濾器中,然后按一下按鈕,機器完成其余的工作。自動化咖啡站提供快速智能的服務,無需全天候的人工干預即可為客戶提供愉悅的體驗。
本文提出了一種7 自由度輕量化關(guān)節(jié)的機器人手臂。針對機器人本體結(jié)構(gòu)特性對機器人選定坐標系,以輕量一體化關(guān)節(jié)食品配料機器人的七自由度機械臂為實例,利用球坐標獲得正逆運動學方程。同時設計了一款規(guī)劃器,結(jié)合末端執(zhí)行器位置和方向的兩個部分。路徑規(guī)劃算法專為高度動態(tài)環(huán)境下的路徑生成而設計。測試結(jié)果表明,求解機械臂各個軸的順序依次為θ4、θ3、θ2、θ1,在每個步驟中都可能存在多個符合條件的角,因此導致最終解出多組解,可以根據(jù)機械限位的情況篩選掉不在此范圍內(nèi)的解。