Aside

由於Robot Operating System(ROS)的中文資源還幾乎不存在,決定先撒下一點麵包屑,之後有寫出新的也會依序整理到這上面.

我覺得機器人很有可能是未來崛起的一個領域,而要在這個領域做出能推動世界進步的成果,我認為ROS是一個很重要的工具.

希望之後有心做ROS的人學習愉快: D

———————————————–
ROS tutorials系列

我的tutorial不詳細go through整個tutorial原文,而是就我認為重要之處詳加說明,而且有些東西原文寫得很清楚我不重複寫,換句話說,我仍預期看這些tutorial時要搭配看原文, 會比較完整

此外我重視連貫性,所以一些零碎的細節觀念我也不會寫,如果重要我會補在最後的tips裡

0. 什麼是ROS?要怎麼做ROS? (做ROS前必看!我盡量寫得淺顯,不是工程師應該也看得懂XD)

1. 淺談ROS file system

2. 新增ROS packages

3. 立ROS packages

4. 了解ROS Nodes

———————————————–

ROS觀念文

簡介CRAM(Cognitive Robot Abstract Machine)

Knowrob簡單概念

Topic, Service和Actionlib的用途與差別

認識ROS stack & package (剛接觸ROS寫的,沒什麼見地Orz)

ROS message serialization (1) (剛接觸ROS時寫的,頗混亂,真的需要message傳輸機制再看)

ROS message serialization (2) (看了可能造成混亂,真的有興趣再看看)

———————————————–

ROS細節實作文

改launch file中的參數值

如何安裝Household object database

launch file的if, unless條件用法

———————————————–

ROS散文(散亂的雜文,不是散文XD)

PR2開箱文

ROS tutorial 之 Don’t repeat yourself

———————————————–

偷補個關鍵字

ROS(Robot operating system), 機器人作業系統, 教學文章, 範例, 說明

學著看別人的動機

最近因為比賽的一些事情,必須努力地去猜測對方在想什麼,對看動機這件事的體會又更深了.

直接舉個例子,假設一位指導教授今天看到自己的一個學生能力不錯,希望鍛鍊他獨當一面做研究的能力,

那他最直接的方法可能就是先放著這個學生不管,然後看看他會怎麼成長,

但是對學生來說,他最直覺的感覺可能是-啊老師怎麼都不理我?

=============================

第一種發展:不看老師動機

這個學生只覺得老師都不關心他,而且也不好意思或不想跟老師反映自己的不高興,

反而對老師有了一個不信任感,所以即使遇到真的需要尋求老師協助的情況,他也不願意去找老師.

最後就是諸多抱怨+自認倒楣,然後可能還會跟大家說老師的不好.

=============================

第二種發展:嘗試去看老師的動機

一開始學生也覺得老師不太關心他,但學生仔細去觀察老師,

發現老師不像是不關心學生的那種老師,

於是他再更深入思考為什麼老師會這麼做?

他想到另一種可能性,也許老師是故意要訓練他找到方向跟做研究的能力,

於是他開始練習自己做研究,而且漸漸地也發現,

當他遇到真的不會的問題時,去問老師都能獲得很詳盡的回答,

更證實了他對老師動機的“猜測”.

最後畢業時他不但讓自己獨立研究的能力成長,

也學習到去看別人動機的重要性,而不是看到某人做了某件事就急著認定想必是怎樣怎樣.

=============================

當然,那位指導教授的動機也可能是真的不想管,

但是你真正去看別人的動機才會有稍微深入一點的想法,

不然說真的,你只看表面怎麼分辨這個人是好心還是壞心?

再進階一點,如果你看得清楚別人的動機,甚至能從他講的話透漏的訊息進一步看出對方想要的利益是什麼,不能讓步的是什麼,你豈不是談判大師?

Link

ROS Kong 2014照片集

這次去ROS Kong,見到很多厲害的人們啊~~包含MoveIt!的開發者、OpenCV跟ORK的開發者等等,還有岡田慧教授的演講也超猛= =
因為剛好卡到期末,又有比賽、展覽跟研究要忙,實在沒心力好好寫個心得文。

一言以蔽之,心得就是會讓人興起見賢而思齊之感吧。

Image

Delta Robot有感

Delta Robot有感

你知道,有時候當你全心投入一個事物太久,自然得先漸漸地放下一些喜愛的事物,但在有一件事情突然打破這種易碎的平衡時,那種反饋,會比什麼都來得強。

Android遊戲 – 3D雪地大戰

這次網多實驗的PDA實驗要開發一個連線對戰遊戲,我們選了android平台,要在Nexus 7上面跑遊戲。

我考慮了滿久,在Unity跟ShiVa中猶豫了一陣子,甚至也考慮過超強的Unreal(不過Unreal有點過猛,初學遊戲就直接切入最猛的可能滑鐵盧啊),後來覺得ShiVa 3D易學性頗高,很容易發佈到各種平台,你只要寫完一個遊戲,就可以用ShiVa Authoring tool輕鬆發佈Windows版、Linux版、Mac版、iPhone版、iPad版、android版甚至是Wii,而且也有一些相關書籍可以參考,再加上他們的開發者網站資源算是豐富。

這次開發遊戲的經驗讓我學到滿多,因為做遊戲要考慮的東西比寫一般程式要來得多(應該是我目前寫的project都很小: p),要建立3D模型、找音效、建立地形跟場景、開發遊戲介面等等,再加上ShiVa 3D。這次時間安排沒有上次寫聊天室來得好,所以最後成品並不是非常完整,但我覺得該會的大家都有學會,只是需要更多時間把完成度拼上來。

最後附個DEMO影片~

機器人的新知哪裡來?

前幾天在Quora上被問到要去哪裡看機器人的新知或是研究成果,藉著這個問題又多知道了一些其他的新知來源,覺得挺好,決定分享一下。

=========================================

IEEE Spectrum Robotics

這個網站是IEEE協會旗下的網站,專業程度跟更新速度都相當不錯,是我個人比較常看的新聞網站。

Willow Garage公司的Youtube頻道

Willow Garage公司就是發布ROS還有製造PR2的公司,他們的Youtube頻道常會發布有趣的新研究成果。最令人興奮的是,因為ROS完全開源,所以在影片中看到的研究成果往往也能被你所用。

Robohub

這個網站我以前沒看過,不過看了看發現裡面的新聞面向也頗廣,很值得上去逛逛。

The Robot Report

這個網站比較偏向從商業的角度來看機器人,我以前搜尋機器人有哪些新創公司時就有看過這個網站,不過UI不太舒服。

Robots Podcast

這個網站很酷,他們會實際去訪問一些專家,讓你可以”聽”說機器人的專業知識,還可以順便練英文聽力XD

=========================================

P.S.原本的問題是What’s the best source for robotics news and research? Why?,想知道還有哪些其他新知來源的人可以去看看!

GPU Programming筆記

之前有稍微看過GPU programming相關的資料, 感覺得出來是一門學起來會讓實力大增的學問.(根本是網多實驗寫遊戲的根啊XD)

因為看到一些資源實在太棒了,所以發一篇文把他記下來.

1.鴻鵠國際股份有限公司官網(看起來是台灣的GPU強者)

2.用GPU加速來做數值計算

3.2012台大GPU workshop影片

甚至還有簡報檔跟議程等等,不知道該說什麼了lol

4.Matlab Parallel Programming Toolbox影片教學

Android來電中斷處理

之前本來以為會寫純android app,所以事先調查了一下android app在執行中要怎麼處理來電.沒想到後來會決定用ShiVa 3D來寫遊戲, 不過查都查了,也有了一點基本觀念,就分享一下讓之後有需要的人

(其實我沒真正寫過,所以可能有誤)

基本上處理來電的原理就是通話狀態的監聽, 當通話狀態從閒置轉成來電的時候, 把app的狀態先存起來, 然後等通話結束之後才又把這狀態拿出來.

Reference:

1.Android游戏开发之旅(十五) 按键中断处理

2.Android监听通话正确操作方法介绍

3.android 电话状态监听(来电和去电)实现代码

4.What happens to android app when a phone call interrupts the app

5.Application crashed after either receive a phone call or such interruptions

6.如何中斷Android執行緒

7.Android學習筆記 – 通話狀態(PhoneState)

8.电话通话几种状态的监听

9.Get Phone State When Someone is calling using BroadcastReceiver Example

機器人產業真的要起來了嗎?

今天看到一位朋友寫了一篇不錯的文章 – 《機械人將會搶了我們的工作?

這篇文章簡述了機器人產業的現況,我看了覺得還滿有趣的,因為我沒有從失業率的角度去看過機器人產業,雖說確實滿多人聽到機器人要起來第一反應都是機器人會不會搶走人類的工作。

=============================

以技術的角度出發,機器人產業要真正崛起有幾個關鍵技術要突破,

1.物體辨識(Object Recognition)

現今的物體辨識已經有相當多的演算法,有一篇好paper(2012的paper,整理了目前物體辨識的主要流程跟演算法)可以參考。

物體辨識簡單來說主要有兩個步驟,Segmentation跟Recognition。

Segmentation的功能是把畫面中一個個物體分開,以下圖中間來說,馬跟背景的樹是不同的物體,segmentation就是要把馬跟樹區分開來。

Segmentation

而Recognition就是要把切出來的那一坨物體(以上例而言就是那匹馬)辨識出是什麼東西。

但是目前的辨識離人類的辨識還差很多,應該說根本差遠了(不管是速度還是準確度,我們幾乎是瞬間就辨識出物體,根本神速,如果你有試著要實作辨識就知道人類有多強)。人類在做辨識的流程跟先做segmentation、再做recognition似乎有點不同,我們在做segmentation的途中,對這個物體有了基本的輪廓概念就已經在做辨識,假設我近距離看到一台筆電的螢幕,我大概就會先猜到它是一台筆電,然後我會調出筆電的相關知識,知道筆電要有鍵盤,於是我再往下一瞄看到有鍵盤之後,就確定這個東西是筆電了,也就是segmentation跟recognition是彼此相依的,我根本不需要切出整台筆電的形狀,然後再拿去跟物體模型比對,甚或是拿去機器學習一番。至於詳細演算法是什麼還不知道XDD

2.語意地圖(Semantic Map)

有了良好的物體辨識之後,在處理動態環境(也就是環境中物體位置會改變,如同真實世界)上的關鍵問題就被解決。當機器人辨識出物體之後,可以把這個物體存入自己的地圖中,就像是我們知道家裡的水杯擺在哪、衣服在哪、鞋子在哪等等(閉上眼睛想像一下你家環境,這就是語意地圖),如果沒有這個語意地圖,機器人幾乎不可能做到接收指令後就完成一項任務,也就是沒辦法做planning完成任務(想一想如果你接收到一個指令是”幫我拿一杯水”,但你不知道水在哪、不知道杯子在哪、不知道怎麼找水跟杯子有可能完成這項任務嗎?)。

當然語意地圖跟機器人的知識也息息相關,不過先不提。放一張語意地圖的示意圖。

semantic map示意圖

3.決策規劃(Planning)

有了語意地圖之後,機器人可以開始有規劃完成任務的能力,也就是可以開始做一些有用的事情(真正幫人類服務!)。例如口渴時可以叫機器人幫忙拿杯水、找不到東西時叫機器人幫忙找東西等等。但是做規畫需要極大量的知識,而前面都還沒發展起來,planning要發展得很完整略顯空虛。

4.認知架構(Cognitive Architecture)

這算是終極技術了,因為這個架構做到完美基本上就等同於人類的認知架構,也就像是科幻電影中那種可以像人類一樣思考的機器人。但是再做出這種機器人前大概要對人的認知架構有完全的了解。而這種東西就我所知還沒出現,不過依然有這篇不錯的paper可以參考(還有這個整理了世界上最頂尖的人工智慧project們的網站)。這項技術會帶出來的就是倫理問題了,以後應該會有比較多文章討論要怎麼面對像人類一般思考的機器人。

相信大家看得出來這幾項技術有很大的關聯性,物體辨識是建立出實用語意地圖的關鍵。而語意地圖是規劃完成任務的關鍵。不過認知架構超然於這些之上,認知架構如果發展得夠好,會提供其他技術一個堅實的基礎,可以把初始化的認知架構想像成剛出生的嬰兒擁有的認知,如果有了這個其他的怎麼會是問題?(可以教機器人,機器人可以自己探索世界,建構出自己的一套世界觀lol)

雖然列了這麼多技術,其實只要第一項物體辨識能有大突破,機器人的應用性就會比之前大非常多。舉例來說,我們只要有了強大的辨識技術,機器人就可以做垃圾分類,也就是全世界數以萬計的垃圾分類工作都可以交給機器人,而且在工廠內比較需要辨識的複雜工作(原本只能由人類做的)也可以被機器人取代。然後當這些應用潛力開始真正激發時,就會有更多資源投入形成正循環(不過未來的事誰也說不準,是吧?)。

=============================

P.S.我之前在Quora看過一個問題 – <What are currently the most exciting challenges in robotics?>,有興趣的人可以看看。

學有點致用

今天剛好去寶藏巖晃了晃,看到一件作品的說明文字中敘述了”現代房屋好像把焦點放在買與賣的關係,而忽視了建築與人之間的關係”(印象不很深,原文可能不一樣)

讓我想起在修”你應該要知道的原住民文化”看過的雅美族文本。這個文本呈現雅美族新婚夫妻會新蓋一個有一門或兩門的家屋,然後隨著兩人的成長(經濟上或是社會地位上),會改建成三門。而當夫妻二人花了三年時間準備夠豐富的材料後,便可以改建成四門且新增工作房,舉行落成禮邀請全部落的人共襄盛舉。

這一種夫妻關係、家屋以及社會地位共同成長的文化讓建築物本身活了起來,也讓我想起自己成長過程陪伴在身邊的人、建築、物還有各種非具體形式的媒體(音樂、口頭禪等等)。

———————————————————

有天在宿舍吃飯時突然想到上”中共的政經社發展”時看到的影片,

於是就一邊吃飯一邊看了起來。

說實在滿有趣的,不過看的時候也許不能盡信,

九集大型电视纪录片《国情备忘录》— 第一集 中国之谜 Part1

———————————————————

P.S.在寶藏巖看到一個生氣蓬勃的,都市酵母計畫