肖樂,常晉義,殷晨波
(1.常熟理工學院計算機科學與工程學院,江蘇常熟 215500;2.南京工業大學機械與動力工程學院,南京 210009)
基于ADAMS的仿人機器人行走仿真
肖樂1,常晉義1,殷晨波2
(1.常熟理工學院計算機科學與工程學院,江蘇常熟 215500;2.南京工業大學機械與動力工程學院,南京 210009)
采用機械系統動力學仿真分析軟件ADAMS進行建模和動力學仿真,提供機器人三維實體模型、運動學和動力學模型以及動畫仿真.采用控制系統專業軟件Matlab進行機器人控制系統設計,提供控制關節目標軌跡、穩定控制算法并輸出驅動力矩.通過ADAMS/Controls接口模塊建立起Matlab與ADAMS之間的數據接口.聯合仿真方法為實現仿人機器人在線控制奠定了基礎.
仿人機器人;虛擬樣機;行走穩定性;聯合仿真
由于仿人機器人研制的復雜性,有必要在物理樣機制造之前先建立一個虛擬樣機系統,在虛擬環境中模擬機器人雙足行走的狀態,通過模型計算出各個關節的驅動力矩、ZMP點的變化軌跡等,并對設計方案進行優化,提高物理樣機研制成功的概率[1-4].為了準確地建立仿人機器人的虛擬樣機模型,發揮各類專業軟件的優勢,本文采用ADAMS軟件進行建模和動力學仿真,并在Matlab中建立控制系統,Matlab將機器人關節力矩控制指令傳送給ADAMS,ADAMS將通過建立虛擬位置傳感器將關節角實時反饋給Matlab,實現聯合仿真.
ADAMS(Automatic Dynamic Analysis of Mechanical System)是世界上應用最廣泛的機械系統動力學仿真分析軟件[5-6].它由幾十個模塊組成,其中最主要的模塊為ADAMS/View用戶界面模塊和ADAMS/Solver求解器,通過這兩個模塊可以對大部分的系統進行仿真分析.ADAMS/View提供一個直接面向用戶的基本操作環境,包括樣機的建模和各種建模工具、樣機模型數據的輸入與編輯、與求解器和后處理等程序的自動連接、虛擬樣機分析參數的設置、各種數據的輸入和輸出、同其他應用程序的接口等.ADAMS/Solver是求解機械系統運動和動力學問題的程序.完成樣機分析的準備工作以后,ADAMS/View自動調用ADAMS/Solver模塊,求解樣機模型的靜力學、運動學、或動力學問題,完成仿真分析以后再自動地返回ADAMS/View操作界面.
在ADAMS中建立的仿人機器人虛擬樣機模型及基本組成部件與主要關節如圖1所示,其簡化條件為:①腿和地面都是剛性的,不考慮其彈性特征;②忽略縱向平面和橫向平面的動力學耦合;③足與地面有足夠大的摩擦,在行走過程中,支撐腿腳與地面沒有滑動;④忽略關節摩擦.

圖1 仿人機器人虛擬樣機和組成部件
已知所有連桿長度li(i=1,2,3,4,5,6,7)和關節角度,計算仿人機器人擺動腿的位姿.假設各關節在參考坐標系中的坐標為(xi,zi),則運動學方程為


仿人機器人重心在固定坐標系中的坐標

使用ADAMS/Controls控制模塊,將ADAMS/View程序和MATAB控制分析軟件有機的連接起來,實現將ADAMS機械系統虛擬樣機作為一個機械系統模型引入控制分析軟件,ADAMS模型中的輸入變量相當于要求的控制量,即關節驅動力矩;輸出變量相當于傳感器的測量值,即系統的狀態信息,主要包括:各個關節的角位移、角速度和角加速度以及整體信息如重心、ZMP等.聯合仿真分析包括下面4個基本步驟.
(1)構造ADAMS/View樣機模型.首先構造ADAMS/View機械系統樣機模型,包括幾何模型、各種約束和作用力等.
(2)確定ADAMS的輸入和輸出.輸出是指進入控制程序的變量,表示從ADAMS/Controls輸出到控制程序的變量.輸入是指從控制程序返回到ADAMS的變量,表示控制程序的輸出.通過定義輸入和輸出,實現ADAMS和Matlab控制程序之間的信息封閉循環,即從ADAMS輸出的信號進入控制程序,同時從控制程序輸出的信號進入ADAMS程序.這里所有程序的輸入都應該是設置的變量,而輸出可以是變量或是測量值.
(3)構造控制系統方框圖.用Matlab控制程序編寫的整個系統的控制圖,ADAMS/View的機械系統樣機模型設置為控制圖中的一個模塊.
(4)聯合仿真.根據各關節自由度實際運動角度,在線計算擺動腳位置(xf,zf)值.

控制系統建模的目的是建立一個機械與控制一體化的樣機模型,通過向ADAMS方框圖中添加控制系統,實現控制系統的建模,基本步驟如下:(1)啟動控制程序Matlab;(2)在Matlab程序中輸入ADAMS模塊;(3)在Simulink中設置仿真參數;(4)運用Simulink工具,進行控制系統建模.
用Matlab/simulink軟件建立控制系統框圖如圖2所示.

圖2 MATLAB控制系統框圖
雙擊joint control模塊,顯示關節控制模塊的子系統,如圖3所示,完成各個控制圖標以及下一級模塊設置.
雙擊adams_sub模塊,顯示adams_sub模塊的子系統,如圖4所示,對其中各個模塊參數進行設置.
為了準確地建立仿人機器人的虛擬樣機模型,發揮各類專業軟件的優勢,可采用ADAMS軟件進行建模和動力學仿真,提供機器人三維實體模型、運動學和動力學模型以及動畫仿真.采用應用控制系統專業軟件Matlab進行機器人控制系統設計,提供控制關節目標軌跡、穩定控制算法并輸出驅動力矩.通過ADAMS/ Controls接口模塊建立起Matlab與ADAMS的實時數據管道,Matlab將機器人關節力矩控制指令傳送給ADAMS,ADAMS通過建立虛擬位置傳感器將關節角實時反饋給Matlab,形成一個完整的閉環控制系統,實現聯合仿真,如圖5所示.
聯合仿真程序中,步態通過上身位置與時間的對應關系進行調整,輸入PD控制器預先規劃好的步態軌跡,同時與實際步態值進行比較,通過計算實際值與規劃值之間的差值,得出控制關節所需的扭矩,從而實現對仿人機器人穩定行走步態的控制.但是僅僅對步態的控制還不能滿足穩定行走的要求,還需要在行走過程中實時計算ZMP點的軌跡,通過ZMP軌跡點的位置來確定機器人與之對應的姿態,實現仿人機器人的穩定步行.

圖3 關節控制子系統

圖4 adams_sub模塊子系統

圖5 聯合仿真模型結構圖
仿人機器人完整動作過程包括:擺動腿抬起,離開地面、向前擺動、到達最高點、繼續向前、最后落到地面,仿真步行周期設置為1.0 s,步行速度2 km/h,步幅為520 mm,圖6-圖8的仿真結果圖都能清楚的反映出仿人機器人擺動腿各個關節運動曲線參數的變化情況.可以看出在整個過程中,各個關節曲線連續無突變,ZMP曲線始終位于支持多邊形穩定區域內.通過仿人機器人運動過程的計算機仿真,可以直接觀察到機器人實際的姿態變化,為實時控制提供了依據.

圖6 踝關節轉動角度、角速度、角加速

圖7 膝關節轉動角度、角速度、角加速度

圖8 隨步行變化ZMP軌跡
[1]馬宏緒.兩足步行機器人動態行走研究[D].長沙:國防科技大學,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]肖樂,常晉義.仿人機器人下樓梯的自適應模糊控制方法[J].計算機工程,2009,35(13):193-195.
[5]徐燕華.復雜產品的虛擬樣機仿真研究[D].天津:天津大學機械工程學院,2004.
[6]余朝舉.基于虛擬樣機技術的雙足步行機器人設計與研究[D].北京:北京郵電大學,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—),男,山西忻州人,教授,研究方向:決策支持系統.
殷晨波(1963—),男,江蘇無錫人,教授,博導,研究方向:機器人技術、先進制造技術,車輛動力學.
第26卷第4 Vol.26 No.4 2012年4月Apr.,2012
常熟理工學院學報(自然科學)
Journal of Changshu Institute Technology(Natural Sciences)