《機(jī)器人程序設(shè)計(jì)-仿人機(jī)器人競(jìng)技娛樂(lè)運(yùn)動(dòng)設(shè)計(jì)》課件第3章_第1頁(yè)
《機(jī)器人程序設(shè)計(jì)-仿人機(jī)器人競(jìng)技娛樂(lè)運(yùn)動(dòng)設(shè)計(jì)》課件第3章_第2頁(yè)
《機(jī)器人程序設(shè)計(jì)-仿人機(jī)器人競(jìng)技娛樂(lè)運(yùn)動(dòng)設(shè)計(jì)》課件第3章_第3頁(yè)
《機(jī)器人程序設(shè)計(jì)-仿人機(jī)器人競(jìng)技娛樂(lè)運(yùn)動(dòng)設(shè)計(jì)》課件第3章_第4頁(yè)
《機(jī)器人程序設(shè)計(jì)-仿人機(jī)器人競(jìng)技娛樂(lè)運(yùn)動(dòng)設(shè)計(jì)》課件第3章_第5頁(yè)
已閱讀5頁(yè),還剩256頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章基于Robobasic?的仿人機(jī)器人運(yùn)動(dòng)程序設(shè)計(jì)3.1引言3.2軟件安裝及操作界面說(shuō)明

3.3roboBASICv2.803.4MF(MetalFighter)仿人機(jī)器人介紹3.5Robobasic語(yǔ)言語(yǔ)法介紹3.6前進(jìn)一步動(dòng)作的程序設(shè)計(jì)3.7后退一步動(dòng)作的程序設(shè)計(jì)3.8連續(xù)行走程序設(shè)計(jì)3.9復(fù)雜動(dòng)作程序設(shè)計(jì)3.10具有傾斜傳感器的運(yùn)動(dòng)程序設(shè)計(jì) 3.11具有陀螺儀傳感器的運(yùn)動(dòng)程序設(shè)計(jì)

3.1引言

Robobasic是用于控制機(jī)器人動(dòng)作的專(zhuān)用語(yǔ)言,是由韓國(guó)MINIROBOT公司于2006年研發(fā)并且注冊(cè)的語(yǔ)言。它適用于Hitec公司、Mini公司生產(chǎn)的伺服數(shù)字電機(jī)控制或者其他適用的電機(jī)。

3.2軟件安裝及操作界面說(shuō)明

3.2.1開(kāi)發(fā)環(huán)境roboBASICMFv2.80在Win7系統(tǒng)下的安裝

安裝步驟如下:

(1)安裝“roboBASICMFv2.80”軟件。在光盤(pán)目錄里的“MetalFighter光盤(pán)\English\roboBASICMFv2.80E(20090708)_English”文件內(nèi)容如圖3-1所示,找到“setup.exe”文件,雙擊開(kāi)始安裝“roboBASICMFv2.80”軟件(點(diǎn)擊roboBASICMFv2.80.msi也可以安裝)。

圖3-1光盤(pán)內(nèi)容

(2)點(diǎn)擊“Next”,如圖3-2所示。圖3-2Win7系統(tǒng)下的安裝步驟1

(3)選擇安裝路徑,一般建議安裝在C盤(pán),因?yàn)閞oboBASIC本身占有的容量不大。選擇好路徑后,點(diǎn)擊“Next”,如圖3-3所示。圖3-3Win7系統(tǒng)下的安裝步驟2

(4)出現(xiàn)如圖3-4所示界面,再點(diǎn)擊“Next”。圖3-4Win7系統(tǒng)下的安裝步驟3

(5)程序開(kāi)始默認(rèn)安裝,如圖3-5所示。圖3-5Win7系統(tǒng)下的安裝步驟4

(6)當(dāng)出現(xiàn)如圖3-6所示的界面后,則表示安裝成功,點(diǎn)擊“Close”,即可退出安裝界面。圖3-6Win7系統(tǒng)下的安裝步驟5

(7)此時(shí)會(huì)發(fā)現(xiàn)在桌面上已經(jīng)出現(xiàn)了如圖3-7所示的圖標(biāo),雙擊即可進(jìn)入roboBASIC軟件界面,進(jìn)行?*.bas文件的編譯。圖3-7Robobasic快捷方式圖

(8)安裝Windows7補(bǔ)丁。WindowsVista和Windows7中,有的時(shí)候會(huì)遇到這樣的情況:按照上面的操作步驟正確安裝了roboBASIC軟件,打開(kāi)后卻不能正常使用和執(zhí)行,比如說(shuō)上面的按鍵顯示為灰色,不能打開(kāi)?*.bas文件等情況。一般原因是沒(méi)有正確設(shè)置注冊(cè)表,但不同的電腦出現(xiàn)的情況也有可能不同,這時(shí)就需要安裝補(bǔ)丁。

在光盤(pán)目錄里的“MetalFighter光盤(pán)\English\robobasic_Vista_Windows7_init”文件夾的內(nèi)容如圖3-8所示。圖3-8安裝光盤(pán)文件夾內(nèi)容

WindowsOS有32?bit和64bit的區(qū)分。當(dāng)是32?bitOS系統(tǒng)時(shí),打開(kāi)“robobasic_32bit_OS_init(windowsvista,7).bat”進(jìn)行安裝。當(dāng)是64?bitOS系統(tǒng)時(shí),打開(kāi)“robobasic_64bit_OS_init(windowsvista,7).bat”進(jìn)行安裝。

下面給大家介紹一種需要自己動(dòng)手安裝補(bǔ)丁的方法。

在“開(kāi)始/運(yùn)行”中復(fù)制粘貼以下指令,然后點(diǎn)擊“確定”。不同位數(shù)操作系統(tǒng)的補(bǔ)丁如下:注意:在Win7系統(tǒng)環(huán)境下,有時(shí)盡管正確安裝了補(bǔ)丁,也不能完全保證roboBASIC可用。如何辨別安裝成功與否呢?①可以看安裝補(bǔ)丁的時(shí)候有沒(méi)有報(bào)錯(cuò)。如果彈出一個(gè)對(duì)話(huà)框說(shuō)模塊缺失,一般情況下說(shuō)明在Win7系統(tǒng)中roboBASIC無(wú)法正常使用;②打開(kāi)roboBASIC軟件,點(diǎn)擊“文件”中的“新建”選項(xiàng),會(huì)發(fā)現(xiàn)軟件沒(méi)有任何反應(yīng),不管進(jìn)行任何操作,roboBASIC都還是如圖3-9所示界面,這種情況下roboBASIC也是不能正常使用的。圖3-9安裝后不能正常使用roboBASIC3.2.2開(kāi)發(fā)平臺(tái)roboBASICMFv2.80在WindowsXP系統(tǒng)下的安裝

roboBASICMFv2.80在WindowsXP系統(tǒng)下的具體安裝方法與在Win7下的安裝差不多,它與WindowsXP完全兼容,無(wú)須安裝補(bǔ)丁。

安裝步驟如下:

(1)安裝“roboBASICMFv2.80”軟件。在光盤(pán)目錄里的“MetalFighter光盤(pán)\English\roboBASICMFv2.80E(20090708)_English”文件內(nèi)容如圖3-10所示。找到“setup.exe”文件,雙擊開(kāi)始安裝“roboBASICMFv2.80”軟件(同樣點(diǎn)擊roboBASICMFv2.80.msi也可以安裝)。

(2)點(diǎn)擊“Next”,如圖3-11所示。圖3-10光盤(pán)內(nèi)容圖3-11WindowsXP系統(tǒng)下的安裝步驟1

(3)先選擇好安裝路徑,然后點(diǎn)擊“Next”,如圖3-12所示。圖3-12WindowsXP系統(tǒng)下的安裝步驟2

(4)當(dāng)出現(xiàn)如圖3-13所示的界面后,再點(diǎn)擊“Next”。圖3-13WindowsXP系統(tǒng)下的安裝步驟3

(5)程序開(kāi)始默認(rèn)安裝,如圖3-14所示。圖3-14WindowsXP系統(tǒng)下的安裝步驟4

(6)當(dāng)出現(xiàn)如圖3-15所示的界面后,則表示安裝成功,點(diǎn)擊“Close”,即可退出安裝界面。

(7)此時(shí)會(huì)發(fā)現(xiàn)在桌面上已經(jīng)出現(xiàn)了如圖3-7的圖標(biāo),雙擊即可進(jìn)入roboBASIC軟件界面進(jìn)行?*.bas文件編譯。

roboBASIC在WindowsXP下的兼容性比在Win7中要好,建議使用WindowsXP系統(tǒng)安裝roboBASIC,以免在后續(xù)工作中影響程序的編寫(xiě)。圖3-15WindowsXP系統(tǒng)下的安裝步驟5

3.3roboBASICv2.80

本節(jié)介紹安裝roboBASICv2.80完成之后的roboBasic編程環(huán)境。roboBasic軟件的開(kāi)發(fā)環(huán)境界面如圖3-16所示。圖3-16roboBASIC軟件開(kāi)發(fā)環(huán)境界面3.3.1標(biāo)題欄

圖3-17所示的是roboBASIC軟件的一個(gè)logo圖標(biāo),點(diǎn)擊它可以進(jìn)行軟件窗口的還原、移動(dòng)、大小變換、最小化、最大化、關(guān)閉等快捷操作。圖3-17roboBASIC軟件的logo圖標(biāo)圖3-18所示的是“roboBASICMF—”的字樣,表明這個(gè)軟件就是針對(duì)這款MF機(jī)器人而設(shè)計(jì)的。圖3-18roboBASICMF圖3-19所示的是所要編譯的文件名,軟件默認(rèn)打開(kāi)的文件名為“無(wú)題1.bas”(還未保存),若要更改文件名,可以在保存文件時(shí)進(jìn)行修改。圖3-19編譯的文件名如圖3-20所示,標(biāo)題欄最右邊是最小化,最大化和關(guān)閉按鈕。圖3-20最小化、最大化及關(guān)閉按鈕3.3.2菜單欄

如圖3-21所示為菜單欄,下面從左到右介紹菜單欄上各個(gè)按鈕的功能及用法。圖3-21菜單欄最左側(cè)的“文件(F)”小圖標(biāo)的作用和標(biāo)題欄上圖標(biāo)(如圖3-17所示)的功能差不多。不過(guò)這里多了一項(xiàng)快捷功能“下一個(gè)”,該選項(xiàng)的作用是:在同一個(gè)roboBASIC軟件界面下同時(shí)打開(kāi)多個(gè)?*.bas文件時(shí),點(diǎn)擊“下一個(gè)”,可以進(jìn)行這些?*.bas文件之間的切換,如圖3-22所示。圖3-22菜單欄

(1)點(diǎn)擊“文件”按鈕,可以看到如圖3-23所示的下拉菜單。圖3-23菜單欄中“文件”選項(xiàng)“文件”下拉菜單中各選項(xiàng)介紹如下:

“新序文件”:可以用來(lái)新建?*.bas文件。

“打開(kāi)程序文件”:用來(lái)打開(kāi)已經(jīng)建立的?*.bas文件。

“關(guān)閉程序文件”:可以用來(lái)關(guān)閉當(dāng)前窗口打開(kāi)的?*.bas文件,但不關(guān)閉roboBASIC軟件。

“儲(chǔ)存程序文件”:可以?xún)?chǔ)存當(dāng)前?*.bas文件。

“另存為”:可以將已保存的文件保存到另外的文檔路徑。

“全部?jī)?chǔ)存”:可以一鍵保存當(dāng)下打開(kāi)的所有?*.bas文件。

“打印程序文件”和“打印機(jī)設(shè)置”:針對(duì)需要打印的讀者可以進(jìn)行打印的相關(guān)設(shè)置,這里不作詳細(xì)介紹。

“最新文檔”:記錄了用戶(hù)最近使用過(guò)的?*.bas文件,方便用戶(hù)隨時(shí)調(diào)用。

“最新文?”:點(diǎn)擊它,會(huì)發(fā)現(xiàn)上面有個(gè)對(duì)號(hào),代表當(dāng)打開(kāi)roboBASIC軟件時(shí),軟件會(huì)默認(rèn)自動(dòng)打開(kāi)最近一次使用的文檔(如果不想使用該功能,想讓軟件顯示的是空白頁(yè)面,可以取消上面的對(duì)號(hào))。

“退出”:退出當(dāng)前軟件。如果當(dāng)前頁(yè)面有?*.bas文件未保存或者修改后未保存時(shí),軟件會(huì)提醒是否需要保存。

(2)點(diǎn)擊“編輯”按鈕,可以看到如圖3-24所示的下拉菜單。圖3-24菜單欄中的“編輯”選項(xiàng)“編輯”下拉菜單中各選項(xiàng)介紹如下:

“取消”:和平常使用的“撤銷(xiāo)”功能一樣,可以撤銷(xiāo)當(dāng)前操作,返回到前一步操作的程序狀態(tài)。

“重復(fù)”:當(dāng)選擇“取消”次數(shù)超過(guò)預(yù)期時(shí),可以通過(guò)“重復(fù)”來(lái)恢復(fù)后一步操作時(shí)的程序狀態(tài)。

“剪切”、“復(fù)制”、“粘貼”、“刪除”:與Word功能相同。

“設(shè)置注釋領(lǐng)域”:當(dāng)前選中的程序或者文字不需要或者對(duì)程序有影響需要注釋時(shí),可以通過(guò)“設(shè)置注釋領(lǐng)域”來(lái)注釋程序或者文字,也可以用它來(lái)添加備注。注釋以后,注釋的程序或者文字前面有“?'?”,而且注釋的內(nèi)容由黑色字體變成粉紅色,例如?'roboBASIC',注釋的內(nèi)容不參與編譯。

“取消注釋領(lǐng)域”:和“設(shè)置注釋領(lǐng)域”功能相反,用來(lái)取消注釋?zhuān)僮骱蟆?'?”會(huì)消失,在實(shí)際操作過(guò)程中,可以直接在注釋內(nèi)容前從鍵盤(pán)刪除“?'?”。

“全選”:這是對(duì)于程序編寫(xiě)區(qū)域里的代碼而言的,可以選中當(dāng)前?*.bas文件中的全部程序代碼。

“選擇行”:選中當(dāng)前鼠標(biāo)所在的一整行,被選中的那一行會(huì)顯示黃色背景。

“AlignProgram”:使roboBASIC軟件中當(dāng)前?*.bas文件的程序代碼上下對(duì)齊。

“roboBASICNOTE”:roboBASIC便簽,可以用來(lái)記錄一些在編程過(guò)程中遇到的問(wèn)題、心得和程序進(jìn)展程度之類(lèi)的信息,如圖3-25所示。圖3-25roboBASICNote

(3)點(diǎn)擊“查找”按鈕,可以看到如圖3-26所示的下拉菜單。圖3-26菜單欄中的“查找”選項(xiàng)“查找”下拉菜單中各選項(xiàng)介紹如下:

“查找”:查找當(dāng)前?*.bas文件中需要的程序代碼,點(diǎn)擊“查找”會(huì)出現(xiàn)如圖3-27所示的對(duì)話(huà)框,在光標(biāo)閃爍的地方可以輸入所需要尋找名稱(chēng)的關(guān)鍵字。圖3-27“查找”界面

“查找下一個(gè)/上一個(gè)”:點(diǎn)擊此二選項(xiàng)之一后,roboBASIC會(huì)默認(rèn)地尋找下一個(gè)/上一個(gè)前面輸入的名稱(chēng)的關(guān)鍵字。

“替換”:替換程序中用戶(hù)想要替換的程序代碼,“替換”里面已經(jīng)包含了“查找”、“查找下一個(gè)”的功能。點(diǎn)擊“替換”,出現(xiàn)如圖3-28(a)所示的對(duì)話(huà)框,在1中可以輸入名稱(chēng)關(guān)鍵字,然后點(diǎn)擊“FindNext”,可以完成“查找”、“查找下一個(gè)”。在2中輸入用戶(hù)想要替換的新名稱(chēng),比如說(shuō)要把代碼中的main替換為int,就可以在1中輸入main,在2中輸入int,然后點(diǎn)擊“Replace”,點(diǎn)擊一次,軟件會(huì)進(jìn)行一次替換,再點(diǎn)一次,再進(jìn)行替換,如圖3-28(b)所示。圖3-28“替換”界面

“跳行至”:跳轉(zhuǎn)至想要去的那一行,點(diǎn)擊“跳行至”,彈出如圖3-29所示的對(duì)話(huà)框。在彈出的對(duì)話(huà)框里,輸入想要尋址的行數(shù),然后點(diǎn)擊“OK”,軟件自動(dòng)跳轉(zhuǎn)到前面輸入的那一行,并選中整行(背景呈現(xiàn)黃色)。圖3-29“跳行至”界面

(4)點(diǎn)擊“視圖”按鈕,會(huì)顯示如圖3-30所示的菜單。圖3-30菜單欄中的“視圖”選項(xiàng)“視圖”下拉菜單中各選項(xiàng)介紹如下:

“顯示菜單條”和“顯示多重編輯卡”:兩項(xiàng)均是軟件默認(rèn)選擇的,取消圖3-30中兩項(xiàng)前的對(duì)號(hào)則表示不顯示這兩項(xiàng)的窗口。這兩項(xiàng)的窗口如圖3-31和圖3-32所示。圖3-32顯示多重編輯卡圖3-31顯示菜單條

“顯示輔助窗口”:可以幫助用戶(hù)快捷地找到想要打開(kāi)的文件,如圖3-33所示。圖3-33輔助窗口

“突出顯示選擇行”:可以突出光標(biāo)所在的行,即用黃色背景突顯。

“顯示空格”:顯示代碼中原來(lái)的空格,用“”代替。

“顯示所有文件格式”:在輔助窗口顯示所有格式的文件。

(5)點(diǎn)擊“設(shè)置”按鈕,會(huì)顯示如圖3-34(a)所示的下拉菜單。

“設(shè)置”下拉菜單中各選項(xiàng)介紹如下:

“設(shè)置編輯器”:編輯器如圖3-34(b)所示,可以對(duì)程序中的各項(xiàng)內(nèi)容進(jìn)行字體、大小、顏色的更改,這里不進(jìn)行具體的介紹,用戶(hù)可以自己嘗試更改。圖3-34設(shè)置菜單

“設(shè)置端口”:可以進(jìn)行串行端口的設(shè)置,這里設(shè)置的端口是COM7。端口可以任意設(shè)置,但是必須與電腦分配給下載線(xiàn)的端口相同,才能進(jìn)行通信。若要查看USB線(xiàn)的端口,可以右鍵點(diǎn)擊“我的電腦”→“管理”→“設(shè)備管理器”→“端口”,更改這里的端口。也可以在roboBASIC軟件里,也就是“端口設(shè)置窗口”里進(jìn)行設(shè)置,如圖3-35(a)所示。在Win7下的端口設(shè)置步驟和WindowsXP下一樣,總之需要遵循的原則就是要保證USB的端口與roboBASIC里的端口一致,否則無(wú)法使電腦與機(jī)器人進(jìn)行連接。另外在“端口設(shè)置窗口”里可以進(jìn)行通訊超時(shí)的設(shè)置,這里默認(rèn)的是3000?msec,如圖3-35(b)所示,用戶(hù)可以根據(jù)實(shí)際的需要進(jìn)行更改,在數(shù)字框里直接輸入數(shù)字或者在下面的滑塊上進(jìn)行滑動(dòng)調(diào)節(jié)(傳輸速度自左向右從小變大)。圖3-35端口設(shè)置如圖3-36所示為MF機(jī)器人進(jìn)行數(shù)據(jù)傳輸?shù)拇锌诿Q(chēng)(為默認(rèn)),無(wú)法自行更改。圖3-36數(shù)據(jù)傳輸?shù)拇锌?/p>

“MF??置零點(diǎn)”(中文版軟件有誤,應(yīng)為“MF設(shè)置零點(diǎn)”):針對(duì)MF機(jī)器人的零點(diǎn)調(diào)節(jié)。機(jī)器人出廠(chǎng)時(shí),可能沒(méi)有完全地調(diào)節(jié)好機(jī)器人零點(diǎn),需要用戶(hù)自己進(jìn)行調(diào)節(jié),主要是雙腳上的電機(jī)零點(diǎn)的調(diào)節(jié),如圖3-37(a)所示,首先需要連接機(jī)器人,讀取當(dāng)前機(jī)器人的電機(jī)零點(diǎn)角度,然后根據(jù)實(shí)際需要進(jìn)行調(diào)節(jié)。圖3-37零點(diǎn)調(diào)整

“24Port?置零點(diǎn)”(中文版軟件有誤,應(yīng)為“24個(gè)端口零點(diǎn)設(shè)置”):針對(duì)MF機(jī)器人芯片上24個(gè)端口的零點(diǎn)調(diào)節(jié)。如圖3-37(b)所示,MF機(jī)器人出廠(chǎng)時(shí)默認(rèn)設(shè)置了16個(gè)端口,對(duì)應(yīng)著機(jī)器人的16個(gè)電機(jī)(左臂、右臂各3個(gè)電機(jī),左腳、右腳各5個(gè)電機(jī)),而實(shí)際上MF機(jī)器人的芯片上提供了24個(gè)端口,還提供了可擴(kuò)展端口,所以用戶(hù)可以根據(jù)自己的實(shí)際需要進(jìn)行適當(dāng)?shù)母难b,比如在MF機(jī)器人的頭上裝一個(gè)電機(jī),可以使其進(jìn)行左右扭動(dòng),使機(jī)器人更加具備人的特性。

(6)點(diǎn)擊“編譯”按鈕,會(huì)看到如圖3-38所示的下拉菜單。圖3-38菜單欄中的“編譯”選項(xiàng)“編譯”下拉菜單中各選項(xiàng)介紹如下:

“生成目標(biāo)代碼”:點(diǎn)擊此選項(xiàng)后,roboBASIC會(huì)自動(dòng)生成一個(gè)?*.obj文件。

“下載”:把?*.obj文件下載到機(jī)器人存儲(chǔ)器內(nèi),點(diǎn)擊“下載”,會(huì)出現(xiàn)如圖3-39(a)所示界面,點(diǎn)擊“確定”后,當(dāng)看到如圖3-39(b)所示界面時(shí),則說(shuō)明程序正在下載。圖3-39下載窗口

“全編譯執(zhí)行”:一步生成?*.obj文件和下載界面。

“調(diào)試”:顯示MF機(jī)器人的16個(gè)電機(jī)當(dāng)前狀態(tài)下的電機(jī)角度參數(shù),用戶(hù)可根據(jù)需要,對(duì)各個(gè)電機(jī)進(jìn)行角度調(diào)整,調(diào)試界面如圖3-40所示。圖3-40調(diào)試界面

(7)點(diǎn)擊“控制”按鈕,會(huì)看到如圖3-41所示的下拉菜單。圖3-41菜單欄中的“控制”選項(xiàng)“控制”下拉菜單中各選項(xiàng)介紹如下:

“控制器情報(bào)”:顯示控制器的固件版本、控制器ID等一些硬件信息以及下載程序的名稱(chēng)、下載時(shí)間和文件大小,如圖3-42所示。圖3-42控制器情報(bào)界面

“伺服電機(jī)實(shí)時(shí)控制”:更加詳細(xì)地給出了每個(gè)電機(jī)的控制角度,而且可以通過(guò)控制界面對(duì)電機(jī)進(jìn)行打開(kāi)、關(guān)閉的操作。“伺服電機(jī)實(shí)時(shí)控制”界面如圖3-43所示,“CaputureAll”可以獲得當(dāng)前機(jī)器人的狀態(tài)下各個(gè)電機(jī)的角度參數(shù)值,點(diǎn)擊此按鈕后界面上的參數(shù)表盤(pán)會(huì)自動(dòng)地進(jìn)行相應(yīng)調(diào)整?!?lt;”和“>”是用來(lái)隱藏和顯示電機(jī)組參數(shù)表盤(pán)的,這里點(diǎn)擊A組的“<”,則A組的電機(jī)組參數(shù)表盤(pán)就會(huì)被隱藏,如圖3-44所示。將“全選”框中可以對(duì)各個(gè)電機(jī)組進(jìn)行打開(kāi)和關(guān)閉操作,要達(dá)到同樣的效果也可以在參數(shù)表盤(pán)上面的小框里打鉤或者取消打鉤,如圖3-45所示。點(diǎn)擊“插入More”可以將當(dāng)前電機(jī)組的狀態(tài)參數(shù)插入程序中。“CaputureGroup”用來(lái)獲得當(dāng)前機(jī)器人的一個(gè)電機(jī)組的參數(shù),點(diǎn)擊它之后界面上的參數(shù)表盤(pán)會(huì)進(jìn)行相應(yīng)的調(diào)整,也可以用鼠標(biāo)控制上面的參數(shù)表盤(pán)(前提是在那個(gè)電機(jī)組motor打開(kāi)的情況下),直接調(diào)節(jié)機(jī)器人上相應(yīng)電機(jī)的參數(shù)角度。圖3-43伺服電機(jī)實(shí)時(shí)控制窗口圖3-44A組的電機(jī)組參數(shù)表盤(pán)被隱藏圖3-45一個(gè)電機(jī)組的打開(kāi)和關(guān)閉操作

“MFMotorControl”:與前面提到的“調(diào)試”功能一樣,“Mode”下的“Syncronization”是同步的意思,在“Syncronization”上打鉤后,如圖3-46所示,當(dāng)調(diào)節(jié)一個(gè)電機(jī)時(shí),則另外一個(gè)相對(duì)應(yīng)的電機(jī)也將作出相同的調(diào)整,例如當(dāng)調(diào)整了14號(hào)電機(jī)(右手臂第三個(gè)電機(jī)),把原來(lái)的80改為82,則相應(yīng)的8號(hào)電機(jī)(左手臂第三個(gè)電機(jī))也做出同樣的調(diào)整,由原來(lái)的80變?yōu)榱?2,如圖3-47所示。當(dāng)取消“Syncronization”后,則可以對(duì)單邊進(jìn)行單獨(dú)操作,比如把14號(hào)電機(jī)改為78,則右手臂仍為82,如圖3-48所示。圖3-46“Syncronization”上打鉤后界面圖3-47調(diào)整14號(hào)電機(jī)后,8號(hào)做出同樣調(diào)整圖3-48取消“Syncronization”后調(diào)整14號(hào)電機(jī)“Capture”:獲得當(dāng)前電機(jī)組的狀態(tài)參數(shù)。

“Copy&Exchange”:對(duì)手臂、腳的角度參數(shù)進(jìn)行復(fù)制或交換。如圖3-49所示,以手臂為例,原先右手臂參數(shù)從上到下為100、30、78,左手臂參數(shù)從上到下為100、30、82,點(diǎn)擊“R_Arm=>L_Arm”后右手臂的參數(shù)復(fù)制給了左手臂,即左手臂的參數(shù)也變?yōu)?00、30、78,如圖3-49所示,“R_Arm<=L_Arm”同理;而“R_Arm<=>L_Arm”的作用,就是將左右手臂的參數(shù)進(jìn)行互換,點(diǎn)擊后右手臂參數(shù)從上到下變?yōu)闉?00、30、82、左手臂參數(shù)從上到下變?yōu)?00、30、78,至于Leg,同理。圖3-49“R_Arm=>L_Arm”后,左右手臂參數(shù)一樣“GroupEnble”:可以控制全部電機(jī)motor的打開(kāi)和關(guān)閉,“AllMotors”是對(duì)所有電機(jī)的控制,下面的Arm、Leg則是對(duì)手臂、雙腳的分別控制。

“插入”:將當(dāng)前機(jī)器人的狀態(tài)參數(shù)插入程序中,“Wait”:插入Wait命令。

下面結(jié)合程序給大家介紹控制菜單下的一些按鈕的作用。

“直接運(yùn)行行代碼”:只執(zhí)行光標(biāo)所在行的代碼。例如下面一段代碼:

“直接?行行代?”:運(yùn)行所有電機(jī)組的代碼參數(shù)。以上述代碼為例,當(dāng)鼠標(biāo)在這段代碼任意位置時(shí)(但不能在stand_pose和WAIT那一行上),點(diǎn)擊“直接?行行代?”后,機(jī)器人的所有電機(jī)組都做出了相應(yīng)的改變,執(zhí)行后的效果就是機(jī)器人做出一個(gè)標(biāo)準(zhǔn)站立的動(dòng)作。

“清除存儲(chǔ)器”:將機(jī)器人存儲(chǔ)器上的緩存內(nèi)容清空,這個(gè)操作一般情況下不需要進(jìn)行。當(dāng)燒入的程序代碼有誤或者另外一些意外情況下導(dǎo)致機(jī)器人做出隨機(jī)性的動(dòng)作或者動(dòng)作紊亂時(shí),點(diǎn)擊“清除存儲(chǔ)器”后會(huì)出現(xiàn)“清除存儲(chǔ)器”對(duì)話(huà)框,如圖3-50所示。圖3-50“清除存儲(chǔ)器”對(duì)話(huà)框然后點(diǎn)擊“確定”,清除成功后會(huì)跳出清除成功對(duì)話(huà)框(見(jiàn)圖3-51),再點(diǎn)“確定”,這時(shí)可以打開(kāi)伺服電機(jī)實(shí)時(shí)控制窗口,會(huì)看到所有電機(jī)的motor已經(jīng)關(guān)閉,如圖3-52所示。圖3-51清除成功圖3-52執(zhí)行“清除存儲(chǔ)器”后所有motor自動(dòng)關(guān)閉

“控制器運(yùn)行模式”:執(zhí)行控制器中的代碼;

“控制器暫停模式”:暫停控制器正在執(zhí)行的代碼;

“控制器重啟模式”:重新啟動(dòng)控制器;

“MotorAllOFF”:關(guān)閉所有電機(jī)組的motor;

“MotorAllON”:打開(kāi)所有電機(jī)組的motor;

“InsertMotorPosition”:將當(dāng)前所有電機(jī)組的狀態(tài)參數(shù)插入程序中,如圖3-53所示。圖3-53插入狀態(tài)參數(shù)到程序中

(8)點(diǎn)擊“窗口”按鈕,會(huì)看到如圖3-54所示的下拉菜單。圖3-54菜單欄中的“窗口”選項(xiàng)“窗口”下拉菜單中各選項(xiàng)介紹如下:

“水平平鋪”:將程序窗口在豎直方向上展開(kāi),如圖3-55所示。圖3-55“水平平鋪”界面

“垂直平鋪”:將程序窗口在水平方向上展開(kāi),如圖3-56所示。圖3-56“垂直平鋪”界面

“層疊”:將程序窗口層疊展開(kāi),如圖3-57所示。圖3-57“層疊”界面

“關(guān)閉所有窗口”:關(guān)閉所有的軟件窗口,如圖3-58所示。圖3-58點(diǎn)擊“關(guān)閉所有窗口”后的軟件窗口

“窗口目錄”:顯示了當(dāng)前打開(kāi)的所有程序的名稱(chēng)。

(9)在菜單欄的最右側(cè)有圖3-59所示的“最小化”、“最大化”和“關(guān)閉”按鈕,不過(guò)此處的這些操作與圖3-20不一樣,此處僅針對(duì)當(dāng)前打開(kāi)的程序文件進(jìn)行操作,而圖3-20是針對(duì)roboBASIC軟件進(jìn)行操作。圖3-59菜單欄中的“最小化”、“最大化”和“關(guān)閉”按鈕3.3.3工具欄

下面以從左到右的順序介紹工具欄中各工具圖標(biāo)的使用。3.3.4輔助窗口

輔助窗口中會(huì)顯示系統(tǒng)的文件,并且可以快捷地打開(kāi)文件,界面如圖3-60所示。圖3-60輔助窗口界面3.3.5狀態(tài)欄

狀態(tài)欄顯示打開(kāi)的?*.bas文件,當(dāng)前光標(biāo)所在的位置(總行數(shù)),以及大寫(xiě)鎖、數(shù)字鎖、大寫(xiě)鍵的關(guān)閉和打開(kāi)顯示。3.4MF(MetalFighter)仿人機(jī)器人介紹

MF機(jī)器人(金剛戰(zhàn)士)是韓國(guó)Mini公司生產(chǎn)的一款具有16個(gè)自由度(即16個(gè)電機(jī))組成的仿人型機(jī)器人。MF仿人機(jī)器人站立姿態(tài)結(jié)構(gòu)示意圖如圖3-61所示。它有腳、手臂和頭

(含紅外接收模塊)等主要結(jié)構(gòu)。根據(jù)16個(gè)自由度不同的組合,可以模仿人類(lèi)做出很多不同的動(dòng)作,例如跳舞、走路、踢球等復(fù)雜動(dòng)作。它的背上是一塊MR-C3024FX主控板,如圖3-62所示,負(fù)責(zé)對(duì)機(jī)器人運(yùn)動(dòng)的控制。主控板上有40個(gè)輸入/輸出端口,能同時(shí)控制24個(gè)伺服電機(jī)的控制器。MR-C3024內(nèi)置了64?KB的閃存,能編成大量的程序,同時(shí)支持最多32個(gè)數(shù)碼輸入/輸出(I/O),它還具有8個(gè)頻率的模擬輸入功能(A/D),加速傳感器及超音波傳感器輸入功能,操作器遠(yuǎn)距離接收信號(hào)功能等多種功能。用戶(hù)可以通過(guò)電纜接口在電腦里下載完整的程序代碼,使機(jī)器人做出動(dòng)作并且可以隨時(shí)訓(xùn)練機(jī)器人,以便更容易操作雙足步行機(jī)器人。圖3-61MF仿人機(jī)器人站立姿態(tài)結(jié)構(gòu)示意圖圖3-62MR-C3024FX控制板結(jié)構(gòu)示意圖控制器簡(jiǎn)介:

CPU:ATMELATMEGA128;內(nèi)存為56?KB閃存型;協(xié)議接口;伺服參數(shù)設(shè)置功能;可選LED指示單元;3種PWM輸出;8個(gè)A/D接口;最多支持4個(gè)陀螺儀;支持藍(lán)牙,紅外控制;支持語(yǔ)音控制;內(nèi)置電壓蜂鳴器,兼容6oct音樂(lè);兼容多種編程語(yǔ)言。

機(jī)器人使用的電機(jī)是伺服電機(jī)(直流和交流),它能將電壓信號(hào)轉(zhuǎn)化為轉(zhuǎn)矩和轉(zhuǎn)速。其特點(diǎn)是當(dāng)信號(hào)電壓為零時(shí)無(wú)自轉(zhuǎn)現(xiàn)象,轉(zhuǎn)速隨著轉(zhuǎn)矩增加而勻速下降,體積小,重量輕,輸出功率和轉(zhuǎn)矩大,方便調(diào)試。以Hitec公司生產(chǎn)的HSR8498HB型電機(jī)和HSR5990TG型電機(jī)為例,其外形如圖3-63所示,參數(shù)如表3-1所示。圖3-63HSR8498HB型電機(jī)(左)與HSR5990TG型電機(jī)(右)表3-1HSR8498HB型與HSR5990TG型電機(jī)具體參數(shù)

3.5Robobasic語(yǔ)言語(yǔ)法介紹

3.5.1Robobasic語(yǔ)言介紹

Robobasic語(yǔ)言類(lèi)似于BASIC語(yǔ)言,其指令可以分為與聲明、定義相關(guān)的指令,流程控制指令,數(shù)字信號(hào)輸入輸出指令,內(nèi)存指令,LCD指令,操作數(shù)相關(guān)操作,電機(jī)控制指令,電機(jī)組參數(shù)分配,音樂(lè)控制指令,外部通訊指令,模擬信號(hào)處理指令,處理指令,其他指令和內(nèi)部指令等類(lèi)別。本書(shū)以Robobasic在MetalFighter型仿人機(jī)器人上的應(yīng)用為例,對(duì)部分指令進(jìn)行詳細(xì)介紹。3.5.2Robobasic語(yǔ)言基本語(yǔ)法

1)標(biāo)示符集

Robobasic標(biāo)示符集由英語(yǔ)字母、數(shù)字和特殊符號(hào)組成。特殊意義的符號(hào)如表3-2所示。表3-2Robobasic特殊意義標(biāo)示符集

2)表達(dá)式和運(yùn)算符

表達(dá)式由非變量、變量、數(shù)及運(yùn)算符組成。一個(gè)運(yùn)算符對(duì)給定值執(zhí)行算術(shù)或邏輯運(yùn)算,在Robobasic中運(yùn)算符的分類(lèi)如表3-3所示。表3-3運(yùn)算符分類(lèi)表算術(shù)運(yùn)算符是執(zhí)行計(jì)算的標(biāo)示符,和一般BASIC語(yǔ)言一樣,“+、-、*、/、%”在Robobasic中可以使用,但是Robobasic和BASIC有些不同的地方。

(1)運(yùn)算符中沒(méi)有優(yōu)先級(jí)。

(2)復(fù)雜的數(shù)學(xué)計(jì)算會(huì)產(chǎn)生意想不到的錯(cuò)誤。

(3)?Robobasic只支持Byte類(lèi)型和整數(shù)類(lèi)型,小數(shù)點(diǎn)將被忽略。

關(guān)系運(yùn)算符用來(lái)比較兩個(gè)值,如表3-4所示,運(yùn)算輸出為T(mén)RUE或FALSE,輸出結(jié)果用來(lái)在IF語(yǔ)句中控制程序流向。

表3-4關(guān)系運(yùn)算符含義當(dāng)算術(shù)運(yùn)算和邏輯運(yùn)算組合到一個(gè)式子里時(shí),算術(shù)運(yùn)算優(yōu)先于邏輯運(yùn)算。

邏輯運(yùn)算符用來(lái)比較組合條件,計(jì)算結(jié)果返回TRUE或FALSE,輸出用來(lái)在IF語(yǔ)句中控制程序流向。邏輯運(yùn)算符包括AND(與)、OR(或)和XOR(異或)三種運(yùn)算方式,詳見(jiàn)表3-5。表3-5邏輯運(yùn)算在機(jī)器人控制器中常使用一些變量以簡(jiǎn)化輸入輸出端口的位控制。使用位運(yùn)算符對(duì)這些變量執(zhí)行計(jì)算。對(duì)一位的運(yùn)算有位或(OR)、位與(AND)和位異或(XOR)。在Robobasic中,運(yùn)算符左移“<<”,右移“>>”和“.”用來(lái)移動(dòng)一位到一個(gè)指定的位置。

例3-2

設(shè)A的值為33(二進(jìn)制為00100001),B的值為15(二進(jìn)制為00001111),使用位運(yùn)算符執(zhí)行計(jì)算。

3)數(shù)據(jù)變量/常量和其他語(yǔ)法解釋

(1)數(shù)據(jù)類(lèi)型。Robobasic中,只有兩種數(shù)據(jù)變量,分別為字節(jié)(Byte)類(lèi)型數(shù)據(jù)和整型(Integer)數(shù)據(jù)。其范圍如下:字節(jié)類(lèi)型為1個(gè)字節(jié)(8?bit),即0~255的范圍;整型類(lèi)型為2個(gè)字節(jié)(16?bit),即0~65?535的范圍。由于Robobasic不支持負(fù)數(shù),所以當(dāng)“+”或者“-”加在一個(gè)數(shù)前面時(shí),運(yùn)算會(huì)產(chǎn)生錯(cuò)誤。例如如下情況發(fā)生時(shí),編譯器都會(huì)出錯(cuò):“a?=?+?9”,“a?=-6”。

(2)真數(shù)。Robobasic中,可以使用二進(jìn)制數(shù)(Bin)、八進(jìn)制數(shù)(Oct)、十進(jìn)制數(shù)(Dec)、十六進(jìn)制(Hex)。例如:61用二進(jìn)制表示為&B111101,八進(jìn)制表示為&O75,十進(jìn)制表示為61;十六進(jìn)制表示為&H3D。

(3)常量和變量。Robobasic中,常量在程序執(zhí)行中的值不變,Robobasic可定義Byte類(lèi)型和Integer類(lèi)型的常量。常量類(lèi)型根據(jù)數(shù)的范圍自動(dòng)確定。一旦常量被定義,就不能被重定義。定義常量對(duì)程序大小沒(méi)有影響,當(dāng)一個(gè)數(shù)被頻繁使用時(shí)可以定義該數(shù)為常量,這樣能簡(jiǎn)化程序的修改。

例3-3

常量使用示例。

CONSTOFF=0

CONSTmotor_speed=200該例定義了OFF和motor_speed這樣兩個(gè)字符串為常量,分別賦值為0和200。

微小型機(jī)器人控制器的內(nèi)存有限,因此在符合對(duì)象的情況下變量聲明應(yīng)使變量占用內(nèi)存最小。

聲明常量或變量時(shí),遵守以下規(guī)則:

①首字母用英語(yǔ)字母,“_”可用在變量名和常量名中。

②常量名和變量名長(zhǎng)度均不可超過(guò)64。

③相同常量名和變量名只能聲明一次,大小寫(xiě)無(wú)區(qū)別。

④聲明常量大于65536會(huì)出錯(cuò)。

4)位操作

Robobasic中變量可按位操作。位操作使用位操作符“.”。只有數(shù)字和常量能使用,如例3-4。

6)行標(biāo)記

行標(biāo)記用來(lái)指示程序里的位置??梢杂米帜负蛿?shù)字,規(guī)則如下:

①標(biāo)記不能超過(guò)64個(gè)字符長(zhǎng),第一個(gè)字符必須為英語(yǔ)字母。

②標(biāo)記符后跟“:”。

③在0~65?536范圍內(nèi)的數(shù)字可用來(lái)做標(biāo)記名字,不需要“:”。

④標(biāo)記符不能重復(fù),大小寫(xiě)無(wú)區(qū)別。

7)?Robobasic聲明命令描述

Robobasic中,聲明一個(gè)變量采用如下方式:

DIM…AS…

該方法可以進(jìn)行單變量和多變量的聲明,其語(yǔ)句結(jié)構(gòu)分為:

(1)單變量聲明:

DIM[變量名]AS[變量類(lèi)型]

(2)多變量聲明:

DIM[變量名]AS[變量類(lèi)型],[變量名]AS[變量類(lèi)型]命令解釋?zhuān)?/p>

變量必須用DIM聲明且必須用AS聲明類(lèi)型,變量名大小寫(xiě)無(wú)區(qū)別但不能重復(fù)。

變量用來(lái)處理傳感器的值或模擬信號(hào)轉(zhuǎn)換的值,因此使用合適的變量,程序?qū)⒏行?。各機(jī)器人控制器可使用的變量數(shù)不同,例如MR-C3000為256字節(jié)。

3.6前進(jìn)一步動(dòng)作的程序設(shè)計(jì)

仿人機(jī)器人步行模擬人類(lèi)步行原理,需先對(duì)人類(lèi)行走的動(dòng)作進(jìn)行分解,再根據(jù)人走路的姿態(tài)和關(guān)節(jié)狀態(tài)來(lái)設(shè)計(jì)機(jī)器人關(guān)節(jié)電機(jī)的旋轉(zhuǎn)角度,從而實(shí)現(xiàn)步行這一過(guò)程,如圖3-64和圖3-65所示。圖3-64人類(lèi)連續(xù)步行示意圖圖3-65人類(lèi)連續(xù)步行分解示意圖連續(xù)行走一步的姿態(tài)控制流程圖如圖3-66所示,以左腳起步為例。圖3-66步行姿態(tài)控制流程圖根據(jù)以上流程圖中的5個(gè)階段分別建立相應(yīng)的靜態(tài)動(dòng)作截圖,如圖3-67和圖3-68所示。圖3-67側(cè)面截圖圖3-68正面截圖以上程序若直接下載到機(jī)器人控制板中,機(jī)器人會(huì)出現(xiàn)摔倒現(xiàn)象。其原因是在不同動(dòng)作的銜接上有偏差。人在走路的時(shí)候,肌肉會(huì)不斷地協(xié)調(diào)動(dòng)作來(lái)保持人體的平衡性,而機(jī)器人就像喝醉的人,在沒(méi)有傳感器協(xié)助的情況下無(wú)法自我調(diào)節(jié),因此在設(shè)計(jì)靜態(tài)動(dòng)作的同時(shí)也必須考慮動(dòng)作之間的協(xié)調(diào)性。對(duì)上面的代碼進(jìn)行優(yōu)化后形成以下代碼:優(yōu)化后的步態(tài)流程如圖3-69示。

優(yōu)化前和優(yōu)化后比較發(fā)現(xiàn),兩者主要結(jié)構(gòu)一樣,不同的是優(yōu)化后在動(dòng)作上做了平滑處理,讓動(dòng)作在前后的銜接上更加合理。同時(shí)優(yōu)化后也增加了動(dòng)作的穩(wěn)定性,這對(duì)步態(tài)設(shè)計(jì)來(lái)說(shuō)是非常重要的。圖3-69優(yōu)化后的步態(tài)流程圖

3.7后退一步動(dòng)作的程序設(shè)計(jì)

通過(guò)上一節(jié)前進(jìn)一步的代碼設(shè)計(jì),不難發(fā)現(xiàn)其實(shí)仿人機(jī)器人步行的難點(diǎn)在于對(duì)其重心處與支撐區(qū)域的穩(wěn)定性控制和不同動(dòng)作之間合理的過(guò)渡銜接。

后退一步的動(dòng)作絕非前進(jìn)一步動(dòng)作的逆過(guò)程那么簡(jiǎn)單,即如果用前一節(jié)的代碼調(diào)換執(zhí)行順序,下載到機(jī)器人進(jìn)行實(shí)際測(cè)試,會(huì)出現(xiàn)機(jī)器人直接摔倒的情況。但后退和前進(jìn)的動(dòng)作結(jié)構(gòu)是類(lèi)似的,首先還是要考慮重心的變化。根據(jù)前進(jìn)的步態(tài)控制流程來(lái)規(guī)劃后退的動(dòng)作流程,如圖3-70所示。圖3-70后退動(dòng)作分解流程圖后退動(dòng)作截圖如圖3-71和圖3-72所示。圖3-71正面截圖圖3-72側(cè)面截圖 3.8連續(xù)行走程序設(shè)計(jì)

連續(xù)行走的實(shí)現(xiàn)方式有很多種,這里列舉兩種典型的方法。

(1)最簡(jiǎn)單的就是使用前進(jìn)一步的方法,然后將之循環(huán)。當(dāng)然在設(shè)計(jì)的時(shí)候,必然是左右腳交替變換,走兩步為一個(gè)循環(huán),流程圖如圖3-73所示。圖3-73連續(xù)行走流程圖代碼的設(shè)計(jì)請(qǐng)參考3.6節(jié)的方法,在該代碼的最后添加循環(huán)語(yǔ)句即可完成連續(xù)行走。

(2)仿人走路方法。其流程如圖3-74所示。圖3-74連續(xù)行走流程圖此方法和方法(1)相比,不同之處在于循環(huán)體。方法(1)是對(duì)整個(gè)動(dòng)作進(jìn)行循環(huán),方法(2)則是把動(dòng)作進(jìn)一步分解為啟動(dòng)動(dòng)作和循環(huán)體。啟動(dòng)動(dòng)作是直立到循環(huán)體的一個(gè)緩沖動(dòng)作。循環(huán)體相對(duì)于方法(1)中的循環(huán)要簡(jiǎn)單很多,去掉了冗余動(dòng)作,代碼設(shè)計(jì)量會(huì)少很多,錯(cuò)誤的發(fā)生率也會(huì)減小很多,同時(shí)也保證了代碼的簡(jiǎn)潔性。

連續(xù)行走機(jī)器人正面截圖如圖3-75所示。圖3-75連續(xù)行走機(jī)器人正面截圖連續(xù)行走機(jī)器人側(cè)面截如圖3-76所示。圖3-76連續(xù)行走機(jī)器人側(cè)面截圖 3.9復(fù)雜動(dòng)作程序設(shè)計(jì)

3.9.1單杠運(yùn)動(dòng)程序設(shè)計(jì)

單杠運(yùn)動(dòng)需要考慮機(jī)器人的直腿搖擺、彎腿搖擺、倒立、正向旋轉(zhuǎn)、反向旋轉(zhuǎn)等動(dòng)作,并對(duì)這些動(dòng)作進(jìn)行規(guī)劃,同時(shí)還需考慮動(dòng)作的觀賞性。首先需要對(duì)MF機(jī)器人的手進(jìn)行機(jī)械性加工,讓機(jī)器人能固定在單杠上,手和桿子之間存在空隙,而動(dòng)作實(shí)現(xiàn)的關(guān)鍵在于如何使慣性的疊加給機(jī)器人提供旋轉(zhuǎn)的動(dòng)力。

機(jī)器人單杠運(yùn)動(dòng)示意圖如圖3-77所示。實(shí)物圖如圖3-78所示。圖3-77機(jī)器人單杠運(yùn)動(dòng)示意圖圖3-78機(jī)器人單杠運(yùn)動(dòng)實(shí)物圖3.9.2單腿獨(dú)立運(yùn)動(dòng)程序設(shè)計(jì)

1.flying動(dòng)作模型設(shè)計(jì)

機(jī)器人flying動(dòng)作的正面截圖如圖3-79所示。圖3-79機(jī)器人flying動(dòng)作的正面截圖

2.left_foot_sit_standup動(dòng)作模型設(shè)計(jì)(左右腳原理相同,以左腳為例)

機(jī)器人left_foot_sit_standup動(dòng)作的正面截面如圖3-80所示。圖3-80機(jī)器人left_foot_sit_standup動(dòng)作的正面截圖3.9.3倒立運(yùn)動(dòng)程序設(shè)計(jì)

倒立對(duì)于人來(lái)說(shuō)是一個(gè)比較高難度的動(dòng)作,但是如果掌握了倒立的技巧,倒立動(dòng)作其實(shí)也不難。這里的倒立并非是雙手撐地,而是采用三點(diǎn)觸地來(lái)支撐起身體。以?xún)芍皇趾皖^部為支撐點(diǎn)構(gòu)成三角形區(qū)域來(lái)實(shí)現(xiàn)倒立支撐的穩(wěn)定性。因?yàn)榈沽⑦^(guò)程是一個(gè)重心變化很大的動(dòng)作,所以對(duì)重心運(yùn)動(dòng)軌跡的設(shè)計(jì)要連續(xù)、合理。

機(jī)器人倒立運(yùn)動(dòng)的正面截圖如圖3-81所示。圖3-81機(jī)器人倒立運(yùn)動(dòng)的正面截圖根據(jù)以上截圖,整個(gè)倒立運(yùn)動(dòng)的流程如圖3-82所示。

根據(jù)流程圖可將倒立運(yùn)動(dòng)分為倒地、倒立、起立三個(gè)過(guò)程。設(shè)計(jì)代碼也分為三個(gè)部分去實(shí)現(xiàn)。主函數(shù)為hand_standing(倒立),調(diào)用front_lie_down(倒地)和back_standup(起立)兩個(gè)函數(shù),三個(gè)函數(shù)相互配合使用,這樣的模式思路清晰,結(jié)構(gòu)簡(jiǎn)單,易懂且出錯(cuò)了容易發(fā)現(xiàn)。圖3-82機(jī)器人倒立運(yùn)動(dòng)流程圖3.9.4翻滾運(yùn)動(dòng)程序設(shè)計(jì)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論