【溫馨提示】壓縮包內(nèi)含CAD圖有下方大圖片預覽,下拉即可直觀呈現(xiàn)眼前查看、盡收眼底縱觀。打包內(nèi)容里dwg后綴的文件為CAD圖,可編輯,無水印,高清圖,壓縮包內(nèi)文檔可直接點開預覽,需要原稿請自助充值下載,所見才能所得,請見壓縮包內(nèi)的文件及下方預覽,請細心查看有疑問可以咨詢QQ:11970985或197216396
壓縮包內(nèi)含有CAD圖紙和說明書,咨詢Q 197216396 或 11970985
摘要
本文以完成六足行走機器人的機械機構(gòu)和控制系統(tǒng)為主要目標,對六足行走機器人的控制系統(tǒng)進行研究。本文需要解決的問題:一是機器人的機械結(jié)構(gòu)、控制結(jié)構(gòu),二是多關(guān)節(jié)分級控制和相應(yīng)的編程部分。具體的內(nèi)容包括:根據(jù)六足行走機器人對控制系統(tǒng)的要求分析了六足行走機器人的機構(gòu)以及運動特點。確定了分級控制結(jié)構(gòu)的硬件配置和下位機結(jié)構(gòu)的軟件設(shè)計,控制器選用合理,采用插補算法規(guī)劃路徑,即先規(guī)劃脈沖總數(shù)最大的關(guān)節(jié),后按比例插補其他關(guān)節(jié),分析了伺服系統(tǒng)的多關(guān)節(jié)控制原理,并選用OWL編程。采集和處理來自傳感器的信息,得到關(guān)節(jié)轉(zhuǎn)角和著地狀態(tài)。最后從實驗的角度研究和分析行走速度并分析誤差。有助于進一步完成六足行走機器人的制作和控制。
關(guān)鍵詞:六足行走機器人;多關(guān)節(jié)控制;分級控制結(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.六足機器人結(jié)構(gòu) 4
2.1機器人的機構(gòu)以及運動特點 4
2.2 機器人對控制系統(tǒng)的要求 4
2.4機器人控制系統(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.機器人速度實驗研究 18
5.1速度的實驗和誤差分析 18
5.2 速度的因素分析和改進方法 18
5.3 小結(jié) 18
5.結(jié)論 20
致謝 22
6
六足行走行走機器人
1.緒論
論文(設(shè)計)工作的理論意義和應(yīng)用價值
在自然界以及人類社會中存在人類無法到達的地方以及危及人類生命的特殊場合。如行星表面、防災救援等等,對這些危險環(huán)境進行不斷地探索研究,尋求一條解決問題的可行途徑成為科學技術(shù)發(fā)展和人類社會進步的需要。地形不規(guī)則以及崎嶇不平是這些環(huán)境的共同特點,從而使輪式或履帶式機器人的應(yīng)用受限。以往的研究表明輪式移動方式在相對平坦的地形上行駛時,具有相當?shù)膬?yōu)勢:運動速度迅速、平穩(wěn),結(jié)構(gòu)和控制也較簡單,但在不平地面上行駛時,能耗將大幅度增加,而在松軟地面或嚴重崎嶇不平的地形上,車輪的作用也將嚴重喪失使移動效率降低。為了改善輪子對松軟地面和不平地面的適應(yīng)能力,履帶式移動方式應(yīng)運而生但履帶式機器人在不平地面上的機動性仍然很差而且行駛時機身晃動嚴重。與輪式、履帶式移動機器人相比在崎嶇不平的路面步行機器人具有獨特優(yōu)越性能,因此,在這種背景下行走機器人的研究蓬勃發(fā)展起來。而仿生步行機器人的出現(xiàn)更加顯示出步行機器人的優(yōu)勢。
多足行走機器人的運動軌跡是一系列離散的足印,運動時只需要離散的點接觸,因此對地面環(huán)境的破壞程度也較小,而且可以在可能到達的地面上選擇最優(yōu)的支撐點對崎嶇地形有較強的適應(yīng)能力。因此多足行走機器人對環(huán)境的破壞程度也較小。輪式和履帶式機器人則是一條條連續(xù)的轍跡。崎嶇地形中往往含有巖石、泥土、沙子甚至峭壁和陡坡等障礙物,可以穩(wěn)定支撐機器人的連續(xù)路徑非常有限,所以此時輪帶式和履帶式機器人在這種情況下并不太實用。多足行走機器人的腿通常是多自由度的,所以靈活度也較好。它可以通過調(diào)節(jié)腿的長度和伸展程度保持身體水平和調(diào)整重心的位置因此不易翻倒有相對高的穩(wěn)定性。當然多足步行機器人也存在一些不足之處。比如為使腿部協(xié)調(diào)穩(wěn)定運動從機械結(jié)構(gòu)設(shè)計到控制系統(tǒng)算法都比較復雜,仿生多足步行機器人在機動性方面和自然界的節(jié)肢動物相比還有很大的差距。
目前研究的概況和發(fā)展趨勢
最早的多足步行機器人可以追溯到中國三國時期的水牛流馬,國外據(jù)記載最早1893 年Rygg設(shè)計的機械馬。之后多足步行機器人經(jīng)過近百年的發(fā)展,取得了極大的進步,尤其是隨著當今電子計算機技術(shù)的發(fā)展,多足步行機器人不再是過去的純機械階段而是進入到了如今的機電控制階段。進入八十年代,步行機器人的發(fā)展更是日新月異,這里簡單介紹近年來比較典型的幾種多足步行機器人。
1983 年,Odetics公司生產(chǎn)出第一代“OdexI”型六足步行機器人,如圖 1.1 所示。該機器人的電子驅(qū)動裝置使用大功率場效應(yīng)管的開關(guān)型放大器,用直流電動機作驅(qū)動元件。控制系統(tǒng)分級安排。最低級的 6 個寬帶寬處理機用于處理腿驅(qū)動裝置的數(shù)字式伺服回路的數(shù)據(jù)以及腳和腿部觸覺傳感系統(tǒng)的快速反射式反應(yīng)數(shù)據(jù);中間級有一個處理機,管理 6 個低級處理機和最高一級系統(tǒng)之間的數(shù)據(jù)流的分配;最高級包括若干個處理機,處理實際的行走算法、垂直基準、數(shù)據(jù)采集、通信和系統(tǒng)診斷等計算和控制任務(wù)。
1986 年,Miura 和Shimoyama等研制出“Collie-2”四足步行機器人,如圖 1.2 所示。用直流伺服電機驅(qū)動,用 RMS68K 和 MC68020 芯片操作系統(tǒng)控制,機器人的每一個關(guān)節(jié)安裝了一個電位器。
圖 1.1 六足機器人“Odex I”圖 1.2 東京大學的四足機器人“Collie-2” 2002 年,印度研制的六足行走機器人“舞王”,如圖 1.3 所示。該機器人用 18 臺電子發(fā)動機帶動每條腿轉(zhuǎn)動,基座上裝有電腦用于控制和監(jiān)視,另外用一臺無線臺式電腦用來遙控,它是印度技術(shù)研究院的科學家門 8 年心血的結(jié)晶。
圖1.1 六足機器人“odex”
圖1.2 四足機器人“collie-2”
圖1.3 印度六足機器人“舞王”
圖 1.3 印度六足行走式機器人“舞王”在我國,近年來多足步行機器人的研究也取得了很大的進展。 1993 年,由上海交通大學研制的 JTUWM-III 型四足步行機器人。采用 4 分布式控制系統(tǒng)。以 8098 單片機為核心的直流伺服系統(tǒng)是機器人的直接控制級,由 8031 單片機構(gòu)成的通信控制器是機器人的中間級,最高級是管理協(xié)調(diào)計算機。國內(nèi)其它的單位清華大學、北京航空航天大學、國防科技大學、哈爾濱工業(yè)大學、長春光學精密機械研究所、中科院沈陽自動化所等在多足步行機器人領(lǐng)域都取得了豐碩成果。中科院沈陽自動化所研制成功水下六足步行機,清華大學開發(fā)出了 DTWN 框架式雙三足移動機器人和五足爬桿機器人。
2.六足機器人結(jié)構(gòu)
2.1機器人的機構(gòu)以及運動特點
機器人的整體結(jié)構(gòu)簡圖2.1所示。觀察圖片可以看出,這是一個六足機器人,其中驅(qū)動關(guān)節(jié)是髖關(guān)節(jié)、大腿部分、小腿部分,這三個關(guān)節(jié)為六足機器人提供強有力的動力。小腿部分通過線輪的方式實現(xiàn)傳動,而髖關(guān)節(jié)和大腿部分則通過齒輪的方式傳動,踝關(guān)節(jié)使用球鉸。此六足機器人使用腿和手臂相互代替的結(jié)構(gòu),即模仿六足爬行動物的生物學機構(gòu)原理,這種六足結(jié)構(gòu)的優(yōu)點是使得機器人在非結(jié)構(gòu)性崎嶇路面獲得更穩(wěn)健的行進效果。另外一個突出的優(yōu)點是這種六足機器人可以用兩條腿做手臂,在末端安裝相應(yīng)結(jié)構(gòu)完成指定的任務(wù),比如安裝相應(yīng)的光敏元件完成一定的探測任務(wù)。六足機器人機身共有六個自由度,這意味六足行走機器人可以依據(jù)不同的情況完成各種步態(tài)進而實現(xiàn)理想的行走。然而為了實現(xiàn)全方位穩(wěn)健的行走,還需要相應(yīng)的控制系統(tǒng),以確保全方位行走以及更多進一步的目標。
圖2.1 結(jié)構(gòu)簡圖
2.2 機器人對控制系統(tǒng)的要求
(1)多自由度協(xié)調(diào)控制。
(2)可以盡快做出反應(yīng),具有實時性,能夠整合決策。
(3)智能化,盡量減少人工干預。
(4)提供友好的人機界面。
(5)易擴展,有增加控制點的能力。
2.3機器人機械結(jié)構(gòu)
機身設(shè)計為八邊形,每條腿由三個電機控制,為避免死點,設(shè)計結(jié)構(gòu)簡圖2.2如下
圖2.2 設(shè)計結(jié)構(gòu)簡圖
設(shè)地面為∑o;機身為∑c,機構(gòu)主體與xoy面相平,與z軸垂直,零點與質(zhì)心重疊。規(guī)定從左到右從前到后的六條腿分別為Leg1-6。每一條腿從機身向外的三個電機分別代表人體腿部的髖、大腿及小腿關(guān)節(jié),第一個電機的旋轉(zhuǎn)沿Z軸方向。規(guī)定轉(zhuǎn)角θij,i代表哪條腿、j代表第幾個關(guān)節(jié),規(guī)定各關(guān)節(jié)長度為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)動量
根據(jù)力學分析,為了保證六足行走機器人在運動過程中的穩(wěn)定。機器人的位姿和支腿的重心應(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é)點的垂直高度分析如下圖:
圖2.4 垂直高度
受機構(gòu)死點的限制,支腿的跨步受到限制,分析如下圖:
圖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)
若要保證機器人的穩(wěn)定,要滿足:
cc2 = S/2≤ymax (20)
Smax2≤ 2ymax (21)
S≤ min{Smax1 Smax2} (22)
轉(zhuǎn)彎時位置矢量:
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)角,考慮到機器人整體的對稱,如下:
圖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機器人控制系統(tǒng)的結(jié)構(gòu)
六足機器人主要由軀干、腿構(gòu)成。以下進行具體分析。
2.4.1硬件配置
控制系統(tǒng)硬件配置如圖所示。是分級控制結(jié)構(gòu)。功能如下:
表2.1 功能總圖
(1)上位計算機。相當于一臺普通配置的計電腦,主要負責規(guī)劃、仿真、顯示。
(2)下位機(工控機),10 個插槽,用 9 個,留一個備用。下位機處于核心地位,負責分析指令。位置控制卡得到脈沖數(shù),而這種用插補算法算出來的脈沖數(shù)來自關(guān)節(jié)轉(zhuǎn)角,然后及時處理觸地和轉(zhuǎn)角數(shù)據(jù),并及時反饋。
(3)3 軸位置控制板。總共有六塊,屬于位置控制單元。
(4)直流伺服驅(qū)動、電機、脈沖碼盤。
(5)A/D 板。采用三總線光電隔離技術(shù),用于惡劣環(huán)境采集數(shù)據(jù)。模入接口卡具有較高的共模抑制比及輸入阻抗,自帶DC/DC 模塊,無需外接電源。
(6)I/O 板。同樣采用了光電隔離技術(shù),隔離計算機與現(xiàn)場信號,強電和“開/關(guān)”瞬態(tài)干擾被有效避免,提高抗干擾損毀能力。I/O 卡負責采集開關(guān)信號。
(7)電位器和測距傳感器。使用旋轉(zhuǎn)型電位器。其中單圈電位器小于 360度。多圈電位器的分辨率高、角度范圍大。據(jù)需選擇 12 個單圈 6 個多圈電位器。線性度好、穩(wěn)定、分辨率高。電位器是電阻式傳感器,輸出電壓隨滑動觸點位置變化而變化,滑動觸點位置與機器人位置有關(guān)。電位器的作用一置零位。18 個電位器可采集各個關(guān)節(jié)位置,回到初始姿態(tài)。二是記錄18 個關(guān)節(jié)的轉(zhuǎn)角。三是對關(guān)節(jié)限位,起到保護作用。
(8)行程開關(guān)和觸地開關(guān)。36 個行程開關(guān)對關(guān)節(jié)限位,起到第二層的保護作用。6 個觸地開關(guān)可以知道6 條腿的落地狀態(tài),可以判斷穩(wěn)定性和決策步態(tài)。
2.4.2下位機結(jié)構(gòu)
軟件分為上下位機兩部分。下位機軟件功能如圖所示。接收及發(fā)送數(shù)據(jù),由通信中斷服務(wù)程序解決的。步態(tài)規(guī)劃模塊判斷當前狀況,根據(jù)坐標系、正逆運動學,規(guī)劃下一個位姿態(tài)。插補模塊完成插補算法計算出來的關(guān)節(jié)的轉(zhuǎn)角決定升降,把轉(zhuǎn)角變成脈沖數(shù)。檢測模塊采集信號。監(jiān)控模塊監(jiān)視偏差計數(shù)器,異常則停止工作。顯示模塊顯示機器人的狀態(tài)。
2.5小結(jié)
本章分析了步態(tài)運動參數(shù)和步態(tài)原理;并對機械結(jié)構(gòu)分析。為進一步研究做準備。本章根據(jù)機器人的特點,確定六足行走機器人應(yīng)有的功能。為此建立了分級控制,規(guī)劃下位機結(jié)構(gòu)。并對功能進行概述。硬件和軟件的設(shè)計是對控制六足行走機器人的重要研究方向。
3.多關(guān)節(jié)控制
3.1控制原理
本章介紹了一項的語法、語義和設(shè)計原理。在本文中, 描述了一個特殊的設(shè)計背后的推理目的語言設(shè)計用于編寫程序控制步行機。關(guān)鍵的編程問題是實時控制并發(fā)性、控制算法的簡明表達和驗證程序保持對物理約束的滿意度硬件, 例如一條腿不應(yīng)該被要求穿過另一個。有兩種方法可以解決編程的問題。行走計算機處理了控制中的同步問題行走步態(tài)分析動物步態(tài)觀察及提供一種近似最優(yōu)的步態(tài)和腿部運動選擇算法尚不適。昆蟲學中有證據(jù),生理學文獻步態(tài)觀察在動物是低級行為的后果, 不由高細節(jié)控制機體神經(jīng)系統(tǒng)的水平, 但受低的限制來自較高級別的帶寬信號。昆蟲般的算法似乎需要較少的計算和數(shù)據(jù)結(jié)構(gòu)。用這種方法, 考慮如何表達看似必要的松散耦合并發(fā)進程。對這個問題的思考證明很困難。本章的余下部分, 描述了步行的特點與編程問題相關(guān)的機器以及它們?nèi)绾斡绊慜WL語言的設(shè)計。另外, 要注意到一些語言中所提供的控制結(jié)構(gòu)的方法可能是在解決并行控制中更普遍的問題。
表3.1 控制模塊
傳感器在每條腿和關(guān)于機器的身體是可利用的對程序員??刂朴嬎銠C可以測量的角度每條腿接頭所支持的負載。使用本體感覺來形容這種能力感知身體部位的身體狀況。行走的動物用本體感覺來推斷大量有關(guān)地形的信息。使用算法模仿動物行為。生物算法表現(xiàn)出優(yōu)于全局優(yōu)化的分層分解其他行走機器工人提倡的算法。我覺得這種分解將更簡單、更可靠和更多有效的方案。
步進在每條腿走路的過程中獨立地重復同樣的動作一連串的行動。一條向前、向下和軸承, 載荷將向后驅(qū)動, 推進機器的車身提出.一旦腿到達了它的旅行的后端, 它將上升,向前邁進, 盡可能地往下走, 直到它觸及到地面和拾起裝載。這一點開始下一步。任務(wù)計劃是使每條腿正確地做這些事和編排所有六條腿, 使機器行走成功。當腿的位置改變以地形在步驟周期中的各個點都將有所不同。另外,一條腿可能會碰到一個突起, 它必須采取高步。在沒有事先地形地圖的情況下,機器不能計劃這些, 所以它必須依靠什么使它能了解地形從它的腿位置。除此之外,還必須有一些軟件在可檢測機器是否平衡的控制器可以中止正常的步行過程。
3. 2 OWL編程
并發(fā)性是可以合理地簡明描述的。路徑表達式是示例并發(fā)控制的描述。csp提供了所需要的大部分語義。大多數(shù)其他技術(shù)使用共享數(shù)據(jù)結(jié)構(gòu)來同步并發(fā)進程的序列化。通過共享數(shù)據(jù)結(jié)構(gòu)提供同步機器。大多數(shù)現(xiàn)有的并發(fā)控制構(gòu)造都是開發(fā)的在操作系統(tǒng)的研究和設(shè)計方面。可交付結(jié)果操作系統(tǒng)是 "合理" 的系統(tǒng)管理資源, 不像走路那樣的特殊任務(wù)。在加法, 中斷一個束縛在滯后不是操作系統(tǒng)的目標。因此, 操作系統(tǒng)構(gòu)造不是特別很適合步行控制任務(wù), 因為他們專注于資源點中相互遺忘任務(wù)的同步請求, 而六足行走機器人需要的是一種允許相互并發(fā)的方法約束的過程進行合作。機器人編程語言來處理并發(fā)控制, 但要通過數(shù)據(jù)結(jié)構(gòu)繼續(xù)處理。除了并發(fā), 語言還要提供良好的真實時間性能。這意味著能夠?qū)⒀舆t添加到系統(tǒng)由任何過程。在很好的理解或極端專業(yè)系統(tǒng), 可以提供硬件中斷, 允許延遲系統(tǒng)的關(guān)鍵部分要保持小。所采用的控制滯后時間的技術(shù)是撰寫程序從小塊代碼, 每一個是保證使用少于一些固定的實時量。這與 "條紋" 類似編程規(guī)程在編程中使用。系統(tǒng)偏離了 "條紋" 的概念, 因為它移動了簿記為紀律入一個特別用途編譯器和因為它還提供了控制并發(fā)的機制。一個強大的技術(shù)可用于系統(tǒng)硬件中斷將不同的程序掛鉤到不同的中斷并使每個程序禁用某些中斷集它被調(diào)用。這使系統(tǒng)能夠同時執(zhí)行 "搜索",與 "贏家" 的搜索能夠禁用它的競爭者。一個這種技術(shù)的局限性在于系統(tǒng)只限于搜索硬件中斷提供的條件集。如果某些競爭者具有復雜的條件, 則中斷的使用成為不可行.此功能由生產(chǎn)系統(tǒng)語言提供和由序列命令。
4.編程部分
4. 1 語言
OWL進程是一條附加到某一狀態(tài)的代碼信息.狀態(tài)信息包括實際參數(shù)和局部變量, 稱為 "完成" 的屬性, 指示進程是完成的, 另一個稱為警報的屬性, 用于控制并發(fā)進程之間的交互。
4. 2工藝組合
過程可能是一個原始的, 作為一個獨立的片斷提供用某種外部語言編寫的代碼, 或者可能是序列或并發(fā)。
4. 3序列
序列是進程的列表。反復的序列循環(huán)通過其列表中的過程。序列的激活導致激活第一個子進程。當子進程時,然后它的后繼者從流程名單被激活。序列是當其中一個子進程設(shè)置完成屬性的序列為true。最后subprocession 是列表中的第一個進程。因此, 每一個OWL序列是默認的一個循環(huán)。相比之下, 考慮實施序列OWL命令。用這些語義序列的命令是序列, 它的第一個子進程是序列。序列過程在滿足條件時完成。注意, OWL順序可能在等待防護之前做一些工作。另外一個序列可能有很多在一個序列上等待地方。
4.4參數(shù)傳遞
OWL語言的主要特點是報警屬性及其語義.OWL希望具有類似于禁用中斷的功能。功能由處理警報屬性提供。OWL提供的保證是當幾個并發(fā)的兄弟姐妹中斷警報, 仲裁將確切地選擇一個子流程作為下一段的開始。只有一個子進程將被允許繼續(xù)。所有其他子流程將盡快終止, 但任何事件不允許通過他們自己的警報點。一旦一個進程獲得成功的中斷警報, 該進程隨后發(fā)出警報的所有中斷都被授予對系統(tǒng)沒有進一步的影響。如果中斷的子進程警報, 然后序列的行為就好像它已經(jīng)中斷警報本身。使用警報的語義可以構(gòu)造 if..。通過使每個子進程中的序列設(shè)置為警報屬性以及已完成的屬性??梢栽贠WL中執(zhí)行序列命令, 作為一個簡單的受保護的命令序列的并發(fā)防護過程中斷僅做命令。
OWL進程有一個包含實際值的本地狀態(tài)。形參加局部變量。因為我可能想要使用一個過程觀察另一個進程的進度, 如在' 緊急 ' 處理程序外部和并發(fā)的 ' 業(yè)務(wù) ' 進程, 還必須有一個機制, 保持選定最新的實際值。考慮是否需要一個行走機控制系統(tǒng)的多處理機實現(xiàn), 簡單的通過引用是不夠的。對通過學科的各種選擇的思考導致了構(gòu)建下表的語義選擇。入口in讀取列意味著只將值復制到進程中一次,其實例化的時間。欄意味在過程完成后, 只寫出一次值的輸入 "*" 用于讀取意味著從每當進程 "重新啟動" 的代碼時。在父級情況下, a原語意味著每次執(zhí)行代碼時。在a的情況下序列, 它意味著每次最初的 ' 第一 ' 子進程是reinstantiated。條目 "*" 為寫方式做更新每次進程掛起時從本地復制父級。為一個原語,這是一段代碼完成了。對于序列, 它在描述序列的列表中的 "最后" 子進程是完成, 盡管進程沒有設(shè)置其完成的屬性。
圖4.1 代碼1
進程中唯一可見的變量是它的 formals 和當?shù)厝思由纤卸x的 giobals。無法訪問調(diào)用的局部變量由命名的子進程處理。通常情況下, 在進程完成時發(fā)生的最后一件事是所有的 var 和 VARSTAR 參數(shù)都寫出了。但是, 一個過程是由由并發(fā)同級中斷的警報不允許寫出它的var 和 VARSTAR 參數(shù)。以這些語義學它是可能的啟動并發(fā), 只有 "得勝" 子進程影響它的外在環(huán)境。請注意, 只有作為 var 傳遞的參數(shù)是以這種方式保護。用更常規(guī)的術(shù)語表示, val 傳遞語義與值相同, 而 var 與 copy-in ~ copy-out 相同。var ~ 星是非常相似的參考, 除了, 因為過程沒有實際的地址, 可以有, 在短時間內(nèi),兩個過程之間關(guān)于實際值的不一致。VALSTAR 就像一個讀/只的引用限制, 用相同的限制為 VARSTAR。
圖4.2 代碼2
4.5示例
本節(jié)包含一些示例, 其中包括解決方案問題與其他知名的實施并發(fā)控制結(jié)構(gòu)。如上所述, 可以表達序列命令用OWL簡明。這里是序列命令做什么:
圖4.3 代碼3
每當某一防護變?yōu)檎鎸? 它被測試的子序列完成, 從而允許序列的其余部分繼續(xù)進行。有是OWL和序列命令之間的一些關(guān)鍵區(qū)別通過對此代碼片段的分析, 可以得到最好的演示。在做…od 構(gòu)造, 其中一個符合條件的保護語句被選中隨機執(zhí)行, 以終止構(gòu)造結(jié)果沒有任何陳述仍然符合資格。以上OWL構(gòu)造許可許多子序列的活動同時實現(xiàn)防護.另外, 并發(fā)組合只完成更改所有子流程都已完成。
Pach 子序列 both> 等待和監(jiān)視它的序列的第一個與真正的防護中斷兩個警報都做了,因此它可以以繼續(xù)的順序, 而其他所有序列都是從資格中刪除而不允許通過他們中斷警報的代碼。這與 if…序列命令在沒有防護的狀態(tài)的處理相同。在這種情況下, 序列命令中止,而OWL并發(fā)只是等待。會合點可以按如下方式實現(xiàn):
圖4.4 代碼4
兩個 processesproceeds 最快的 reachesthe 兩個中間語句, setsthe 標志表示它已準備就緒, 然后在其他旗子。一旦其他進程到達設(shè)置其標志的點。兩個 processesproceed。下面的示例是實際的步行代碼, 旨在提供行走機器的最高控制水平。
圖4.5 代碼5
進程中的代碼遍歷所有六的正常步進雙腿, 兩個問題的條件是監(jiān)測兩個并發(fā)進程。如果出現(xiàn)了問題, 則步行代碼被搶占, 并調(diào)用處理程序。一組合理的補救措施處理小費是不同的, 當一條腿碰撞也是存在的, 所以它是合理的處理程序為每個問題狀態(tài)有它自己的探測器和處理程序為后繼問題.主并發(fā)是抱著的序列, 以便在處理問題的情況, 正常的步行過程將是rcinitiated。下一例 illustrateshow 單腿控制器處理對腿部的凹陷。
圖4.6 代碼6
腿部向下移動后, 兩種情況下都可能發(fā)生改變腿部的狀態(tài)。腿部可以成功地接觸到地面和承擔它的份額的裝載。注意, 使用遞歸OWL雖然此程序可以保證延遲的界限,但不能這樣做, 因為每個父級都被掛起, 而其遞歸后是不穩(wěn)定的。這個最后的例子說明了簡單的動作是如何控制的。
圖4.7 代碼7
一個序列的這個過程的實例將確保命名的腿將在序列超出實例之前引發(fā)。注意, 在這段代碼中, 腿部的向上運動不會被停止這個過程, 雖然這樣的停頓可以輕
4.6小結(jié)
OWL語言是極端簡單的。等待是非?;镜牟l(fā)實時程序。這種等待的循環(huán)是最簡單的事情用OWL的序列實現(xiàn)。OWL也提供并發(fā)與提供條件的機制相同。
5.機器人速度實驗研究
速度是機器人的重要性能。先研究速度性能,然后分析改進方法。
5.1速度的實驗和誤差分析
一個步態(tài)周期需要的位姿點是20 個,周期也要20 個,采樣周期50 毫秒。這樣一個步態(tài)周期為20 秒,設(shè)定跨步為 150 毫米,則理論上機器人的速度為450 mm/min。機器人每一邊有前中后腿。實驗說明六足行走機器人按一定的速度行走是可行的,但誤差大概有20%。原因主要是兩方面。一是線輪傳動,機器人的重量使鋼絲繩的形變偏大,導致機器人的跨距出現(xiàn)誤差。二是尼龍齒輪間隙較大。
5.2 速度的因素分析和改進方法
從實驗測得的六足行走機器人較低的實際速度與誤差有一定的關(guān)系,但設(shè)計速度也很低。機器人速度的主要影響因素有:機器人跨步、采樣周期、采樣周期數(shù)。而姿態(tài)點數(shù)是提前訂好的,下面分析其它幾個因素進行并改進。
(1)采樣周期。因為一個定時中斷里面順序放置狀態(tài)采集模塊,插補模塊,位控模塊,指令分析模塊使得周期為50毫秒的采樣周期難以提高。改進建議:采用實時多任務(wù)調(diào)度,各任務(wù)互不影響,設(shè)置優(yōu)先級,按重要程度第一時間處理緊急任務(wù)。這樣就可以適當合理的設(shè)置較小的采樣周期。
(2)采樣周期數(shù)。采樣周期數(shù)隨速度和加速度的改變而改變。段間銜接功能不適用于插補算法,所以速度的變化每次都是從零開始到零結(jié)束。改進建議:使用段間銜接,速度不用都是從0開始,減少采樣周期數(shù)。
(3)跨步。機器人的跨步可以很容易的隨路面狀況的變化而變化。改進建議:改進控制系統(tǒng),若設(shè)置采樣周期數(shù)、采樣周期、步態(tài)周期分別15、4、1200,假定跨步為 160 毫米,則理論上一分鐘走8000 毫米。
5.3 小結(jié)
本章實驗研究了機器人整體的速度性能,分析了有關(guān)誤差的原因。速度的影響因素和改進方法。
5.結(jié)論
本文主要針對六足行走機器人的機械結(jié)構(gòu)和力學及運動特點,研究底層控制系統(tǒng)及相應(yīng)功能。其主要工作包括:
(1)分析機構(gòu)和運動特點和功能。
(2)分析了編程過程中會出現(xiàn)的問題,選用適當?shù)能浖?
(3)采集電位器、傳感器和行程開關(guān)的信息。處理采集到的信息得到轉(zhuǎn)角信息、著地狀態(tài)信息。
(4)通過實驗研究了機器人的運動速度,分析出現(xiàn)誤差原因。提出提高機器人速度的改善意見。
參考文獻
[1]陳剛.六足步行機器人位姿控制及步態(tài)規(guī)劃研究[D].浙江大學,2014.
[2]許家忠,徐崇福,高良超,劉宇飛,許國強.六足步行機器人控制系統(tǒng)研究[J].自動化技術(shù)與應(yīng)用,2013,(09):20-23+35.
[3]劉德高.六足機器人運動控制系統(tǒng)設(shè)計與實現(xiàn)[D].哈爾濱工業(yè)大學,2013.
[4]尹曉琳.六足仿生機器人步態(tài)規(guī)劃及其控制策略研究[D].哈爾濱工業(yè)大學,2013.
[5]趙龍海.六足步行機器人自然地形下全方位運動規(guī)劃策略研究[D].哈爾濱工業(yè)大學,2013.
[6]劉亮.大型重載六足機器人行走技術(shù)研究[D].哈爾濱工業(yè)大學,2013.
[7]劉毓.基于FPGA的六足仿生機器人嵌入式控制系統(tǒng)研究[D].南京林業(yè)大學,2013.
[8]于欣龍.六足仿蜘蛛機器人樣機研制及步行機理研究[D].哈爾濱工程大學,2013.
[9]徐崇福.六足機器人運動規(guī)劃與控制系統(tǒng)設(shè)計[D].哈爾濱理工大學,2013.
[10]胡金濤.六足機器人步態(tài)控制策略研究[D].哈爾濱理工大學,2013.
[11]劉冬,趙現(xiàn)朝,齊臣坤.行走·定位一體化飛機制孔六足機器人研究[J].機械設(shè)計與研究,2012,(06):52-55+59.
[12]劉煒驊.基于CPG網(wǎng)絡(luò)的六足機器人行走步態(tài)規(guī)劃方法研究[D].哈爾濱工業(yè)大學,2013.
[13]武磊.基于三自由度并聯(lián)腿的仿生六足機器人的設(shè)計[D].燕山大學,2012.
[14]潘陽,高峰.一種行走操作一體化的六足步行機器人[A].中國機械工程學會機械傳動專業(yè)學會機構(gòu)學專業(yè)委員會.第十八屆中國機構(gòu)與機器科學國際學術(shù)會議論文集[C].中國機械工程學會機械傳動專業(yè)學會機構(gòu)學專業(yè)委員會:,2012:5.
[15]劉海清.六足仿生機器人結(jié)構(gòu)優(yōu)化設(shè)計及其位姿控制策略研究[D].哈爾濱工業(yè)大學,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 .
附錄A 外文翻譯
1.介紹
近年來,對腿機器人進行了大量的研究( delcomyn和Nelson , 2000 ;Huang and饒波, 2003 ;ohnishi , 2004a ;奎因等人.2001年;siegwart和努爾巴赫什,2004年)??茖W家和工程師對采用基于生物技術(shù)的設(shè)計(奎因等人)感興趣。(2001年)。腿機器人的主要優(yōu)點是其能夠進入不可能的位置的輪式機器人。通過模仿腿動物的物理結(jié)構(gòu),可以提高移動機器人的性能。為了提供更穩(wěn)定更快速的步行,科學家和工程師可以在設(shè)計中實現(xiàn)相關(guān)的生物概念。研究腿機器人的最有力的動力是提供對人類無法進入或過于危險的地方。腿機器人可以用于地震后的救援工作和在核反應(yīng)堆的內(nèi)部等危險場所,給予具有生物啟發(fā)的自主步行機器人巨大的潛力。低功耗和重量是步行機器人的進一步優(yōu)點,因此使用最少數(shù)量的致動器是很重要的。阿萊的tokgo和李燦建議的六腿機器人,稱為robomalit5只使用兩個執(zhí)行機構(gòu)(托克格茲和李燦,2004年)。在這項研究的動機和知情的情況下,我們開發(fā)了他們的機器人的運動,并在原型中添加了彈簧,以給腿部和模擬肌肉提供更多的力量。
本研究設(shè)計了一種基于蟑螂生物力學的六足步行昆蟲機器人(圖1)。行走機器人由兩個步進電機驅(qū)動。六酒吧的鏈條構(gòu)成了腿部的運動鏈,并由凸輪機構(gòu)和傳動桿驅(qū)動。彈簧安裝在腿部模仿重要的肌肉特征。運動機構(gòu)由PLC控制器控制。本文由六個部分組成。第二節(jié)論述了六足步行昆蟲機器人的設(shè)計步驟.行走機器人的步態(tài)在第3節(jié)中給出。在第4節(jié)中對原型進行了研究,第5節(jié)描述了行走機器人的控制部分。第六節(jié)介紹了實驗工作。最后,第7節(jié)提出了一些結(jié)論和今后的工作。
2.設(shè)計
我們的設(shè)計靈感來自生物,而不是試圖復制它,因為這并不總是可能或可取的現(xiàn)有技術(shù)。盡管包括許多昆蟲在內(nèi)的動物的運動優(yōu)于目前的機器人,但我們對我們的腿機器人使用的設(shè)計不同于自然界的設(shè)計。我們的運動機構(gòu)耦合機器人關(guān)節(jié),以減少驅(qū)動器數(shù)量和簡化控制。驅(qū)動器一般都很重,所以減少它們的數(shù)量會降低能耗。最近的機器人使用至少一個執(zhí)行器每個腿(如rhex)和一般一個執(zhí)行器每個關(guān)節(jié)(薩蘭勒等人。2001年;林等人。2005年;林等人。2006年;巴爾福特等人。(2006年)。簡單的機械耦合可以簡化腿機器人的設(shè)計,減少驅(qū)動器的使用。然而,這減少了移動性,因此在本研究中只嘗試直線軌跡.腿機器人在每個相同的腿上有兩個自由度。我們的目標是讓機器人在光滑的地面上行走,并驗證一個類似于蟑螂的三腳架的步態(tài)模式。
對于腿機器人,2個自由度是通過提升和擺動來移動腿所需的最小自由度。圖2顯示了腿機構(gòu),使用一個瓦特六桿機構(gòu)模仿蟑螂(昆蟲)腿.我們選擇了一個sixbar機構(gòu),因為它具有比四桿機構(gòu)等其他類型更大的傳力角度和更大的振蕩角(諾頓, 2004)。由于點,力傳遞對腿部機構(gòu)非常重要。腿部機構(gòu)本身具有一個自由度用于提升,而機構(gòu)底座具有另一個自由度用于擺動。腿機構(gòu),其身體尺寸如圖1所示,是以堅實的工程為模型。它有六個鏈環(huán)和七個圓柱接頭。Eachlinkis創(chuàng)建了它的形狀和引用坐標。為了配合零件的接觸面,使用裝配菜單的裝配條。然后,組件圍繞一個軸旋轉(zhuǎn),指定所需的軸和選定表面的旋轉(zhuǎn)。為了在崎嶇的地面上產(chǎn)生更穩(wěn)定的行走和模仿肌肉,彈簧安裝在link1和link2之間,在link2和link3之間。
本研究與其他六足機器人研究的主要區(qū)別在于腿動作中使用的致動器和運動機構(gòu)的數(shù)目。相關(guān)文獻(表五、黃、饒波, 2003 ;林等人。2006年,2005年;幸運等人。,2005年)表明,至少一個驅(qū)動器用于每個腿的跨步運動。這就要求至少六個致動器,六足機器人。然而,在這種設(shè)計中,三腳架腿的上下運動通過使用一個驅(qū)動器旋轉(zhuǎn)左右凸輪軸,而不是為每個腿使用不同的執(zhí)行器(圖3和圖4)。單個執(zhí)行器執(zhí)行向上/向下運動所需的所有任務(wù)和simpli系統(tǒng)控制系統(tǒng)。圖3顯示了用于傳遞腿運動的凸輪軸. 凸輪軸是我們設(shè)計的最重要的部件之一,它也是以Solidworks為模型的.開發(fā)的凸輪軸用于在行走過程中提升三條腿和使其他人接地,并只使用一個步進電機實現(xiàn)三腳架步態(tài)。同時,提出了控制問題。由同一步進電機驅(qū)動的兩個凸輪軸已用于左右兩側(cè)腿.如圖4所示,這些凸輪軸同時旋轉(zhuǎn)。
圖5顯示了用于雙腿擺動運動的傳動桿和連桿。這種同時左右行走機構(gòu)是由一個步進電機驅(qū)動的.此外,昆蟲機器人的每一條腿都安裝在?泥土中酒吧。右三腳架和左邊腿,沿x軸振蕩,通過傳輸桿的向前/向后運動向前推進。這種運動是由驅(qū)動連桿的一個驅(qū)動器產(chǎn)生的。當步進電機旋轉(zhuǎn)一次旋轉(zhuǎn)時,提升支腿向前推進一步。腿連接到?泥土中,而腿關(guān)節(jié)通過如圖4所示的連接連桿連接到變速器桿。當連桿通過一個周期運動時,變速器桿將轉(zhuǎn)換為0.02m。圖6、7 ( a )和( b)在leggedrobot的俯視圖中顯示傳動桿和連桿的位置。
使用solidworks中的裝配配合功能組裝了先前保存在裝配?le中的創(chuàng)建的部件。在的關(guān)節(jié)表面之后,采用移動和旋轉(zhuǎn)函數(shù)對腿機器人進行建模。結(jié)果如圖8所示。最后,在cosmosmotion中開發(fā)了模仿機器人的三維動畫。
附錄B 外文原文
致 謝
感謝我的導師關(guān)浩老師的悉心指導;關(guān)浩導師嚴謹?shù)目茖W態(tài)度、淵博的學識、一絲不茍、有責任感,使我在深受教誨。值此論文完成之際, 向我的導師表示衷心的感謝和崇高的敬意。當我面對一個新興領(lǐng)域的設(shè)計題目,茫然不知從何下手時,是關(guān)老師把我?guī)肓诉@個門檻。
同時也要感謝大學里教過我的老師們,是老師們的辛勤付出,才有的現(xiàn)在的我可以獨立完成本專業(yè)的畢業(yè)設(shè)計,也要感謝我的家人和同學,是他們的支持和幫助才使我可以專心完成學業(yè)。
邵倩
2017年5月