RoBoard魔人的機器人日誌

2013/2/6

[RoBoME] 使用教學V1.2

各位大家好阿

新年快到了   本魔在此祝大家新年快樂囉!

雖然本篇的使用教學是v1.2的

但是有在看我github的source code的人就知道其實功能已經一直持續改善囉

v1.2加入的新功能為goto功能

大家可能會疑惑說goto不是程式語言裡面的功能嘛?

機器人會需要用到嘛?

其實呢   本魔在此用的goto功能是有點類似迴圈或者是選擇的用處

從某一個goto去判斷跳到預設好的flag

要怎麼使用呢?

很簡單

和之前一樣   新增一個object

你會發現在裡面多出了goto以及flag的功能


在此我們先新增一個flag


並將它的名稱設定好

然後在新增一些你想要讓他重複的動作

在加入一個goto


名稱設為你想去的flag的名稱   剛剛我的flag是設定test當名稱   所以這裡我讓goto設定為test

然後旁邊有一個set keys的按鈕  按下之後就可以設定你的判斷

這裡的goto是否執行就是用這按鈕判斷的

假如說我在這裡設定為A鍵  

那麼我在motion test時   按著A鍵   就會一直回到flag去

有些人可能會講   這有什麼用途?

這樣說好了    像是在走路的時候   我們會需要先走半步   之後才是整步重複跨出

那麼就需要有預設動作與重複動作兩段

而這就可以用goto這功能來實現

或是出拳時   機器人要先將手舉起來

才能出拳    而出拳想要連續出拳時   也可以用goto來實現

像是這樣


或者是你想跳過動作時

也可以用goto實現   像這樣


有寫程式的都知道goto的強大

所以也請各位小心使用阿!!

我印象中如果沒有設定按鍵的話

goto的判斷會永遠為真

也就是形成一個永遠的迴路

所以千萬要記得在這種迴路內要加入跳脫的goto

當然這太危險   本魔也沒實測過



接下來就來看看我們的影片吧

抬手之後  我按下A鍵   他會一直連續出拳

直到放開時才跳出迴圈

影片範例:



RoBoME

sorce code
Share:

2013/1/23

[RoBoME] source code

本魔做的RoBoME開放原始碼給大家參考喔

如果各位有興趣的話可以下載來看看

雖然沒有整理程式碼也沒註解

不過就當過是供交流用途吧

如果覺得有什麼功能要還要更改的

那就敬請指教了!

基本上我還會繼續更新

讓功能更加完善

也讓大家能夠更方便的使用

我是用現在很多人用的github來放source code

附上連結: https://github.com/RoBoardGod/RoBoME

//==========================================================================//
//  _______             _______            ____      __   ___________       //
// /\  ____`\          /\  ___ `\         /\   \    /| \ /\  ________\      //
// \ \ \___\ \     ___ \ \ \__\  \    ___ \ \ \  \  ||  \\ \ \_______/_     //
//  \ \  __  <    / __`\\ \  ___ <   / __`\\ \ \\ \ || | \\ \  ________\    //
//   \ \ \ \_ `\ /\ \_\ \\ \ \__\ `\/\ \_\ \\ \ \ \ \| |\ \\ \ \_______/_   //
//    \ \_\\ `\_\\ \____/ \ \______/\ \____/ \ \_\ \___| \_\\ \__________\  //
//     \/_/ `\/_/ \/___/   \/_____/  \/___/   \/_/\/__/ \/_/ \/__________/  //
//                                                                          //
//                        my blog address: http://roboardgod.blogspot.tw/   //
//==========================================================================//
Share:

2013/1/18

[RoBoME] 使用教學-V1.1

很快速的

RoBoME-v1.1已經推出囉

最新加入的功能是sound功能

各位一樣可以在編輯動作時加入音樂

這樣就可以編一些有趣的東西喔   例如跳舞

接著就來使用教學吧

首先   一樣在motion內新增一個object

然後再選擇type時就可以看到sound


選擇後就可以開啟一個wav檔來當音樂

注意    要把音樂檔放在執行的目錄底下


接著

你只要在motion test的時候就可以聽到音樂啦~

至於sound也可以設置delay

這一部份是使用真正的delay

也就是如果你設定為1000(ms)   那音樂就會先撥放1秒才繼續執行下面的動作

希望大家使用順利


範例影片:

Share:

2013/1/11

[RoBoME] 使用教學

RoBoME是可以簡單的編譯動作的軟體

目前的版本已經可以做到及時捕捉與及時播放等功能

這讓我們可以更方便的去編輯機器人的動作

而當然這套軟體是給RoBoard控制板使用的

那就不多說 來開始使用教學吧!

首先下載好我們的RoBoME

解壓縮後可以看到這些檔案



然後執行RoBoME_verX.X.exe

首先會詢問你的工作環境



因為在一般PC上無法使用RoBoIO

所以選擇PC時就會將一些會使用RoBoIO的按鍵鎖起來

而在選擇RoBoard的情況  就可以使用RoBoIO的功能

註: 在一般PC上使用RoBoIO的功能會使程式崩潰,所以請別亂選

進入後會看到以下畫面   基本上除了新增檔案或開啟檔案  其餘按鈕都會先被鎖住


那我們選擇File -> New File
之後會看到下列畫面

會要求你設定RoBoard的Version   以及各個servo的資訊


建立完成選擇OK    右方Motion的功能就會開啟

那我們來建立一個Motion

在下拉式選單的文字框內輸入Motion的名稱   在這我輸入的是test

然後下面的New Motion按鈕就會解鎖

按下New Motion後即可解鎖


可以一直輸入名稱

就可以一直建立Motion   如下圖已有4個Motion已建立於下拉式選單內


那有了Motion 那我們要開始來建立內部的物件

在下方的選單中點擊右鍵   選擇New Object



隨後右邊會要求您選擇Object Type



目前有Frame與Delay兩種型態   在此我選擇Frame



建立完後就會看到左邊有些拉霸   與前面會寫CH

這裡就可以設定各channel的值  以及到這frame的時間(delay)




而如果建立一個Delay Object

那裡面可以改變的參數則為delay time   代表執行到此物件時要停留的秒數


建立後右方的選單會一直增加

此時我們可以任意選取我們剛剛建立的Object來修改裡面的參數



而當我們在右方選單上的物件按下右鍵時會出現下面的畫面



New Object 在選定的Object下方建立一個新的 Object
Delete Object 刪除選定的Object
Move Object UP 將選定的Object向上交換
Move Object DOWN 將選定的Object向下交換
Copy frame 只有frame object才可以使用   複製選定的frame object 包括裡面的參數





而下方的Trigger選單也是可以新增的

Trigger的用途是用在綁定Motion   並設定熱鍵

簡單說就是按下一組按鍵   就做一套動作

註:  這邊的功能還沒完全實做


新增了Trigger後可以選擇你要改變的Trigger   然後點擊右鍵


New Trigger 在選定的Trigger下新增一個Trigger
Delete Trigger 刪除選定的Trigger
Set Trigger 設定Trigger的按鍵
Link Motion 將選定的Trigger連結到目前選定的Motion

Link Motion 之後  Motion後會多出相對應的名稱    如下圖


選擇Set Trigger

會出現Set Trigger的視窗    然後你可以按下你想設定的熱鍵   支援組合鍵








而編輯動作時    如果你的機器人是有Capture功能的

那當然可以使用Capture功能將馬達的值抓回   然後再進行微調

範例影片:



而在進行微調時   又怕調不準

那就可以使用AutoPlay的功能   讓機器人邊動邊調到你要的動作

這樣就可以看著機器人調整   而不是對著冷冰冰的文字調整囉!

範例影片:










寫了這麼多    希望大家也都用得順利囉!

RoBoME

sorce code
Share:

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:
技術提供:Blogger.

追蹤者