Wednesday, Jul. 30, 2014

     

用腦波控制的機器人尋寶遊戲──「Treasure Hunting Robot」

採訪/顏妤安‧攝影/張裕民

「Treasure Hunting Robot」為工研院的今村謙之先生自行設計製作的機器人尋寶遊戲,曾在2012 Android開發者高峰會、2012嵌入式Linux歐洲年會、2012美國灣區Maker Faire、新加坡及香港Mini Maker Faire等國際場合中公開亮相。今天就讓我們直擊今村謙之先生位於新竹的工作室,為你進行「Treasure Hunting Robot」的第一手報導!


「Treasure Hunting Robot」與其製作者今村謙之。 


「Treasure Hunting Robot」主要分為三個部分(二足機器人、核心裝置、腦波控制器)。

今村謙之先生目前任職於臺灣工業技術研究院(ITRI),負責Android用測試裝置的開發、Android移植技術支援與諮詢等Android相關事務,居住於東京時創辦了日本最大的Android社群「Japan Android Group」,同時也是OESF嵌入式自由軟體聯盟的常任理事,以及SIProp開發者社群的創辦人。而這次要介紹的「Treasure Hunting Robot」正是今村先生結合Android、腦波控制器與二足機器人所設計出來的擴增實境遊戲。

「Treasure Hunting Robot」總共分為三個部分:第一個部分是包含了腦波感應器、顯示螢幕與體感偵測器的頭戴式腦波控制器,第二個部分是穿戴在身上的核心裝置,第三個部分則是負責進行尋寶任務的二足機器人,以下將針對各部分進行介紹與製作說明。

頭戴式腦波控制器:腦波感應器+顯示螢幕+體感偵測器

頭戴式裝置的部分又分為三個部分:分別應用了MindWave腦立方的腦波感應器、日本Brother工業所開發的AiRScouter視網膜螢幕,以及ASUS的Xtion體感偵測器。

裝置的運作方式是透過Xtion體感偵測器的攝影鏡頭來偵測並計算機器人的所在位置,然後將其位置顯示在AiRScouter視網膜螢幕的寶藏雷達上,使用者再透過控制腦波的方式來使機器人移動。腦波感應器的畫面由上到下劃分為上(腦波激烈區)、中(腦波活躍區)、下(腦波放鬆區)三個區域,將腦波控制在上方機器人便會左轉,中間為前進,下方則是向右轉。操作者必須控制機器人抵達雷達上的目標位置,才算是完成任務。


腦波感應器的畫面分為上、中、下三個區塊,將腦波控制在一定的區塊內以操控機器人的行走方向。

核心裝置:Pandaboard

「Treasure Hunting Robot」使用德州儀器公司(Texas Instruments,簡稱T.I.)的Pandaboard開發板搭配Linaro所開發的Linux發行版軟體介面(包括 Android 及 Ubuntu),來作為整個裝置最主要的控制核心,Pandaboard的設定方式如下:

安裝Linaro/Ubuntu11.10
-從Linaro下載操作手冊

下載並設定Linaro/Android11.10
-取得程式碼。請見「如何建置開發環境(How to Make the Build Environment)
-編輯「.repo/manifest.xml」檔案。
-執行「repo sync」指令以取得變更完畢的程式碼。
-編輯「kernel/」。
-建置Android。

設定雙系統(Dual Boot)環境
-從Linaro/Ubuntu安裝「uInitrd」至Linaro/Andorid Kernel。
-重置「boot.scr」。
-複製Android的Kernel。
-複製Android的UserLand。

*注意:請將UUID(通用唯一識別碼)變更為你在Linaro/Ubuntu根分割區的UUID,例如「ls -l /dev/disk/by-uuid | grep sdb2」。

變更Linaro/Ubuntu的設定
-刪除「GUI」軟體。
-設定Wi-Fi。
-設定USB FS。

設定完成並啟動電源後,Pandaboard上的指示燈便會亮起。仔細看照片的話會發現Pandaboard上還安裝了一個風扇,今村先生表示:「這是由於臺灣天氣比較熱,安裝用來散熱的。」Pandaboard後方的提包中則放著電池盒。

「Treasure Hunting Robot」使用Pandaboard作為核心。

二足機器人

※本文中所使用到的程式碼資源皆可由https://github.com/OESF/TreasureHuntingRobot程式庫中下載。

二足機器人的部份所使用的是日本KONDO進藤科學的KHR-3WL機器人,其設定方式如下:

設定Wi-Fi
-登入「KCB-3WL」控制板。
-執行「sx_console」指令。

設定控制機器人的程式
-發送「Rcb4UdpServer」。
-設定自動執行。

設定機器人的動作
-將「RCB-4HV」連接上你的電腦。
-啟動「HeartToHeart4」。

設定完成之後,你還得先完成另一項工作才能讓機器人真正地在「Treasure Hunting Robot」中發揮尋寶的功用,就是利用OpenNI[*4],透過Xtion的攝影鏡頭讀取並建立深度影像,再結合NITE的應用,對機器人進行骨骼追蹤的動作。其軟體設定方式如下:

啟動Linaru/Ubuntu

建立目錄
-使用mkdir指令建立目錄。

設定「OpenNI & NITE」binaries
-從程式庫取得「OpenNI & NITE」binaries。
-進入TreasureHuntingRobot /「src」→「primsense」→「package」取得「openni-bin-dev-linuxarmv1.5.2.4.tar.bz2」、「sensor-binlinux-arm-v5.1.0.22.tar.bz2」及「nite-bin-linux-arm-v1.5.0.1.tar.bz2」檔案。
-安裝「OpenNI & NITE」binaries。

編譯「NiSkeletonServer」
-進入TreasureHuntingRobot程式資料匣點選「src」→「primsense」→「config」下載config檔案程式庫。
-建立原始碼。
-設定自動執行,編輯「/root/bashrc」。

這樣一來就完成骨骼追蹤視窗的軟體設定了。接著你就可以利用OpenNI加上NITE 來追蹤機器人的骨骼, 再在雷達畫面上替機器人定位。機器人移動的方向則是由機器人自己計算過後再回傳至雷達。至於在Android中需要使用到的媒體介面, 則使用OpenFrameworks來製作完成。

現在一切都大功告成了,快點啟動你的「Treasure Hunting Robot」來進行一場刺激的機器人尋寶遊戲吧!

機器人骨骼追蹤軟體畫面。

寶藏雷達上會顯示出機器人的位置、前進方向(箭頭處)與寶藏位置(星號處)。

 

文章原文刊載於《ROBOCON》國際中文版 2013/3月號

About Author

馥林文化

馥林文化是由泰電電業股份有限公司於2002年成立的出版部門,有鑒於21世紀將是數位、科技、人文融合互動的世代,馥林亦出版科技機械類雜誌及相關書籍。馥林文化出版書籍http://www.fullon.com.tw/

Share This Article

Related News

光害讓藍山雀“外遇”行為增加
看美女有益健康 娶美女卻會短命?!
想捏爆可愛小動物的衝動是正常的嗎?

Leave A Reply