,
(上海交通大學機械與動力工程學院,上海200240)
關節(jié)空間樣條的連續(xù)點位運動規(guī)劃算法
劉承立,欒楠
(上海交通大學機械與動力工程學院,上海200240)
工業(yè)機器人的運動過程需要在滿足各種工作條件下給出一個高效合理的規(guī)劃。傳統(tǒng)上工業(yè)機器人的運動規(guī)劃分為PTP運動(point-to-point)和CP運動(continuous path),其中PTP控制最為簡單,沒有插補運算,各軸同時獨立地走完自己的規(guī)劃即可,其常用于快速定位和搬運作業(yè)[1]。
基本的PTP運動從靜止開始,到達目標點位置時速度減為零,相應加速度也為零。在實際作業(yè)中,為了避開可能的障礙,或者在不同的階段采用不同的運動速度,往往需要用若干中間點來對整個PTP運動軌跡進行約束,即此時機器人需要連續(xù)進行多點的PTP運動規(guī)劃。如果簡單地逐段應用基本的PTP規(guī)劃,那么在每一個中間點都有一個減速、停頓、加速的過程,這對于搬運等實際作業(yè)時是不合理的,不僅大大降低了工作效率,而且還增加了能耗[2]。
一般的工業(yè)機器人產(chǎn)品都提供了連續(xù)點位運動規(guī)劃,典型的做法是當機器人以給定的范圍“接近”目標點時,立即以此當前位姿作為起點,下一點作為目標點,當前速度和加速度作為初始條件,進行下一段的規(guī)劃。在該做法中,“接近”范圍一般是以總行程的百分比表示,例如一旦完成該段行程的90%,即距離目標點不足10%的時候,立即規(guī)劃并向下一個目標點進發(fā)。其優(yōu)點是,計算簡單,能夠實現(xiàn)連續(xù)的點位運動。缺點是,示教或計算得到的中間點不會準確到達,只是“接近”該點;整個軌跡的速度可能仍然不連續(xù),比如,當“接近”的范圍過小時,其速度連續(xù)的效果不明顯,仍然會有明顯的減速過程,只是不會減速至零;而“接近”范圍過大則距離中間目標點的誤差較大時就會開始下一目標點的運動。
因此,一種簡單高效的PTP運動規(guī)劃方法對于提升機器人的運動性能是有很大意義的。
由于機器人的運動是多關節(jié)聯(lián)動,即使不需要插補的PTP運動,至少也要保證各軸準確到達目標點或者中間點的同時性。因此,每一個軸在每一段運動的速度不僅取決于指令本身,也取決與其他軸的路徑及速度等運動情況。要針對所有可能出現(xiàn)的運動狀況作出一個判斷,從而給出一個全局最優(yōu)的規(guī)劃,即保證機器人運動軌跡準確地經(jīng)過所有中間點,各軸運動速度光滑,加速度連續(xù),且符合指令的要求。事實證明,這是非常困難的,難以做到用簡單算法在機器人控制器中實現(xiàn)實時控制,即便能實現(xiàn),也不符合PTP算法簡單快速、不需要進行插補的初衷[3]。
1.1 傳統(tǒng)三次樣條曲線規(guī)劃
為了保證運動的平穩(wěn)性,就要保證速度光滑,加速度連續(xù)。因此,機器人的運動規(guī)劃至少應該是由三次函數(shù)構建,為此首先想到采用三次樣條曲線進行規(guī)劃[4]。針對某一個軸,直接將所有經(jīng)過的m個點,作為樣條點,如圖1所示,按照指令給定的速度計算每一段運動所需要的時間,實際中每段時間取所有關節(jié)軸中所需時間最大值,從而保證同時到達。此時m-1段樣條曲線共計4(m-1)個未定參數(shù),除起點和終點以外的m-2個中間點滿足的條件為位置準確到達且連續(xù)、速度連續(xù)、加速度連續(xù),起點和終點處位置準確到達,共計4m-6個條件,還欠缺的2個一般令起點和終點速度為零作為邊界條件,就可以構成標準的三次樣條函數(shù)[5],如圖1所示。圖中已對角位移、角速度、角加速度和時間量做了歸一化處理,下同。
圖1 傳統(tǒng)三次樣條曲線下角位移、角加速度曲線
圖1中,實線為以傳統(tǒng)三次樣條曲線規(guī)劃出的軌跡,虛線為理想軌跡,點劃線為傳統(tǒng)三次樣條下的加速度曲線??梢园l(fā)現(xiàn),簡單采用傳統(tǒng)三次樣條曲線進行規(guī)劃具有的不足是,由于該方式下只能指定2個邊界條件,所以只能選擇指定速度,那么起點和終點加速度不為零,有一定的跳變,這會使得在實際應用中產(chǎn)生震動,對應圖1中t=0和t=10時刻;不能保形,樣條的光滑性會導致不期望的運動,例如某關節(jié)在t=0-2時間段內期望是靜止不動的,但是由于樣條對曲線進行光滑會使其產(chǎn)生如圖1所示的運動,這是不期望出現(xiàn)的[6]。
1.2 算法基本原理
為了解決上面的缺點,可以采取分段的方法,增加可變參數(shù)來達到調節(jié)或約束曲線形狀的目的。例如,在2個示教點或計算得到的點之間插入n個中間點,將一段運動曲線分為n+1段,這樣就可以進一步地滿足更多的邊界條件。以插入2個中間點(n=2)為例,將某段運動曲線分為3段,比如,任意2個示教點之間的運動,可以指定如下邊界條件:兩端點位置(示教點或計算得到的點)、兩端點速度、兩端點加速度,共計6個條件[7]。而一般三次樣條S=a0+a1t+a2t2+a3t3,只有4個未定參數(shù),只需要4個不相關條件即可。如果按照本文思想,將該段運動按時間等分為3段,則
(1)
a10,a11,……,a33為12個未定參數(shù)。
(2)
聯(lián)立式(1)和式(2)方程組,可導出式(1)中各式的待定參數(shù)為:
(3)
(4)
(5)
基于關節(jié)空間樣條的連續(xù)點位運動算法已在一種四自由度碼垛機器人中得到驗證,能夠快速實現(xiàn)軌跡規(guī)劃,并且實現(xiàn)了加速度無跳變,運動速度光滑且能準確到達中間示教點。算法規(guī)劃出的2個示教點之間做點位運動的角位移、角速度和角加速度曲線如圖2所示。算法規(guī)劃出的3個示教點之間做點位運動的角位移、角速度和角加速度曲線如圖3~圖5所示。其中,圖3對應2端點速度為0,中間點高速的運動情況;圖4對應2端點為高速,中間點速度為0的運動情況;圖5對應起始點和中間點高速運動,末端點降速為0的運動情況。由圖2~圖5可以看出,在各種工況下,該算法均能實現(xiàn)示教點或計算得出點的位置準確到達,而且由于該算法可以滿足更多的邊界條件,從而徹底消除了加速度跳變,滿足中間點位置、速度和加速度連續(xù)的要求,實現(xiàn)了位置、速度的平滑過渡。
圖2 點位運動時關節(jié)坐標下φ、ω、a
圖3 連續(xù)點位運動1
圖5 連續(xù)點位運動3
規(guī)劃的流程如圖6所示。在實際工程應用中,為了簡化處理,要求每個示教點上加速度為零,速度則根據(jù)用戶給定參數(shù)和應用特點共同指定。機器人運動一般不允許位置超調,而在該算法的基礎上還需要做出如下處理,如果下一段位置反向,則該段末速度降為零;如果后續(xù)的同向運動距離過短,速度根據(jù)減速所需距離下降;否則按指令給定的速度運動,每個軸的實際速度需要根據(jù)各自軸位移的比例調整,以保證運動的同時性。
圖6 規(guī)劃過程
機器人的運動規(guī)劃是其運動控制的核心部分之一,對于機器人的運動過程起著至關重要的作用。該規(guī)劃方法已在四軸碼垛機器人上得到應用,以其為例,起初應用傳統(tǒng)的三次樣條規(guī)劃其進行碼垛運動,過程中常出現(xiàn)小幅震動(加速度跳變引起)、超調、速度受限和中間點不能準確到達等問題,后來采用基于關節(jié)空間樣條進行插點分段規(guī)劃,并對特殊運動狀態(tài)做出處理,最終實現(xiàn)了快速、光順的搬運動作。該規(guī)劃算法具有通用性,并不局限于4軸,也不局限于搬運機器人,可廣泛用于各類機器人空間內的連續(xù)點位運動,尤其是要求中間示教點準確到達的情況。當示教點(或者離線計算點)比較密,精度要求不高時,可以直接作為樣條插補使用。
[1] 曹波,曹其新,童上高,等.基于時間最優(yōu)的搬運機器人運動規(guī)劃[J].組合機床與自動化加工技術,2012,7(7):33-38.
[2] 黃時聰,王剛,郝杰成.機器人PTP控制曲線的研究與實現(xiàn)[J].機械工業(yè)自動化,1992,14(3):24-28.
[3] Guo Z,Hsia T.Joint trajectory generation for redundant robots in an environment with obstacles[C]//In IEEE Int.Conf.on Robotics and Automation,1990.157-162.
[4] 李純軍,尹周平,熊濤,等.一種點位運動快速規(guī)劃算法[J].組合機床與自動化加工技術,2011,3(3):62-64.
[5] Mu H H,Zhou Y F.Third-order trajectory planning for high accuracy point-to-point motion[J].Journal of Huazhong University of Science and Technology,2007(35):58-61.
[6] 秦峰,徐向榮.基于樣條函數(shù)法的機器人運動軌跡規(guī)劃[J].機械科學與技術,1996,15(4):561-565.
[7] 張紅強,章兢,王耀南,等.機器人關節(jié)空間B樣條軌跡設計的混沌優(yōu)化[J].電機與控制學報,2007,11(2):174-177.
[8] 葉留青,楊夢龍,陳紹春.一類C1保形三次Spline插值函數(shù)的充要條件及其構造方法[J].河南科學,2006,24(3):316-318.
Continuous Point-to-point Motion Planning Algorithm Based on Splines in Joint Space
LIUChengli,LUANNan
(School of Mechanical Engineering,Shanghai Jiaotong University,Shanghai 200240,China)
為了提高工業(yè)機器人的運動平穩(wěn)性和快速性,保證機器人在走曲線時能夠準確到達各示教點并且實現(xiàn)平滑過渡,提出一種基于關節(jié)空間樣條的連續(xù)點位運動規(guī)劃算法。以關節(jié)空間的單個軸為例,從一般三階S曲線軌跡出發(fā),為了保證規(guī)劃得到的加速度不跳變以及樣條曲線能夠保形,在兩個相鄰示教點之間插入n個中間點,將一段軌跡分為n+1段,根據(jù)該關節(jié)起點和終點的位置、速度和加速度以及插入點位置、速度、加速度連續(xù)的邊界條件,可以得到新的規(guī)劃軌跡。最后通過實驗比較驗證,該規(guī)劃算法能夠快速實現(xiàn)過程點的準確到達并且加速度沒有跳變、曲線能夠保形,具有實際推廣價值。
連續(xù)點位運動;規(guī)劃算法;關節(jié)空間樣條
To improve the moving stationarity and rapidity of industrial robots and ensure its reachability to each teaching point and smooth transition,this paper presents a kind of continuous point-to-point motion planning algorithm based on splines in joint space.Take a single axis in joint space as an example,we can firstly analyzed the general third-order S-curve trajectory.In order to ensure the planning acceleration have no jump and the curve is conformal,we insertnintermediate points between two adjacent teaching points and therefore a section of the trajectory is divided inton+1segments.According to these boundary conditions-the position,velocity and acceleration of the start and the end points and their continuity at the inserted points,a new planned trajectory can be obtained. Finally,by the experimental verification, this planning algorithm can make the robot quickly and accurately reach the teaching points without acceleration-jump and the curve conformal,and can be applied to practical situation.
continuous point-to-point motion;planning algorithm;splines in joint space
2014-04-14
TP242.2
A
1001-2257(2014)08-0074-04
劉承立(1990-),男,山東聊城人,碩士研究生,研究方向為工業(yè)機器人與智能控制;欒楠(1973-),男,湖北武漢人,副教授,研究方向為機器人學、機器人智能控制。