雙足機器人是由鈦合金所製作的人型機器人。普遍而言,雙足機器人擁有一個軀幹,一個頭部,兩隻手以及兩條腿。此外,機器人不只需要結合硬體與軟體知識,還需要整合電機、機械、資工等科系的專業知識,而這正是跨領域學習的最佳學習要素。在硬體方面,我們將會學習如何操作、修復各種感測器以及馬達。在軟體方面,我們將會使用Visual-basic like這樣的程式語言。此機器人是從Robosmart Technology購買的,它提供了建構自己機器人的機會。現在,我們將開始設計一個格鬥機器人,我們可以根據需求自由的設計它。
目錄
零件
一個雙足機器人主要包含:
- 機器人
- Innovati Servo Commander 16控制模塊
- IQ4516HV伺服馬達
- CC2541 2.4-GHz藍芽
- USB Mini-B
- ps2無線手把
電池:
- Desire Power V8 11.1V 1300mAh 35C-70C 3S鋰電池
- 平衡充電器
安裝
操作系統:Microsoft Windows 10
安裝 innoBASIC Workshop 2以執行代碼。
這個操作系統包含了幾個部份:innoBASIC Workshop 是一個安裝在電腦上的軟體平台,提供使用者以innoBASIC程式語言編輯、編譯及下載程式;終端視窗為程式執行時的人機介面和除錯平台;完成的程式碼透過USB,下載到BASIC Commander。BASIC Commander提供三種功能:第一個是通用的I/O;第二個是cmdBUS (TM),透過它可同時並聯32個利基科技的週邊模組。第三個是DEBUG介面,用來讓innoBASIC Workshop 終端視窗 對BASIC Commander 上傳或下傳資料。
此操作系統適用於IBM或與其相容的個人電腦,Windows 98或以上的版本/2000/ME/XP/Vista等作業系統均可使用。電腦須有USB 1.1 /2.0 接頭,用來下載程式碼及除錯。
程式語法
SUB and FUNCTION
一個程式至少須有一個以“main”為命名的Sub程序。通常以“Sub Main()”敘述來表示一個程式的開始,一直到Main()的最後結束。除了Main()程序之外,你可以加上其它的Sub程序,函數(Function)等,讓程式更具結構化,更有效率。
Sub Main()
Display()
End Sub
Sub Display()
Debug "Sub Procedure Display() has executed."
End Sub
Do...Loop Statements
當需要不斷重複執行一個程式,其中最有效率的方式是利用Do....Loop 指令。最基本的Do....Loop指令將會是一個無限的迴圈,將會永無止盡的一直跑下去,當此時狀況是True的時候,迴圈裡的程式將會一直不間斷地跑下去,當如果狀況是False的時候程式將會跳離迴圈並結束。
Sub Main()
Dim x As Short
x = 1
Do While x<5
Debug "*"
x+=1 'display 4 asterisks
Loop
Debug CR
End Sub
If...Then...Else 指令
當需要狀況符合一個條件時後執行某個程式碼,剩下的狀況執行另一個程式碼時,那麼If...Else指令會是你的好幫手 最基本的使用方法是,一但你狀況是True的時候(If ...... = True),在這個條件下If裡程式將會執行,但狀況是False的時候就會執行Else裡的程式碼,當你需要多種條件時,可以使用ElseIf來執行程式碼
Sub Main()
Dim a,b,Max As Integer
Debugin "Enter the First Number:", a
Debugin "Enter the Second Number:", b
If a < b Then
Max = b
Else
Max = a
End If
Debug "Max is:", Max
End Sub
機器人動作編輯
在Windows search裡搜尋並且打開InnoBASIC Workshop 2 commander
然後,它會彈出一個警告標誌,警告您檢查伺服馬達的位置。按"OK"。
- 以下是使用Innovation motion editor編輯伺服馬達值的步驟。
(I) 機器人的動作編成號碼從1到200。
(II) CH0, CH1, ....到 CH15代表了每一個伺服馬達的編號(當我們勾選各自的ID時,將會使伺服馬達激活,開始運作)。
(III) 它可以藉由輸入調整數值或是按一下拉桿來調整伺服馬達的角度值。伺服馬達的角度是介於800 到 2200。
(IV) “時間”代表了當馬達的角度變換時,會在這個我們指定的時間內變換完成,時間單位為毫秒(ms)。
(V) 將此動作編號的馬達角度數據以(.ftxt)儲存至電腦或從電腦讀取(.ftxt)檔案。
(VI) 將此動作編號的馬達角度數據以(.ftxt)儲存至Innovati Servo Commander 16控制模塊或從Innovati Servo Commander 16控制模塊讀取(.ftxt)檔案。
- 在編輯好所有程序後,使用USB Mini-B連接電腦和機器人,並且在InnoBASIC Workshop 2 commander 中點擊"build"以將程序輸入到機器人裡。
前置作業
(1) 伺服馬達
下面這張照片是伺服馬達(注意:伺服馬達角度範圍在800~2200)。
-
保養:
如果伺服馬達運轉不正常 舉例來說:冒煙或卡住 請立即停止馬達運轉 你可以換一個新的馬達或是修理它。 -
位置:
機器人總共有15個馬達,下面這張圖是各個馬達在機器人中的編號
(2) 電池
下圖為電池(注意:電池電壓範圍為10伏倒12.6伏) 。
-
充電:
將電池連接充電器。
以下的步驟為如何使用平衡充電器
1.按"Stop"並選擇"Lipo"。
2.按"+"並選擇balance mode。
3.按"Start"。當電池充飽時,充電器會響起,請按"Stop"。
注意
-
- 在進行機器人動作編程或使用機器人時,應觀察伺服馬達的溫度是否過高。如果它太高,請停止使用它,否則伺服馬達可能損壞或崩潰。
-
- 伺服馬達的角度從800到2200。請小心不要超出這個範圍。
-
- 當你發現伺服馬達無法執行操作或異常執行一些奇怪的動作時。請立即停止使用它並嘗試更換新的馬達。
-
- 每次使用機器人之前,請確認所有螺釘均已正確鎖緊,以免因零件鬆動而造成損壞。.
- 在使用電池之前,請檢查電池電壓。 如果電壓小於10V,請使用平衡電池充電器對其進行充電。電池全滿的電壓為12.60V。
檢查與開始
請先檢查機器人是否充滿電。
拿起PS2握把並靠近機器人。
將電池與機器人連接。
在PS2搖桿按下 "START" 按鈕來連接機器人。當機器人成功連接時,機器人會呈現僵直狀態並且伺服馬達會固定住。如果沒有成功連接,PS2搖桿上的紅色的指示燈會不斷地閃爍
這裡我們使用ps2無線搖桿去控制機器人
當機器人成功連接時,機器人會呈現僵直狀態並且伺服馬達會固定住。
注意: 這些按鍵可以自己做更換!
討論
-
-
Q:如果機器人沒辦法在不同地面走路保持穩定我們應該怎麼辦?
A:最近我們有學到如何設計一台在不同環境中都可以適應的機器人 現在我們可以手動的調整機器人。
-
-
-
Q:機器人可以做任何我們想要的動作嗎?
A:當然可以 你可以設計任何你想要的動作並自行實行你的的想法。
-
-
-
Q:機器人可以應用在哪?
A:有許多的應用 最近我們完成了機器人體操而且最近跟電腦視覺一起應用。
-
-
-
Q:請問使用的程式語言是什麼?
-
A: Visual basic-like 的程式語言。
-
-
-
Q: 要如何組裝機器人?
-
A: 請參照網站以及按照步驟組裝。
-
如果您有任何問題, 請告知我們:
影片
體操
參考程式碼
參考程式碼將會於競賽結束後上傳
參考來源
https://en.wikipedia.org/wiki/Humanoid_robot
http://robosmart.com.tw/zh-tw/classes_con.php?id=NDU=
成員
-
隊伍成員:
劉力元 - 元智大學 - 電機通訊學院英語專班張程鈞 - 元智大學 - 電機通訊學院英語專班
徐靖憲 - 元智大學 - 電機通訊學院英語專班
-
指導教授:
林柏江教授 - 元智大學 - 元智大學電機系乙組助理教授
榮譽
ROBO-ONE 35TH, Japan (國際性二足機器人比賽最高級別公開賽事) - 唯一一組在體操跳轉項目拿下滿分
感謝
我們特別感謝林柏江教授擔任我們的指導教授
我們也感謝在這一路上幫助過我們的同學,老師們