六足行走機(jī)器人的設(shè)計(jì)含7張CAD圖
六足行走機(jī)器人的設(shè)計(jì)含7張CAD圖,行走,機(jī)器人,設(shè)計(jì),cad
六足行走機(jī)器人的設(shè)計(jì)
摘要
本文以完成六足行走機(jī)器人的機(jī)械機(jī)構(gòu)和控制系統(tǒng)為主要目標(biāo),對(duì)六足行走機(jī)器人的控制系統(tǒng)進(jìn)行研究。本文需要解決的問題:一是機(jī)器人的機(jī)械結(jié)構(gòu)、控制結(jié)構(gòu),二是多關(guān)節(jié)分級(jí)控制和相應(yīng)的編程部分。具體的內(nèi)容包括:根據(jù)六足行走機(jī)器人對(duì)控制系統(tǒng)的要求分析了六足行走機(jī)器人的機(jī)構(gòu)以及運(yùn)動(dòng)特點(diǎn)。確定了分級(jí)控制結(jié)構(gòu)的硬件配置和下位機(jī)結(jié)構(gòu)的軟件設(shè)計(jì),控制器選用合理,采用插補(bǔ)算法規(guī)劃路徑,即先規(guī)劃脈沖總數(shù)最大的關(guān)節(jié),后按比例插補(bǔ)其他關(guān)節(jié),分析了伺服系統(tǒng)的多關(guān)節(jié)控制原理,并選用OWL編程。采集和處理來自傳感器的信息,得到關(guān)節(jié)轉(zhuǎn)角和著地狀態(tài)。最后從實(shí)驗(yàn)的角度研究和分析行走速度并分析誤差。有助于進(jìn)一步完成六足行走機(jī)器人的制作和控制。
關(guān)鍵詞:六足行走機(jī)器人;多關(guān)節(jié)控制;分級(jí)控制結(jié)構(gòu);OWL編程
I
ABSTRACT
This paper aims to study the control system of six-legged walking robot in order to make six foot walking robot. The problem of this paper is the mechanical structure and control structure of the robot, the multi-joint classification control and the corresponding programming part. The specific content includes: the six foot walking robot's requirements for the control system analyzed the mechanism of the six-legged robot and its characteristics. Determine the hierarchical control structure of the hardware configuration and the structure of the software of singlechip processor design, choose reasonable controller, path planning based on the interpolation algorithm, namely the first program pulse's largest total joint, a proportional interpolation after other joints, control principle of multi-joint servo system are analyzed, and selects the OWL programming. Collect and process information from the sensor, and obtain the Angle and landing condition of the joint. Finally, the walking speed and analysis error were analyzed from the experimental Angle. These are the basis for the production and control of the six-legged robot.
Key Words:The six-legged robot; Multi-joint ;Control structure ;OWL programming
II
目錄
摘要 I
ABSTRACT II
1.緒論 1
2.六足機(jī)器人結(jié)構(gòu) 4
2.1機(jī)器人的機(jī)構(gòu)以及運(yùn)動(dòng)特點(diǎn) 4
2.2 機(jī)器人對(duì)控制系統(tǒng)的要求 4
2.4機(jī)器人控制系統(tǒng)的結(jié)構(gòu) 8
2.5小結(jié) 10
3.多關(guān)節(jié)控制 11
3.1控制原理 11
3. 2 OWL編程 12
4.編程部分 13
4. 1 語言 13
4. 2工藝組合 13
4. 3序列 13
4.4參數(shù)傳遞 13
4.5示例 15
4.6小結(jié) 17
5.機(jī)器人速度實(shí)驗(yàn)研究 18
5.1速度的實(shí)驗(yàn)和誤差分析 18
5.2 速度的因素分析和改進(jìn)方法 18
5.3 小結(jié) 18
5.結(jié)論 20
致謝 22
4
六足行走行走機(jī)器人
1.緒論
論文(設(shè)計(jì))工作的理論意義和應(yīng)用價(jià)值
在自然界以及人類社會(huì)中存在人類無法到達(dá)的地方以及危及人類生命的特殊場(chǎng)合。如行星表面、防災(zāi)救援等等,對(duì)這些危險(xiǎn)環(huán)境進(jìn)行不斷地探索研究,尋求一條解決問題的可行途徑成為科學(xué)技術(shù)發(fā)展和人類社會(huì)進(jìn)步的需要。地形不規(guī)則以及崎嶇不平是這些環(huán)境的共同特點(diǎn),從而使輪式或履帶式機(jī)器人的應(yīng)用受限。以往的研究表明輪式移動(dòng)方式在相對(duì)平坦的地形上行駛時(shí),具有相當(dāng)?shù)膬?yōu)勢(shì):運(yùn)動(dòng)速度迅速、平穩(wěn),結(jié)構(gòu)和控制也較簡(jiǎn)單,但在不平地面上行駛時(shí),能耗將大幅度增加,而在松軟地面或嚴(yán)重崎嶇不平的地形上,車輪的作用也將嚴(yán)重喪失使移動(dòng)效率降低。為了改善輪子對(duì)松軟地面和不平地面的適應(yīng)能力,履帶式移動(dòng)方式應(yīng)運(yùn)而生但履帶式機(jī)器人在不平地面上的機(jī)動(dòng)性仍然很差而且行駛時(shí)機(jī)身晃動(dòng)嚴(yán)重。與輪式、履帶式移動(dòng)機(jī)器人相比在崎嶇不平的路面步行機(jī)器人具有獨(dú)特優(yōu)越性能,因此,在這種背景下行走機(jī)器人的研究蓬勃發(fā)展起來。而仿生步行機(jī)器人的出現(xiàn)更加顯示出步行機(jī)器人的優(yōu)勢(shì)。
多足行走機(jī)器人的運(yùn)動(dòng)軌跡是一系列離散的足印,運(yùn)動(dòng)時(shí)只需要離散的點(diǎn)接觸,因此對(duì)地面環(huán)境的破壞程度也較小,而且可以在可能到達(dá)的地面上選擇最優(yōu)的支撐點(diǎn)對(duì)崎嶇地形有較強(qiáng)的適應(yīng)能力。因此多足行走機(jī)器人對(duì)環(huán)境的破壞程度也較小。輪式和履帶式機(jī)器人則是一條條連續(xù)的轍跡。崎嶇地形中往往含有巖石、泥土、沙子甚至峭壁和陡坡等障礙物,可以穩(wěn)定支撐機(jī)器人的連續(xù)路徑非常有限,所以此時(shí)輪帶式和履帶式機(jī)器人在這種情況下并不太實(shí)用。多足行走機(jī)器人的腿通常是多自由度的,所以靈活度也較好。它可以通過調(diào)節(jié)腿的長(zhǎng)度和伸展程度保持身體水平和調(diào)整重心的位置因此不易翻倒有相對(duì)高的穩(wěn)定性。當(dāng)然多足步行機(jī)器人也存在一些不足之處。比如為使腿部協(xié)調(diào)穩(wěn)定運(yùn)動(dòng)從機(jī)械結(jié)構(gòu)設(shè)計(jì)到控制系統(tǒng)算法都比較復(fù)雜,仿生多足步行機(jī)器人在機(jī)動(dòng)性方面和自然界的節(jié)肢動(dòng)物相比還有很大的差距。
目前研究的概況和發(fā)展趨勢(shì)
最早的多足步行機(jī)器人可以追溯到中國(guó)三國(guó)時(shí)期的水牛流馬,國(guó)外據(jù)記載最早1893 年Rygg設(shè)計(jì)的機(jī)械馬。之后多足步行機(jī)器人經(jīng)過近百年的發(fā)展,取得了極大的進(jìn)步,尤其是隨著當(dāng)今電子計(jì)算機(jī)技術(shù)的發(fā)展,多足步行機(jī)器人不再是過去的純機(jī)械階段而是進(jìn)入到了如今的機(jī)電控制階段。進(jìn)入八十年代,步行機(jī)器人的發(fā)展更是日新月異,這里簡(jiǎn)單介紹近年來比較典型的幾種多足步行機(jī)器人。
1983 年,Odetics公司生產(chǎn)出第一代“OdexI”型六足步行機(jī)器人,如圖 1.1 所示。該機(jī)器人的電子驅(qū)動(dòng)裝置使用大功率場(chǎng)效應(yīng)管的開關(guān)型放大器,用直流電動(dòng)機(jī)作驅(qū)動(dòng)元件??刂葡到y(tǒng)分級(jí)安排。最低級(jí)的 6 個(gè)寬帶寬處理機(jī)用于處理腿驅(qū)動(dòng)裝置的數(shù)字式伺服回路的數(shù)據(jù)以及腳和腿部觸覺傳感系統(tǒng)的快速反射式反應(yīng)數(shù)據(jù);中間級(jí)有一個(gè)處理機(jī),管理 6 個(gè)低級(jí)處理機(jī)和最高一級(jí)系統(tǒng)之間的數(shù)據(jù)流的分配;最高級(jí)包括若干個(gè)處理機(jī),處理實(shí)際的行走算法、垂直基準(zhǔn)、數(shù)據(jù)采集、通信和系統(tǒng)診斷等計(jì)算和控制任務(wù)。
1986 年,Miura 和Shimoyama等研制出“Collie-2”四足步行機(jī)器人,如圖 1.2 所示。用直流伺服電機(jī)驅(qū)動(dòng),用 RMS68K 和 MC68020 芯片操作系統(tǒng)控制,機(jī)器人的每一個(gè)關(guān)節(jié)安裝了一個(gè)電位器。
圖 1.1 六足機(jī)器人“Odex I”圖 1.2 東京大學(xué)的四足機(jī)器人“Collie-2” 2002 年,印度研制的六足行走機(jī)器人“舞王”,如圖 1.3 所示。該機(jī)器人用 18 臺(tái)電子發(fā)動(dòng)機(jī)帶動(dòng)每條腿轉(zhuǎn)動(dòng),基座上裝有電腦用于控制和監(jiān)視,另外用一臺(tái)無線臺(tái)式電腦用來遙控,它是印度技術(shù)研究院的科學(xué)家門 8 年心血的結(jié)晶。
圖1.1 六足機(jī)器人“odex”
圖1.2 四足機(jī)器人“collie-2”
圖1.3 印度六足機(jī)器人“舞王”
圖 1.3 印度六足行走式機(jī)器人“舞王”在我國(guó),近年來多足步行機(jī)器人的研究也取得了很大的進(jìn)展。 1993 年,由上海交通大學(xué)研制的 JTUWM-III 型四足步行機(jī)器人。采用 4 分布式控制系統(tǒng)。以 8098 單片機(jī)為核心的直流伺服系統(tǒng)是機(jī)器人的直接控制級(jí),由 8031 單片機(jī)構(gòu)成的通信控制器是機(jī)器人的中間級(jí),最高級(jí)是管理協(xié)調(diào)計(jì)算機(jī)。國(guó)內(nèi)其它的單位清華大學(xué)、北京航空航天大學(xué)、國(guó)防科技大學(xué)、哈爾濱工業(yè)大學(xué)、長(zhǎng)春光學(xué)精密機(jī)械研究所、中科院沈陽自動(dòng)化所等在多足步行機(jī)器人領(lǐng)域都取得了豐碩成果。中科院沈陽自動(dòng)化所研制成功水下六足步行機(jī),清華大學(xué)開發(fā)出了 DTWN 框架式雙三足移動(dòng)機(jī)器人和五足爬桿機(jī)器人。
2.六足機(jī)器人結(jié)構(gòu)
2.1機(jī)器人的機(jī)構(gòu)以及運(yùn)動(dòng)特點(diǎn)
機(jī)器人的整體結(jié)構(gòu)簡(jiǎn)圖2.1所示。觀察圖片可以看出,這是一個(gè)六足機(jī)器人,其中驅(qū)動(dòng)關(guān)節(jié)是髖關(guān)節(jié)、大腿部分、小腿部分,這三個(gè)關(guān)節(jié)為六足機(jī)器人提供強(qiáng)有力的動(dòng)力。小腿部分通過線輪的方式實(shí)現(xiàn)傳動(dòng),而髖關(guān)節(jié)和大腿部分則通過齒輪的方式傳動(dòng),踝關(guān)節(jié)使用球鉸。此六足機(jī)器人使用腿和手臂相互代替的結(jié)構(gòu),即模仿六足爬行動(dòng)物的生物學(xué)機(jī)構(gòu)原理,這種六足結(jié)構(gòu)的優(yōu)點(diǎn)是使得機(jī)器人在非結(jié)構(gòu)性崎嶇路面獲得更穩(wěn)健的行進(jìn)效果。另外一個(gè)突出的優(yōu)點(diǎn)是這種六足機(jī)器人可以用兩條腿做手臂,在末端安裝相應(yīng)結(jié)構(gòu)完成指定的任務(wù),比如安裝相應(yīng)的光敏元件完成一定的探測(cè)任務(wù)。六足機(jī)器人機(jī)身共有六個(gè)自由度,這意味六足行走機(jī)器人可以依據(jù)不同的情況完成各種步態(tài)進(jìn)而實(shí)現(xiàn)理想的行走。然而為了實(shí)現(xiàn)全方位穩(wěn)健的行走,還需要相應(yīng)的控制系統(tǒng),以確保全方位行走以及更多進(jìn)一步的目標(biāo)。
圖2.1 結(jié)構(gòu)簡(jiǎn)圖
2.2 機(jī)器人對(duì)控制系統(tǒng)的要求
(1)多自由度協(xié)調(diào)控制。
(2)可以盡快做出反應(yīng),具有實(shí)時(shí)性,能夠整合決策。
(3)智能化,盡量減少人工干預(yù)。
(4)提供友好的人機(jī)界面。
(5)易擴(kuò)展,有增加控制點(diǎn)的能力。
2.3機(jī)器人機(jī)械結(jié)構(gòu)
機(jī)身設(shè)計(jì)為八邊形,每條腿由三個(gè)電機(jī)控制,為避免死點(diǎn),設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)圖2.2如下
圖2.2 設(shè)計(jì)結(jié)構(gòu)簡(jiǎn)圖
設(shè)地面為∑o;機(jī)身為∑c,機(jī)構(gòu)主體與xoy面相平,與z軸垂直,零點(diǎn)與質(zhì)心重疊。規(guī)定從左到右從前到后的六條腿分別為L(zhǎng)eg1-6。每一條腿從機(jī)身向外的三個(gè)電機(jī)分別代表人體腿部的髖、大腿及小腿關(guān)節(jié),第一個(gè)電機(jī)的旋轉(zhuǎn)沿Z軸方向。規(guī)定轉(zhuǎn)角θij,i代表哪條腿、j代表第幾個(gè)關(guān)節(jié),規(guī)定各關(guān)節(jié)長(zhǎng)度為a、b、d、e。
位置矢量:oPAi= oPc+ R cPAi可以得到cPAi= R- 1(oPc- oPAi) (1)
>AiBi= Liui+ Hivi (2)
bcosθi3+ dcosθi2+ e= Li (3)
bsinθi3+ dsinθi2+ a= Hi (4)
cPBi-cPAi= Liui+ Hivi (5)
cEi= Liui+ Hivi= cPBi+ R- 1( oPc- oPAi) (6)
bcosθi3+ dcosθi2= ce2ix+ ce2iy (7)
bsinθi3+ dsinθi2= ceiz (8)
tanθi1= ceiy/ ceix (9)
最終得出轉(zhuǎn)動(dòng)量
根據(jù)力學(xué)分析,為了保證六足行走機(jī)器人在運(yùn)動(dòng)過程中的穩(wěn)定。機(jī)器人的位姿和支腿的重心應(yīng)在下圖范圍內(nèi)。
圖2.3 重心范圍
位置矢量:
oPA1=[ oxc- L0- m oyc+ n+ S oz*a1] T
oPB1=[ oxc- m oyc+ n+ S oz*b1] T (10)
oPA3=[ oxc- L0- m oyc- n+ S oz*a3] T
oPB3=[ oxc- m oyc- n+ S oz*b3] T (11)
oPA6=[ oxc+ L0+ m oyc+ S oz*a6] T
oPB6=[ oxc+ m oyc+ S oz*b6] T (12)
oPA2=[ oxc+ L0+ m oyc+ n+ S oz*a2] T
oPB2=[ oxc+ m oyc+ n+ S oz*b2] T (13)
oPA4=[ oxc+ L0+ m oyc- n+ S oz*a4] T
oPB4=[ oxc+ m oyc- n+ S oz*b4] T (14)
oPA5=[ oxc- L0- m oyc+ S oz*a5] T
oPB5=[ oxc- m oyc+ S oz*b5] T (15)
各狀態(tài)各節(jié)點(diǎn)的垂直高度分析如下圖:
圖2.4 垂直高度
受機(jī)構(gòu)死點(diǎn)的限制,支腿的跨步受到限制,分析如下圖:
圖2.5 最大伸展
平面的伸展范圍:
Lmax= (b+ d)2-(H0- a)2+ e (16)
不平面的伸展范圍:
Lmax= (b+ d)2-(H0+ h+Δh- a)2+ e (17)
Lmax= L20+(Smax/2)2 (18)
Smax1= 2 L2max- L20 (19)
若要保證機(jī)器人的穩(wěn)定,要滿足:
cc2 = S/2≤ymax (20)
Smax2≤ 2ymax (21)
S≤ min{Smax1 Smax2} (22)
轉(zhuǎn)彎時(shí)位置矢量:
oPA2=[ oxc+(L0+ m)cos - nsin oyc+(L0+ m)sin + ncos oz*a2] T (23)
oPA4=[ oxc+(L0+ m)cos + nsin oyc+(L0+ m)sin - ncos oz*a4] T (24)
oPA5=[ oxc-(L0+ m)cos + nsin oyc-(L0+ m)sin oz*a5] T (25)
oPB2=[ oxc+ mcos - nsin oyc+ msin +ncos oz*b2] T (26)
oPB4=[ oxc+ mcos + nsin oyc+ msin -ncos oz*b4] T (27)
oPB5=[ oxc- mcos + nsin oyc- msinoz*b5] T (28)
oPA1=[ oxc-(L0+ m)cos - nsin oyc-(L0+ m)sin + ncos oz*a1] T (29)
oPA3=[ oxc-(L0+ m)cos + nsin oyc-(L0+ m)sin - ncos oz*a3] T (30)
oPA6=[ oxc+(L0+ m)cos - nsin oyc+(L0+ m)sin oz*a6] T (31)
oPB1=[ oxc- mcos - nsin oyc- msin +ncos oz*b1] T (32)
oPB3=[ oxc- mcos + nsin oyc- msin -ncos oz*b3] T (33)
oPB6=[ oxc+ mcos + nsin oyc+ msinoz*b6] T (34)
關(guān)于最大轉(zhuǎn)角,考慮到機(jī)器人整體的對(duì)稱,如下:
圖2.6 最大轉(zhuǎn)角
L4max= (oxa4- oxb4)2+(oya4- oyb4)2 (35)
oxa4= oxc+ mcos max+ nsin max
oya4= oyc+ msin max+ ncos max (36)
oxb4= oxc+ mcos max2+ nsin max2
oyb4= oyc+ msin max2+ ncos max2 (37)
L4max= λ1sin max2-λ2cos max2+λ3 (38)
由Matlab算出Φ max。
2.4機(jī)器人控制系統(tǒng)的結(jié)構(gòu)
六足機(jī)器人主要由軀干、腿構(gòu)成。以下進(jìn)行具體分析。
2.4.1硬件配置
控制系統(tǒng)硬件配置如圖所示。是分級(jí)控制結(jié)構(gòu)。功能如下:
表2.1 功能總圖
(1)上位計(jì)算機(jī)。相當(dāng)于一臺(tái)普通配置的計(jì)電腦,主要負(fù)責(zé)規(guī)劃、仿真、顯示。
(2)下位機(jī)(工控機(jī)),10 個(gè)插槽,用 9 個(gè),留一個(gè)備用。下位機(jī)處于核心地位,負(fù)責(zé)分析指令。位置控制卡得到脈沖數(shù),而這種用插補(bǔ)算法算出來的脈沖數(shù)來自關(guān)節(jié)轉(zhuǎn)角,然后及時(shí)處理觸地和轉(zhuǎn)角數(shù)據(jù),并及時(shí)反饋。
(3)3 軸位置控制板??偣灿辛鶋K,屬于位置控制單元。
(4)直流伺服驅(qū)動(dòng)、電機(jī)、脈沖碼盤。
(5)A/D 板。采用三總線光電隔離技術(shù),用于惡劣環(huán)境采集數(shù)據(jù)。模入接口卡具有較高的共模抑制比及輸入阻抗,自帶DC/DC 模塊,無需外接電源。
(6)I/O 板。同樣采用了光電隔離技術(shù),隔離計(jì)算機(jī)與現(xiàn)場(chǎng)信號(hào),強(qiáng)電和“開/關(guān)”瞬態(tài)干擾被有效避免,提高抗干擾損毀能力。I/O 卡負(fù)責(zé)采集開關(guān)信號(hào)。
(7)電位器和測(cè)距傳感器。使用旋轉(zhuǎn)型電位器。其中單圈電位器小于 360度。多圈電位器的分辨率高、角度范圍大。據(jù)需選擇 12 個(gè)單圈 6 個(gè)多圈電位器。線性度好、穩(wěn)定、分辨率高。電位器是電阻式傳感器,輸出電壓隨滑動(dòng)觸點(diǎn)位置變化而變化,滑動(dòng)觸點(diǎn)位置與機(jī)器人位置有關(guān)。電位器的作用一置零位。18 個(gè)電位器可采集各個(gè)關(guān)節(jié)位置,回到初始姿態(tài)。二是記錄18 個(gè)關(guān)節(jié)的轉(zhuǎn)角。三是對(duì)關(guān)節(jié)限位,起到保護(hù)作用。
(8)行程開關(guān)和觸地開關(guān)。36 個(gè)行程開關(guān)對(duì)關(guān)節(jié)限位,起到第二層的保護(hù)作用。6 個(gè)觸地開關(guān)可以知道6 條腿的落地狀態(tài),可以判斷穩(wěn)定性和決策步態(tài)。
2.4.2下位機(jī)結(jié)構(gòu)
軟件分為上下位機(jī)兩部分。下位機(jī)軟件功能如圖所示。接收及發(fā)送數(shù)據(jù),由通信中斷服務(wù)程序解決的。步態(tài)規(guī)劃模塊判斷當(dāng)前狀況,根據(jù)坐標(biāo)系、正逆運(yùn)動(dòng)學(xué),規(guī)劃下一個(gè)位姿態(tài)。插補(bǔ)模塊完成插補(bǔ)算法計(jì)算出來的關(guān)節(jié)的轉(zhuǎn)角決定升降,把轉(zhuǎn)角變成脈沖數(shù)。檢測(cè)模塊采集信號(hào)。監(jiān)控模塊監(jiān)視偏差計(jì)數(shù)器,異常則停止工作。顯示模塊顯示機(jī)器人的狀態(tài)。
2.5小結(jié)
本章分析了步態(tài)運(yùn)動(dòng)參數(shù)和步態(tài)原理;并對(duì)機(jī)械結(jié)構(gòu)分析。為進(jìn)一步研究做準(zhǔn)備。本章根據(jù)機(jī)器人的特點(diǎn),確定六足行走機(jī)器人應(yīng)有的功能。為此建立了分級(jí)控制,規(guī)劃下位機(jī)結(jié)構(gòu)。并對(duì)功能進(jìn)行概述。硬件和軟件的設(shè)計(jì)是對(duì)控制六足行走機(jī)器人的重要研究方向。
3.多關(guān)節(jié)控制
3.1控制原理
本章介紹了一項(xiàng)的語法、語義和設(shè)計(jì)原理。在本文中, 描述了一個(gè)特殊的設(shè)計(jì)背后的推理目的語言設(shè)計(jì)用于編寫程序控制步行機(jī)。關(guān)鍵的編程問題是實(shí)時(shí)控制并發(fā)性、控制算法的簡(jiǎn)明表達(dá)和驗(yàn)證程序保持對(duì)物理約束的滿意度硬件, 例如一條腿不應(yīng)該被要求穿過另一個(gè)。有兩種方法可以解決編程的問題。行走計(jì)算機(jī)處理了控制中的同步問題行走步態(tài)分析動(dòng)物步態(tài)觀察及提供一種近似最優(yōu)的步態(tài)和腿部運(yùn)動(dòng)選擇算法尚不適。昆蟲學(xué)中有證據(jù),生理學(xué)文獻(xiàn)步態(tài)觀察在動(dòng)物是低級(jí)行為的后果, 不由高細(xì)節(jié)控制機(jī)體神經(jīng)系統(tǒng)的水平, 但受低的限制來自較高級(jí)別的帶寬信號(hào)。昆蟲般的算法似乎需要較少的計(jì)算和數(shù)據(jù)結(jié)構(gòu)。用這種方法, 考慮如何表達(dá)看似必要的松散耦合并發(fā)進(jìn)程。對(duì)這個(gè)問題的思考證明很困難。本章的余下部分, 描述了步行的特點(diǎn)與編程問題相關(guān)的機(jī)器以及它們?nèi)绾斡绊慜WL語言的設(shè)計(jì)。另外, 要注意到一些語言中所提供的控制結(jié)構(gòu)的方法可能是在解決并行控制中更普遍的問題。
表3.1 控制模塊
傳感器在每條腿和關(guān)于機(jī)器的身體是可利用的對(duì)程序員??刂朴?jì)算機(jī)可以測(cè)量的角度每條腿接頭所支持的負(fù)載。使用本體感覺來形容這種能力感知身體部位的身體狀況。行走的動(dòng)物用本體感覺來推斷大量有關(guān)地形的信息。使用算法模仿動(dòng)物行為。生物算法表現(xiàn)出優(yōu)于全局優(yōu)化的分層分解其他行走機(jī)器工人提倡的算法。我覺得這種分解將更簡(jiǎn)單、更可靠和更多有效的方案。
步進(jìn)在每條腿走路的過程中獨(dú)立地重復(fù)同樣的動(dòng)作一連串的行動(dòng)。一條向前、向下和軸承, 載荷將向后驅(qū)動(dòng), 推進(jìn)機(jī)器的車身提出.一旦腿到達(dá)了它的旅行的后端, 它將上升,向前邁進(jìn), 盡可能地往下走, 直到它觸及到地面和拾起裝載。這一點(diǎn)開始下一步。任務(wù)計(jì)劃是使每條腿正確地做這些事和編排所有六條腿, 使機(jī)器行走成功。當(dāng)腿的位置改變以地形在步驟周期中的各個(gè)點(diǎn)都將有所不同。另外,一條腿可能會(huì)碰到一個(gè)突起, 它必須采取高步。在沒有事先地形地圖的情況下,機(jī)器不能計(jì)劃這些, 所以它必須依靠什么使它能了解地形從它的腿位置。除此之外,還必須有一些軟件在可檢測(cè)機(jī)器是否平衡的控制器可以中止正常的步行過程。
3. 2 OWL編程
并發(fā)性是可以合理地簡(jiǎn)明描述的。路徑表達(dá)式是示例并發(fā)控制的描述。csp提供了所需要的大部分語義。大多數(shù)其他技術(shù)使用共享數(shù)據(jù)結(jié)構(gòu)來同步并發(fā)進(jìn)程的序列化。通過共享數(shù)據(jù)結(jié)構(gòu)提供同步機(jī)器。大多數(shù)現(xiàn)有的并發(fā)控制構(gòu)造都是開發(fā)的在操作系統(tǒng)的研究和設(shè)計(jì)方面??山桓督Y(jié)果操作系統(tǒng)是 "合理" 的系統(tǒng)管理資源, 不像走路那樣的特殊任務(wù)。在加法, 中斷一個(gè)束縛在滯后不是操作系統(tǒng)的目標(biāo)。因此, 操作系統(tǒng)構(gòu)造不是特別很適合步行控制任務(wù), 因?yàn)樗麄儗W⒂谫Y源點(diǎn)中相互遺忘任務(wù)的同步請(qǐng)求, 而六足行走機(jī)器人需要的是一種允許相互并發(fā)的方法約束的過程進(jìn)行合作。機(jī)器人編程語言來處理并發(fā)控制, 但要通過數(shù)據(jù)結(jié)構(gòu)繼續(xù)處理。除了并發(fā), 語言還要提供良好的真實(shí)時(shí)間性能。這意味著能夠?qū)⒀舆t添加到系統(tǒng)由任何過程。在很好的理解或極端專業(yè)系統(tǒng), 可以提供硬件中斷, 允許延遲系統(tǒng)的關(guān)鍵部分要保持小。所采用的控制滯后時(shí)間的技術(shù)是撰寫程序從小塊代碼, 每一個(gè)是保證使用少于一些固定的實(shí)時(shí)量。這與 "條紋" 類似編程規(guī)程在編程中使用。系統(tǒng)偏離了 "條紋" 的概念, 因?yàn)樗苿?dòng)了簿記為紀(jì)律入一個(gè)特別用途編譯器和因?yàn)樗€提供了控制并發(fā)的機(jī)制。一個(gè)強(qiáng)大的技術(shù)可用于系統(tǒng)硬件中斷將不同的程序掛鉤到不同的中斷并使每個(gè)程序禁用某些中斷集它被調(diào)用。這使系統(tǒng)能夠同時(shí)執(zhí)行 "搜索",與 "贏家" 的搜索能夠禁用它的競(jìng)爭(zhēng)者。一個(gè)這種技術(shù)的局限性在于系統(tǒng)只限于搜索硬件中斷提供的條件集。如果某些競(jìng)爭(zhēng)者具有復(fù)雜的條件, 則中斷的使用成為不可行.此功能由生產(chǎn)系統(tǒng)語言提供和由序列命令。
4.編程部分
4. 1 語言
OWL進(jìn)程是一條附加到某一狀態(tài)的代碼信息.狀態(tài)信息包括實(shí)際參數(shù)和局部變量, 稱為 "完成" 的屬性, 指示進(jìn)程是完成的, 另一個(gè)稱為警報(bào)的屬性, 用于控制并發(fā)進(jìn)程之間的交互。
4. 2工藝組合
過程可能是一個(gè)原始的, 作為一個(gè)獨(dú)立的片斷提供用某種外部語言編寫的代碼, 或者可能是序列或并發(fā)。
4. 3序列
序列是進(jìn)程的列表。反復(fù)的序列循環(huán)通過其列表中的過程。序列的激活導(dǎo)致激活第一個(gè)子進(jìn)程。當(dāng)子進(jìn)程時(shí),然后它的后繼者從流程名單被激活。序列是當(dāng)其中一個(gè)子進(jìn)程設(shè)置完成屬性的序列為true。最后subprocession 是列表中的第一個(gè)進(jìn)程。因此, 每一個(gè)OWL序列是默認(rèn)的一個(gè)循環(huán)。相比之下, 考慮實(shí)施序列OWL命令。用這些語義序列的命令是序列, 它的第一個(gè)子進(jìn)程是序列。序列過程在滿足條件時(shí)完成。注意, OWL順序可能在等待防護(hù)之前做一些工作。另外一個(gè)序列可能有很多在一個(gè)序列上等待地方。
4.4參數(shù)傳遞
OWL語言的主要特點(diǎn)是報(bào)警屬性及其語義.OWL希望具有類似于禁用中斷的功能。功能由處理警報(bào)屬性提供。OWL提供的保證是當(dāng)幾個(gè)并發(fā)的兄弟姐妹中斷警報(bào), 仲裁將確切地選擇一個(gè)子流程作為下一段的開始。只有一個(gè)子進(jìn)程將被允許繼續(xù)。所有其他子流程將盡快終止, 但任何事件不允許通過他們自己的警報(bào)點(diǎn)。一旦一個(gè)進(jìn)程獲得成功的中斷警報(bào), 該進(jìn)程隨后發(fā)出警報(bào)的所有中斷都被授予對(duì)系統(tǒng)沒有進(jìn)一步的影響。如果中斷的子進(jìn)程警報(bào), 然后序列的行為就好像它已經(jīng)中斷警報(bào)本身。使用警報(bào)的語義可以構(gòu)造 if..。通過使每個(gè)子進(jìn)程中的序列設(shè)置為警報(bào)屬性以及已完成的屬性??梢栽贠WL中執(zhí)行序列命令, 作為一個(gè)簡(jiǎn)單的受保護(hù)的命令序列的并發(fā)防護(hù)過程中斷僅做命令。
OWL進(jìn)程有一個(gè)包含實(shí)際值的本地狀態(tài)。形參加局部變量。因?yàn)槲铱赡芟胍褂靡粋€(gè)過程觀察另一個(gè)進(jìn)程的進(jìn)度, 如在' 緊急 ' 處理程序外部和并發(fā)的 ' 業(yè)務(wù) ' 進(jìn)程, 還必須有一個(gè)機(jī)制, 保持選定最新的實(shí)際值。考慮是否需要一個(gè)行走機(jī)控制系統(tǒng)的多處理機(jī)實(shí)現(xiàn), 簡(jiǎn)單的通過引用是不夠的。對(duì)通過學(xué)科的各種選擇的思考導(dǎo)致了構(gòu)建下表的語義選擇。入口in讀取列意味著只將值復(fù)制到進(jìn)程中一次,其實(shí)例化的時(shí)間。欄意味在過程完成后, 只寫出一次值的輸入 "*" 用于讀取意味著從每當(dāng)進(jìn)程 "重新啟動(dòng)" 的代碼時(shí)。在父級(jí)情況下, a原語意味著每次執(zhí)行代碼時(shí)。在a的情況下序列, 它意味著每次最初的 ' 第一 ' 子進(jìn)程是reinstantiated。條目 "*" 為寫方式做更新每次進(jìn)程掛起時(shí)從本地復(fù)制父級(jí)。為一個(gè)原語,這是一段代碼完成了。對(duì)于序列, 它在描述序列的列表中的 "最后" 子進(jìn)程是完成, 盡管進(jìn)程沒有設(shè)置其完成的屬性。
圖4.1 代碼1
進(jìn)程中唯一可見的變量是它的 formals 和當(dāng)?shù)厝思由纤卸x的 giobals。無法訪問調(diào)用的局部變量由命名的子進(jìn)程處理。通常情況下, 在進(jìn)程完成時(shí)發(fā)生的最后一件事是所有的 var 和 VARSTAR 參數(shù)都寫出了。但是, 一個(gè)過程是由由并發(fā)同級(jí)中斷的警報(bào)不允許寫出它的var 和 VARSTAR 參數(shù)。以這些語義學(xué)它是可能的啟動(dòng)并發(fā), 只有 "得勝" 子進(jìn)程影響它的外在環(huán)境。請(qǐng)注意, 只有作為 var 傳遞的參數(shù)是以這種方式保護(hù)。用更常規(guī)的術(shù)語表示, val 傳遞語義與值相同, 而 var 與 copy-in ~ copy-out 相同。var ~ 星是非常相似的參考, 除了, 因?yàn)檫^程沒有實(shí)際的地址, 可以有, 在短時(shí)間內(nèi),兩個(gè)過程之間關(guān)于實(shí)際值的不一致。VALSTAR 就像一個(gè)讀/只的引用限制, 用相同的限制為 VARSTAR。
圖4.2 代碼2
4.5示例
本節(jié)包含一些示例, 其中包括解決方案問題與其他知名的實(shí)施并發(fā)控制結(jié)構(gòu)。如上所述, 可以表達(dá)序列命令用OWL簡(jiǎn)明。這里是序列命令做什么:
圖4.3 代碼3
每當(dāng)某一防護(hù)變?yōu)檎鎸?shí), 它被測(cè)試的子序列完成, 從而允許序列的其余部分繼續(xù)進(jìn)行。有是OWL和序列命令之間的一些關(guān)鍵區(qū)別通過對(duì)此代碼片段的分析, 可以得到最好的演示。在做…od 構(gòu)造, 其中一個(gè)符合條件的保護(hù)語句被選中隨機(jī)執(zhí)行, 以終止構(gòu)造結(jié)果沒有任何陳述仍然符合資格。以上OWL構(gòu)造許可許多子序列的活動(dòng)同時(shí)實(shí)現(xiàn)防護(hù).另外, 并發(fā)組合只完成更改所有子流程都已完成。
Pach 子序列 both> 等待和監(jiān)視它的序列的第一個(gè)與真正的防護(hù)中斷兩個(gè)警報(bào)都做了,因此它可以以繼續(xù)的順序, 而其他所有序列都是從資格中刪除而不允許通過他們中斷警報(bào)的代碼。這與 if…序列命令在沒有防護(hù)的狀態(tài)的處理相同。在這種情況下, 序列命令中止,而OWL并發(fā)只是等待。會(huì)合點(diǎn)可以按如下方式實(shí)現(xiàn):
圖4.4 代碼4
兩個(gè) processesproceeds 最快的 reachesthe 兩個(gè)中間語句, setsthe 標(biāo)志表示它已準(zhǔn)備就緒, 然后在其他旗子。一旦其他進(jìn)程到達(dá)設(shè)置其標(biāo)志的點(diǎn)。兩個(gè) processesproceed。下面的示例是實(shí)際的步行代碼, 旨在提供行走機(jī)器的最高控制水平。
圖4.5 代碼5
進(jìn)程中的代碼遍歷所有六的正常步進(jìn)雙腿, 兩個(gè)問題的條件是監(jiān)測(cè)兩個(gè)并發(fā)進(jìn)程。如果出現(xiàn)了問題, 則步行代碼被搶占, 并調(diào)用處理程序。一組合理的補(bǔ)救措施處理小費(fèi)是不同的, 當(dāng)一條腿碰撞也是存在的, 所以它是合理的處理程序?yàn)槊總€(gè)問題狀態(tài)有它自己的探測(cè)器和處理程序?yàn)楹罄^問題.主并發(fā)是抱著的序列, 以便在處理問題的情況, 正常的步行過程將是rcinitiated。下一例 illustrateshow 單腿控制器處理對(duì)腿部的凹陷。
圖4.6 代碼6
腿部向下移動(dòng)后, 兩種情況下都可能發(fā)生改變腿部的狀態(tài)。腿部可以成功地接觸到地面和承擔(dān)它的份額的裝載。注意, 使用遞歸OWL雖然此程序可以保證延遲的界限,但不能這樣做, 因?yàn)槊總€(gè)父級(jí)都被掛起, 而其遞歸后是不穩(wěn)定的。這個(gè)最后的例子說明了簡(jiǎn)單的動(dòng)作是如何控制的。
圖4.7 代碼7
一個(gè)序列的這個(gè)過程的實(shí)例將確保命名的腿將在序列超出實(shí)例之前引發(fā)。注意, 在這段代碼中, 腿部的向上運(yùn)動(dòng)不會(huì)被停止這個(gè)過程, 雖然這樣的停頓可以輕
4.6小結(jié)
OWL語言是極端簡(jiǎn)單的。等待是非?;镜牟l(fā)實(shí)時(shí)程序。這種等待的循環(huán)是最簡(jiǎn)單的事情用OWL的序列實(shí)現(xiàn)。OWL也提供并發(fā)與提供條件的機(jī)制相同。
5.機(jī)器人速度實(shí)驗(yàn)研究
速度是機(jī)器人的重要性能。先研究速度性能,然后分析改進(jìn)方法。
5.1速度的實(shí)驗(yàn)和誤差分析
一個(gè)步態(tài)周期需要的位姿點(diǎn)是20 個(gè),周期也要20 個(gè),采樣周期50 毫秒。這樣一個(gè)步態(tài)周期為20 秒,設(shè)定跨步為 150 毫米,則理論上機(jī)器人的速度為450 mm/min。機(jī)器人每一邊有前中后腿。實(shí)驗(yàn)說明六足行走機(jī)器人按一定的速度行走是可行的,但誤差大概有20%。原因主要是兩方面。一是線輪傳動(dòng),機(jī)器人的重量使鋼絲繩的形變偏大,導(dǎo)致機(jī)器人的跨距出現(xiàn)誤差。二是尼龍齒輪間隙較大。
5.2 速度的因素分析和改進(jìn)方法
從實(shí)驗(yàn)測(cè)得的六足行走機(jī)器人較低的實(shí)際速度與誤差有一定的關(guān)系,但設(shè)計(jì)速度也很低。機(jī)器人速度的主要影響因素有:機(jī)器人跨步、采樣周期、采樣周期數(shù)。而姿態(tài)點(diǎn)數(shù)是提前訂好的,下面分析其它幾個(gè)因素進(jìn)行并改進(jìn)。
(1)采樣周期。因?yàn)橐粋€(gè)定時(shí)中斷里面順序放置狀態(tài)采集模塊,插補(bǔ)模塊,位控模塊,指令分析模塊使得周期為50毫秒的采樣周期難以提高。改進(jìn)建議:采用實(shí)時(shí)多任務(wù)調(diào)度,各任務(wù)互不影響,設(shè)置優(yōu)先級(jí),按重要程度第一時(shí)間處理緊急任務(wù)。這樣就可以適當(dāng)合理的設(shè)置較小的采樣周期。
(2)采樣周期數(shù)。采樣周期數(shù)隨速度和加速度的改變而改變。段間銜接功能不適用于插補(bǔ)算法,所以速度的變化每次都是從零開始到零結(jié)束。改進(jìn)建議:使用段間銜接,速度不用都是從0開始,減少采樣周期數(shù)。
(3)跨步。機(jī)器人的跨步可以很容易的隨路面狀況的變化而變化。改進(jìn)建議:改進(jìn)控制系統(tǒng),若設(shè)置采樣周期數(shù)、采樣周期、步態(tài)周期分別15、4、1200,假定跨步為 160 毫米,則理論上一分鐘走8000 毫米。
5.3 小結(jié)
本章實(shí)驗(yàn)研究了機(jī)器人整體的速度性能,分析了有關(guān)誤差的原因。速度的影響因素和改進(jìn)方法。
5.結(jié)論
本文主要針對(duì)六足行走機(jī)器人的機(jī)械結(jié)構(gòu)和力學(xué)及運(yùn)動(dòng)特點(diǎn),研究底層控制系統(tǒng)及相應(yīng)功能。其主要工作包括:
(1)分析機(jī)構(gòu)和運(yùn)動(dòng)特點(diǎn)和功能。
(2)分析了編程過程中會(huì)出現(xiàn)的問題,選用適當(dāng)?shù)能浖?
(3)采集電位器、傳感器和行程開關(guān)的信息。處理采集到的信息得到轉(zhuǎn)角信息、著地狀態(tài)信息。
(4)通過實(shí)驗(yàn)研究了機(jī)器人的運(yùn)動(dòng)速度,分析出現(xiàn)誤差原因。提出提高機(jī)器人速度的改善意見。
參考文獻(xiàn)
[1]陳剛.六足步行機(jī)器人位姿控制及步態(tài)規(guī)劃研究[D].浙江大學(xué),2014.
[2]許家忠,徐崇福,高良超,劉宇飛,許國(guó)強(qiáng).六足步行機(jī)器人控制系統(tǒng)研究[J].自動(dòng)化技術(shù)與應(yīng)用,2013,(09):20-23+35.
[3]劉德高.六足機(jī)器人運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].哈爾濱工業(yè)大學(xué),2013.
[4]尹曉琳.六足仿生機(jī)器人步態(tài)規(guī)劃及其控制策略研究[D].哈爾濱工業(yè)大學(xué),2013.
[5]趙龍海.六足步行機(jī)器人自然地形下全方位運(yùn)動(dòng)規(guī)劃策略研究[D].哈爾濱工業(yè)大學(xué),2013.
[6]劉亮.大型重載六足機(jī)器人行走技術(shù)研究[D].哈爾濱工業(yè)大學(xué),2013.
[7]劉毓.基于FPGA的六足仿生機(jī)器人嵌入式控制系統(tǒng)研究[D].南京林業(yè)大學(xué),2013.
[8]于欣龍.六足仿蜘蛛機(jī)器人樣機(jī)研制及步行機(jī)理研究[D].哈爾濱工程大學(xué),2013.
[9]徐崇福.六足機(jī)器人運(yùn)動(dòng)規(guī)劃與控制系統(tǒng)設(shè)計(jì)[D].哈爾濱理工大學(xué),2013.
[10]胡金濤.六足機(jī)器人步態(tài)控制策略研究[D].哈爾濱理工大學(xué),2013.
[11]劉冬,趙現(xiàn)朝,齊臣坤.行走·定位一體化飛機(jī)制孔六足機(jī)器人研究[J].機(jī)械設(shè)計(jì)與研究,2012,(06):52-55+59.
[12]劉煒驊.基于CPG網(wǎng)絡(luò)的六足機(jī)器人行走步態(tài)規(guī)劃方法研究[D].哈爾濱工業(yè)大學(xué),2013.
[13]武磊.基于三自由度并聯(lián)腿的仿生六足機(jī)器人的設(shè)計(jì)[D].燕山大學(xué),2012.
[14]潘陽,高峰.一種行走操作一體化的六足步行機(jī)器人[A].中國(guó)機(jī)械工程學(xué)會(huì)機(jī)械傳動(dòng)專業(yè)學(xué)會(huì)機(jī)構(gòu)學(xué)專業(yè)委員會(huì).第十八屆中國(guó)機(jī)構(gòu)與機(jī)器科學(xué)國(guó)際學(xué)術(shù)會(huì)議論文集[C].中國(guó)機(jī)械工程學(xué)會(huì)機(jī)械傳動(dòng)專業(yè)學(xué)會(huì)機(jī)構(gòu)學(xué)專業(yè)委員會(huì):,2012:5.
[15]劉海清.六足仿生機(jī)器人結(jié)構(gòu)優(yōu)化設(shè)計(jì)及其位姿控制策略研究[D].哈爾濱工業(yè)大學(xué),2012.
[16]Mobility analysis of the typical gait of a radial symmetrical six-legged robot[J] . Zhiying Wang,Xilun Ding,Alberto Rovetta,Alessandro Giusti.??Mechatronics . 2011 .
[17]Dynamic modeling, stability and energy consumption analysis of a realistic six-legged walking robot[J] . Shibendu Shekhar Roy,Dilip Kumar Pratihar.??Robotics and Computer Integrated Manufacturing . 2013 .
致 謝
感謝我的導(dǎo)師XX老師的悉心指導(dǎo);XX導(dǎo)師嚴(yán)謹(jǐn)?shù)目茖W(xué)態(tài)度、淵博的學(xué)識(shí)、一絲不茍、有責(zé)任感,使我在深受教誨。值此論文完成之際, 向我的導(dǎo)師表示衷心的感謝和崇高的敬意。當(dāng)我面對(duì)一個(gè)新興領(lǐng)域的設(shè)計(jì)題目,茫然不知從何下手時(shí),是關(guān)老師把我?guī)肓诉@個(gè)門檻。
同時(shí)也要感謝大學(xué)里教過我的老師們,是老師們的辛勤付出,才有的現(xiàn)在的我可以獨(dú)立完成本專業(yè)的畢業(yè)設(shè)計(jì),也要感謝我的家人和同學(xué),是他們的支持和幫助才使我可以專心完成學(xué)業(yè)。
收藏