何價(jià)來,羅金良,宦朋松,鄧 健
(南華大學(xué)機(jī)械工程學(xué)院,湖南衡陽 421001)
基于蒙特卡洛法的七自由度擬人機(jī)械臂工作空間分析*
何價(jià)來,羅金良,宦朋松,鄧 健
(南華大學(xué)機(jī)械工程學(xué)院,湖南衡陽 421001)
應(yīng)用D-H法對(duì)七自由度擬人機(jī)械臂建立關(guān)節(jié)坐標(biāo)系并確定桿系參數(shù),建立機(jī)械臂運(yùn)動(dòng)學(xué)模型,應(yīng)用齊次變換法推導(dǎo)出機(jī)械臂末端執(zhí)行器的位姿。根據(jù)機(jī)械臂關(guān)節(jié)空間到工作空間的映射關(guān)系,提出采用蒙特卡洛法分析該機(jī)械臂的工作空間,得出機(jī)械臂工作空間的云圖。為后續(xù)的機(jī)械人軌跡規(guī)劃、動(dòng)力學(xué)分析、運(yùn)動(dòng)控制和參數(shù)優(yōu)化提供了參考依據(jù)。
蒙特卡洛法;七自由度;擬人機(jī)械臂
機(jī)器人技術(shù)是綜合了計(jì)算機(jī)、控制論、機(jī)構(gòu)學(xué)、信息和傳感技術(shù)、人工智能、仿生學(xué)等多種學(xué)科而形成的高技術(shù),是當(dāng)代研究十分活躍、應(yīng)用日益廣泛的領(lǐng)域。擬人機(jī)械臂這種獨(dú)特的設(shè)備與其他機(jī)械臂相比,具有高度的適應(yīng)性與靈活性[1],具體表現(xiàn)在:對(duì)環(huán)境要求低、動(dòng)作靈活、能量消耗小。作為機(jī)器人研究領(lǐng)域最活躍的研究方向之一,擬人機(jī)械臂是各國學(xué)者研究的熱點(diǎn),更是現(xiàn)代制造業(yè)自動(dòng)化的最新發(fā)展趨勢和方向[2-3]。
機(jī)械臂的靈活程度對(duì)其工作能力起著至關(guān)重要的作用。B.Roth在1975年提出了工作空間的概念,然后在機(jī)器人學(xué)界進(jìn)行了一系列的討論。機(jī)械臂的工作空間是衡量機(jī)械臂運(yùn)動(dòng)靈活程度的一個(gè)重要的運(yùn)動(dòng)學(xué)指標(biāo),它是指機(jī)械臂末端執(zhí)行器坐標(biāo)點(diǎn)所能到達(dá)的空間點(diǎn)集合。目前,機(jī)械臂工作空間的求解方法主要有圖解法、解析法和數(shù)值法。圖解法和解析法都受關(guān)節(jié)數(shù)目的限制,對(duì)于有些機(jī)械臂無法準(zhǔn)確描述,數(shù)值法計(jì)算量太大,對(duì)于有些邊界曲面可靠性得不到保證[4,9]。本文采用從數(shù)值法衍生發(fā)展出來的基于隨機(jī)概率的算法:蒙特卡洛法[6]。隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,蒙特卡洛法得到了越來越廣泛的應(yīng)用。
本文以七自由度擬人機(jī)械臂為研究對(duì)象,利用DH法對(duì)其進(jìn)行運(yùn)動(dòng)學(xué)建模,推導(dǎo)出機(jī)械臂末端執(zhí)行器的位姿,在MATLAB環(huán)境下采用蒙特卡洛法對(duì)擬人機(jī)械臂進(jìn)行工作空間分析。
本文研究的七自由度擬人機(jī)械臂實(shí)物如圖1所示。七自由度擬人機(jī)械臂由肩關(guān)節(jié)、肘關(guān)節(jié)和腕關(guān)節(jié)組成,其中:肩關(guān)節(jié)有三個(gè)自由度,肘關(guān)節(jié)有一個(gè)自由度,腕關(guān)節(jié)有三個(gè)自由度,機(jī)械臂的結(jié)構(gòu)模型如圖2所示。肩關(guān)節(jié)和肘關(guān)節(jié)用于確定機(jī)械臂的空間位置,腕關(guān)節(jié)用于確定機(jī)械臂的姿態(tài)[8]。
圖1 七自由度擬人機(jī)械臂
圖2 七自由度擬人機(jī)械臂結(jié)構(gòu)模型
在1955年,Denavit和Hartenberg在“ASME Journal of Applied Mechanics”上發(fā)表的論文[5]對(duì)機(jī)器人進(jìn)行表示和建模,并推導(dǎo)出了機(jī)器人的運(yùn)動(dòng)學(xué)方程,這已經(jīng)成為表示機(jī)器人和機(jī)器人運(yùn)動(dòng)學(xué)進(jìn)行建模的標(biāo)準(zhǔn)方法。D-H模型描述了對(duì)機(jī)器人連桿和關(guān)節(jié)進(jìn)行建模的一種非常簡單的方法,可用于任何機(jī)器人構(gòu)型,而與機(jī)器人的結(jié)構(gòu)順序和復(fù)雜程度無關(guān)。它可以用于表示已經(jīng)討論過的任何坐標(biāo)中的變換,也可以用于表示全旋轉(zhuǎn)的鏈?zhǔn)?擬人型機(jī)器人、SCARA機(jī)器人或任何可能的關(guān)節(jié)和連桿組合[10-12]。
為了描述機(jī)械臂相鄰桿件之間的運(yùn)動(dòng)關(guān)系,對(duì)圖2所示的機(jī)械臂結(jié)構(gòu)模型采用D-H法對(duì)機(jī)器人運(yùn)動(dòng)學(xué)進(jìn)行建模,建立機(jī)器人各關(guān)節(jié)的參考坐標(biāo)系。機(jī)械臂連桿坐標(biāo)系如圖3所示,D-H參數(shù)如表1所示。其中,θi為關(guān)節(jié)變量:θimin為關(guān)節(jié)變量下限,θimax為關(guān)節(jié)變量上限;di,αi-1和ai-1為三個(gè)固定不變的連桿參數(shù)。
圖3 七自由度擬人機(jī)械臂連桿坐標(biāo)系
表1 七自由度擬人機(jī)械臂D-H參數(shù)表
機(jī)器人的運(yùn)動(dòng)學(xué)分析是進(jìn)行機(jī)器人技術(shù)研究的前提,是機(jī)器人工作空間分析和機(jī)器人運(yùn)動(dòng)控制的基礎(chǔ)。機(jī)械臂的正運(yùn)動(dòng)學(xué)分析是:已知機(jī)械臂桿件幾何參數(shù)和關(guān)節(jié)角矢量,求機(jī)械臂末端執(zhí)行器相對(duì)于參考坐標(biāo)系的位置和姿態(tài)。正運(yùn)動(dòng)學(xué)變換也就是由關(guān)節(jié)空間向直角空間的變換。
機(jī)器人相鄰關(guān)節(jié)坐標(biāo)系i-1和i之間的位姿變換矩陣為:
式中cθi=cos(θi),sθi=sin(θi),cαi-1=cos(αi-1),sαi-1=sin(αi-1)。利用表1的機(jī)械臂D-H參數(shù)和式(1),可以建立擬人機(jī)械臂相應(yīng)各關(guān)節(jié)坐標(biāo)系之間的位姿變換矩陣如下所示:
機(jī)械臂的末端坐標(biāo)系O7相對(duì)于基坐標(biāo)O0的位姿變換矩陣為:
3.1 蒙特卡洛法機(jī)械臂工作空間分析
在機(jī)器人操作中,機(jī)構(gòu)工作空間是末端執(zhí)行件的工作區(qū)域描述,它是衡量機(jī)構(gòu)性能的重要指標(biāo),在機(jī)構(gòu)設(shè)計(jì)、控制和操作等方面具有重要意義。根據(jù)機(jī)器人的構(gòu)型、連桿及腕關(guān)節(jié)的大小,機(jī)械人能到達(dá)的點(diǎn)的集合稱為工作空間。工作空間用數(shù)學(xué)方法通過列寫方程來確定,這些方程規(guī)定了機(jī)器人連桿與關(guān)節(jié)的約束條件??蛇_(dá)工作空間指末端執(zhí)行件上某一參考點(diǎn)可以到達(dá)的所有點(diǎn)的集合,這種工作空間不考慮末端執(zhí)行件的姿態(tài)。為確保機(jī)器人能到達(dá)要求的點(diǎn),必須研究其工作空間[13-25]。
蒙特卡洛法(Monte Carlo method),又稱統(tǒng)計(jì)模擬法,是借助于隨機(jī)抽樣(偽隨機(jī)數(shù))來解決數(shù)學(xué)問題的數(shù)值方法,在工程上被廣泛應(yīng)用于描述某些隨機(jī)的物理現(xiàn)象。該方法易實(shí)現(xiàn)圖形顯示功能,計(jì)算速度快、簡單,省卻了繁復(fù)的數(shù)學(xué)推導(dǎo)和演算過程,適合于任何關(guān)節(jié)型機(jī)械臂工作空間的求解,對(duì)關(guān)節(jié)變量的變化范圍沒有限制,其誤差也與維數(shù)無關(guān)。蒙特卡洛法應(yīng)用于機(jī)械臂工作空間求解的基本思想是:機(jī)械臂的各關(guān)節(jié)是在其相應(yīng)取值范圍內(nèi)工作的,當(dāng)所有關(guān)節(jié)在相應(yīng)取值范圍內(nèi)隨機(jī)遍歷取值后,末端點(diǎn)的所有隨機(jī)值的集合就構(gòu)成了機(jī)械臂的工作空間。在MATLAB中利用蒙特卡羅法求解機(jī)械臂工作空間的具體步驟如下:
(1)根據(jù)機(jī)械臂運(yùn)動(dòng)學(xué)正解,求出機(jī)械臂末端執(zhí)行器相對(duì)于基座坐標(biāo)系的位置向量 [pxpypz]T,由于機(jī)械臂可達(dá)工作空間指末端執(zhí)行件上某一參考點(diǎn)可以到達(dá)的所有點(diǎn)的集合,這種工作空間不考慮末端執(zhí)行件的姿態(tài),因此我們沒有必要求出末端執(zhí)行器的姿態(tài)向量。
(2)在各關(guān)節(jié)變量取值范圍內(nèi),利用rand(j)函數(shù)產(chǎn)生N個(gè)0到1之間的隨機(jī)值作為隨機(jī)步長變量(j= 1,2,···,N),即(θimax-θimin)rand(j),從而得到機(jī)械臂關(guān)節(jié)變量的偽隨機(jī)值為:
式中θimin為關(guān)節(jié)變量下限,θimax為關(guān)節(jié)變量上限;i為關(guān)節(jié)數(shù)目,取1~7。
(3)將步驟(2)中求得的N個(gè)關(guān)節(jié)變量的偽隨機(jī)值代入運(yùn)動(dòng)學(xué)正解方程,求出機(jī)械臂末端點(diǎn)的相對(duì)應(yīng)的位置向量。坐標(biāo)點(diǎn)值數(shù)目越多,越能反映機(jī)械臂的實(shí)際工作空間。
(4)將所得機(jī)械臂末端點(diǎn)位置向量值按照比例,用描點(diǎn)方式顯示在計(jì)算機(jī)圖形設(shè)備中,就得到機(jī)械臂的工作空間點(diǎn)云圖,也即機(jī)械臂的蒙特卡洛工作空間。
3.2 基于蒙特卡洛法的工作空間的生成
用蒙特卡洛法對(duì)機(jī)械臂的工作空間在MATLAB上進(jìn)行仿真分析。取隨機(jī)坐標(biāo)點(diǎn)數(shù)目N=20000,得到七自由度擬人機(jī)械臂工作空間,如圖4~7所示。
圖4 機(jī)械臂可達(dá)工作空間三維圖
圖5 xoy截面投影圖
圖6 xoz截面投影圖
圖7 yoz截面投影圖
從圖5、6、7可以得到該機(jī)械臂的工作空間范圍是:x∈[-1100,1100]mm,y∈[-1100,1100]mm,z∈[-300,1500]mm,機(jī)械臂的可達(dá)工作空間是一個(gè)近似的橢球體構(gòu)成。模擬出的空間工作符合各關(guān)節(jié)實(shí)際工作空間,空間尺寸與機(jī)械臂的本體設(shè)計(jì)參數(shù)相對(duì)應(yīng),各平面投影圖上輸出分布均勻沒有明顯空洞,工作空間形狀緊湊,仿真結(jié)果與實(shí)際工作空間相符,從而驗(yàn)證了基于蒙特卡洛方法的機(jī)械臂工作空間分析的正確性。
(1)應(yīng)用D-H法建立了七自由度擬人機(jī)械臂的運(yùn)動(dòng)學(xué)模型,通過齊次變換法求解機(jī)械臂的運(yùn)動(dòng)學(xué)方程,獲得了機(jī)械臂末端執(zhí)行器的姿態(tài)向量和位置向量。
(2)根據(jù)機(jī)械臂關(guān)節(jié)空間到工作空間的映射關(guān)系,采用蒙特卡洛法,在MATLAB環(huán)境中計(jì)算出了機(jī)械臂的工作空間。模擬出的工作空間準(zhǔn)確直觀,較好地表達(dá)了機(jī)械臂的實(shí)際工作空間。從而為后續(xù)的機(jī)械臂軌跡規(guī)劃、動(dòng)力學(xué)分析、運(yùn)動(dòng)控制和參數(shù)優(yōu)化提供了重要的參考依據(jù)。
[1]丁希侖.擬人雙臂機(jī)器人技術(shù)[M].北京:科學(xué)出版社,2011.
[2]王田苗,陶永.我國工業(yè)機(jī)器人技術(shù)現(xiàn)狀與產(chǎn)業(yè)化發(fā)展戰(zhàn)略[J].機(jī)械工程學(xué)報(bào),2014,50(9):1-13.
[3]譚民,王碩.機(jī)器人技術(shù)研究進(jìn)展[J].自動(dòng)化學(xué)報(bào),2013,39(7):963-972.
[4]田海波,嘛宏偉,魏娟.串聯(lián)機(jī)器人機(jī)械臂工作空間與結(jié)構(gòu)參數(shù)研究[J].農(nóng)業(yè)機(jī)械學(xué)報(bào),2013,44(4):196-201.
[5]Denavit,J.,R.S.Hartenberg.A Kinematic Notation for Lower-Pair Mechanisms Based on Matrices[J].ASME Journal of Applied Mechanics,1955:215-221.
[6]Rastegar J,F(xiàn)ardanesh B.Manipulator workspace analysis using the Monte Carlo method[J].Mechanism and Machine Theory,1990,25(2):233-239.
[7]Corke P I.A Robotics Toolbox for Matlab[J].IEEE Robotics and Automation Magazine,1996,3(1):24-32.
[8]Liegeios A.Automatic supervisory control of the configuration and behavior of multibody mechanisms[J].IEEE Transactions on Systems,Man and Cy-bernetics,1997,7(12):868-871.
[9]張明,何慶中,王志鵬,等.關(guān)節(jié)型碼垛機(jī)器人的工作空間分析[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013(7):68-74.
[10]YOSHIKAWA T.Manipulability of robotics mechanisms[J].International Journal of Robotics Research,1985,4(2):3-9.
[11]ZACHARIAS F,HOWARD IS,HULIN T,et al.Workspace comparisons of setup configurations for human-robot interaction[C]//Proceedings of 23rd IEEE/RSJ 2010 International Conference on Intelligent Robots and Systems,IROS 2010,October 18-22,2010,Taipei,Taiwan,China. Piscataway,NJ,USA:IEEE,2010:3117-3122.
[12]ARTERMIADIS P K,KATSIARIS P T and KYRIAKOPOULOSK J.A biomimetic approach to inverse kinematics for a redundant robot arm[J].Autonomous Robots,2010,29(3-4):293-308.
[13]趙大興,周小明,李九靈.集裝箱噴涂機(jī)械手工作空間分析與仿真[J].機(jī)械設(shè)計(jì),2008,25(2):15-17.
[14]李瑞峰,馬國慶.基于Matlab仿人機(jī)器人雙臂運(yùn)動(dòng)特性分析[J].華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,41(9):343-347.
[15]TONDU B.Kinematic modelling of anthropomorphic robot upper limb with human-like hands[C]//Proceedings of 2009 14th International Conference on Advanced Robotics(ICAR 2009),June 22-26,2009,Munich,Germany. Piscataway,NJ,USA:IEEE,2009:1-9.
[16]MORECKI A.Biomechanics of engineering:Modelling,simulation,control[M].Wien:Springer Verlag,1987.
[17]王智興,樊文欣,張保成,等.基于Matlab的工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)分析與仿真[J].機(jī)電工程,2012,29(1):33-37.
[18]蘇學(xué)滿,孫麗麗,楊明,等.基于matlab的六自由度機(jī)器人運(yùn)動(dòng)特性分析[J].機(jī)械設(shè)計(jì)與制造,2013(1):78-80.
[19]蔡蒂,謝存禧,張鐵,等.基于蒙特卡洛法的噴涂機(jī)器人工作空間分析及仿真[J].機(jī)械設(shè)計(jì)與制造,2009(3):161-162.
[20]臧繼元,刁燕,陳勇.七自由度微創(chuàng)手術(shù)機(jī)器人運(yùn)動(dòng)學(xué)及工作空間分析[J].機(jī)械設(shè)計(jì)與制造,2010(2):181-183.
[21]林立俊,柳和生,饒錫新,等.基于MATLAB的ARB-120型機(jī)器人運(yùn)動(dòng)學(xué)仿真研究[J].組合機(jī)床與自動(dòng)化加工技術(shù),2013(3):67-69.
[22]王蹺強(qiáng),王帥軍,劉建亭.基于MATLAB的IRB2400工業(yè)機(jī)器人運(yùn)動(dòng)學(xué)分析[J].機(jī)床與液壓,2014,42(3):54-57.
[23]劉超穎,彭發(fā)展,王占中,等.基于MATLAB的噴涂機(jī)器人工作空間分析[J].機(jī)床與液壓,2010,38(22):6-8.
[24]趙燕江,張永德,姜金剛,等.基于Matlab的機(jī)器人工作空間求解方法[J].機(jī)械科學(xué)與技術(shù),2009,28(12):1657-1666.
[25]催國華,袁會(huì)長,顏亮,等.串聯(lián)機(jī)械手工作空間分析[J].機(jī)械設(shè)計(jì)與制造,2013(10):182-186.
(編輯 李秀敏)
Workspace Analysis of 7-DOF Humanoid Robotic Arm Based on Monte Carlo Method
HE Jia-lai,LUO Jin-liang,HUAN Peng-song,DENG Jian
(School of Mechanical Engineering,University of South China,Hengyang Hunan 421001,China)
The 7-DOF humanoid robotic arm joint coordinate systems are established and link parameters are determined by D-H method,and the robotic arm kinematics model is established.The position and orientation of robotic arm end-effector is generated by homogeneous transform method.Monte Carlo method is proposed in analyzing the workspace of robotic arm and the nephogram of robotic arm is calculated based on mapping relation from joint space to workspace of robotic arm.The reference basis is provided for follow-up robot trajectory planning,dynamics analysis,motion control and parameter optimization.
monte carlo method;7-DOF;humanoid robotic arm
TH113;TG659
A
1001-2265(2015)03-0048-04 DOI:10.13462/j.cnki.mmtamt.2015.03.013
2014-06-19;
2014-07-25
湖南省科技廳科技計(jì)劃基金資助項(xiàng)目(2010GK3085);湖南省重大科技專項(xiàng)基金資助項(xiàng)目(2012FJ1007);湖南省高??萍紕?chuàng)新團(tuán)隊(duì)支持計(jì)劃(湘教通[2012]318號(hào))
何價(jià)來(1989—),男,江蘇常州人,南華大學(xué)碩士研究生,工程師,主要研究方向?yàn)闄C(jī)器人機(jī)構(gòu)學(xué)、擬人機(jī)器人,(E-mail)hejialai@163. com。