張 卓,馮海杰,鄧振杰
(廣東科學技術職業(yè)學院 機器人學院,廣東 珠海 519090)
Simscape Multibody是集成在Matlab/Simulink為三維機械系統(tǒng)(例如機器人)提供多體仿真環(huán)境的擴展工具箱[1]。通過工具箱可以構(gòu)建剛體、關節(jié)、傳感器等模塊的連接關系,從而對機械動力系統(tǒng)進行建模,也可以在模型中導入包括質(zhì)量、慣性、三維幾何圖形等屬性的CAD組件,自動生成三維動畫。
SCARA是現(xiàn)代工業(yè)中廣泛應用的一種機器人,第一臺SCARA機器人于1978年由日本山梨大學研制[2]。由于SCARA采用RRPR型結(jié)構(gòu)(Revolute Revolute Prismatic Revolute),其具有結(jié)構(gòu)緊湊、高速度、高精度等優(yōu)勢,常用于執(zhí)行速度和精度要求較高的輕量型作業(yè),如產(chǎn)品質(zhì)量檢測、螺絲擰緊、電子元件組裝、鉆孔、攻絲、倒角、去毛刺、拋光等。近年來,國內(nèi)外學者針對SCARA的各項性能指標已經(jīng)進行了較為全面的研究,文獻[3]對四自由度SCARA的正、逆運動學進行了研究;文獻[4]使用Solidworks和Simmechanics(較早版本的Multibody)對SCARA機器人進行建模和動力學仿真;文獻[5]通過研究大量文獻資料,總結(jié)了用于量化機器人動作和性能的各種指標的范圍和優(yōu)缺點。
本文的主要工作是對SCARA建模與運動控制仿真方法進行了完善與優(yōu)化。建模和仿真主要分為3個階段,首先,利用Multibody工具創(chuàng)建SCARA動力學模型;然后導入CAD組件;最后進行仿真,輸出動態(tài)參數(shù)。
利用Solidworks等CAD設計軟件可以繪制SCARA模型,參考IRB910-450型SCARA機器人,得到SCARA模型如圖1所示。其參數(shù)見表1。
表1 IRB910-450參數(shù)值
圖1 SCARA結(jié)構(gòu)正視圖
Multibody是基于Matlab/Simulink的多體運動機構(gòu)仿真工具箱。Multibody可以通過連接并設置剛體、關節(jié)、約束、力元等條件來進行多體運動機構(gòu)建模,可以通過導入CAD組件并在Mechanics Explorer中自動生成三維動畫,使仿真輸出更加形象與直觀。可以將SCARA機器人機構(gòu)拆解為3類功能模塊:仿真環(huán)境、機器人轉(zhuǎn)動關節(jié)和機器人滑動關節(jié)。
仿真環(huán)境模塊組成如圖2所示,此功能模塊包括世界參考坐標系、仿真參數(shù)配置以及解法器,是Multibody的基本配置。
圖2 仿真環(huán)境模塊
機器人轉(zhuǎn)動關節(jié)如圖3所示,此功能模塊包括剛體坐標系變換、轉(zhuǎn)動關節(jié)和關節(jié)零部件,在轉(zhuǎn)動關節(jié)中輸入扭矩tin,可以獲得關節(jié)的轉(zhuǎn)動角度q、角速度w、角加速度b以及輸出扭矩tout。
圖3 機器人轉(zhuǎn)動關節(jié)模塊
機器人滑動關節(jié)如圖4所示,此功能模塊構(gòu)成與機器人轉(zhuǎn)動關節(jié)相似,包括剛體坐標系變換、滑動關節(jié)和關節(jié)零部件,在滑動關節(jié)中輸入力fin,可以獲得關節(jié)的滑動距離p、速度v、加速度a以及輸出力fout。
圖4 機器人滑動關節(jié)模塊
上述功能模塊中,端口Conn表示世界參考坐標系的原點,端口B表示模塊的基礎坐標系,端口F表示模塊的跟隨坐標系,關節(jié)的輸入扭矩或力由控制器給定,各項輸出則用于反饋給控制器并由信號采集模塊將數(shù)據(jù)傳遞至Matlab Workspace進行數(shù)據(jù)分析。
根據(jù)上述結(jié)論,利用上述功能模塊容易得到SCARA動力學模型,如圖5所示。其中Base為機器人基座(可連接外軸模塊)、Link1-4為機器人剛體組件(Link4可連接治具模塊以及載荷模塊)。
將圖1所示CAD模型導入圖5所示仿真模型,可以在Mechanics Explorer中得到帶有動力學參數(shù)的SCARA模型,如圖6所示。
圖5 利用功能模塊建立SCARA機器人模型
圖6 帶有動力學參數(shù)的SCARA模型
為使該SCARA模型可以進行運動仿真,SCARA模型外圍至少應當包含軌跡規(guī)劃模塊和控制器模塊,為了對仿真結(jié)果進行分析,還應當包含信號采集模塊。各個模塊的信號關系如圖7所示。模型提供了豐富的接口,整體采用模塊化的建模方法,使得其能夠重復高效使用,便于擴展算法模塊和創(chuàng)建機器人模型結(jié)構(gòu)。軌跡規(guī)劃模塊可以通過添加不同的插值算法生成機器人動態(tài)目標參數(shù),可以將動態(tài)參數(shù)傳遞給控制器以驗證控制算法的有效性,也可以將目標參數(shù)直接傳遞給機器人從而獲得機器人各個關節(jié)的所需實時扭矩或力(需要簡單修改機器人關節(jié)模塊,以旋轉(zhuǎn)關節(jié)為例,修改后的關節(jié)模型如圖8所示),用以驗證該軌跡參數(shù)的可實現(xiàn)性??刂破髂K依照算法計算得出需要為每一個關節(jié)添加的驅(qū)動信號,可以通過仿真驗證控制算法的有效性。故該模型實際上提供了一個可以用于機器人軌跡規(guī)劃以及運動控制算法研究的仿真平臺,且具有較高的通用性。
圖7 SCARA模型信號關系示意圖
圖8 輸入信號為目標動態(tài)參數(shù)的機器人轉(zhuǎn)動關節(jié)模塊
在關節(jié)空間中對機器人各關節(jié)角度(距離)變量進行線型插值軌跡規(guī)劃,在控制器模塊使用PID控制,利用Tune功能設置系統(tǒng)響應時間和暫態(tài)特性獲得的參數(shù)進行仿真,可以得到全部仿真數(shù)據(jù),同時在Mechanics Explorer自動生成機器人運動的三維可視動畫。根據(jù)信號采集模塊輸出數(shù)據(jù),利用Matlab進行繪圖,SCARA模型在PID控制下,針對關節(jié)空間線型插值軌跡進行的運動過程仿真結(jié)果如圖9所示(SCARA所規(guī)劃的軌跡為機器人末端執(zhí)行器由起點出發(fā),經(jīng)過進出點1后抵達工作點1,再返回進出點1,然后經(jīng)過進出點2后抵達工作點2,再返回進出點2,仿真結(jié)束)。
圖9 SCARA目標軌跡與運動仿真軌跡
本文提出了一種利用Simscape Multibody對SCARA機器人進行模塊化建模和運動控制仿真的方法。針對SCARA機器人,通過設定機器人關鍵結(jié)構(gòu)參數(shù),并將CAD模型導入,可以得到SCARA動力學模型。然后通過集成軌跡規(guī)劃、控制器和數(shù)據(jù)采集功能模塊,完成該SCARA運動仿真模型。
該模型利用Multibody簡化了機器人動力學建模過程,具備一定的通用性,易擴展,可以通過改變或增減關節(jié)組合創(chuàng)建其他型號的機器人動力學模型。模型的運動控制仿真通過Mechanics Explorer自動生成動畫,可以準確輸出機器人運動狀態(tài)。通過數(shù)據(jù)采集模塊獲取動態(tài)參數(shù),同時提供了機器人軌跡規(guī)劃模塊和控制器模塊(該模型不包含電機,控制器模塊輸出驅(qū)動信號為轉(zhuǎn)矩或角位移,可以使用文獻[6]的方法在控制器模塊中添加伺服電機仿真模塊)的接口,便于進行機器人軌跡規(guī)劃或運動控制算法等方面的后續(xù)研究。