?

基于視覺反饋的機械臂位置模糊控制

2023-12-12 11:30解霄鵬王佳瑋高波于凌濤
應用科技 2023年6期
關鍵詞:輸入量柔性平面

解霄鵬,王佳瑋,高波,于凌濤

1. 哈爾濱工程大學 機電工程學院,黑龍江 哈爾濱 150001

2. 中國航空工業集團公司 哈爾濱空氣動力研究所,黑龍江 哈爾濱 150009

機械臂的位置控制是機械臂控制領域的重要組成部分,合理的工作軌跡能夠提高效率,降低能耗,因此研究機械臂的位置控制具有重要意義[1]。傳統的位置控制方法需要獲取機械臂的準確尺寸,建立運動學模型,進行笛卡爾空間規劃或關節空間規劃,計算量較大[2]。并且傳統方法很難用于對柔性機械臂的控制,因為柔性機械臂的振動大大提高了建模復雜程度,需要融合多種智能算法進行深入的數學分析,很難實現誤差補償[3-4]。如今,利用視覺反饋技術的機械臂在實際生活中有了大規模的應用[5]。視覺傳感器因具有精確性高、易用性強、獲取信息完備以及信號范圍廣等特點,被用于許多場景[6]。本文將針對傳統機械臂位置控制方法的不足,結合視覺反饋技術,提出一種機械臂位置的模糊控制方法,以解決傳統方法受尺寸約束的問題,并初步用于柔性機械臂的研究。

1 總體方案設計

本文研究的機械臂具有3 個自由度,均為轉動關節。第1 個轉動關節在xoy平面內運動;第2 個轉動關節和第3 個轉動關節共面,在xoz平面內運動。如圖1 所示,視覺傳感器1 布置在機械臂上方,捕捉xoy平面信息,視覺傳感器2 布置在機械臂前方,捕捉xoz平面信息,包括各個轉動關節的坐標、機械臂末端的坐標、目標物的坐標。

圖1 機械臂示意

在得到上述信息后,采用設計好的運動方向判斷算法,即可得到各個轉動關節的運動方向,讓機械臂末端逐步靠近目標物體。在機械臂運動過程中,各個關節的運動速度通過模糊控制方法搭建二維模糊控制器進行求解。將上述2 種方法結合即可實現對機械臂的位置控制,完成對目標物的抓取。設計好核心算法后,在機器人操作系統(robot operating system,ROS)中建立機械臂模型,聯合MATLAB 進行仿真實驗驗證,系統整體架構如圖2 所示。

圖2 系統整體架構

2 運動方向判斷算法設計

在進行機械臂運動方向判斷時,要調用視覺傳感器得到機械臂的3 個關節、機械臂末端及目標物體分別在xoy和xoz平面的坐標,如表1 所示。

表1 通過視覺傳感器得到的坐標

2.1 xoy 平面運動方向判斷

在xoy平面,如果機械臂末端與目標物不重合,可以通過部分關鍵點坐標對關節1 和關節2 的運動方向進行判斷。首先判斷該平面機械臂末端到目標物的距離是否為0,如果dm45為0 則關節1 不轉動,如果dm45不為0 則依據S1的正負判斷關節2 的轉向:S1>0時關節2 逆時針轉動,S1<0時關節2 順時針轉動。

判斷流程如圖3 所示,規定逆時針方向為關節轉動的正方向,ri值代表3 個關節的旋轉方向,ri=0代表關節不轉動,ri=1代表關節逆時針轉動,ri=-1代表關節順時針轉動。

圖3 xoy 平面運動方向判斷流程

2.2 xoz 平面運動方向判斷

2.2.1 關節1 和關節2 運動方向判斷在2.1 節中已通過關鍵點坐標對關節1 和關節2 的運動方向做出初步判斷。如果在xoz平面上機械臂末端與目標物不重合,其運動方向仍需進一步分析,并且對關節3 的運動方向進行判斷。如圖4 所示,在xoz平面上,判斷該平面機械臂末端到目標物的距離是否為0,如果為0 則關節2 和關節3 不轉動,如果不為0 則通過S2和S3判斷關節1 和關節2 的轉向。

當S2>0時關節1 逆時針轉動,當S2<0時關節1順時針轉動;當S3>0時關節2 逆時針轉動,當S3<0時關節2 順時針轉動。判斷流程如圖5 所示。

圖5 關節1、2 在xoz 平面運動方向判斷流程

2.2.2 關節3 運動方向判斷

對于關節3 轉動方向的判斷,首先要用獲得的坐標求出關節2 和機械臂末端之間的距離dn24、關節2 和目標物之間的距離dn25,再根據dn24和dn25的大小進行判斷。如果兩者相等,則關節3 不轉動;如果兩者大小不等,則進一步根據目標物和關節2 在xoz平面上的坐標yn2和yn5的大小進行判斷。如果yn5≥yn2且dn24>dn25,關節3 順時針轉動,反之關節3 逆時針轉動;如果yn5<yn2且dn24>dn25,關節3 逆時針轉動,反之關節3 順指針轉動。關節3 判斷流程如圖6 所示。

圖6 關節3 在xoz 平面運動方向判斷流程

3 模糊控制系統設計

模糊控制以模糊數學為基本理論,主要利用模糊推理技術進行控制[7],是一種高效的非線性控制[8]。它可用于模型參數不確定或者波動較大的線性和非線性系統的控制[9-10]。本文采用模糊控制方法對機械臂速度進行控制。當末端距離目標物較遠時,控制各關節以較大的速度運動;隨著末端逼近目標物,速度逐漸減小。根據以上思路利用模糊控制工具箱,設定參數,完成模糊控制系統的設計。

3.1 輸入量和輸出量確定

常見的模糊控制器有一維模糊控制器和二維模糊控制器[11]。一維模糊控制器以偏差e作為輸入量,二維模糊控制器以偏差e、偏差變化率ec作為輸入量。二維模糊控制器與一維模糊控制器相比,雖然結構較為復雜,但是動態性能更好[12],因此本文選用二維模糊控制器。

將機械臂的末端與目標物中心距離d以及其偏差變化率dc作為輸入量;電機轉速n為輸出量,輸出量個數為3,對應各關節的轉速。輸入量的計算需要獲取機械臂的末端坐標Pi(xi,yi)和目標物坐標P(x,y),di為距離偏差,dci為偏差變化率,采樣時間間隔為 Δt,則:

3.2 模糊化

在確定輸入量和輸出量后,首先完成隸屬度函數的確定。綜合考慮整個系統的精度和運算效率,將三角形隸屬度函數和高斯型隸屬度函數相結合[13],接著確定各個變量的模糊論域空間。把d、dc、n的基本論域設置為[0,xd]、[-xdc,xdc]、 [0,yn],對模糊空間進行分割[14]。隨著分割級數的增多,系統的精度也會提高,但是會使系統結構更加復雜。采用試湊的方法,先將分割級數設置為7 級,后續可根據精度要求進行調整。D、DC、N與d、dc、n對應,是輸入量和輸出量的模糊語言變量。D的模糊子集為{EJ, BJ, LJ, ZO, LY, BY, EY},論域為{0,1,2,3,4,5,6};DC的模糊子集為{NB, NM,NS, ZO, PS, PM, PB},論域為{-3,-2,-1,0,1,2,3};N的模糊子集為{ES,FS,BS,ZH,BB,FB,EB},論域為{0,0.5,1,1.5,2,2.5,3}。設置量化因子kd=6/xd、比例因子kn=yn/3,為了保證系統精度,量化因子取值范圍設置如下:

式中δ為允許的控制誤差。

比例因子kn影響系統的快速性和穩定性,kn越大,系統的快速性越好,但是如果kn過大會出現超調,穩定性下降,因此在模糊控制器結構上加入參數調整器調整kn的大小。參數調整器的輸入量為d,Kn與kn對應,Kn的模糊子集為{ES, FS, BS,ZH, BB, FB, EB},論域為{0, 0.5, 1, 1.5, 2, 2.5, 3},最終確立的模糊控制系統結構如圖7 所示。

圖7 模糊控制系統結構

3.3 模糊規則確定

首先確定基本模糊控制器的模糊規則?;灸:刂破鞯妮斎肓繛閐和dc,文中將分割級數設置為7 級,則模糊規則庫包含49 個形式為“ifthen”的模糊條件語句,它們決定了模糊關系Ri=(A×B)T×C,由49 個模糊規則經過運算后可得49 個模糊關系矩陣,對它們求并可得到最終的模糊關系矩陣R。輸入量的模糊集合為D和DC,模糊推理過程為U=(D×DC)T·R,即可得到對應控制量的模糊集合??刂戚敵隽康哪:巹t如表2 所示,模糊規則為“ifDis EJ andDCis NB thenNis ES”。

表2 基本模糊控制器模糊規則表

接著確定參數調整器的模糊規則。參數調整器輸入量只有d,因此有7 個形式為“if-then”的模糊條件語句。在初始階段為了加快系統響應速度,將比例因子kn設置成一個較大的值,以此來提高控制能力。當d較大時增大kn,讓系統的輸出趨向穩態;當d減小時,也要逐步減小kn的值,使系統具有較好的穩定性??刂戚敵隽康哪:巹t如表3 所示。

表3 參數調整器模糊規則表

3.4 解模糊化

完成上述運算后,輸出量以模糊語言的形式表示,通過解模糊化可以將模糊輸出值映射到真實世界。采用面積重心法對基本模糊控制器和參數調整器進行解模糊化操作,它的輸出值是隸屬度函數圖與坐標軸構成的圖像的重心[15]。這種方法的特點是在進行輸出過程中控制值更加平滑,即使輸入信號存在很小的變化,輸出信號也能夠跟著變化。面積重心法表達式為

式中:V為輸出論域,v為輸出論域中的值,μv(v)為隸屬度函數,v0為模糊推理輸出。

離散域的表達式為

式中:vi為離散域下輸出論域中的值,μv(vi)為隸屬度函數,v0為模糊推理輸出,n為輸出量化級數。

對輸出量進行解模糊化即完成了整個模糊控制系統的設計。搭建完模糊控制系統后,通過對控制結果的觀察、調整模糊規則和隸屬度函數等,對系統性能進行改善。

通過視覺傳感器獲得機械臂的末端和目標物的坐標,計算2 點的距離,并通過求解其偏差變化率作為模糊控制器的輸入量,調用模糊控制器,計算系統的輸出,得到其對應輸出量,就可以實現對各個關節運動速度的控制。再結合文中的運動方向判斷算法,即可完成對機械臂的位置控制。

4 機械臂位置控制仿真分析

4.1 仿真系統建立

仿真系統整體框架如圖8 所示,在Gazebo 中搭建機械臂的三維模型,建立三維仿真環境,用以檢驗機械臂的控制算法效果。ROS 采用話題、服務、Action 作為基本的通信手段,采集節點信息傳輸給MATLAB。MATLAB 會對視覺傳感器的圖像進行處理,進行目標識別,獲取關鍵點坐標。在獲取了3 個關節、末端、目標物體在空間內的坐標后,利用運動方向判斷算法判斷機械臂的運動方向,通過模糊控制工具箱,將各個關節的速度信息反饋給ROS,控制機械臂三維模型進行運動,實現對機械臂的位置控制。

圖8 仿真系統

4.2 視覺圖像處理

為使仿真實驗更貼合實際情況,在仿真環境中添加視覺傳感器,在各個關節及機械臂末端設置圓形標記,通過視覺檢測算法對標記物進行識別,并獲取其中心坐標。獲取圖像信息后,首先進行圖像預處理,將其灰度化減少運算量;再進行二值化操作,保留其形態信息的增強對比度,便于后續對標記物的識別檢測[16]。由于成像變形,圓形標記物會變成橢圓,需要用橢圓檢測算法進行識別?;诨舴蜃儞Q的橢圓檢測算法需要確定描述橢圓的5 個參數,不可避免地出現了計算量大、耗時長等問題[17-18]。本文采用基于弧線段的橢圓檢測算法。橢圓由若干弧線段組成,通過直線提?。╨ine segment detector,LSD)算法對其進行檢測[19]。把弧線段進行分組,通過對連續性和凸性的判定,即可得到2 個弧線段是否為同一組。分組完畢后,對跨度角進行判斷,如跨度角近似等于360°,就將這組設置為初始橢圓集合。接著對描述橢圓的5 個參數分為橢圓中心坐標、長軸和短軸長度、旋轉角度3 個子空間進行聚類,減小運算量,聚類完成后即可得到候選橢圓。為了保證檢測結果的可靠性,從覆蓋角度和邊緣點數量2 個角度進行評分。覆蓋角度越大、邊緣點越多,說明得到的橢圓擬合效果越好,可選擇出最優橢圓。圖像處理流程如圖9 所示。

圖9 圖像處理流程

機械臂運動過程中,用視覺傳感器1 和視覺傳感器2 捕捉圖像信息,提供關鍵點坐標,控制機械臂末端靠近目標點。隨著二者之間的距離逐漸變小,會出現標記物部分重疊的情況,如圖10 所示,此時無法識別橢圓。

圖10 末端和目標物重合時橢圓檢測

為了在標記物出現重合的情況下還能夠準確識別,在目標物附近安裝視覺傳感器3,并設置閾值dm。當末端和目標物的距離大于該閾值時,用視覺傳感器1 和視覺傳感器2 獲取圖像信息,反之調用視覺傳感器3。由于視覺傳感器3 設置在目標物附近,不會出現成像變形,調用霍夫變換對圓的檢測算法即可[20],控制末端逐漸靠近目標物并完全重合,結果如圖11 所示。

圖11 末端靠近目標物并完全重合

4.3 仿真結果分析

在搭建好虛擬仿真系統并且完成圖像處理后,開始進行仿真實驗。仿真結果如圖12 所示。從機械臂的末端位置變化曲線以及速度變化曲線可以看出,機械臂在初始階段以較大的速度運行,在逐步靠近目標物時速度逐漸降低,并且曲線較為圓滑。最終末端與目標物之間的距離誤差為4.21×10-6m,整個過程運動平穩,誤差較小,說明本文建立的機械臂位置的模糊控制系統效果良好。

圖12 仿真結果

5 柔性機械臂探究

通過三自由度機械臂的仿真實驗,驗證了模糊控制方法的可靠性。由于該方法不需要建立復雜的運動學模型,將其初步用于柔性機械臂的控制。在ROS 和MATLAB 的聯合仿真中,目前只能建立剛性模型,因此用2 根剛性機械臂來近似模擬柔性機械臂。如圖13 所示,在桿1 轉動的過程中,調用函數得到桿1 某端的速度v,將kv作為關節2 的速度(k為任選常數),桿1 和桿2 之間就會形成夾角θ。隨著桿1 的轉動,關節1 和末端的距離不斷變化,實現柔性機械臂的模擬。

圖13 柔性機械臂模擬

仿真實驗中,用來模擬柔性機械臂的剛性桿具有2 個自由度,并且都位于xoy平面上。將目標物設置在xoy平面,只需調用正視該平面的視覺傳感器1 和目標物附近的視覺傳感器3,運動方向的判斷參照文中三自由度機械臂2 個共面轉動關節的運動方向判斷算法即可。其余流程與三自由度機械臂仿真實驗一致,仿真結果如圖14 所示。機械臂在初始階段以較大速度運行,在靠近目標物的過程中速度逐漸降低。由于柔性機械臂長度的變化,在靠近目標物時產生了輕微波動,最終末端與目標物之間的距離誤差為2.32×10-5m,驗證了該方法同樣適用于對柔性機械臂的控制。

圖14 柔性機械臂仿真結果

6 結論

本文提出了一種基于視覺反饋的機械臂位置的模糊控制方法,設計了運動方向判斷算法和模糊控制器,并通過仿真實驗驗證了該控制系統的可靠性,得到結論如下:

1)該控制系統不受機械臂桿長的約束,適用范圍廣并且誤差較小,具有快速性與較好的穩定性。

2)相比于傳統的逆運動學解法,無需建立復雜的運動學模型,求解過程更簡單,可用性強。

3)該方法已初步實現對柔性機械臂的控制,后續會對該方法進行深入研究,解決柔性機械臂控制過程中存在的建模復雜等問題,具有廣泛的應用價值。

猜你喜歡
輸入量柔性平面
售電側開放市場環境下基于多分位魯棒極限學習機的短期負荷預測技術
一種柔性拋光打磨頭設計
灌注式半柔性路面研究進展(1)——半柔性混合料組成設計
高校學生管理工作中柔性管理模式應用探索
電流互感器測量結果不確定度評定
輸入量與尿量比在深Ⅱ度燒傷患者休克預防性補液中的應用分析
立體幾何基礎訓練A卷參考答案
參考答案
關于有限域上的平面映射
大熱輸入量耐火鋼埋弧焊方法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合