PRUDNIKAU MIKALAI
摘 要:針對機器人操縱裝置或機器人路徑的平滑性研究,對軌跡節點的平滑離散是很有必要,此外,還建立了滿足標準平滑度的軌跡路徑。平滑起點和機器人的最終位置必須要精確定義,所以經典最小二乘法是不適用的。為了解決這個問題,提出了一種改進的最小二乘法。該方法要求首先建立一個平滑的運動軌跡,同時使其起點和終點保持一致,而且減小了機器人的驅動單元的動態負載和計算時間。
關鍵詞:路徑規劃 機器人 最小二乘法
中圖分類號:TP391.9 文獻標識碼:A 文章編號:1672-3791(2015)04(c)-0218-02
目前用于創建一個平滑軌跡的方法比較多,例如:采用運動規劃的采集點,采用分段線性化的方法解決軌跡平滑性問題,該方法是用兩點之間的直線替代光滑曲線上兩點間的實際曲線,但這些算法往往沒有考慮障礙物等實際情況,而且在狹窄的空間中應用不是很好[1-2]。其他的方法便是使用數值計算的方法[3-5],其中樣條函數是較為經典的方法[6-8]。樣條函數可以很好地解決平面和空間路徑的任務,該算法廣泛應用于陸地、海水和空中運行的無人操作機器人等方面。GilimyanovR.F提出了遞歸的方法[9]。在他的工作基礎上,科技工作者開發了一個工作窗口,可以實時顯示、存儲有約束的長軌跡平滑曲率。
在出現大量實驗點時,因為插值函數的不穩定性以及給定點的波動性太大,所以利用多項式插值計算平滑度是沒有意義的。常用的方法(例如樣條法)也不能給出較好的結果。因此,基于多項式的離散特定函數對軌跡平滑性研究有很大的幫助,其系數是通過平均積分點集的平滑函數的最小偏差來確定的,該方法稱為最小二乘法。
該文提出了一種改進的最小二乘法。改進點主要是需要保持軌跡的起點和終點不變。
1 運動學分析
沿著離散點和在特定障礙物環境中,機器人的運動方向會發生較大的變化。因此,機器人的動態負載增加較快,這樣就加快機械磨損速度,增加了能量消耗。這個問題的解決方案包括平滑離散軌跡規劃,以此來減少從初始位置到目標位置運動過程中引起機器人的動態負載。
構建軌跡必須滿足系統的約束,因為輪式機器人不能在橫向上運動或打滑,再加上車輪的旋轉角度和速度都是受限的。運動軌跡曲率不應超過其最大值Kmax=1/Rmin,相應地,車輪的最小轉彎半徑為Rmin。
機器人的運動學模型為:
(1)
其中:
-機器人的基準點在坐標系xOy中的坐標;
-機器人的速度矢量;
-機器人的速度矢量與x軸正向之間的角度;
-分別是左、右輪的角速度;
-車輪的半徑。
輸入的數據是一個在三維空間中的初始軌跡的n個節點的序列。
(2)
其中,-軌跡點的坐標;
-節點數。
用一個序列替換(2)的點序列,進行平滑軌跡,
(3)
其中,-平滑軌跡點的坐標。
平滑后軌跡的起點和終點保持不變,即滿足條件:
(4)
此外,平滑的軌跡要盡可能接近原來的軌跡路徑,同時要保證避開障礙物。
2 改進的最小二乘法
根據最小二乘法[10],為了得到平滑路徑,可以通過多項式Fm(i)得到:
(5)
其中,m-多項式的階數;
K-多項式系數的個數;
ak-多項式的系數,可從線性代數方程組系統(SLAE)得到:
(6)
其中,j-系統方程的數目。
這里和下面的公式中,坐標Y和Z是相同的。
將式(4)代入式(5)中可以得出:
(7)
根據條件(7),方程式(6)可寫成:
(8)
為了滿足方程式(4),必須要根據方程(7)替換(8)中的任意兩個方程。例如,更換方程式(7)中的第M和M-1個方程,SLAE的形式為:
(9)
SLAE的矩陣形式為:
(10)
其中:—矩陣SLAE;
—自由變量;
—多項式方程(5)中的系數變量。
偏離初始軌跡的最大允許偏離度不應超過,本標準可用于多項式要求度的自動選擇。
通過生成和求解系統方程來尋找X,Y和Z的軌跡分量:
(11)
由上述公式可知平滑性軌跡偏離初始軌跡的最大偏差量如下:
1.平滑軌跡被分割成一序列在時間上均勻地分布的節點,節點數目與初始軌跡節點數目相等。
2.搜尋初始軌跡和平滑軌跡節點之間的最大距離。
該算法的結果較好,因為各個節點之間的距離小于初始軌跡節點到平滑軌跡節點之間的距離。此外,尋找空間上兩點之間的距離要比從初始軌跡節點到平滑軌跡節點的距離更容易、更快,而且這種替代使最大允許偏差的標準更為規范,并減少了搜索時間。
3 仿真結果
通過MATLAB程序進行以上算法的數值仿真,在實驗中,假設(機器人)初始軌跡由虛線表示,其坐標值在表1中給出。在有障礙物的環境下運動時,將會導致其在運動方向上發生較大變化,進而使機器人驅動單元動態負載過大。
從圖2可以看出平滑計算需要較少的時間;從圖3可以看出,改進的方法要求平滑前后軌跡的起點和終點保持不變,且平滑性較好。
程序會自動計算得到,當M=6時的多項式的平滑度最高,進而進行軌跡規劃。同時使得從給定的點(xi,yi)到(xi,y(n)(xi))的距離的平方和最小。
為了確保多項式是獨一無二的,所以多項式的次數必須小于給定點的數量。例如,如果有三個點,多項式可以是零階或一級(直線)或拋物線來近似運算。此外,拋物線將完全通過已知的三點,即距離的平方和等于零,因為二次多項式的三個系數可以通過給定的三個點唯一確定。這并不是數據近似求解,而是數據插值。
用Matlab進行數據擬合,在使用最小二乘法進行擬合時,經常使用“polyfit()”函數。根據給定的點找出被刪除的多項式曲線圖離給定的距離是多少,在數據擬合處理時,“polyfit()”函數需要兩個輸出參數,分別與多項式系數,近似值相關。
可以從多項式P的系數可得到,用R,Df和normr表示的S也可以得到。normr是擬合誤差:
(12)
Df:表示了點的數目和多項式系數數目之間的差值。
增加多項式的階數可以減小誤差,但近似值的準確度并不會一直提高。
例如,對于所給定的數據,六階多項式會產生誤差normr=0,1442。
此外,將沿原軌跡走過的路徑長度與沿著平滑的軌跡走過的路徑長度進行比較,發現路徑長度可減少15%,從而減少運動時間,節約能源。因此,沿著平滑的軌跡移動所需要的能量(由實線表示)要比沿初始軌跡移動的能量少得多。
4 結語
針對于平滑離散軌跡提出的改進最小二乘法,該方法是在MATLAB中實現的。具有以下優點:
1.構建平滑運動路徑,消耗能量較少,運動路徑的所消耗時間減少。
2.顯著降低在機器人作業時的動態負載。
在程序運行過程中可知,當M=6時的多項式的平滑度最高,進而進行軌跡規劃,六階多項式產生的擬合誤差為normr=0.1442,并縮短路徑長度15%,這極大地縮短了運動時間,減少了能量消耗。
與經典的最小二乘法相比,該算法增加了初始軌跡和平滑軌跡二者之間的重合度,節省計算機資源。為機器人機械手的工作路徑平滑性研究和軌跡規劃提供了依據。
參考文獻
[1] Hauser,K.&V.Ng-Thow-Hing.Fast smoothing of manipulator trajectories using optimal bounded-acceleration shortcuts [J]. In Proceedings of International Conference on Robotics and Automation,2010,12(2):774-786.
[2] Yang, K. & S. Sukkarieh.3d smooth path planning for a uav in cluttered natural environment [J].In Proceedings of International Conference on Intelligent robots and systems,2008(2):794-800.
[3] Ratliff, N.,Zucker M. & S. Srinivasa. Chomp:Gradient optimization techniques for efficient motion planning [J].In Proceedings of International Conference on Robotics and Automation,2009(5):472-476.