2015年6月10日 星期三

從機器人技術看南韓這個可怕的對手

像我這樣平凡的台灣人, 對南韓的印象大概是...

*韓國女星全都是整型出來的
*運動比賽常常作弊, 搞小手段
*聽說好多年前他們的GDP已經超越了台灣
*很多台灣人愛看韓劇... (好吧.. 我承認我也曾愛看"大長今", 這是我唯一知道的韓劇劇名)
*好像有一家叫三星的, 快把我們的Acer, Asus, HTC 都打垮了, 連台積電都怕怕 (我不是半導體人, 看到這沒啥感覺)
*好像大家每天用的Line (好多人發音"賴") 就是南韓的.

今天我要從機器人相關的技術, 談一談南韓這個可怕的對手.


一切都要從ROS開始說起.


ROS?? 十個工程師有七八個會說是 "Real-time OS".. 喔.. 不不.. 那是 RTOS.

ROS是 Robot Operating System 的簡稱. 於2007年於 Standford AI lab發行的.
多年來已經幾乎成為機器人的共通框架, 包括學術界, 商業界, 工業界.

它真的是共通的框架嗎?? 請看看這個列表, 幾乎你聽過的知名Robots 都在上面了吧.
http://wiki.ros.org/Robots


這套框架到底有甚麼作用? 解決了甚麼問題呢??

原來全世界各地都在發展各自的機器人技術, 各自使用不同的硬體與軟體技術.
各自有自己的強項, 各自的模組大小與介面也都不同. <-- 重點在最後這句


ROS 提供了一個框架, 讓機器人專家們透過這套標準的框架寫出軟體模組,
這些軟體模組就可以被其他人使用, 像堆積木一般輕鬆組合, 透過這些模組重用, 期望可以加速推動豐富的機器人應用.

比方說某個專家很熟悉 MPU6050感測器, 很懂complementary filter 或甚麼 kalman filter, 就寫了一個ROS模組,
這樣即使不熟悉MPU6050原理(或是甚麼xx filter)的我們也可以輕鬆使用. 只要呼叫這個模組, 給定參數, 就能夠直接讀取姿態角度數據了. 而不需要麻煩去學習三角函數計算還要把角速度做積分才能得到角度的這些麻煩事情.

機器人世界中, 充滿非常多這樣的模組, 如果都要自己一個一個研發, 必然是曠日廢時.
如果接上了ROS, 等於是先進的機器人專家們接軌了呀!!

ROS 都是哪些國家在用的呢??  可以看看這篇
http://www.ros.org/is-ros-for-me/

主要都是歐美國家呀!! 日本也很多, 韓國也有, 台灣沒有被標上去....

經過證實, 國內懂ROS的人真的好少呀, 我在Raspberry.Taipei 貼文徵求ROS programmer, 半個月來都沒有消息.
Google search 也僅看到幾篇對岸同胞的文章.


...這跟南韓有甚麼關係呢?? 請接著往下看...


這幾天我在跟以色列同事討論要選擇一片板子跑 ROS.
駑鈍的我先選了 RPi 2.
以色列同事選了一個我陌生的板子, "ODROID-C1".

喔.. 原來這片南韓出產的 ODROID-C1 板子係以 RPi為對照, 同樣是賣35美元, CPU用的是更好的 Cortex-A5 1.5GHz, RAM更是加大到 1GB... 關鍵是, 這片ODROID-C1 可以跑 Ubuntu 14.04, 跑 ROS沒問題 (以色列同事確認過), OpenCV也跑得嚇嚇叫.
Aututu 測試結果也硬是比RPi2 高好多呀!!
(不能再寫下去了, 再寫下去會變成評比虐殺文)


喔.. 我是不是忘了說它還可以跑Android??


好吧, 找不到工程師, 我只好自己努力研究ROS.
過程中我讀到一本書.. "Learning ROS for Robotics Programming" (這本可以說是ROS官方Bible)

其中第四章講各種 sensors & actuators, 其中我注意到 "Dynamixel" servomotor.
文章寫到 Dynamixel servomotor 就像是 servomotor世界的 法拉利

這款伺服馬達的公司名叫 "Robotis".  又是一家南韓公司!!
這系列最常用的伺服馬達是 "AX-12a". 玩過雙足機器人的人應該不陌生.

我不知道它角度控制有沒有比別家更準確, 但它提供別家沒有的功能, "讀取馬達的角度"!!
這功能, 有參加機器人格鬥賽的就知道, 這功能對機器人動作設計有多大幫助.

類似的功能也出現在工業機器手臂當中, 只要扶著機器手臂到幾個角度還有位置, 就算教導完畢, 這功能值好多錢呀!!

上面那本書說這款南韓的 servomotor 是法拉利等級的, 各位有沒有甚麼感覺??

這款Dynamixel servomotor 還提供ROS 模組, 透過sub/pub topic 就可以讀出或控制servo 了.
這意思是說, 這些servomotors 都已經是整合到ROS 了, 這些馬達可是瞄準要賣給這些ROS人呀.


看到這裡, 各位應該可以體會到, 人家南韓機器人產業已經佈局到這個地步, 都要去跟歐美日競爭了, 我們在哪裡??

如果我們還是只停留在簡單的 GPIO 控制 LED 亮滅, 我們真的輸人家很多了.


最後我發現, ODRIOD-C1 台灣買不到, 我待會得去國外下單買了, 南韓對台灣的貿易順差又要增加了....

ps. 希望這篇能夠刺激多一點同學來學 ROS.