肖樂,常晉義,殷晨波
(1.常熟理工學(xué)院計算機科學(xué)與工程學(xué)院,江蘇常熟 215500;2.南京工業(yè)大學(xué)機械與動力工程學(xué)院,南京 210009)
基于ADAMS的仿人機器人行走仿真
肖樂1,常晉義1,殷晨波2
(1.常熟理工學(xué)院計算機科學(xué)與工程學(xué)院,江蘇常熟 215500;2.南京工業(yè)大學(xué)機械與動力工程學(xué)院,南京 210009)
采用機械系統(tǒng)動力學(xué)仿真分析軟件ADAMS進行建模和動力學(xué)仿真,提供機器人三維實體模型、運動學(xué)和動力學(xué)模型以及動畫仿真.采用控制系統(tǒng)專業(yè)軟件Matlab進行機器人控制系統(tǒng)設(shè)計,提供控制關(guān)節(jié)目標(biāo)軌跡、穩(wěn)定控制算法并輸出驅(qū)動力矩.通過ADAMS/Controls接口模塊建立起Matlab與ADAMS之間的數(shù)據(jù)接口.聯(lián)合仿真方法為實現(xiàn)仿人機器人在線控制奠定了基礎(chǔ).
仿人機器人;虛擬樣機;行走穩(wěn)定性;聯(lián)合仿真
由于仿人機器人研制的復(fù)雜性,有必要在物理樣機制造之前先建立一個虛擬樣機系統(tǒng),在虛擬環(huán)境中模擬機器人雙足行走的狀態(tài),通過模型計算出各個關(guān)節(jié)的驅(qū)動力矩、ZMP點的變化軌跡等,并對設(shè)計方案進行優(yōu)化,提高物理樣機研制成功的概率[1-4].為了準(zhǔn)確地建立仿人機器人的虛擬樣機模型,發(fā)揮各類專業(yè)軟件的優(yōu)勢,本文采用ADAMS軟件進行建模和動力學(xué)仿真,并在Matlab中建立控制系統(tǒng),Matlab將機器人關(guān)節(jié)力矩控制指令傳送給ADAMS,ADAMS將通過建立虛擬位置傳感器將關(guān)節(jié)角實時反饋給Matlab,實現(xiàn)聯(lián)合仿真.
ADAMS(Automatic Dynamic Analysis of Mechanical System)是世界上應(yīng)用最廣泛的機械系統(tǒng)動力學(xué)仿真分析軟件[5-6].它由幾十個模塊組成,其中最主要的模塊為ADAMS/View用戶界面模塊和ADAMS/Solver求解器,通過這兩個模塊可以對大部分的系統(tǒng)進行仿真分析.ADAMS/View提供一個直接面向用戶的基本操作環(huán)境,包括樣機的建模和各種建模工具、樣機模型數(shù)據(jù)的輸入與編輯、與求解器和后處理等程序的自動連接、虛擬樣機分析參數(shù)的設(shè)置、各種數(shù)據(jù)的輸入和輸出、同其他應(yīng)用程序的接口等.ADAMS/Solver是求解機械系統(tǒng)運動和動力學(xué)問題的程序.完成樣機分析的準(zhǔn)備工作以后,ADAMS/View自動調(diào)用ADAMS/Solver模塊,求解樣機模型的靜力學(xué)、運動學(xué)、或動力學(xué)問題,完成仿真分析以后再自動地返回ADAMS/View操作界面.
在ADAMS中建立的仿人機器人虛擬樣機模型及基本組成部件與主要關(guān)節(jié)如圖1所示,其簡化條件為:①腿和地面都是剛性的,不考慮其彈性特征;②忽略縱向平面和橫向平面的動力學(xué)耦合;③足與地面有足夠大的摩擦,在行走過程中,支撐腿腳與地面沒有滑動;④忽略關(guān)節(jié)摩擦.
圖1 仿人機器人虛擬樣機和組成部件
已知所有連桿長度li(i=1,2,3,4,5,6,7)和關(guān)節(jié)角度,計算仿人機器人擺動腿的位姿.假設(shè)各關(guān)節(jié)在參考坐標(biāo)系中的坐標(biāo)為(xi,zi),則運動學(xué)方程為
仿人機器人重心在固定坐標(biāo)系中的坐標(biāo)
使用ADAMS/Controls控制模塊,將ADAMS/View程序和MATAB控制分析軟件有機的連接起來,實現(xiàn)將ADAMS機械系統(tǒng)虛擬樣機作為一個機械系統(tǒng)模型引入控制分析軟件,ADAMS模型中的輸入變量相當(dāng)于要求的控制量,即關(guān)節(jié)驅(qū)動力矩;輸出變量相當(dāng)于傳感器的測量值,即系統(tǒng)的狀態(tài)信息,主要包括:各個關(guān)節(jié)的角位移、角速度和角加速度以及整體信息如重心、ZMP等.聯(lián)合仿真分析包括下面4個基本步驟.
(1)構(gòu)造ADAMS/View樣機模型.首先構(gòu)造ADAMS/View機械系統(tǒng)樣機模型,包括幾何模型、各種約束和作用力等.
(2)確定ADAMS的輸入和輸出.輸出是指進入控制程序的變量,表示從ADAMS/Controls輸出到控制程序的變量.輸入是指從控制程序返回到ADAMS的變量,表示控制程序的輸出.通過定義輸入和輸出,實現(xiàn)ADAMS和Matlab控制程序之間的信息封閉循環(huán),即從ADAMS輸出的信號進入控制程序,同時從控制程序輸出的信號進入ADAMS程序.這里所有程序的輸入都應(yīng)該是設(shè)置的變量,而輸出可以是變量或是測量值.
(3)構(gòu)造控制系統(tǒng)方框圖.用Matlab控制程序編寫的整個系統(tǒng)的控制圖,ADAMS/View的機械系統(tǒng)樣機模型設(shè)置為控制圖中的一個模塊.
(4)聯(lián)合仿真.根據(jù)各關(guān)節(jié)自由度實際運動角度,在線計算擺動腳位置(xf,zf)值.
控制系統(tǒng)建模的目的是建立一個機械與控制一體化的樣機模型,通過向ADAMS方框圖中添加控制系統(tǒng),實現(xiàn)控制系統(tǒng)的建模,基本步驟如下:(1)啟動控制程序Matlab;(2)在Matlab程序中輸入ADAMS模塊;(3)在Simulink中設(shè)置仿真參數(shù);(4)運用Simulink工具,進行控制系統(tǒng)建模.
用Matlab/simulink軟件建立控制系統(tǒng)框圖如圖2所示.
圖2 MATLAB控制系統(tǒng)框圖
雙擊joint control模塊,顯示關(guān)節(jié)控制模塊的子系統(tǒng),如圖3所示,完成各個控制圖標(biāo)以及下一級模塊設(shè)置.
雙擊adams_sub模塊,顯示adams_sub模塊的子系統(tǒng),如圖4所示,對其中各個模塊參數(shù)進行設(shè)置.
為了準(zhǔn)確地建立仿人機器人的虛擬樣機模型,發(fā)揮各類專業(yè)軟件的優(yōu)勢,可采用ADAMS軟件進行建模和動力學(xué)仿真,提供機器人三維實體模型、運動學(xué)和動力學(xué)模型以及動畫仿真.采用應(yīng)用控制系統(tǒng)專業(yè)軟件Matlab進行機器人控制系統(tǒng)設(shè)計,提供控制關(guān)節(jié)目標(biāo)軌跡、穩(wěn)定控制算法并輸出驅(qū)動力矩.通過ADAMS/ Controls接口模塊建立起Matlab與ADAMS的實時數(shù)據(jù)管道,Matlab將機器人關(guān)節(jié)力矩控制指令傳送給ADAMS,ADAMS通過建立虛擬位置傳感器將關(guān)節(jié)角實時反饋給Matlab,形成一個完整的閉環(huán)控制系統(tǒng),實現(xiàn)聯(lián)合仿真,如圖5所示.
聯(lián)合仿真程序中,步態(tài)通過上身位置與時間的對應(yīng)關(guān)系進行調(diào)整,輸入PD控制器預(yù)先規(guī)劃好的步態(tài)軌跡,同時與實際步態(tài)值進行比較,通過計算實際值與規(guī)劃值之間的差值,得出控制關(guān)節(jié)所需的扭矩,從而實現(xiàn)對仿人機器人穩(wěn)定行走步態(tài)的控制.但是僅僅對步態(tài)的控制還不能滿足穩(wěn)定行走的要求,還需要在行走過程中實時計算ZMP點的軌跡,通過ZMP軌跡點的位置來確定機器人與之對應(yīng)的姿態(tài),實現(xiàn)仿人機器人的穩(wěn)定步行.
圖3 關(guān)節(jié)控制子系統(tǒng)
圖4 adams_sub模塊子系統(tǒng)
圖5 聯(lián)合仿真模型結(jié)構(gòu)圖
仿人機器人完整動作過程包括:擺動腿抬起,離開地面、向前擺動、到達(dá)最高點、繼續(xù)向前、最后落到地面,仿真步行周期設(shè)置為1.0 s,步行速度2 km/h,步幅為520 mm,圖6-圖8的仿真結(jié)果圖都能清楚的反映出仿人機器人擺動腿各個關(guān)節(jié)運動曲線參數(shù)的變化情況.可以看出在整個過程中,各個關(guān)節(jié)曲線連續(xù)無突變,ZMP曲線始終位于支持多邊形穩(wěn)定區(qū)域內(nèi).通過仿人機器人運動過程的計算機仿真,可以直接觀察到機器人實際的姿態(tài)變化,為實時控制提供了依據(jù).
圖6 踝關(guān)節(jié)轉(zhuǎn)動角度、角速度、角加速
圖7 膝關(guān)節(jié)轉(zhuǎn)動角度、角速度、角加速度
圖8 隨步行變化ZMP軌跡
[1]馬宏緒.兩足步行機器人動態(tài)行走研究[D].長沙:國防科技大學(xué),1995.
[2]C B Yin,A Albert.Stability Maintenance of a Humanoid Robot under Disturbance with Fictitious Zero-Moment Point[A].IEEE/RSJ International Conference on Intelligent Robots and Systems[C].Edmonton Alberta Canada August,2005:1780-1787.
[3]Li Zhaohui,Huang Qiang,Li Kejie,et al.Stability Criterion and Pattern Planning for Humanoid Running[C].Proceedings of the 2004 IEEE International Conference on Robotics and Automation.New Orleans,France:IEEE Press,2004:1059-1064.
[4]肖樂,常晉義.仿人機器人下樓梯的自適應(yīng)模糊控制方法[J].計算機工程,2009,35(13):193-195.
[5]徐燕華.復(fù)雜產(chǎn)品的虛擬樣機仿真研究[D].天津:天津大學(xué)機械工程學(xué)院,2004.
[6]余朝舉.基于虛擬樣機技術(shù)的雙足步行機器人設(shè)計與研究[D].北京:北京郵電大學(xué),2009.
The Working Simulation of Humanoid Robot Base on ADAMS
XIAO Le1,CHANG Jin-yi1,YIN Chen-bo2
(1.School of Computer Science and Engineering,Changshu Institute of Technology,Changshu 215500,China; 2.School of Mechanical and Power Engineering,Nanjing University of Technology,Nanjing 210009,China)
A simulation method combining ADAMS and Matlab was adopted.3D entity model,kinematics and dy?namic model were built in ADAMS.The design and simulation of the control system were realized in Matlab.The data communication between Matlab and ADAMS was realized by the interface module ADAMS/Controls.This sim?ulation method lays a foundation for on-line control of humanoid robot.
humanoid robot,virtual prototype,walking stability,co-simulation
TP24
A
1008-2794(2012)04-0073-06
2012-02-28
肖樂(1981—),女,江蘇蘇州人,講師,碩士,研究方向:機器人,智能控制.
常晉義(1955—),男,山西忻州人,教授,研究方向:決策支持系統(tǒng).
殷晨波(1963—),男,江蘇無錫人,教授,博導(dǎo),研究方向:機器人技術(shù)、先進制造技術(shù),車輛動力學(xué).
第26卷第4 Vol.26 No.4 2012年4月Apr.,2012
常熟理工學(xué)院學(xué)報(自然科學(xué))
Journal of Changshu Institute Technology(Natural Sciences)