国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

單足彈跳機(jī)器人聯(lián)合仿真教學(xué)實(shí)踐

2016-12-24 10:26李瑞史瑩晶何笑隆
計(jì)算機(jī)教育 2016年8期

李瑞 史瑩晶 何笑隆

摘要:提出通過(guò)ADAMS軟件建立單足彈跳模型,搭建ADAMS與MATLAB的聯(lián)合仿真平臺(tái),闡述通過(guò)在仿真中實(shí)時(shí)觀察機(jī)器人的運(yùn)動(dòng)過(guò)程,并結(jié)合模型反饋回的數(shù)據(jù)曲線,學(xué)生可以完成單足模型的腿部擺角控制實(shí)驗(yàn)、能量補(bǔ)償實(shí)驗(yàn)等。

關(guān)鍵詞:機(jī)器人建模;聯(lián)合仿真;擺角控制;能量補(bǔ)償

0 引言

機(jī)器人技術(shù)在近二三十年里得到了迅速的發(fā)展,其應(yīng)用范圍也從工業(yè)制造領(lǐng)域擴(kuò)展到了航空航天、軍事偵察、醫(yī)療服務(wù)等領(lǐng)域。隨著機(jī)器人工作環(huán)境的日益復(fù)雜,對(duì)于機(jī)器人運(yùn)動(dòng)靈活性的要求也越來(lái)越高。目前,機(jī)器人運(yùn)動(dòng)主要分為輪式、步行以及彈跳等方式,其中彈跳式運(yùn)動(dòng)所特有的突然性與爆發(fā)性,可以使機(jī)器人在面對(duì)突發(fā)狀況時(shí)迅速地做出反應(yīng),躲避風(fēng)險(xiǎn),正被越來(lái)越多的科研院校所關(guān)注。

目前,國(guó)內(nèi)很多工科院校都把機(jī)器人學(xué)作為一門必修或選修的課程。然而,在傳統(tǒng)的教學(xué)中,機(jī)器人學(xué)中的運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)建模部分涉及復(fù)雜的分析與運(yùn)算。對(duì)于彈跳機(jī)器人,更包含著地相、騰空相、沖擊過(guò)程等若干個(gè)階段,建模十分復(fù)雜;此外,由于機(jī)器人設(shè)備價(jià)格昂貴,且對(duì)操作性以及場(chǎng)地要求較高,目前還很難做到讓每個(gè)學(xué)生進(jìn)行實(shí)際的機(jī)器人操作。隨著虛擬樣機(jī)技術(shù)的發(fā)展,在虛擬樣機(jī)軟件中建立用于仿真的模型,并與其他仿真軟件相結(jié)合的聯(lián)合仿真技術(shù),對(duì)于機(jī)器人的研究與教學(xué)工作發(fā)揮著重要的作用。

1 聯(lián)合仿真技術(shù)簡(jiǎn)介

ADAMS是一款對(duì)機(jī)械系統(tǒng)的運(yùn)動(dòng)學(xué)與動(dòng)力學(xué)進(jìn)行仿真與計(jì)算的軟件。作為一款虛擬樣機(jī)軟件,ADAMS豐富的特性,使其成為目前世界上使用最多的機(jī)械系統(tǒng)仿真分析軟件。這套軟件可以對(duì)較為復(fù)雜的機(jī)械系統(tǒng)進(jìn)行建模,并真實(shí)地反應(yīng)實(shí)物的運(yùn)動(dòng)學(xué)、動(dòng)力學(xué)等特性。然而,由于該軟件自帶的控制工具箱較為簡(jiǎn)易,因此只能滿足比較簡(jiǎn)單的控制需求。

MATLAB作為專業(yè)的數(shù)學(xué)計(jì)算與仿真軟件,借助其豐富的工具箱以及強(qiáng)大的控制系統(tǒng)的設(shè)計(jì)能力,可以搭建出復(fù)雜的控制系統(tǒng)。但在建立復(fù)雜運(yùn)動(dòng)系統(tǒng)的模型時(shí),需要推導(dǎo)出系統(tǒng)中用于仿真的所有微分方程,導(dǎo)致工作量急劇增加,其中從分析模型到計(jì)算推導(dǎo),任意一個(gè)環(huán)節(jié)出錯(cuò)都可能導(dǎo)致建模失敗。

通過(guò)將ADAMS軟件中建立的模型導(dǎo)入到MATLAB的Simulink環(huán)境中,可以彌補(bǔ)ADAMS軟件難以對(duì)模型進(jìn)行較為復(fù)雜控制系統(tǒng)設(shè)計(jì)的缺陷,同時(shí)也避免了在MATLAB下建模的難度與時(shí)間長(zhǎng)的弊端。二者的結(jié)合彌補(bǔ)了各自的缺陷,極大地提高了建模的效率,并使得仿真的結(jié)果更加趨近于實(shí)物。因此基于ADAMS和MATLAB的聯(lián)合仿真技術(shù)在航空航天、機(jī)械制造、機(jī)器人等領(lǐng)域都得到了廣泛的應(yīng)用。

2 機(jī)器人聯(lián)合仿真平臺(tái)搭建

彈簧負(fù)載倒立擺模型(SLIP)是用來(lái)研究機(jī)器人彈跳運(yùn)動(dòng)的經(jīng)典模型,整個(gè)模型由一個(gè)有質(zhì)量的身體以及與髖關(guān)節(jié)相連的輕質(zhì)彈簧腿組成。位于髖關(guān)節(jié)處有一轉(zhuǎn)動(dòng)自由度,使得彈簧腿可以調(diào)整著地角度,以實(shí)現(xiàn)整個(gè)彈跳過(guò)程。由于聯(lián)合仿真平臺(tái)的搭建是本教學(xué)實(shí)踐的一部分,只有了解平臺(tái)的搭建過(guò)程,才可以在仿真平臺(tái)上開(kāi)展實(shí)驗(yàn),并及時(shí)修改實(shí)驗(yàn)過(guò)程中出現(xiàn)的錯(cuò)誤。因而,首先介紹聯(lián)合仿真平臺(tái)的搭建過(guò)程,如圖1所示。

2.1 建立單足機(jī)器人的ADAMS模型

首先介紹如何針對(duì)彈簧負(fù)載倒立擺模型,在ADAMS環(huán)境下搭建彈跳模型運(yùn)動(dòng)仿真平臺(tái)。

(1)添加構(gòu)件。彈簧負(fù)載倒立擺模型主要由身體和彈簧腿兩部分組成,其中身體質(zhì)心等效在髖關(guān)節(jié),因此在建模時(shí)可以用有質(zhì)量的球體代替。

在ADAMS環(huán)境下,選取有質(zhì)量信息的幾何實(shí)體(Solids)模塊,選擇球體(Sphere)用來(lái)模擬身體質(zhì)心,設(shè)置其半徑為5.0cm,并拖動(dòng)到圖形區(qū)。在創(chuàng)建新構(gòu)件時(shí),系統(tǒng)會(huì)在球體的球心處創(chuàng)建一個(gè)質(zhì)心坐標(biāo)系(cm)和局部坐標(biāo)系(Marker點(diǎn)),其中質(zhì)心坐標(biāo)系用于計(jì)算構(gòu)件的質(zhì)量信息,而局部坐標(biāo)系用于確定球體的位置和方向。由于在ADAMS中新添加的構(gòu)件根據(jù)大小以及密度自動(dòng)計(jì)算質(zhì)量,需手動(dòng)修改其質(zhì)量,改為4.5kg。

創(chuàng)建新構(gòu)件圓柱體(cylinder),連接在球體正下方,作為彈簧腿剛性部分,設(shè)置半徑為2.0cm,長(zhǎng)度為20.0cm,并修改其質(zhì)量為0.5kg。在圓柱體正下面50cm處添加新構(gòu)件球體,用以代替足端,設(shè)置其半徑為2.0cm,并修改其材質(zhì)為Wood。在圓柱體與輕質(zhì)球之間連接彈簧阻尼器,其長(zhǎng)度為500mm,剛度系數(shù)設(shè)置為2N/mm,阻尼系數(shù)采用默認(rèn)值。

(2)添加約束。已建立的模型由多個(gè)構(gòu)件組成,各個(gè)構(gòu)件之間通常存在某些約束關(guān)系,即一個(gè)構(gòu)件限制另一個(gè)構(gòu)件的運(yùn)動(dòng),兩個(gè)構(gòu)件之間的約束關(guān)系通常稱之為運(yùn)動(dòng)副。彈簧負(fù)載倒立擺模型有兩個(gè)自由度,一個(gè)是髖關(guān)節(jié)處腿部的轉(zhuǎn)動(dòng)自由度,一個(gè)是彈簧腿軸向的自由度。因此需要在球體質(zhì)心位置(即髖關(guān)節(jié))定義旋轉(zhuǎn)副約束,如圖2(a);而為了約束彈簧在運(yùn)動(dòng)時(shí)只在軸向伸縮,需要在彈簧與圓柱體連接處定義滑動(dòng)副約束,如圖2(b)。

(3)定義地面及接觸力。當(dāng)兩個(gè)構(gòu)件的表面之間發(fā)生接觸時(shí),兩個(gè)構(gòu)件就會(huì)在接觸的位置產(chǎn)生接觸力。

對(duì)于彈簧質(zhì)量模型,由于要研究其在地面上的彈跳運(yùn)動(dòng),因此需要定義地面及其接觸力、摩擦力等以模擬真實(shí)地面情況。

首先選擇零件庫(kù)中的立方體(Box)作為地面,設(shè)置長(zhǎng)、高、深分別為1000cm、5cm、20cm,修改材質(zhì)為Wood,并調(diào)整位置,使上表面與x軸重合,且關(guān)于z軸對(duì)稱。添加固定關(guān)節(jié)(FixedJoint),使其與大地固連。在Force工具條中,點(diǎn)擊Create Contact按鈕,設(shè)置足部球體與地面的接觸類型為Solid to Solid,計(jì)算接觸力的方法采用沖擊函數(shù)法(Impact),其中的參數(shù)采用默認(rèn)值。在摩擦力選項(xiàng)中,選擇Coulomb(庫(kù)侖法),并設(shè)置靜態(tài)摩擦系數(shù)為0.3,動(dòng)摩擦系數(shù)為0.1。

最終在ADAMS環(huán)境下建立的模型如圖3所示。

2.2 ADAMS模型導(dǎo)出到MATLAB環(huán)境

(1)定義輸入輸出。ADAMS與MATLAB之間的數(shù)據(jù)交換是通過(guò)狀態(tài)變量實(shí)現(xiàn)的,在定義輸入輸出以前,需要將相應(yīng)的狀態(tài)變量定義好。在本模型中,需要輸入的變量為髖關(guān)節(jié)轉(zhuǎn)矩;輸出變量為腿部著地角度、身體質(zhì)心的前向速度與高度、足底與地面接觸力等。

創(chuàng)建力矩的狀態(tài)變量并命名為.SLIP.Torque,在髖關(guān)節(jié)的轉(zhuǎn)動(dòng)關(guān)節(jié)處添加單分量力矩,并修改其函數(shù)為VARVAL(.SLIP.Torque),使模型中的狀態(tài)變量(Torque)與單分量力矩相關(guān)聯(lián)。

創(chuàng)建著地角度、質(zhì)心高度、速度及接觸力的狀態(tài)變量,分別命名為angle、Height、Velocity、Contact。著地角度函數(shù)為AZ(MARKER_11,MARKER_12),即位于圓柱腿上的坐標(biāo)MARKER 11相對(duì)于身體上的坐標(biāo)MARKER 12關(guān)于z軸旋轉(zhuǎn)的角度。同理,分別用DY、VX和CONTACT函數(shù)定義高度、速度以及接觸力的狀態(tài)變量。

設(shè)置完?duì)顟B(tài)變量后,分別指定狀態(tài)變量Torque為輸入變量,Angle、Contact、Height、Velocity為輸出變量。

(2)導(dǎo)出控制參數(shù)。在創(chuàng)建完控制輸入與控制輸出后,選擇Control菜單的Plant Export選項(xiàng),分別將之前定義的輸入輸出變量加載到列表中,將Target Software選擇為MATLAB,Analysis Type類型選擇為non linear。

通過(guò)以上設(shè)置,在ADAMS工作目錄中,將生成Controls_Plant.m,Controls_Plant.cmd,Controls_Plant.adm 3個(gè)文件。啟動(dòng)MATLAB,將MATLAB工作目錄指向ADAMS的工作目錄。在命令窗口中輸入Controls Plant,即執(zhí)行Controls Plant.m文件,此時(shí)在MATLAB的工作空間中將導(dǎo)人ADAMS模型信息,如圖4(a);接著輸入命令adams_sys,該命令是ADAMS與MATLAB的接口命令,由此可以生成如下模型,如圖4(b)。

其中,S-Function表示ADAMS模型的非線性模型,State-Space表示線性化模型,而adams sub為我們仿真需要的模型,包含了之前定義的輸入與輸出變量。至此,ADAMS模型在MATLAB中的仿真模型生成完畢,可以在Simulink環(huán)境下對(duì)其進(jìn)行仿真實(shí)驗(yàn)。

由于在聯(lián)合仿真平臺(tái)的搭建過(guò)程中,涉及的細(xì)節(jié)很多,而且容易出錯(cuò),因而,對(duì)參與教學(xué)實(shí)踐的學(xué)生首先分組,采用組長(zhǎng)負(fù)責(zé)制,逐層推進(jìn),保證每個(gè)學(xué)生均可獨(dú)立完成平臺(tái)搭建。

3 仿真平臺(tái)的實(shí)驗(yàn)

針對(duì)搭建的單足彈跳機(jī)器人仿真平臺(tái),可引導(dǎo)學(xué)生進(jìn)行相關(guān)控制器的學(xué)習(xí)與設(shè)計(jì)。目前學(xué)生已經(jīng)在此平臺(tái)基礎(chǔ)上,進(jìn)行了單足機(jī)器人腿部擺角實(shí)驗(yàn)、著地角度與前向速度關(guān)系實(shí)驗(yàn),以及彈簧腿能量補(bǔ)償實(shí)驗(yàn)等。

3.1 模型腿部擺角實(shí)驗(yàn)

對(duì)于單足機(jī)器人的彈跳運(yùn)動(dòng)研究,首先需要解決的就是腿部擺動(dòng)角度的控制。通過(guò)將模型的身體固定,利用髖關(guān)節(jié)轉(zhuǎn)矩控制腿部的轉(zhuǎn)動(dòng)角度,學(xué)生設(shè)計(jì)了PID控制器。給定幅值為30°,周期為ls的方波信號(hào),實(shí)現(xiàn)了腿部角度跟蹤任務(wù),如圖5所示。

3.2 著地角度與前向速度關(guān)系實(shí)驗(yàn)

在腿部擺角實(shí)驗(yàn)的基礎(chǔ)上,學(xué)生又對(duì)著地角度與前向彈跳速度的關(guān)系進(jìn)行了研究與實(shí)驗(yàn)。在彈跳機(jī)器人即將從騰空相進(jìn)入著地相時(shí),需要調(diào)整腿部著地角度,以使機(jī)器人的腳趾落在合適的位置。通過(guò)控制模型腿部擺角來(lái)影響落地點(diǎn)的位置,機(jī)器人或保持原有速度,或加快彈跳速度,或降低彈跳速度。當(dāng)模型的著地速度與離地速度相同時(shí),此時(shí)腳趾落地點(diǎn)的位置稱為中性點(diǎn)。學(xué)生在學(xué)習(xí)理解中性點(diǎn)的概念后,分析落地點(diǎn)相對(duì)于中性點(diǎn)的3種不同位置對(duì)于彈跳速度的影響,并在仿真平臺(tái)中進(jìn)行驗(yàn)證。

對(duì)于彈跳運(yùn)動(dòng)相對(duì)于中性點(diǎn)對(duì)稱的情形,研究人員總結(jié)出用于計(jì)算彈簧質(zhì)量模型前向速度的公式,通過(guò)計(jì)算可得,在前向速度為1.5m/s時(shí),穩(wěn)定運(yùn)動(dòng)的著地角度約為13.6°,如圖6所示。

此外,學(xué)生又分別增大和減小腿部著地角度,觀察模型著地點(diǎn)落在中性點(diǎn)近端和遠(yuǎn)端時(shí)對(duì)模型前向速度的影響。

在實(shí)際著地角度小于期望角度時(shí),模型的矢量平面將發(fā)生偏轉(zhuǎn),此過(guò)程離地時(shí)的角度將增大,整個(gè)模型做加速運(yùn)動(dòng),如圖7所示。

與加速過(guò)程相反,該狀態(tài)下著地角度大于期望角度,從而導(dǎo)致模型離地角度減小,隨著前向速度的不斷減小,模型最終失穩(wěn),甚至出現(xiàn)反向跳躍的過(guò)程,如圖8所示。

3.3 SLIP模型能量補(bǔ)償實(shí)驗(yàn)

在忽略能量損耗的情況下,只要確定了在期望速度下的著地角度,SLIP模型便能夠?qū)崿F(xiàn)穩(wěn)定的周期跳躍運(yùn)動(dòng)。然而,在實(shí)際的運(yùn)動(dòng)過(guò)程中,由于落地碰撞以及摩擦等原因,導(dǎo)致系統(tǒng)能量不斷損耗,因此需對(duì)模型在每個(gè)周期損耗的能量進(jìn)行補(bǔ)償。

針對(duì)這一問(wèn)題,學(xué)生采用為彈簧滑動(dòng)關(guān)節(jié)處加一外力用以壓縮彈簧,以達(dá)到補(bǔ)償能量的目的。鑒于此,學(xué)生對(duì)已建立的ADAMS模型增加了輸入變量F,增加了輸出變量彈簧壓縮量Spring Length,以及模型質(zhì)心豎直方向速度Velocity On Y。

基本的彈跳狀態(tài)可以分成著地相和騰空相,在此基礎(chǔ)上,學(xué)生將模型的運(yùn)動(dòng)狀態(tài)進(jìn)行了細(xì)分,建立有限狀態(tài)機(jī)的控制邏輯。通過(guò)檢測(cè)模型質(zhì)心在豎直方向的速度以及與地面接觸力,來(lái)判斷模型當(dāng)前所處的狀態(tài),并分別在不同狀態(tài)下進(jìn)行不同的控制,如圖9所示。

能量損耗很大一部分原因是由模型沖擊地面造成的,隨著數(shù)次落地彈起的過(guò)程,彈簧在著地期間的壓縮量越來(lái)越小。通過(guò)觀察模型在自由狀態(tài)下落地前后兩個(gè)周期質(zhì)心的高度差,可以求得一次落地時(shí)的能量損耗,進(jìn)而計(jì)算得到每次著地期間所需的補(bǔ)償力。通過(guò)有限狀態(tài)機(jī)判斷當(dāng)前模型運(yùn)動(dòng)所處的狀態(tài),并在觸底事件發(fā)生時(shí)進(jìn)行能量補(bǔ)償,最終實(shí)現(xiàn)模型的周期彈跳運(yùn)動(dòng),運(yùn)動(dòng)曲線示意圖如圖10所示。

4 結(jié)語(yǔ)

通過(guò)本教學(xué)實(shí)踐,學(xué)生掌握基于ADAMS與MATLAB的聯(lián)合平臺(tái)的搭建方法,系統(tǒng)地實(shí)踐了機(jī)器人動(dòng)力學(xué)建模方法?;贏DAMS與MATLAB的聯(lián)合仿真平臺(tái),使得學(xué)生在仿真時(shí)不僅可以得到仿真曲線,更可以實(shí)時(shí)觀察模型的運(yùn)動(dòng)過(guò)程,這種教學(xué)實(shí)踐方法提高了學(xué)生的學(xué)習(xí)自主性與科研熱情。

(編輯:郭田珍)

湖北省| 常州市| 罗定市| 榕江县| 夏津县| 乌苏市| 阜南县| 永仁县| 应用必备| 鄱阳县| 武宣县| 景东| 鄂托克旗| 进贤县| 仁寿县| 罗甸县| 千阳县| 丹凤县| 平乡县| 汾西县| 马尔康县| 县级市| 新津县| 沾化县| 哈巴河县| 普格县| 嘉善县| 巴青县| 榆社县| 庆元县| 东乡族自治县| 黔东| 开化县| 泸西县| 枣强县| 尤溪县| 襄樊市| 长沙县| 岐山县| 梧州市| 福建省|