2010年7月7日 星期三

RST非官方說明手冊 Part 0: 平臺組裝事先準備

clip_image001

俗話說的好,工欲善其事,必先利其器 … 雖然這個RST移動平臺功能很豐富,但是它會需要花一點時間組裝。這裡是我建議的工具組和耗材清單:

螺絲起子: 一字型,十字型,大的小的都準備幾支

單芯線 (準備幾種不同顏色,紅和黑為最普遍)

多芯線(20芯,紅色黑色各一捆)

三用電表

絕緣膠帶

雙面膠

魔鬼沾 (背面可以用黏的那種)

活動扳手:

clip_image003

連接器端子壓線鉗 (如圖,最好是買一組的,裡面含各式端子,以備不時之需)

clip_image005

壓著絕緣端子鉗 (如圖,這種工具也有賣一整組的)

clip_image007

一些Y形、圓管形端子

clip_image009 clip_image011

D型接頭-90度針腳(公),至少要兩個:

clip_image013

37-pin,公對母 DSUB cable一條

clip_image015

37-pin 端子台(母)

clip_image017

DC接頭端子線(儘量找多一些尺寸,以備不時之需)

clip_image019clip_image021

以上材料與耗材都可以由附近電子材料行取得,或者也直接上廣華電子零組件商城(http://cpu.com.tw)訂購!

2010年7月5日 星期一

RST非官方說明手冊 Part I: CompactRIO 電力整合

台灣機器人學會已經將這次的機器人競賽規則公佈了哦,連結在:

http://www.era.org.tw/activities_2.php

DSC02965

要參加的同學們應該也要開始做一些準備了吧! 為了助參賽隊伍一臂之力,John在此會公佈一些RST平臺的非官方說明手冊。

首先呢,我們先從電力系統開始下手。在這一期的分享,我們先講CompactRIO要怎麼和RST的電力系統連接在一起好了。未來再補上DC Converter,無線AP,以及AXIS 206的說明。

image

從紙箱裡取出來,這就是RST移動平臺的模樣,現在暫時被塑膠布保護著。

image

來個側拍…

image 

塑膠布取下之後,可以看到它在第一層的下面有貼著一個紙盒子,請把這個取出來,順便可以把前面保護著開關的保麗龍拿掉。機器人為前輪驅動,所以寬邊為前面,窄邊為後面。

image

將紙箱打開,你會看到這些零件: 充電器,37-PIN聯結器,還有保險絲。

image

image

首先,先把保險絲放進機器人後方保險絲座。

image

再將充電器接到機器人開關附近的充電插頭,這時候把開關轉到最右邊的C,就代表電池在充電,充電器上的LED也應該是紅色顯示,充完電的時候充電器上的LED會以綠色顯示。

image

正面拍。

image

電池可以一邊在充電,這時候請拿一個六角扳手,將最機器人上層的四個螺絲解開。

image

解開模樣:

image

電池還沒充完沒關係,這時候可以暫時把開關搬到最左邊的ON,電池是否正常供電給系統。從電池來的線是配電盤的最左方的紅(正),黑(負)接頭。測試完之後,可以再搬回C位置進行充電。

image

接著,我們要準備CompactRIO的供電連線。請準備兩條40-50cm長的電線,一頭可以接Y型鐵片,另一頭可以接ferrule。

image

Y型接頭可以直接鎖在配電盤上,紅對紅,黑對黑。你會發現,配電盤的六排接頭都是導通的。

image

將兩條線整理一下,才不會混亂,需要的話可以用絕緣膠帶黏在鐵板上。

image

將正極接上CompactRIO電源接頭的V接點,將負極接上CompactRIO電源接頭的C接點,CompactRIO上有兩個C接點,都可以接。

image

CompactRIO接電接頭的特寫,如果把機器人平臺開關搬到ON,CompactRIO也會ON起來哦!

image

好,看起來CompactRIO的電是OK的了。未來,我們需要把其他配件的電力系統也整合到RST平臺。敬請期待!

-John

2010年6月29日 星期二

John的機器人作品大整理

最近因為離開了NI的懷抱,在NI的座位也都清的一乾二淨了,所有的東西都被我放進了幾個大紙箱堆在家裡車庫,看起來還蠻礙眼的。這一陣子看到紙箱裡零零散散的機器人零件,突然回想起了一些自從投入機器人這一方面的作品,我這個人也蠻健忘的,所以想整理一下作品集,方便以後參考。

2009/1: CompactRIO 控制小型自走車平臺

這個是我的機器人處女作,還好那時候CompactRIO已經有了Scan Mode,一兩天拼拼湊湊就可以控制前進後退,然後在載具上加一個AXIS 206的相機,做一些物件追蹤的功能。後來為了搞效果,還把Wii無線搖桿控制還有PDA控制也加了進去。特別感謝台北科技大學車輛系蕭耀榮老師,把載具借給我們做實驗!

 

2009/3: CompactRIO控制全向輪平臺

做完了第一臺機器人之後,後來經驗就比較豐富了一點,挑戰比較困難的機器人。這是淡江大學翁慶昌老師的4輪全向平臺,馬達速度的計算法則是由研究生之前已經驗證好了,比較困難的是4軸同步的移動,以及4軸同時的PID closed-loop計算 … 呵呵,還好LabVIEW可以支援平行處理,搞定了一軸,4軸就不困難了。

 

2009/4: 台灣大學電機系羅仁權老師CompactRIO課程與輔導

有了之前的一些機器人系統經驗,之後就開始把這些經驗和概念整理成一套課程。可憐的台大學生,正是我課程的白老鼠,不過沒想到,效果還不錯,一個月內他們就把馬達控制和影像系統整合於他們的機器人平臺上。

 

2009/6: LabVIEW & LEGO NXT 影像追蹤

每次要帶CompactRIO出門教課或做demo其實要帶的東西還蠻多的,後來想想,其實同樣機器人的概念也可以用LEGO NXT來傳達(而且秀給人家看的時候,東西又不用帶的那麼多。) 這個作品其實是延用之前CompactRIO影像追蹤的程式,然後把程式修改成配合LEGO NXT,核心還是用LabVIEW。

 

2009/8: 吉他神彈機器人

這個是為了2009在南港辦的機器人展覽,美國有流行一個電動玩具遊戲叫Guitar Hero (有點類似太鼓達人的音樂遊戲,只不過是用玩具吉他然後配搖滾音樂,還蠻酷的。) 這個demo用了影像辨識來判別螢幕上的音符,然後再送訊號給DAQ來驅動機器人的手指。現場我們還開放讓人跟機器人PK,看誰分數比較高!

 

2010/2: 4 DOF機器手臂控制

自主性機器人也玩差不多了,接著開始踏入機器手臂這個領域。沒想到,原來手臂的控制有這麼的複雜,自己買了一些書來K,了解了一些DH轉換還有Jacobian的皮毛。還好 LabVIEW Robotics Module裡面有一些 inverse kinematics 的函式庫,幫我節省了一些時間。不過坦白講,這可能是我花最久時間才搞定的作品。

 

2010/4: LEGO NXT Delta Robot

手臂控制不僅是只有序列式的(serial robot arm),其實工業界有些也會用比較複雜的平行控制(parallel robot)。因為機構方面沒有現成的,所以我就先用了LEGO來驗證一下程式的可行性。跑起來還不錯…

 

2010/5: 管線檢測機器人

自從今年五月從NI離職,我在睿柏的時間大部份是以接業界的case為主。這個應用蠻特別的,客戶想要設計一個可以檢測管線表面的自動化移動平臺。於是,這又是一個用LEGO NXT & LabVIEW來快速驗證原型的一些想法。

未來也希望看到你用LabVIEW控制機器人的實例!

-John

2010年6月28日 星期一

iPhone直昇機Parrot AR.Drone

這個禮拜正趕著要參加在台北科技大學舉辦的2010系統科學與工程國際會議(2010 ICSSE, http://isd.ie.ntnu.edu.tw/ICSSE2010/),不過先PO個我已經注意很久的玩具,才$299美金而已,請看:

CES 2010最有意思的iPhone直昇機Parrot AR.Drone

ardrone-sghttp://iphone.15fun.com/?p=941

官方網站:

http://ardrone.parrot.com/parrot-ar-drone/en

Parrot這家公司本來是在做手機的藍芽配件,真沒想到他們會出這麼有趣的東西!

2010年6月19日 星期六

三分鐘挑選最適合機器人應用的CompactRIO模組

時常我會被問到:「咦,吳先生啊,CompactRIO有那麼多的模組可以選擇,可是反而選擇越多,我越覺得麻煩,可不可以推薦幾款模組是機器人應用常會被用到的?」

image 

的確,NI的CompactRIO模組有分很多種型號(現在已經有超過60幾種可以選),要選擇最適合的組合也不是一件很容易的事,有時候也要看應用的需求,想接哪種sensor,馬達,驅動器等等…在此提供一些選擇CompactRIO模組的準則,希望能夠幫大家節省一些困難。我們先從一些基本的模組分類來看:

  • Analog Input (AI,類比輸入)
  • Analog Output (AO,類比輸出)
  • Digital Input/Output (DIO,數位輸入/輸出)
CompactRIO I/O Modules

AI篇:

自主性機器人可能會用到的類比sensor有包含MEMS加速規,陀螺儀,紅外線,超音波…只要sensor本身有提供類比電壓的訊號,我們都可以用AI模組把訊號抓進來到CompactRIO。有幾個基本款可以跟大家推薦: NI 9215 (4個通道,100kS/s,16-bit) 或 NI 9201(8個通道,*500kS/s,12-bit。) 這兩款價錢差不多一樣,一個是通道數比較少,解析度比較高,另外一個則是通道數比較多,解析度只有到12-bit。如果sensor是比較精密的感測器(像MEMS加速規或陀螺儀),我會推薦 9215,如果沒有這方面的需求那9201還蠻適合一般機器人的應用。如果預算比較充裕的話,甚至可以考慮NI 9205 (32個通道,*250kS/s,16-bit) ,它就可以一次提供更多的通道數以及16-bit的解析度。

*備註: 9201和9205的sample rate是所有AI通道共享的,就拿9205來看,如果只需要一個channel它則可以跑到250kS/s,但是如果32個channel全部跑的話,那最高sample rate只能跑到7.8kS/s,請注意。不過以機器人應用來講,通常sample rate有1k-5k就綽綽有餘了。

AO篇:

再來就是AO的部份,還好AO的選擇就沒有那麼複雜,我推薦的AO模組會是NI 9263,有4個100kS/s的電壓輸出通道,可以直接拿來接到溫控器,速度控制模式的馬達,以及其它需要類比電壓控制的儀器。如果需要更多AO通道,那麼還有NI 9264可以考慮,它有16個AO通道,雖然價錢是9263的一倍,但是以cost per channel的比例來看的話會是比較划算。通常除非客戶已經知道會需要那麼多通道的話,一般我還是推薦NI 9263。

DIO篇:

至於DIO的話,一般機器人應用最需要的電壓準位大部份為5V,12V,和24V。如果只需要單純的5V DIO,那NI 9403(32個通道DIO,5V)會是不錯的選擇 不過,如果需要同時接馬達的編碼器encoder還有pulse訊號的sensor的話,我反而會推薦NI 9401(8個通道DIO,5V)。為什麼要犧牲通道數呢? 因為9401除了單純的DIO功能以外,它還可以配合LabVIEW Scan Mode設定為有counter功能的模組,非常方便。要用NI 9403達到同樣功能不是不行,只不過是要自己寫FPGA code,對於初學者來講會比較困難。至於輸出的部份,我會推薦NI 9472(8個高達24V的輸出通道)。9472可以接收一個外部DC電源,外部電源的電壓是多少,9472送出來的數位訊號就會以這個DC電壓為準。同樣的,如果需要更多輸出通道的話,可以選擇NI 9476 (32個高達24V的輸出通道。)

所以嘍,總而言之,這裡是John的CompactRIO首選模組總結:

image 

模組類別

最經濟實惠

預算充裕

AI

9201

9205

AO

9263

9264

DI

9401

9401

DO

9472

9476

這樣一來,各位就不用為該選哪些模組傷腦筋,我們可以有更多的時間來寫LabVIEW!

-John

2010年6月14日 星期一

Gobot, the Go Playing Robot - Demo

上次分享的Bioloid馬達控制,已經有人用LabVIEW做出類似的機器人了! 這是一個用Bioloid馬達做的機器手臂,LabVIEW把它跟影象辨識,下圍棋的AI演算法,以及控制手臂的反運動學計算全部結合在一起。他們用的library好像是GNUGo,有興趣的朋友們可以看一下。

原始連結: http://decibel.ni.com/content/docs/DOC-2976#comment-3417

當iPhone遇上LabVIEW,會擦出什麼樣的火花?

大家都知道,現在風靡全球的iPhone已經是無微不至,無孔不入,幾乎世界上的每個應用都有個iPhone程式,但是iPhone拿來控制機器人? 這我好像還沒聽說過。既然LabVIEW的連接能力這麼大,我們就來看看LabVIEW能不能夠跟iPhone結合在一起,我們先想辦法來讀取到iPhone的三維加速規和電子羅盤好了。

曾經我有在App Store搜尋過關鍵字LabVIEW,但是唯一的程式是個叫做VIRemote的app,那時候在NI為了做一些實驗,我們就狠心的把這個爆貴的程式買了下來(你有聽過美金19.99的app嗎? 這些人還蠻囂張的。) 雖然它功能蠻豐富,除了擷取加速規以外(沒有compass),還可以當作一個你在PC上跑的LabVIEW程式的”遙控”,就像遠端桌面那種概念一樣,在iPhone裡就會看到一個比較小但是跟PC螢幕上的front panel一樣的程式。不過它跑起來還有點麻煩,因為還要另外再下載一些專屬它的VI才能用。

http://itunes.apple.com/tw/app/viremote/id344980935?mt=8

為了幫各位節省各位荷包裡辛苦存的Coco,小弟我終於找出了一個便宜(免費)又方便的方法來擷取iPhone的加速規和電子羅盤資料。首先,先下載一個叫做iSensor的app:

http://itunes.apple.com/tw/app/isensor/id353118286?mt=8

image

它能夠透過UDP的方式直接用字串把資料透過無線網路送出來。接下來,只要你的電腦和Iphone有在同個網域,就可以接收到iPhone的字串。設定上,記得要把Network打開,Unicast或Multicast都可以用(印象中好像Unicast會比較快一點,不過要指定PC的IP。) 你可以用LabVIEW內建的UDP Receiver範例程式,或者是直接下載我修改過後的版本來用,要注意UDP port要跟app那邊設一樣就好了。

image

http://groups.google.com.tw/group/riobotics/web/UDP%20Receiver%20for%20iSensor%20app.vi

(補充: 若進到link不能下載,請按右鍵再按另存新檔)

接下來大家就可以發揮想像力,看看可以用在哪種應用。。。 這似乎比多年前LabVIEW控制Wii搖桿的程式碼還要刺激!

-John