第一章 緒論
1.3 論文架構
第一章介紹機器人發展現況與不同類型機器人之比較。第二章我們將介紹 自製履帶式機器人基本的架構與驅動設備。第三章介紹模糊控制器之基本架構 與使用法則。第四章則敘說將如何應用 Kinect 深度感測器於一個未知的環境中 探索並取得樓梯的特徵點,完成探索及上下樓梯的任務設計。實際測試的實驗 結果與結論則是在第五章及第六章介紹。
8
第二章 機器人之軟、硬體系統架構與設計
本章主要介紹自製的履帶式機器人之整體架構的規劃及設備的使用。在各 節中,我們將針對履帶式機器人的硬體規格及功能,以及其軟體開發環境做介 紹。
2.1 機器人機構
機器人主要類型可分成三大項,如足型(legged platform)、輪型(wheeled platform)以及履帶型(tracked platform)。足型機器人具有較高的自由度與機動性,
但相對的在制動器與感測器使用的數量上會非常龐大,在動態分析上也比較複 雜,價格最為昂貴。最為普遍使用的機器人類型為輪型,但其不易行走或翻越 特殊地形,只能限制在平坦的路面上執行任務。履帶型機器人具有翻越障礙物 與攀爬特殊地形之能力(如樓梯),因此較輪型機器人擁有更大的發展空間,同 時它也比足型機器人造價便宜,並且容易控制。圖 2-1 為履帶式機器人外觀及 尺寸大小設計圖,其全長為 78.5 公分,寬為 56.8 公分,高為 18.3 公分,前後 各有兩隻手臂來輔助完成各種任務,前後手臂長度各為 31.5 公分。
9
圖 2-1 履帶式機器人外觀設計圖
本文中,履帶式機器人內部馬達配置圖,如圖 2-2 所示,我們使用 4 顆 150W 伺服馬達來控制機器人前、後臂及左右履帶,同時為了增加機器人的扭力,我 們採用 1:50 的減速器於控制前、後臂的馬達及採用 1:30 減速器於控制左、右履 帶的馬達。履帶式機器人前後臂的主要功能為藉由改變其幾何形狀,有效地執 行攀爬或翻越障礙物的使命; 左右履帶主要功能為執行機器人的基本動作,如 前進、後退、左轉、右轉等,如圖 2-3 所示。
圖 2-2 履帶機器人之馬達配置圖
單位:mm
315.0 315.0
10
圖 2-3 履帶機器人外觀俯視圖
2.1.1 機器人履帶膠塊
履帶上膠塊與地面接觸面積產生的摩擦力對於履帶式機器人在前進或攀爬 動作時相當重要,搭配不同之膠塊時,產生的影響也會不同。在此討論兩種形 狀之膠塊,半圓形與梯形,如下圖 2-4 所示,
圖 2-4 履帶膠塊之梯型樣式(左)與半圓樣式(右)[28]
在執行不同任務時,膠塊的選擇將會影響機器人是否有打滑的可能性。圖 2-5 為兩種膠塊在平面之接觸位置,在平面接觸時,兩種膠塊接觸面積都不會產 生單點接觸的情形,當機器人在攀爬時所接觸位置之情形如圖 2-6 所示,梯形 樣式接觸形式可能會由面轉變成單點接觸,造成摩擦力不足而打滑的現象,此 情況在半圓樣式中是不會發生的,其接觸面都是半圓之切線,而且膠塊在使用 中會因負載而產生些微變型之情況,也會增加其接觸面積產生較大的摩擦力。
右履帶
左履帶 Kinect 感應器
前手臂 後手臂
11
故本論文中採用半圓樣式之膠塊。
圖 2-5 履帶膠塊之梯型(左)與半圓樣式(右)平面接觸位置示意圖[28]
圖 2-6 履帶膠塊之梯型(左)與半圓樣式(右)攀爬階梯接觸位置示意圖[28]
2.2 馬達動力系統
在履帶機器人上的每顆馬達會配置一個驅動器,驅動器可藉由 RS232 或 RS485 傳輸串列信號進行控制馬達,同時每顆驅動器之間透過網路線做串接通 訊。
2.2.1 馬達驅動器
馬達所配置的驅動器型號為 SLIM5 伺服驅動器,它的外觀如下圖 2-7 所示,
主要驅動電源為 DC24~48V,此驅動器中有內部作業系統,當接收到 RS232 之 串列訊號,內部作業系統會去讀取串列訊號動作,經由解讀串列訊號了解所下 達之控制命令,再經由編碼器對馬達下達控制命令。另外,若不使用 RS232 串 列信號,可利用 D 型 15Pin 控制信號 I/O 接點下達訊號去控制,通常會以單晶 片去控制。
12
圖 2-7 SLIM5 伺服驅動器外觀圖[29]
SLIM5 伺服驅動器可驅動馬達,其中 RS232 與網路之間連線的定義如下圖 2-8 所示[29]。在連接上,除了個人電腦外,其他計算系統中 RS232 的 TX 和 RX 接腳與電腦端相反,例如嵌入式板子 ARM、FPGA 或其他行動裝置等。若 要經由此類控制板對馬達下達控制時,則必須要對調 TX 和 RX。
圖 2-8 SLIM5 伺服驅動器上的 RS232-RJ45 連接方式[29]
13
2.2.2 馬達規格配置
在論文中,在履帶機器人的前腳、後腳、左履帶及右履帶的馬達皆採用整 合型 SLIM-150W 伺服馬達,伺服馬達的外觀如下圖 2-9 所示,其最大額定轉速 為 3000RPM,其中馬達的相關規格如表 2-1。值得注意的是當馬達連接驅動器 時,必須根據馬達規格表上的參數來設定驅動器的電流參數(PN27),以免過載 燒毀馬達。
圖 2-9 伺服馬達外觀圖[29]
表 2-1 馬達 150W 規格表[29]
14
2.2.3 馬達控制系統
每顆馬達上都整合了 SLIM5 伺服驅動器,藉由 RS232 或 RS485 串聯方式 的通訊來控制馬達。本文中,馬達的控制法則如圖 2-10,首先將 4 個驅動器串 聯成一個群組,定義其中一個為領導驅動器為主要的輸入端與接收端,經由 RS232 與 RS485 透過網路線將領導驅動器與其它驅動器做串聯,再由領導者下 達動作指令,以控制馬達完成動作。
圖 2-10 馬達訊號傳輸方式
2.3 馬達程式設計
在本論文中所用到的 SLIM5 伺服驅動器是採用 RS232 串接,在 RS232 上 的設定的通訊參數如下:
1. 傳輸速率: 9600 2. 同位檢查: None
15
3. 資料位元: 8 4. 停止位元: 1
5. 傳輸等待時間: ON 6. XON/XOFF: ON 7. RTS 電路: ON
在本論文中,自主式履帶機器人的開發平台為個人電腦,因此我們可以利 用 C 語言藉由 RS232 傳輸埠與機器人做溝通。但由於目前的電腦大都沒有配備 RS232 傳輸埠(comport),因此我們採用 USB to serial port 傳輸線。
RS232 傳輸埠的通訊參數可經由 MS-DOS 中命令提示字元(cmd)設定參數,
只要在 cmd 指令中輸入 mode 指令將可抓取全部使用中 RS232 通訊輸埠資訊,
單一 COM-PORT 的相關參數如表 2-2 所示[30],其中 Serial port 的設定格示為 MODE COM[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s] [RETRY=r],這當中 的大寫英文可以省略,直接以小寫英文字母下達,中間的空白以逗號來取代。
以 COM1 為例,可以輸入 MODE COM1:9600,N,8,1,X,結果如圖 2-11 所示。在 C 語言中,我們可藉由 system 指令直接對 CMD 下達命令,程式設計者可利用 sprintf 指令存好設定字串,再利用 system 指令中執行來設定 com-port。
16
表 2-2 MS-DOS 的 MODE 相關指令表[30]
圖 2-11 下達 CMD 指令後之視窗圖
在完成通訊參數設定後,我們可以利用 SLIM5 伺服驅動器所提供的指令來 下達馬達控制命令,如表 2-3 所示。指令表上為 SLIM5 伺服驅動器之串列接收 碼,主要為運動指令、JOG 運動指令、歸零、馬達控制指令、I/O 控制指令和 系統參數設定指令。在準備程式設計前,首先必須確認 SLIM5 伺服驅動器的作 業系統 MD(PN01)參數是否設為 5,如表 2-4 為 MD 模式表。SLIM5 伺服驅動器
17
最多可串接十五台驅動器,當驅動器進行串接時,必須先設定 TID 和 PN50 參 數。主控端驅動器 TID 參數設定為 0,第二台至第十五台驅動器的 TID 參數則 須設定為 1 至 15;另外,主控端驅動器的 PN50 參數必須依照當下串接驅動器 數量來做設定(或可預設為連接數的最大值),其餘驅動器皆設定為 H0000(16 進 制)。以四台驅動器為例,PN50 需設為 H000F(16 進制),完成設定後,利用指 令 SAVE 儲存設定,並且重新啟動驅動器。在我們實驗中,PN50 設定 H000F,
因此串接數不可超過四台。設定完參數後,若要向被串接的驅動器下達命令,
第一台至第十五台的運動指令碼需要加上 T1 至 T15 之代號,同時參數名稱需 要設定為參數編號。例如下達命令至串接中的第四台伺服馬達時,運動指令 JGF 和 VJ=100 則以 T4JGF 和 T4PN14=100 做設定。串接的好處是可以節省 RS232 的控制線,只需用網路線從驅動器的 RS485 端串接至另外一台驅動器的 RS232 端即可完成驅動器之串聯。但若在串接的驅動器中,有任意一台斷線或者存在 異常情況而導致無法工作,後面所串接的所有驅動器將全部無法動作,此為串 聯傳輸的最大風險。
18
19
2.4 電源系統
履帶式機器人是藉由並聯兩顆 36V 鋰電池來提供伺服馬達的電源,以作為 戶外實驗的主要供電系統。此外,由於 Kinect 感應器需要外接電源,則是使用 較小電壓型號的鋰電池(YSD-12V 6500mA)供應電源。
履帶機器人配置了四組整合型伺服馬達各為 150W,因此在設計電源上,需 要 400W 以上的電源輸入,在開發初期是使用電源轉換器(Converter)作為供電系 統,其型號為 SE-450-48V(450W),如下圖 2-12[31]。此型號的電源轉換器可提 供 450W 的額定功率,足夠驅動履帶式機器人的伺服馬達,但因為實驗都是以 戶外實驗為主,在電源供應上非常不方便,如果使用延長線來輔助,在遠距離 的實驗將有所限制,因此我們採用並聯兩顆 36V 鋰電池取代電源供應器做為伺 服馬達主要的電源系統以解決戶外實驗的問題。圖 2-13 為 36V 鋰電池外觀圖,
表 2-5 為 36V 鋰電池規格表。
圖 2-12 電源轉換器外觀圖[31]
20
表 2-5 鋰電池規格表
尺寸 20*7.5*5.5 cm
供應電源 36V10AH
保護等級 過熱保護,過電流保護
適用範圍
電動車、油電混合車、中大型 UPS、太 陽能、大型儲能電池、電動手工具、電 動摩托車、電動自行車、航太設備與飛 機用電池
圖 2-13 36V 鋰電池外觀圖
2.5 Kinect 感測器
本論文中最重要的感測器Kinect for Xbox360,在此簡稱為Kinect,應用於 Xbox 360主機i周邊配備,如圖2-14。利用聲音、手勢或姿勢對主機下達指令,
擺脫需要手持或踩踏的控制器,Kinect會捕捉玩家全身上下的動作,讓玩家能夠 使用身體來進行遊戲,不需有任何控制器的遊戲控制界面。此外,該設備配備 RGB鏡頭及深度鏡頭[32]。RGB鏡頭提供了640×480像素(約30fps)的圖像,每 個RGB像素資訊(R、G和B分別為8位元的像素)為24位元;深度可量測範圍從 50~600公分,可量測視角分別為57度的水平可視角度和43度的垂直可視角度。
21
在開發環境,我們可藉由openNI提供的軟體來進行Kinect深度感測器的開發。
圖 2-14 Kinect 外觀
2.5.1 Kinect 馬達
Kinect 基座的馬達可以用來調整在架設上因為機器人平台不平坦所導致稍許的
Kinect 基座的馬達可以用來調整在架設上因為機器人平台不平坦所導致稍許的