1 - 8 頁 pp. 1 - 8
̢જёˠݭ፟ጡˠࡁᄦ
ͳࠠ
1,*ధ͛پ
1ాګ
1ችᇇϠ
1ధ౾ಜ
1ၡ ࢋ
本研究第一部分使用 C#所撰寫的 Andorid 手機 APP 透過 Wi-Fi 無線模組及 Tibbo 嵌入式晶片,來控 制二十二顆直流 AI 伺服馬達所組成的人型機器人。 其方法是使用 Andorid 手機 APP 以 socket 的方式把 指令傳輸至 Tibbo 嵌入式晶片,並利用 switch case 的 方式來選擇人型機器人所要執行的動作,Tibbo 嵌入 式晶片透過 TTL 串列傳輸的方式,將動作指令碼傳 輸至 AI 馬達讓人型機器人動作,目前手機端可以控 制「前進」、「後退」、「左轉」、「右轉」、「停止」、「起 立」、「蹲下」、「揮手」與「敬禮」等動作。 第二部分使用 C#撰寫的 Kinect PC 端影像及語 音辨識程式,操作者可以透過語音或影像來選擇操作 模式或其他設定的腳本動作,再透過 Wi-Fi 無線網路 及 Tibbo 嵌入式晶片來控制人型機器人。其方法是以 Kinect 骨架追蹤功能搭配球面座標演算法所撰寫的 C#程式,透過 Wi-Fi 無線網路,以 socket 的方式把指 令傳輸至 Tibbo 嵌入式晶片,再透過 TTL 串列傳輸 的方式,將程式所轉換的角度數據傳輸至人型機器 人,操作模式分「模仿」、「駕駛」與「語音」三種, 「模仿模式」以 Kinect 骨架追蹤的功能,將操作者的 骨架資訊透過自行撰寫的程式轉換成馬達角度,使人 形機器人能與操作者動作相符;「駕駛模式」以 Kinect 辨識操作者的手部動作(類似方向盤),使人型機器 人可以移動「前進」、「後退」、「左轉」、「右轉」與「停 止」;「語音模式」用 Kinect 配合微軟語音 database 辨識操作者所下達的指令,以 switch case 執行編寫的 動作碼,而操作者也可透過語音切換操作模式來啟動 或關閉程式。 ᙯᔣෟ:C# 程式語言、Tibbo 嵌入式晶片、Kinect 感測器、人型機器人、家庭保全系統
ಥă݈֏
智慧型機器人是一種多功能的多軸全自動或半 自動機械裝置,可透過程式化動作執行各項生產活 動,或結合人工智慧與感測技術的應用,提供人類生 活、健康、安全、娛樂等方面的服務。智慧型機器人 產業是結合機械、自動化、電機、光學、電子、資訊 軟體、通訊、安全系統、創意內容等相關技術,為一 個高度技術整合、高關聯性且具有高附加價值的明星 產業,未來運用之範圍非常廣泛,應用層面除了產業 用機器人外,更擴展到服務用機器人。服務型機器人 有多種層面,包含健康照顧協助、智慧運載、惡劣環 境作業、商用保全、家用多功能整合型、教育娛樂… 等機器人。 科技發達的時代,為了以較低廉的成本取代重複 性與危險性的作業,進而提高作業品質與降低人員災 害,希望能以機器替代人力,同時也能與人互動,為 了更有效的利用人型機器人,本研究主要目的是利用 全無線化傳輸使操作不侷限於線路,即使透過遠距離 也能操作機器人。 1 亞東技術學院電機工程系 * 通訊作者:王惠玲 E-mail:[email protected]෮ăրߛၹ
人型機器人系統架構與設計如圖 1 所示,使用 Kinect SDK 與 C#設計 Kinect PC 端影像及語音辨識 程式,並使用 C# Mono for Android 設計手機端 APP 控制介面,自製無線傳輸控制板,使程式可透過 Tibbo 嵌入式晶片和 Wi-Fi 無線模組以 socket 協定傳遞控制 碼 , 控 制 機 器 人 各 種 動 作 。 機 器 人 頭 部 加 裝 IP Camera,其他感測裝置也可透過 Tibbo 嵌入式晶片與 Wi-Fi 無線模組將畫面及資料回傳到螢幕顯示,與操 作者互動。 ဦ 1 ፟͘ APP ଠט፟ጡˠրߛၹဦ 本系統主要硬體包含:人型機器人、直流 AI 伺 服馬達、Tibbo、EM1206 BASIC 可程式化嵌入式控 制模組、GA1000Wi-Fi 附加模組、Microsoft Kinect 感測器、RFID 感測器和無線攝影機等,分別說明如 下。 1. 人型機器人:本系統控制之主體為韓國 ROBOTIS 公司的人型機器人,外觀如圖 2 所示,全身由二十 二顆 AX-12 AI 馬達構成,高 31cmŰ寬 20cm。單 腳由七顆馬達所構成,單手由四顆馬達組成,雙手 雙腳共二十二顆,機器人頭部加裝 IP Camera,腹 部加裝 RFID 感測器,分為人型模式及輪型模式, 並可將拍攝之影像及感應之資料傳送到控制端介 面上顯示。 ဦ 2 ˠݭ፟ጡˠγ៍ĞROBOTIS ̳Φğ 2. 直流 AI 伺服馬達 外觀如圖 3 所示,主要規格如下: (1) 馬達工作電壓:DC 9.6V(建議值)。 (2) 峰值電流:900mA。 (3) 串列傳輸速度:7343~1M bps。 (4) 重量:55 g。 (5) 解析度:0.35 度。 ဦ 3 ۡ߹ AI Ҩڇ྿γ៍ 3.Tibbo 可程式化嵌入式控制模組 外觀如圖 4 所示,硬體規格如下: (1) 高效率 88MHz RISC 晶片(T1000)。 (2) 10/100BaseT auto-MDIX 乙太網路。 (3) 提供 Wi-Fi 介面(需使用 GA1000 模組,外觀 如圖 5 所示)。 (4) 四 個 高 速 串 列 埠 , 鮑 率 ( Baud rate ) 可 達 921,600bps。 (5) 最大 1024KB flash 記憶體供軔體、應用程式、 資料儲存。 (6) 2KB EEPROM 供參數、數據儲存。
(7) 可程式控制外部蜂鳴器方波輸出頻率。 (8) 最高 17 支 GPIO(包含 8 支 interrupt)。 (9) 電力消耗:230mA @ 3.3V。 (10) 尺寸:33.2x18.1x5.5mm。 (11) 韌體及程式可經由網路或 serial port 更新。 ဦ 4! EM1206 BASIC Ξё̼ಷˢёଠטሀ ĞTibbo Technology Inc.)
ဦ 5 GA1000 Wi-Fi ܢΐሀ ĞTibbo Technology Inc.ğ
4. Microsoft Kinect 感測器 Microsoft Kinect 感測器如圖 6 所示,本系統使用 微軟開發的 Kinect 感測器使操作者與機器人進行互 動。Kinect 感測器是一個外型類似網路攝影機的裝 置,配置有三個鏡頭,中間的鏡頭是 RGB 彩色攝影 機,左右兩邊鏡頭則分別為紅外線發射器和紅外線 CMOS 攝影機所構成的 3D 結構光深度感應器。 Kinect 還搭配了追焦技術,底座馬達會隨著對焦物體 移動跟著轉動。Kinect 內建陣列式麥克風,由多組麥 克風同時收音,比對後消除雜音。 ဦ 6 Microsoft Kinect ຏീጡ Kinect 之規格如下: (1) 水平視野:57 度。 (2) 垂直視野:43 度。 (3) 實體傾斜範圍:± 27 度。 (4) 深度感應器範圍:1.2m ~ 3.5m。 (5) 解像度:深度感應器 320×240 16-bit @ 30 frames/sec,彩色攝影機 640×480 32-bit @ 30 frames/sec。 (6) 聲音規格:16-bit @ 16KHz。 (7) 骨架追蹤系統,同時辨識 6 人,包含 2 人的動 作追蹤,每人能追蹤 20 個點。 5. RFID 感測器 RFID 感測器外觀如圖 7 所示,除辨識卡號之外, 亦可當打卡機或巡邏定點驗證使用,其它感測器也可 使用同樣的接線方式接至控制板的擴充槽使用。 ဦ 7 RFID ຏീጡ FL-20D 圖 7 所示 RFID 感測器之規格如下: (1) 電源:5~18 Volts。
(2) 三合一界面: Wiegand 26~66 bits/MSR: ABA TK2,JISII/RS232:2400,4800,9600,19200 bps,N,8,1。 (3) 卡片種類:125KHz、13.56MHz、FeliCa。 (4) 距離:最遠 50 mm at 5V ~ 18V。 (5) 頻率:13.56 MHz,125KHz。 6. 無線攝影機 本研究採用如圖 8 所示之 D-Link DCS-933L 無線 攝影機,裝置在機器人頭部,可將拍攝到的串流畫面 傳回至控制介面端顯示,即使遠距離操控也可以了解 機器人目前所處環境的狀況。加上具有夜視的功能,
在光線不足的環境下,也看得一清二楚,另外此無線 攝影機支援 H.264,可將影像串流用 VideoLAN 嵌入。
圖 8 D-Link DCS-933L 無線攝影機
ણăహវᄦү
本研究選用之軟體如下所述: 1. Microsoft Visual Studio 2010 C#:使用美國微軟公司開發的 C# 高階程式語言及 Kinect SDK 設計 PC 人機介面互動程式。
2. VisualStudio2010 C#:
使用 C#設計,開發 Kinect PC 端控制介面。 3. C# Mono for Android:
使用 C#設計,開發手機 APP 程式。 4. VisualStudio2010 C#: 使用 C#設計,開發家庭保全系統,透過 Kinect 影像探測,把偵測到的畫面透過電子郵件傳送給使用 者,以達到警示的效果。 5. Tibbo 嵌入式晶片程式開發軟體:
利用 Tibbo IDE 設計嵌入式晶片系統,使用 Wi-Fi 無線網路轉發串列訊號,撰寫 Wi-Fi 通訊程式。 本研究利用所選擇之軟體開發設計程式,各系統 之流程圖如下所述: 1. Kinect PC 端影像及語音辨識操作流程圖 流程如圖 9 和圖 10 所示,使用 Kinect SDK 與 Visual Studio 2010 C#設計。程式執行後,使用語音辨 識的方式來啟動其動作抓取的功能,現階段是先開口 說「Human」,程式便會開始探測骨架資訊,分析人 類的骨架資料,轉換成 AI 伺服馬達的角度,PC 端再 經 Wi-Fi 將封包傳至 Tibbo 嵌入式模組,Tibbo 再將
封包轉發至 AI 伺服馬達,藉此讓機器人達到設計者 所表示的動作。 ဦ 9 Kinect PC ბᇆည̈́ᄬࢰᏰᙊፆү߹ဦ(˘) 開始 等待語音觸發 是否啟動 骨架事件 Kniect 傳送骨架資料 傳送動作封包到 Tibbo嵌入式晶片 C#程式分析 是否成功 是否語音 結束程式 是 視窗顯示No Good 視窗顯示Good 否 結束 是 否 C#程式分析 骨架資料 是 機器人 開始動作 否 ဦ 10 Kinect PC ბᇆည̈́ᄬࢰᏰᙊፆү߹ဦ(˟) 2. 手機 APP 控制機器人流程圖 打開 Andriod 手機 APP 之後,先進行連線至人型 機器人的動作,連線成功後,即可切換至感測器讀取 人型機器人的動作操作,按手機返回之後程式停止, 結束所有流程,詳細流程如圖 11 所示。
ဦ 11 APP ଠט፟ጡˠ߹ဦ 3. 手機 APP 程式操作流程圖 使用 C#設計,程式開始時,先觸發連線,成功 之後,選擇要執行的動作,將指令傳送到 Tibbo,流 程圖如圖 12 和圖 13 所示。 ဦ 12 ፟͘ APP ёፆү߹ဦ(˘) ဦ 13 ፟͘ APP ёፆү߹ဦ(˟) 4. Kinect 家庭保全系統操作流程圖 Kinect 家庭保全系統操作流程圖如圖 14 所示。 ဦ 14 Kinect छलܲБրፆү߹ဦ 5. Tibbo 嵌入式晶片程式流程圖 使用 Tibbo 嵌入式語言做設計,送電時會先進行 初始化,成功之後,等待中斷,手機 APP 傳指令至 Tibbo 做判斷要執行動作。若判斷成功,則以串列傳輸 指令碼到人型機器人馬達,其流程圖如圖 15 所示。 ဦ 15 Tibbo ಷˢёͯё߹ဦ
དྷăјڍᚥ
本研究所有系統皆由作者們合力製作,主要完成下列成果:手機 APP 程式、APP 控制介面、Kinect PC 端影像及語音辨識程式、Tibbo 晶片程式設計、動作 編輯、擷取程式碼、自製無線控制板。 ˘ăKinect PC ბፆү̬ࢬ Kinect PC 端影像及語音辨識程式之操作介面如 圖 16 所示,使用 Kinect SDK 與 C#設計。程式執行 後,使用語音辨識切換模仿或駕駛模式,程式分析操 作者的骨架資料,透過演算轉換成 AI 伺服馬達的角 度,使程式送出控制碼至 Tibbo 無線傳輸控制板,由 Wi-Fi 無線模組接收,再由 Tibbo 嵌入式晶片轉發控 制碼至 AI 伺服馬達,使機器人動作。操作介面如圖 17,上方影像為無線攝影機所攝影之畫面,左下方影 像為 Kinect 裝置所攝影之畫面,右上方為程式目前的 資訊,右下方為 RFID 感測資訊。實際操作畫面如圖 18 所示。 ဦ 16 Kinect PC ბᇆည̈́ᄬࢰᏰᙊё̝ፆү̬ࢬ(˘) ဦ 17 Kinect PC ბᇆည̈́ᄬࢰᏰᙊё̝ፆү̬ࢬ(˟) ဦ 18 Kinect PC ଠט̬ࢬ၁ᅫፆү ˟ăAPP ଠט̬ࢬ
APP 控制介面如圖 19,使用 Mono for Android 與 C#設計。按下「連線」鈕,使程式與 Tibbo 嵌入式晶 片進行連線,APP 介面有人形模式、駕駛模式與手部 操作按鈕三種模式可供選擇,使機器人執行動作。人 形模式中,機器人為站立姿態,使用其模式介面按 鈕,選擇動作指令操作機器人,可模仿人類行走方式 移動。駕駛模式中,機器人為蹲坐姿態,使用其模式 介面按鈕,選擇動作指令操作機器人,以輪型配件使 機器人移動。手部操作模式中,在人形模式或輪型模 式皆可選擇此模式,以較小的變動角度,控制機器人 手臂及手掌動作。APP 控制介面實際操作如圖 20 所 示。 ဦ 19 APP ଠט̬ࢬ
ဦ 20 APP ଠט̬ࢬ၁ᅫፆү 3. Kinect 家庭保全系統 操作介面如圖 21,使用 Kinect 及 E-MAIL 結合 手機端 APP 組成家庭保全系統,透過 Kinect 鏡頭追 蹤人體骨架,將進入 Kinect 監視畫面者的畫面,透過 E-mail 傳至所設定的信箱,讓使用者在戶外可透過手 機登入信箱查看目前的狀況。信箱所接收的即時狀態 畫面如圖 22。 ဦ 21 Kinect छलܲБր̝ፆү̬ࢬ ဦ 22 Kinect छलܲБրĈӈॡېၗତќणϯ 4.無線控制板製作 無線控制板主要使用 74244、7805、Tibbo 嵌入 式晶片、Tibbo 無線模組,製作的無線訊號控制板。 電源開啟後,經由 7805 降壓成 5V。而 74244 是使用 其緩衝器功能,當 Tibbo 無線模組有動作碼進入時, 74244 則會緩衝,並且以並行傳輸模式傳送串接的動 作碼給機器人,實體如圖 23 所示。 ဦ 23 ቢଠטڕ၁វ
Ёăඕኢ
本研究以理論與實務相互配合,完成的項目如 下: 1. 使用 Kinect SDK 搭配 C# 設計出「Kinect PC 端影 像及語音辨識程式」。2. 使用 C# Mono for Android 語言,完成「機器人 APP 控制介面」。 3. 製作無線傳輸控制板,讓程式可透過 Tibbo 嵌入式 晶片和 Wi-Fi 無線模組傳遞控制碼控制機器人。 4. 擷取控制器所送出的 AI 馬達封包。 5. 編輯腳本使機器人能達到基本的動作,如前進、後 退、左轉、右轉等。 6. 機器人可以藉由 Kinect 模仿操作者的動作並可進 行手掌抓取物件。 7. 加裝電池達到完全無線操控,操作距離可達 100m。
8. 利用 Kinect 感測器開發家庭保全系統,增強家庭的 安全防衛。 9. 加入無線攝影機,回傳機器人所拍攝的影像。 10.加入 RFID 感測器,可當打卡機或巡邏定點驗證使 用。
ણ҂͛ᚥ
1. 「Tibbo 使用手冊」,Tibbo Technology Inc.。 2. 「Bioloid 使用手冊」,採智科技股份有限公司。 3. 呂高旭、周殷德,「Visual C# 2010 精要剖析」,松崗出
版,民國 100 年。
4. 「Professional Android Programming with Mono for Android and .NET-C#」,John Wiley & Sons Inc。
5. 王森,「Kinect 體感程式設計入門」,台灣,碁峰資訊有 限公司,民國 101 年。
6. Wallace B. McClure, Nathan Blevins, John J. Croft, IV, Jonathan Dick, Chris Hardy, Professional Android Programming with Mono for Android and .NET-C#,Wiley, 2012 年。
7. 財團法人精密研究發展中心,智慧型機器人產業發展推動 計畫,
8. http://www.pmc.org.tw/tg_view.aspx?type=Product&TGD_N O=86, 2013 年 07 月 10 日更新。