RoBoard魔人的機器人日誌

2012/11/24

[Kinect] 當Kinect遇上RoBoard-安裝教學

看過了先前的前導文

相信大家對kinect都提起了一點興趣

這邊本魔就來跟大家講解如何安裝吧!



我們要到OpenNI的官方網站   

上方的Download裡會有OpenNI Moduels的選項



選擇後會出現下面的畫面


在這邊依序選擇[OpenNI Binaries],[Stable]     然後第三個欄位就可以選擇Windows位元版本了

然而由於我們要寫一些程式    所以在這裡選擇Development edition 開發版本

如下圖

下載完後會得到一個nite-win32-????-dev.msi的檔案     (???為版本)





接著要下載SensorKinect的部分

SensorKinect是支援OpenNI的Kinect驅動程式


而要下載的東西路徑為SensorKinect/Bin/SensorKinect093-Bin-WinXX-?????.msi

例如我是32位元   下載v5.1.2.1版本的




最後是NITE的部分

NITE是用來把Kinect抓到的深度影像轉換為骨架等資料

首先回到剛剛OpenNI的下載頁下載


選擇 [OpenNI Compliant Middleware Binaries], [Stable]    然後下載PrimeSense NITE Stable Build for Windows

下載完後

依照剛剛下載的順序    把OpenNI   SensorKinect   NITE   依序安裝

然後接上Kinect試試    先到裝置管理員看看是否有抓到Kinect的裝置

有抓到的話我們就可以來測試看看是否能夠正常運行了

我們到剛剛OpenNI安裝的目錄下找到 Samples\Bin\Release的資料夾

在裡面可以用很多範例程式測試

我們可以執行NiSampleViewer試試


看到了左邊是深度影像    右邊則是攝影機的影像

越偏黃色代表越近   越偏黑色代表越遠

純黑色代表無限遠




然後再來測試NITE的人體骨架    我們使用UserTracker.net



很明顯可以看出一個人吧~

測試完成~!!!



在這三個安裝檔中可能會有版本問題

這就要請各位詳細看一下各版本的介紹了

祝大家安裝順利!
Share:

2012/11/9

[前導] 當Kinect遇上RoBoard

在這資訊時代中   很多東西都越來越進步

遊戲也是

大家還記得十幾年前大家擠在電視機前玩著紅白機的馬力歐兄弟嘛?

或是人手一機的gameboy

現在的遊戲機越來越多   但是要怎麼做到特別呢?

這就是近年越來越注重的體感了

在遊戲機搭載一些感應器   去做到身歷其境的效果
   
各位還記得本魔之前的wii搖桿控制小機械手臂吧!

而今天   本魔要介紹一下另一個遊戲體感的感應器

Kinect

Kinect用紅外線去捕捉視覺的深度    再用軟體運算出人體骨架   藉此讀取身體的動作

這讓我們思考到   是不是也能在機器人上做這件事呢?

機器人可以參考我們動作   變成用遠端操控的

在youtube上   你可以看到許多有關Kinect的應用

在此我舉幾個Kinect與機器人的例子


在RoBoard官網上也可以見到他    因為它也是RoBoard的愛好者喔!

如何   有趣吧?


這是利用Kinect抓取影像深度的原理   搭載在四旋翼上

變成四旋翼的眼睛   然後再經由軟體運算   建構出3D的模型



這裡就可以再向大家推薦RoBoard了

Kinect的傳輸是使用USB

而控制它的軟體除了在X-Box有出   在windows上也有喔!

所以用RoBoard真的是可以節省很多麻煩

以下是RoBoard官方測試RoBoard抓取Kinect影像的影片






當然這些東西沒有我們看得這麼簡單

所以之後本魔會向大家介紹關於Kinect的安裝   以及使用等等
Share:

[RB魔人] 機器人聯大一號經驗談(三)

最終    本魔來繼續談談機器人吧

其實呢   有很大的部分的是經驗不足所導致

我相信這將會是我未來的動力之一

沒有經驗   就多學多聽多看就會啦~

機器人   說老實的要牽扯的東西太多了

要寫程式   編動作   玩電路

而這裡面牽扯的領域又是涵蓋相當的廣

要完整的用好一台機器人是需要學習相當多的東西的

而且現在資訊業的東西越做越多   

可能以前很難做到的事情   現在只要用一些儀器就可以達到效果

但是這些東西都還是要學阿!

舊的東西要學精   新的東西要學好   相信這樣就能變得更強!



總歸一句   該學的東西還多著   加油!
Share:

2012/10/19

[RB魔人] 機器人聯大一號經驗談(二)

今天魔人繼續來分享競賽經驗

  • 真的需要實戰經驗?

這是一定的

因為以機器人來講

有很多的因素是需要我們考量的   不管是程式編譯,電路,機構...等等

不過往往會有一些會被忽略掉   像是本魔之前提過電源的問題

如果實戰經驗較多人的   就可以一直去排除這些問題

像是在比賽時看到有很多似乎都是同一個機關的   一群一群的來

也就是平時他們可能就會自己練習對打

對打一次   記錄問題   排除問題   測試   再繼續對打

就這樣一直循環下去   (謎: 零件也要一直循環的換下去   皮包真的會跟洋蔥一樣了)

當然機器人就能做得越來越好!


  • 馬達多力量大比較強?

當然這還是要看動作編得如何

馬達個數會影響機器人的自由度

就說說原地轉彎這個動作好了

如果機器人的腰部沒有橫向的關節?

有橫向關節的就可以像人一樣   抬腳 > 轉腳 > 放腳 > 抬另一腳 > 轉腳 > 收腳

或是像本屆冠軍的安東尼一號一樣   跳起來時加上腰部的旋轉   來做旋轉的動作

但如果像是聯大一號就是沒有橫向的關節   這使得轉彎要變成用磨擦力去旋轉

但是用磨擦力變得很難控制   因為你不知道場地到底是光滑面還是粗糙面

當旋轉的力道比磨擦力小時    就會發生卡住   跌倒...等等的現象

講到這裡大家可能會覺得改裝成有腰部橫向的自由度不就好了?

但是加兩顆馬達   在加上機構上的改裝   而且整台機器人也變得複雜

編譯動作或許也會增加許多難度    (謎: 資金上也會增加許多難度)

那力道的問題   力道當然是越大越強了

如果我們的機器人可以一拳把對方的機器人打飛出場外   那還需要比嘛?

但是   力道越強   越難控制   發生的意外也可能變多

就像是人出一拳去打牆壁   越用力當然手會越痛

機器人也是   力道越強   馬達,機身的負荷也跟著變重

看完這段   總歸的結論還是要見仁見智   各有各的好處

但是   如果你有龐大的資金來源   那麼以上這段就當作沒看到吧ˊ_>ˋ
Share:

2012/10/12

[RB魔人] 機器人聯大一號經驗談(一)

這次機器人格鬥大賽聯大一號依然有出賽歐!!!



這次改了不少東西...
六種變型戰鬥模式
電力穩壓平衡系統
無恥加大機器手掌
聲音音效優化改裝
電池電量強化加裝
計算電池電量系統


雖然最後還是敗陣下來

不過在此要跟各位玩家分享本魔兩次戰鬥累積的經驗!

首先是第一場的機器人格鬥賽

問題的點主要是在於動作忽然的不協調

導致爬起來的動作出了問題!?

以及我的控制方式實在有點辛苦



先來談談動作不協調的問題吧

基本上資料都是相同的   怎麼會不能用呢?

這也是事後才發現的

因為我邊動作的環境 power 是9.xV

然而電池 是12V

雖然我所使用的Kondo馬達可以接收的範圍是9~12V

不過較高的電壓會讓馬達轉速變快   力道變強

這導致了聯大一號爬起來的動作過快   變得一直仆街...

所以工作電壓與電池電壓不能差太多   否則會出現不理想的狀況

我第一個想到的是分壓電路

12V用分壓分成9~10V

不過問題還是存在

電池耗電後電壓會減少

那這樣會不會降到9V以下呢??

此時RB總部的神人大大們就出現了...

說可以用穩壓IC降壓

然後電池換成鋰電池   續航力也較強 (原本是用kondo的電池)

我找到了11.1V鋰聚合物的電池

鋰聚合物由於可塑性較高   所以可以做出很多不同的形狀

不過因為沒有門路去專門製做   

所以就買了現成的 11.1V 1500mAH 長:6.2cm 寬: 3.5cm  又小又輕 又持久的鋰電池




實際測試   馬達持續出力約可撐30分鐘  

如果只是開RoBoard而已的話   幾個小時不是問題 

然而最重要的穩壓IC呢?

買到材料之後...

沒錯   這小穩壓器就面世了




這顆穩壓IC可以把50V內的輸入都轉為9V輸出!!!

這真是太神奇了!

基本上就是用穩壓IC 7809加上電容去實做出來的

體積約為電池的一半

接著我又要求接出一個AD讀值用的ping腳

輸入為12V   所以做了一個分壓電路

將電壓降至3V左右    然後用AD去讀值

這樣就可以知道電池電量囉!






至於控制方式

有看到當天去比賽的我應該都知道我將腳架與鍵盤結合了

可以調整高低   完全符合人體工學

又可以俯視全場   真不錯





在比賽時有人似乎很驚訝我用的是鍵盤

我要在此說一下

因為我使用的控制板是RoBoard   所以可以接USB裝置

鍵盤的好處呢   就是唾手可得   按鍵數又多!   這樣就可以邊相當多的動作囉!







更多經驗談   請期待下周更新!
Share:

2012/8/30

[RB魔人] 談談機器人的能量來源

大家好

今天本魔要來談談機器人的能量來源   電池

在一顆3.7V的鋰電池   我們要怎樣才會知道什麼時候會沒電呢?

來看看下圖

這是電量與電壓的關係圖

其實是蠻接近線性的   不過還是有點區別

在電池充飽時   電壓值會再4.2V左右

而快沒電時   會掉到3.4V左右

這樣子基本上就可以利用電表去對照出電池剩餘的電量了

相信各位不會想拿一顆快沒電的電池上場比賽吧?

這樣會是件很危險的事情

想想這畫面   機器人打到一半正精彩時   忽然間沒電   機器人整個軟掉在那邊

這樣感覺不是會很差嘛!?




有些人會問   如果及時沒有電表怎麼辦呢?

相信各位已經想到我們的RoBoard上面有個可以量電壓的A/D

沒錯   我們只需要接上A/D   然後再做讀取   就可以知道大致上的電量了

沒螢幕怎麼會知道電量呢?   

如果有看過鹹蛋超人的話   大家就會知道快沒能量的時候可以發出警告聲



聲音的部分   之前有教過大家了   所以只要在你的程式內加個電量的判別就可以囉!

另位這邊再度提醒大家一次

A/D只能讀取0~5V的電壓值

如果你的電池是超過5V的

那請記得先做過分壓再使用A/D
Share:

2012/7/27

[推薦] 在blogger上使用FB留言

今天要來跟大家簡單介紹一下blogger的FB留言

首先我們必須要有FB應用程式的ID

可以到這裡申請喔: https://developers.facebook.com/apps



有了ID之後就可以來修改HTML了

記得要展開小裝置範本!

找到<html>   在裡面加入

xmlns:fb='http://www.facebook.com/2008/fbml'



再找到 <head>  在下面加入

<meta content='你的FB應用程式ID' property='fb:app_id'/>



再找到 <body>  在下面加入

<div id='fb-root'/><script src='http://connect.facebook.net/zh_TW/all.js#appId=你的FB應用程式ID&amp;xfbml=1'/>



最後 在文章結尾處   加入這行

<fb:comments expr:href='data:post.url' num_posts='5' width='600'/>


至於要放在什麼地方    就是看各位自己的喜好了!


最後會像這樣

就可以在blogger上使用FB留言的功能囉!

很簡單吧!
Share:

2012/7/26

[推薦] 在blogger上使用FB讚好

在這裡向大家推薦一下

就是在blogger上使用Facebook的讚與留言的功能

看到很多的blog都有這個功能   所以我也來試試看

其實沒有想像中的困難

大家上網查一查其時也找得到用法

不過這裡還是向大家推薦一下囉!!

首先到修改HTML的地方



勾選展開小裝置範本


搜尋

<div class='post-header'>

貼上以下程式碼


<b:if cond='data:blog.pageType == &quot;item&quot;'>
<iframe allowTransparency='true' expr:src='&quot;http://www.facebook.com/plugins/like.php?href=&quot; + data:post.url + &quot;&amp;layout=standard&amp;show_faces=false&amp;width=100&amp;action=like&amp;font=arial&amp;colorscheme=light&quot;' frameborder='0' scrolling='no' style='border:none; overflow:hidden; width:450px; height:40px;'/>
</b:if>

這樣基本上就會顯示出讚囉!



下回會教大家如何在blogger上使用FB的留言功能
Share:

2012/7/25

[RB魔人] 用小型區網建立良好的開發環境(四)

今天要來向大家補充一下之前有提過的DHCP server

其實DHCP就是發IP給需要IP的電腦的一個伺服器

所以在RoBoard上安裝DHCP的話

我們電腦的IP就可以不需要設定了

網路線接上去   RoBoard會自動發IP給電腦

然後就會形成一個區域網路    可以直接控制RoBoard





其實DHCP在很多網路上面都會架設

畢竟撥接還是相當麻煩的   在想要上網的時候還要搞一堆煩人的步驟心情也好不起來了

所以有一些區網   你只要接上網路線   就自動發送IP給你的電腦

然後就可以直接連上網際網路   這就是用DHCP的技術

有DHCP server的網路


首先必須要下載DHCP的server   當然   網路上有很多種版本的

但由於我RoBoard是用Windows   所以這裡只提Windows的架設方法

首先到首頁下載最新版本: http://www.dhcpserver.de/dhcpsrv.htm

 




解壓縮後裡面會有4個項目

選擇dhcpwiz.exe

若沒特別的需求    之後都可以直接按下一步

介紹

選擇架設於哪條區網上

這邊是Web Server(網頁伺服器),TFTP(簡單檔案傳輸),DNS(網域名稱)的一些設定

基本上是不會用到的

所以不太需要理會它

設定發送的IP範圍   這裡設定從10.0.0.1到10.0.0.255



然後寫入INI檔

會自動開啟dhcpsrv.exe   然後選擇安裝

然後啟動

會發現 設定自動取得時  會拿到10.0.0.X的IP





是不是比之前設定來設定去還要簡單許多呢?
Share:

2012/7/23

[RB魔人] 用小型區網建立良好的開發環境(三)

今天要來向大家介紹如何用區網傳輸檔案

在使用RoBoard測試程式時

最受不了的就是打完程式   copy上RoBoard   然後發現bug

回到筆電debug   然後再copy上RoBoard

如此的循環

隨身碟不累   我們人都累了

所以要有一個更有效率的方法

首先   在電腦上建立一個資料夾(共享資料夾)

意思就是   放到這資料夾內的所有東西都會在區網上共享


然後右鍵選擇內容




這樣這個資料夾內的所有東西就會再區網上共享




之後   我們來到RoBoard上面

在建立一個捷徑

捷徑的路徑為

\\PC名稱\資料夾名稱


舉例來說

如果我的電腦(筆電)名稱為RoBoard-PC

資料夾名稱為分享資料夾


那我所設定的路徑就是

 \\RoBoard-PC\分享資料夾


隨後您的捷徑就可以連回到電腦(筆電)   開啟時必須要登入

所以你的電腦(筆電)也必須要有設定密碼才行喔!


之後   所有的檔案就可以用這個方法傳送囉!!!


在電腦(筆電上)放入檔案

在RoBoard上接收檔案


而且PC連PC  中間只隔著一條網路線

傳輸速度可想而知


而隨身碟還有上傳下載的時間


所以本魔介紹的這一個方法


是不是比隨身碟拔來拔去好用多了呢?
Share:

2012/7/21

[RB魔人] 用小型區網建立良好的開發環境(二)

根據上回所講的

接上之後就形成了一個小型的區域網路

之後要在兩台電腦上設定IP




若是不會算IP位置與遮罩   就先照著我設定吧

把電腦(筆電)上的IP設為10.0.0.2    遮罩設為255.0.0.0    




然後先用原始方法使用RoBoard   (接螢幕 鍵盤滑鼠)

到控制台的網路連線




一樣  不會算IP位置與遮罩   就先照著我設定吧

把RoBoard上的IP設為10.0.0.1    遮罩設為255.0.0.0    












這樣子基本上都已經設定完了


你就可以使用Windows強大的遠端桌面去連RoBoard




若是螢幕變不了全螢幕請按 Ctrl+Alt+Break




若是您有在RoBoard裝上喇叭

卻無出現聲音

那是因為遠端設定的問題




這樣在遠端電腦上就會有聲音囉!






其實有一個更簡單的方法可以設定IP

就是在RoBoard上架設DHCP server

 簡單的說就是DHCP  server會自動發IP給連結到它的PC   (自動取得IP的意思)

這樣子電腦(筆電)就可以不用把IP改來改去了



但本魔還沒實做過

還不知道可不可行

若是有做出來   也會向大家分享喔!!








下回將會介紹   如何用區網傳送檔案
Share:
技術提供:Blogger.

追蹤者