2010年11月14日 星期日

龍的氣功在哪裡? - 用LabVIEW擷取龍的波動拳位置

最近年底在趕一些LabVIEW的案子,LabVIEW已經寫的不眠不休了,昨天晚上還做到有block diagram的惡夢,好像是老天爺在跟我講要放輕鬆吧。不過身為一個新世代宅男,平常我們舒解壓力就應該是靠打電動吧,不過在舒解壓力的同時,當然也不能忘了秉持分享LabVIEW的宗旨,所以剛好索性拿了個剛借來的EasyCap影音擷取卡,然後跟最近不常玩的Xbox360做一個展示。這個EasyCap真的很棒,才兩三百塊而已,就可以把AV訊號抓進來到Windows,MAX也有支援哦!

image

通常龍的氣功顏色都是一個很鮮艷的藍色,我們正是可以靠這樣鮮艷的顏色和背景的對比把這個氣功的面積給抓出來。詳細步驟請看以下影片。

 

我承認,這個LabVIEW程式真的蠻無聊的,不過至少各位可以發揮想像力,其實像這種物件追蹤的應用還蠻多的。下次教影像分析的課程,我應該會把Xbox也帶進來,如果我講的太無聊的話,至少還有Xbox可以玩,呵呵。

大家對EasyCap這個東西有興趣的話,也可以看看他的開箱文。

開箱文- EasyCap 影音擷取卡- 開箱& 測試-

-John

2010年11月7日 星期日

TIROS 2010 機器人展覽照片

上個月除了機器人競賽圓滿落幕以外,TIROS展覽這邊我們倒是看到蠻多各式各樣的機器人,在這邊John把私藏的圖片放下來給大家看,等之後有時間再一個一個跟大家好好講解吧!

tiros-05 tiros-07 tiros-09 tiros-13 tiros-14 tiros-16 tiros-21 tiros-22 tiros-23 tiros-24 tiros-27 tiros-32 tiros-33 tiros-34 tiros-42 tiros-01 tiros-02 tiros-03

-John

2010年10月31日 星期日

iPhone也可以跑LabVIEW?

最近John真的是迷上了愛瘋的千奇百怪的功能,之前已經驗證出如何把iPhone的加速規資料傳送到LabVIEW(請看這兒),但是可惜啊,Apple的作業系統還是很封閉,當然我是很想直接把LabVIEW程式放到iPhone裡讓它去跑,可是好像這一部份一直沒辦法實現 …

直到今天!

睿柏科技隆重推出: LabVIEW for Apple iPhone Module 2010!

所有各位所熟悉的LabVIEW函式,都能夠在iPhone環境開發並執行!

建議售價: NTD XXXXX

預購專線: 請直接在部落格上留言,會有客服人員跟您聯絡!

 IMG_0676 IMG_0677

IMG_0678

有看到破錠嗎?

眼快的同學從以上的圖片中可能已經看出了我的漏洞,其實市面上已經有很多付費以及免費的遠端桌面軟體,是可以讓iPhone直接連上一個正在跑LabVIEW的電腦。用遠端桌面連上電腦的話,我們就不用擔心iPhone能不能支援LabVIEW,在這樣的應用下,iPhone只不過是個遙控器,讓我們可以操控華麗的LabVIEW人機界面。不過缺點當然是,程式還是在PC端執行,所以還是要有臺PC才能玩,iPhone不能獨立作業。

以機器人的控制而言,這又多添加了一些有趣的機器人操控方式。如果有臺iPad的話,哇,那螢幕又不是更大了嗎? 可惜手邊沒有臺iPad啊,殘念。

需要免費的遠端桌面軟體,可以看看www.teamviewer.com,他們還有直接做iPhone和iPad的相關app,我就是用這個在外面「行騙」的,呵呵 :-)

-John

2010年10月25日 星期一

IROHCS 2010 機器人競賽賽後轉播

各位久違了,最近真的是當了一個很不盡責的站長,好像離上一次的文章發表已經有足足一個月多的時間,不過各位放心,John都有在偷偷的做筆記,在為未來的文章內容做準備。上個禮拜真是忙翻了,不但是有台北的機器人展覽要顧,同時禮拜五又是IROHCS 2010大專盃的總決賽,John的電話量瞬間暴增,每天手機都要早晚充電一次才夠用。上禮拜五真是精彩啊! IROHCS 籃球機器人總決賽賽,由初賽的12組當中,有4組晉級到決賽,再加上大會邀請了兩組大陸隊伍(北京清華大學,上海交通大學),由這六組來決一勝負,爭奪前三名的名次和獎金。今年的題目,除了包含機器人自主取球並傳遞至球員以外,還有個特別加分題,就是將一個排球射進一個小型的籃框。當John幾個月前看到題目時,真的是有點傻眼,要機器人傳球就已經很困難了,還要射球?! 這根本是難上加難。

不過,今年度倒是新增了一些蠻有創意的作品。去年冠軍隊伍台大電機系使用的是拋球的機構,在今年份我們也看到了許多類似的設計。其實這個競賽比較有趣的部份是,機器人的穩定度不是唯一奪冠的要素,競賽有一部份的分數還是要靠人把籃球射進籃框。現在就讓我們來看看,這次競賽的作品吧!

崑山科技大學: 感覺上來勢洶洶,機器人上準備了一些超大的馬達,好像除了籃球以外,真正的石頭也可以投。很可惜這參加隊伍沒有仔細看機器人重量的限制,他們的機器人雖然力道很強,但是還是被取消了得分資格。

IMG_0641IMG_0642

明新科技大學: 這臺機器人採用的不是一般鏟球的方式來取球,而是將手臂放下來用夾的方式。

IMG_0644

義守大學: 為節省成本,這組採用LEGO NXT為控制核心,然後以TETRIX擴充套件來添加手臂。

IMG_0650

台灣大學: 上一次競賽的衛冕者,這次修改了機構,採用比較長的手臂設計,若馬達力量足夠,能夠將籃球拋出更遠的距離。

IMG_0651

建國科技大學: 這應該是我看過線最多的一個作品,他們在機器人上背了一罐壓縮空氣,成為他們機器人的射球動力來源。不過好像後來,真的有一條線不小心掉了…

IMG_0652

台灣科技大學: 機構採取木板組裝,取球的時候,球會「坐電梯」來到機器人的上方,然後再經由彈簧拋出去。

IMG_0655

上海交通大學: 這可能是我看過最專業的作品,連他的馬達都用的是諧和式減速機(harmonic drive)在跑,連手臂降下來的時候都會嗡嗡做響,讓我差點以為變形金剛來了!

IMG_0662

在決賽的最後幾會合裡,分數已經幾乎不分上下,上海交通決定挑戰加分會合: 將排球射進籃球框裡! 以下是剛好捕捉到的影片,真是令人熱血沸騰的一刻!


經由這次競賽,我們看到了很多隊伍的技術突破,希望在明年度的競賽能夠再看到精彩的機器人脫穎而出!

-John

2010年9月11日 星期六

做系統整合商的宿命

睿柏科技創立以來三個月,這段期間對我來說應該是一連串的震撼教育…之前有許多朋友一直警告我,你確定你要創業嗎? 你的獲利模式有沒有想清楚? 當時抱著滿懷的衝勁,秉持著「船到橋頭自然直」的理念,只能一直跟自己說沒關係,反正失敗也是一種嘗試,大不了回去找工作就好,當時的我還是很鐵齒,反正大家都抱著等看好戲的眼光,就好像電影情節裡的年輕人從鄉下跑到都市裡闖天下一樣,無論多失敗,總不能輕易的就這樣回家吧? 然而,電影和現實生活總有一段距離,我承認我是個浪漫主義的人,但是最近的種種真的讓我看清了商場上的一些人情冷暖。

今天剛好在我家附近的一家麵線攤排隊買麵線 (我跟我老婆都叫這攤ㄎˉㄤ ㄎˉㄤ,因為老闆以前都在下午的時候把攤子在馬路上推來推去然後一邊敲鐵碗,反正我們只要聽到ㄎˉㄤ ㄎˉㄤ就知道麵線出來賣了。) 最近老闆看起來臉很臭,可能是因為最近他已經改租了個小店面吧,不用在馬路上閃卡車。生意還是一樣很好,可是排他的麵線要排超久的,他平均撈一碗麵線至少要好幾分鐘,我後面排了一大堆人,每一個跑來就直接跟他喊要什麼要什麼,他一個人也記不清楚,時常把不同人要的東西搞混,他也沒請人幫忙,我就這樣眼睜睜地的看著他錢越收越多,可是臉卻越來越臭。或許他曾經愛賣麵線吧? 或是曾經他都會對客人笑? 現在跟他買麵線都是一種折磨,站在那邊等又沒冷氣,終於等到的時候還怕他加錯料,付錢的時候還要看他兇巴巴的,所以現在除非我老婆叫我買,我幾乎都不去那攤光顧了。

後來想想,我會不會有一天也落成同樣的下場? 會不會光是公司瑣碎的事情,打報價單,開發票,記帳,跑客戶,寫proposal,也一樣把我的臉拖垮? 現在開始體會到,以前公司付你薪水,你的時間是公司的。現在客戶給你錢賺,你的時間是客戶的。除此之外,還會有一大堆意想不到的狀況等著你去救火,還好現在是忙到沒什麼時間來反省,不過等到事情少一點的時候,我覺得那時候才開始會發現自己經營模式的缺陷。

最近在談一個案子,客戶委託他比較熟的一個老業務來跟我談細節,我跟他素不相識,毫無瓜葛,他來見到我劈頭就罵我這個人有多爛多爛,規劃什麼鳥案子,害客戶送上去給老闆看被打回來…我說好,我該怎麼修正呢? 結果又是一連串的惡言伺候,沒想到這年頭罵人還可以外包,早知道我們公司也來接這塊業務算了,說不定還比較好玩。

於是,最近在揣摩的想法是,到底客戶等於或不等於朋友? 或許這就像老闆是不是朋友一樣的概念,保持表面的和平但永遠是皮笑肉不笑。等到那一天你為客戶無私的付出,哪天他為了自己利益把你賣了你還在幫他數錢,我想這才是最高境界的經營方式,就是當個默默付出的小女人而不求回報,如果這樣公司都還能活下來,那才真的很神,不如去開慈善基金會算了。

發洩完畢,繼續寫程式。

2010年8月22日 星期日

機器人組BAND

慘了,有人已經開始用機器人來組BAND了,不知道那天周董會被機器人取代掉,請看:

2010年7月28日 星期三

將iPhone畫面抓到LabVIEW裡做即時影像分析

最近又完成了一個突破性的實驗,上次跟各位分享有關iPhone的加速規跟LabVIEW的結合,我一直很好奇,不知道其他iPhone也可不可以帶進來到LabVIEW裡使用,於是先從影像方面下手,看起來iPhone的相機畫面也可以帶進來到LabVIEW使用!

步驟很簡單:

1. 下載一個叫做iWebcamera的app,雖然不是免費的($4.99USD),但是這是現在目前我找到唯一能夠讓Windows的DirectX界面直接抓到iPhone的相機畫面。下載到iPhone之後,記得在Windows那端還要在安裝它的一個小小driver才能用。

http://itunes.apple.com/us/app/iwebcamera/id369617568?mt=8

對應Windows driver下載點:

http://www.drahtwerk.biz/EN/Products/iPhone/iWebcamera/Drivers.aspx

這個App原本是讓電腦上沒有安裝webcam的朋友們也可以透過這個app來用iPhone的相機來替代webcam,所以有了這個app,就直接可以用iPhone的畫面來接到MSN或skype來進行時訊。如果有灌NI Vision Acquisition Software的話,DirectX的相機應該也可以被MAX偵測到。以下則是我MAX的畫面:

未命名

沒想到MAX有抓到,並且按Grab也可以很順利的將畫面抓進來。

DSC00918

接著就把MAX關掉,直接用以前LabVIEW寫好的物件顏色追蹤程式來測試。這時候我是用IMAQdx的含式來寫的,相機指向MAX裡面所偵測到的相機名稱就好了。例如,抓紅色物件:

未命名2

從iPhone看到的畫面:

DSC00923

看來iPhone也是適合開發機器人的平臺! 很可惜,現在只缺一些I/O訊號,要不然iPhone就真的可以拿來當機器人的核心!

-John

2010年7月14日 星期三

RST非官方說明手冊 Part 4: 軟體設定與測試

現在,我們需要將所有的元件的軟體都安裝並設定好。我們先把焦點放在無線AP上,就像在家裡設定無線網路一樣,你可以將筆電和AP先用網路線對聯起來,或者是用筆電的無線網路搜尋這個AP的SSID然後跟它連線。無論用哪種方法,到最後都可以用瀏覽器指向它的預設IP http://192.168.11.1,這樣就可以進入AP的設定畫面。WCR-G54的預設username為”root”,密碼為空白。以下則是WCR-G54的設定畫面。

註: 不同廠商的AP會有不同預設IP和密碼,詳細規格請以廠商提供之文件為主。

clip_image002

在設定畫面裡,我們就可以更改AP的IP,或者改它廣播的SSID,以及是否要不要加密。我讓IP保留為預設的192.168.11.1,不過為了未來搜尋這個AP比較方便,我將SSID改為”RST Robot”,這樣就不會跟家裡或者學校其他無線網路搞混。

clip_image004

設定完成之後,就會看到像這樣的確認畫面:

clip_image006

接下來要為CompactRIO設定IP,請用桌面上的Measurement & Automation工具(簡稱MAX)來進行設定:

clip_image008

將MAX開啟,應該就會在左半邊的畫面看到Remote Systems»0.0.0.0。這是CompactRIO的預設IP,現在我們就把它改為跟AP一樣的subnet,也就是說,IP address前三碼一樣,最後一碼不一樣。例如,在IP address的欄位,直接填入192.168.11.3,subnet mask填入255.255.255.0,gateway和DNS Server都可以留空白,設定完成了之後就可以按Apply按鈕來讓新IP地址生效。

image

接下來,需要下載這個小工具,它是一個精靈安裝程式,可以快速的完成CompactRIO剩下的設定。下載點:

NI Robotics Hardware Setup.zip

開啟RoboticsHWSetup.exe,看到了以下第一個畫面,就可以按Next繼續。

clip_image012

Step 2會詢問現在你的硬體是不是NI的Robotics Starter Kit,這裡的格子不要勾。

註: NI Robotics Starter Kit為NI的小型機器人平臺學習套件,有興趣可以到http://sine.ni.com/nips/cds/view/p/lang/zht/nid/208010多加了解。

clip_image014

Step 3會自動偵測網路subnet裡的CompactRIO系統,給它幾秒鐘來掃描,偵測到了之後就可以進行下一步。

clip_image016

Step 4將會把一些CompactRIO本身需要的軟體核心灌進CompactRIO裡,這部份可能要等一兩分鐘才會完成。

clip_image018

完成了之後,可以查看CompactRIO的第四個LED是否有在閃爍,若有,代表安裝程序正確!

clip_image020

最後Step 5會問你要不要用LabVIEW開一個Project,這個不用勾,直接按Exit就可以了。

clip_image022

接著我們也要把AXIS 206的IP設定一下。AXIS 206背面有貼一個貼紙,上面寫著它的預設IP以及Username/Password。例如,我手上這款是192.168.0.112,Username為root,密碼為pass。

clip_image024

用瀏覽器指向http://x.x.x.x,然後以提供的帳戶和密碼登錄,就會看到相機的即時影像。

clip_image026

選擇右上角的Setup選項,再點選左邊的TCP/IP選項,就可以設定AXIS 206的IP。我把它設為192.168.11.4,subnet mask 255.255.255.0。設定好了之後,再按最下面的Save按鈕。

image

再來還有一個選項要處理的,就是點選左邊Users選項,然後把Enable Anonymous Login選項打勾。這會讓以後我們要用相機的時候,不用每次都要key in帳戶和密碼。設定好了之後,再按最下面的Save按鈕。

image

終於,這一切都設定完了之後,可以開始用LabVIEW來測試一下一切是否正常。這裡有個我寫的LabVIEW測試程式,各位可以從這裡下載:

RST Robot 6.10.2010.zip

請開”RST Robot 2010”的LabVIEW Project檔,開啟了應該會看到像這樣的畫面:

clip_image032

接著,開啟CompactRIO底下的Motor Remote Control Main.vi。在執行的時候,這個程式會讓CompactRIO接收由PC筆電傳來的馬達速度指令。按下左上角的執行按鈕,程式就會下載到CompactRIO並執行。

image

接下來,再開啟My Computer底下的Joystick Control.vi。這個程式負責從一個USB搖桿擷取指令,然後把馬達速度傳給CompactRIO來執行。一樣,按下左上角的執行按鈕,程式就會執行。這時候你就可以用你的USB類比搖桿,來控制RST平臺的前進,後退,左右轉,並且還可以依據你類比搖桿的位置來控制RST平臺的相對移動速度。

clip_image036

最後一個程式則是RST Object Tracking Vision Demo.vi,這個程式會利用AXIS 206所擷取到的影像來做顏色辨識,並將RST平臺左右移動,讓RST平臺可以將物件鎖定在正前方。執行之前先把Joystick Control.vi停止,這樣兩個程式才不會衝突到。更多有關這個Vision程式的原理以及操作說明可以參考我之前的文章:

HSL 色彩空間原理

AXIS 206 Camera 測試

clip_image038

好啦,如果這兩個demo程式跑起來順利的話,表示我們所有的線路和軟體設定都已經處理好了。接下來,就等著你去發揮你的創意,來挑戰IROHCS 2010大專盃的機器人競賽!

補充一下,在提供的範例Project裡,有一個資料夾叫做RST Control VIs,這裡面是些基本的RST平臺控制subVI,方便我們去進行程式撰寫或修改,先解釋一下這些VI的用途:

clip_image002[1]

clip_image004[1]

Open RST: 開啟對RST平臺的連線。在針對RST平臺下任何指令之前,一定要先執行這個VI。

Control Axis 1: 控制左邊馬達的速度(單位是deg/s來算,正數為前進方向,負數為後退。)

Control Axis 2: 同上,不過控制右邊馬達。

Control Both Axes: 同上,不過同時控制左右馬達

Stop Axis 1: 停止左邊馬達。

Stop Axis 2: 停止右邊馬達。

Stop Both Axes: 同時停止左右馬達

Close RST: 釋放RST平臺的連線,準備結束程式。

祝各位一切順利,馬到成功,最重要的是: Have fun!

-John