« 週刊myRobotを作ろう(44) | トップページ | 週刊myRobotを作ろう(46) »

2007年2月13日 (火)

週刊myRobotを作ろう(45)

更新情報 VCLEサンプルプログラムを分析 (2007/2/16)

■50号「通信インターフェースを確立するPC/ブレイン接続ボード」+「CD-ROM2」
先週まで作製してきたメカニカルなベース(走行)部が左右合体と相成り、とりあえず一段落しました。
次は、いよいよソフトウェア、ブレインボードそしてCMOSカメラなど、新たな段階にさしかかり、今週は、ソフトウェアと情報が満載した「CD-ROM2」と、通信インタフェース周りのパーツです。

◇通信インターフェース接続ボード&ケーブル
今回付録のパーツは、接続先のブレインボード(52号)が来るまでは保管となります。
50号マニュアル「今月のパーツ」にミスプリントがあります。7.の2.6×6mm 4本は、2×6mm 4本の誤りです。Id01_50_6
PC/ブレイン接続ポート、USB・シリアル各接続ケーブル、シリアルケーブル、USBケーブル、ネジ

PC/ブレイン接続ポートは、最終的にはバックパックの中に搭載される事になります。

◇CD-ROM2Id01_50_9
このCD-ROMの中には、次のステップに進むためのアプリと情報がぎっしり詰まっています。

メニュー画面
CDを立ち上げると「メニュー」画面になります。Id01_50_1_1
メニューには4つの項目があります。
 
1)チェートリアル
プログラミングについての8ページもの解説が載っています。
「イペント」「命令」「プログラム」「センサー」「出力デバイス」「行動」など、基本的な概念の説明があります。
首の回転制御位置が13ポジション、腕の回転16ポジションなど、読んでびっくりの内容でした。Id01_50_2_1
 
2)ソフトウェアId01_50_3
4種類のソフトウェアが収録されています。

①『ビジュアルCライクエディター』
先週号にも少し解説してみましたが、フローチャートを描く感覚でプログラミング出来るツールです。
マニュアルは100%、PG自体もかなり日本語化されていました。(画面クリックで拡大します)Id01_50_12
 
②『ID-01 PC Conntrol』と『Mobile Control』の最新版
ディアゴさんのWebサイトのCD-ROM2のQ&Aにも載っていますが、古いソフトをアンインストール(削除)を行ってから、この最新版をアプリをインストールするように・・との事です。

③『ブレインボードOS』のインストール
「ブレインボードのOS」のインストール手順です。

・ブレインボードのジャンパーピンブリッジを挿入
・PCとID-01間をシリアルケーブル接続
・”brain_config.exe”を実行
・「ブレインボードOS」が転送完了
・USBケーブルを接続
・USBが認識される・・・・・・
(途中のEnterキーを押すなどのオペレーションは省略しました)

近頃のPCにはシリアルコネクター(RS-232C)がないものが多いので少し心配しています。USBコネクターでの転送が可能ならば良いのですが・・・・
確認のため、ディアゴさんに問い合わせをしておきました。
判明した時点で、「掲示板」とこのブログに載せたいと思います。
多分、シリアル端子が無ければ、USB端子を見に行きそうな気がしています・・・
まだ2週間先の話なので、いまから心配の必要はなかろうと思われます。

④『Adobe Acrobat Reader』最新版
   (2000/XP用、98/ME用)

マニュアルはPDF形式ですので、この最新版のPDFリーダーが必要となります。

3)組み立てId01_50_4
・マザーボードと音声ボード
・ブルートゥースと移動システム
・ブレインボードとプログラミング

これから搭載する「ブレインボード」について動画で紹介されていますので、是非ご覧ください。
併せて『ビジュアルCライクエディター』での、2つのプログラミング例題が動画で分かりやすく説明されています。
(プログラムが初めての人にはどうかな?との疑問も・・・)
バックに流れる曲がなんとも眠気を誘いますので十分お気を付け下さい・・

4)マニュアルId01_50_5_1
・『ビジュアルCライクエディター(VCLE)』
 
これを読まずして「VCLE」は語れません。
 ID-01に「何が出来るのか?」を理解した上で、「何をさせるか?」「どうやって?」を考えないといけないのかもしれません。
・ID-01ワードセットリスト
 音声コマンドのワードセットリストですが、ワードセット1~2に新たなコマンドが追加されています。
(52号のブレインボードをつけると、新コマンドがテストできるようになるようです。)
・ブレインボードLinuxカーネル
 Linuxをお使いの方用です。

Line01s_7
 
■”ID-01 PC Control"の新機能
今まで使用していた”PC Control”とオペレーションなどには大きな相違はありませんが、いくつかの機能が追加されました。
まずご紹介したいのは、『ビジュアルCライクエディター』で作製したプログラムをブルートゥース経由でID-01に転送する機能です。プログラムをワイヤレスで転送出来る便利な機能ですね。
マニュアルにはさらに気になる機能が記載されています。
「ヴィジョン追跡モードが起動されると、遠隔操作ソフトウェア(PC Contorl,PC Mobile)のフィードバックビデオが、CMOSセンサーの処理結果を表示する。それによって行動の結果が簡単に分かる。」とあります(P.45)。どうやら、PC CONTROL画面の「電池マークの下と方向キーの間」に、ID-01からのライブ映像が写るようです。
Id01_50_8 バージョンはVer1.3.4になっていました。
 
この他、ダウンドロップメニューにある「ビジョン追跡」「物体回避」「ユーザプログラム」などが追加されています。(画面クリックで拡大します)
インストール後の処理、操作方法などは旧バージョンと変わりませんでした。ブレインボードが来れば、「ユーザプログラム」でID-01に転送する事が出来ます。楽しみ楽しみ。Id01_50_7
 
■ビジュアルCライクエディターId01_50_10
習いたては例題をまねするのが一番かもしれませんね。内容やテクニックを短時間で把握できそうです。
VCLEのマニュアル(47ページ)は全てプリントアウトし、常に(何時でも・何処でも)手元で見れるようにしました。
マニュアルとトレーニングビデオの2つの教材活用が、より理解をするためには必要なのかもしれません。(人それぞれですが・・・)
CD-ROM2にあったトレーニングビデオ「例題2」にトライしてみました。ビデオをワンセンテンスごとに止めながら、そして試行錯誤で行ったのでえらい時間がかかってしまいました。
とりあえず「例題2」のフロー?が完成しましたので画像も更新しました。一応ビデオの指示通りに出来ていると思います。
各処理の中で「何を行っているか」の解説を入れました。
(それぞれ画面クリックで拡大します)
--------------------------------------
『例題2』
音源追跡により、左側は「ひだり」、右側は「みぎ」と発声させる。
「胸のボタン」でプログラムを終了させる。


行動 ----------------------------------
「Main」Id01_50_13_main
「Init」「Suono1」「Basta」を実行する

「Suono1」Id01_50_13_2
音源の方向により「左」「右」と発声させる

「Basta」Id01_50_13_basta_1
胸のボタンが押された時”Counter1”に「1」を代入
 
手続き
 ----------------------------------
「Init」Id01_50_13_init_1
「サウンド追跡」を立ち上げ、”Counter1”に「0」を代入

「Exit」Id01_50_13_exit_1
「サウンド追跡」を終了させる
  
尚、色々な言葉がメモリーされている「フレーズ」の数値リストは、VCLエディターのマニュアルP42-43に載っています。
”SOUND_DIR_BACK”の”SayPhrase”に28「後」を入れるなど、少しアレンジしてみるのも良いかもしれませんね。

◇Say Phrase
VCLEのユーザーガイドのP27を見ていたら、面白い事に気が付きました。
年末に『週刊myRobotを作ろう(41)』の中で、「音声メッセージの中身」として、以下のような1~220までのボイスリストを掲載しましたが、これらと、”SayNumber”、”SayPhreae”、”PlaySound”の関連付けが分かりましので、ご紹介します。

★1~65 刻み幅は異なりますが数字の1~1000までが入っています。
★67~88 「ID-01です」などのおなじみのメッセージ集。
★89~142 「おにごっこして!」他楽しそうなメッセージ集。
★143~206 時には文句を言ったりします。
★207~220 サイレンなどの効果音をはじめ結構えぐい声・音が入っていますよ。

Say Number
 NO.1~65のボイスが使用されます。

Say Phrase
 No.67~206のボイスが使用されます。
 フレーズの番号に66を加算すれば、目的のボイス番号になります。
 例 フレーズ番号12 「ありがとう」
 12+66=78  実際に”TLCRobot PC&PPC”で78番をプレイすると「ありがとう」が確認できました。

Play Sound
 
No.207~220の効果音が使用されます。 
 Soundの番号に206を加算すれば、目的のボイス番号になります。
 例 サウンド番号2 「サイレン」
 2+206=208 上記同様208番でサイレン音がでました。

ユーザーガイドに載っていないようなので、サウンド音のリストを挙げておきます。
 1.「ガーガー」
 2.「サイレン」
 3.「ボヨヨーン」
 4.「ゲップ音」
 5.「口笛」
 6.「警告音」
 7..「爆発音」
 8..「カーン」
 9.「パフパフ」
 10.「サイレン?」
 11.「シャッター音」
 12.「笑い声」
 13.「あーはははは」
 14.「ワオー」

◇VCLEのサンプルプログラムを分析
昨夜遅くにKENさんからメールが来まして、CD-ROM2にプログラムが有る事を教えて頂きました。
場所はCD-ROM2の中にある”esempi Vsual C-like”というフォルダーの中にある2つのプログラムで、拡張子(ピリオッド以降)には”vclike”と言う、VCLEで作製されたプログラムである事を表しています。
返事もそこそこに、早速VCLEで開いてみました。

”follow_light.vclike”
行動セクションの”Main”と”FollowLight”のうち、後者のフローチャートを見てみました。
ご覧のように、アナログ入力1と入力2の値が128より小さいか?(less than)の判定を行い、各々異なる処理させるプログラムです。調べて見るとアナログ入力された値は0~255の範囲で変化するようです。Id01_50_16

(画面クリックで拡大します)

名前から察すると、ブレッドボードに取り付けた2つの受光素子(Input-1,Input-2
)に光を当て、どう反応させるかの実験に使うPGでは・・・と推察しています。
・光が双方(入力1、2
)に当たっていれば中速前進(Forward at 50% speed)
・光が入力1だけに当たっていれば中速左回転(Left at 50% speed)
・光が入力2だけに当たっていれば中速右回転(Right at 50% speed)
・双方とも当たらなければ停止(Stop Base!)
と、言うことは「光が当たった方向に向かって進む」と考えられ、入力1は左側のセンサー、入力2は右側のセンサーで、センサーの値は「光が当たっていれば128より小さい」と分析しました。
全く逆のケースも考えられますので違っていたらごめんなさい。

-----------------------------------

”vision_tracking.vclike”
CMOSカメラをセンサーとして使用します。
捉えた画像を元に判断させ、それに応じた処理を行わせるプログラムです。
特定の色(ここでは暗い赤)が視覚の何処に有るかを、目のLEDの色や点灯状態で表現するプログラムのようです。
Main”、”BehaviorControl”、”Tracking”の3つのタブがあります。
Trackingの内容ですが2画面にまたがってしまいました。
(画面クリックで拡大しますが全部表示しきれないかもしれません)Id01_50_17_1
GetTrackingArea”は、CMOSカメラで写された画像を縦横9分割して指定した色のものが何処にあるかを判断させる命令です。Id01_50_18
内容を見ると、LEDの色が上段に有った場合は黄色、中段で赤色、下段で緑色、その点灯の仕方は、左側では左目、真ん中では両目、右側では右目というように、異なる点灯方式をプログラムさせています。
BehaviorControl”では、音声コマンドによる判定も行われているようです。
先程の「光源を追いかけるプログラム」のように、色々解析してみるのも面白そうですね。

KENさん、面白い情報ありがとうございました。
(2007/2/16)

Line01s_8

■ロボザック情報
VCLエディターのマニュアルを読みふけっていたら、ロボザック組み立ての事をすっかり忘れていました。
ロボザック5号にサーボがひとつ付いてきました。これで、RZ-1の左腕全パーツが揃った事になります。Id01_50_15
マニュアルには書いてありませんが、腕の付け根金具を取り付けてみました。
サーボのテストボードには3個のサーボコネクターがありますので、2台のサーボをつないで動かしてみました。
各サーボが60度づつ回転しますので、腕の付け根と腕先の角度は、丁度120度曲がりました。Id01_50_14
これに肩のサーボをつけると、かなり重くなりそうです。
ID-01にモーターを載せてプログラムでコントロールしようと思い、VCLエディターのマニュアルのデジタル4chの機能の所を読んでみました。
なんとデジタルOUTは、3Vと0Vの切り替えしか出来ないようなのです。
これでは、腕曲げON/OFFで1ch、モーターの極性切り替えで1ch、角度センサーでアナログ1chをとられてしまいます。コントロールchが足りなくなると、手の開閉(マニュピレーター)などのコントロールが出来なくなる事態も想定されます。
何か別のアイデアを考える必要がありそうです・・・・。
(2007/2/14)

Line01s_9

■あとがき
ブレインボードの来るまでの2週間は、ソフトウェアの習得には、ちょうど良い時間かもしれませんね。

まだ、ベースボード、アームボード、温度や超音波センサーなどの機能は使えないという制約はあるものの、現在の機能でも色々なプログラムが組めそうです。
でもその前に、まずは例題で機能やオペレーションに慣れてしまわないと、新しいプログラムどころの話ではないのかもしれません。
「例題2」では、サブモジュールをCALL文で呼びに行くなどの事をやっていますので、そこそこの物は書けるかもしれませんね。

一方、出来たプログラムは、ブレインボードが来るまでは動作確認ができませんので、今のうちに動いた時の楽しい空想でもしておいた方が良いかもしれません。
コンパイル(翻訳)エラーが出たり、首があっちを向いちゃった・・・など、現実は厳しい物があるかもしれませんが、「失敗は成功のもと」です。色々な経験を沢山するのが上達の早道とか・・・

ID-01ファンの皆様、これからの2週間「VCLエディター」で楽しみましょう。
『ビジュアルCライクエディータ(VLCE)』の記事については、随時、追記していきたいと思います。
 

|

« 週刊myRobotを作ろう(44) | トップページ | 週刊myRobotを作ろう(46) »

コメント

akkunさん おはようございます

akkunさんのPCもRS-232Cポートが無い様ですが、USBとの世代交代は凄まじい勢いで行われている様ですね。

イタリアサイトの検索結果のインフォメーション、ありがとうございます。「変換コネクター必要」との記事が出ていたそうで、やはり・・・という感じです。
その後、ディアゴさんから返事は来ておりませんが、連絡着次第「掲示板」とブログに結果を反映する予定です。

一方、先行して”brain_config.exe”を実行してみました。
シリアルポートを順に検索している所迄は検証出来ましたが、ブレインボードが無いので、それから先は検証できませんでした。

RS-232Cが必要となると、古いPCを持ち出すか、アダプターを買うか、苦しい選択ですね。
シリアル/USB変換アダプターは、実売価格、2千~5千円代位で購入できるようです。

教えて頂いたイタリアサイト、私の方でも内容を確認してみます。

投稿: ふみのへや | 2007年2月19日 (月) 08:08

ふみのへや様 こんばんは。
akkunです。

貴殿のご懸念のシリアルコネクター(RS-232C)の件、当方でも心配になり、イタリア掲示板で覗いてみました。
(当方のノートPCにも、RS-232Cポートはありません。電気店でさりげなく見てみると、デスクトップには、まだ搭載されている機種もあるようです。もし、RS-232Cポート必須なんてことになれば、暴動に近い状況になりそうですね。)

下記の3件が、検索で得られた代表的なスレッドです。
フォーラム名:Opinioni, commenti e problemi
1) Senza porta seriale
http://www.i-droid01.com/forum/topic.asp?TOPIC_ID=4015
2) problema rs 232
http://www.i-droid01.com/forum/topic.asp?TOPIC_ID=3292
3) manca porta seriale......
http://www.i-droid01.com/forum/topic.asp?TOPIC_ID=2854

自動翻訳レベルで軽くチェックすると、レスの要旨は、USB-Serialコネクターを買ってください、という内容らしいです。
イタリア語がおできになる方が読めば、もっと詳しいニュアンスまでつかめるかもしれません。
まとまり次第、「お助け掲示板」に投稿を考えています。

以上 取り急ぎですが、ふみのへや様も、お問い合わせの件デアゴから回答がありましたら、教えてください。

投稿: akkun | 2007年2月19日 (月) 00:39

テラさん こんばんは

ブログ拝見しました。
VCLEを始められたようですね。面白いですか?

それから32pの件は間違いですね。
多分、デフェルトが”Touch”なので、よくある間違えの一つかもしれませんね。

ユーザーガイドは他にも結構ミスプリがありますので、ディアゴさんにどんどん教えてあげてください。
42pにも2箇所あるようですので、併せてお願いします。

投稿: ふみのへや | 2007年2月18日 (日) 22:04

こんばんわ、VCLの説明書の32pに誤りがあるのに、気づかれたでしょうか・
正しいのを私のブログに記載してみました。
 どんなアクシデントが起きても、驚かなくなってしまいましたが、初心者の方は戸惑うでしょうね。

投稿: テラ | 2007年2月18日 (日) 21:08

ヨッシーさん こんばんは

高校に合格されたようで、本当におめでとうございます。
これで暫くは、心おきなくロボ君製作にうちこめますね。

50号以降暫くはカスタムパーツラッシュです。ブレインボードを搭載すれば、これから作るプログラムの動作テストが出来ますね。

2週間毎の定期購読は、土~日曜あたりに来てくれるとうれしいのですが・・・。中にはそんな方もいらっしゃるようです。

それからブログにも記載してありますが、「ブレインボードのOS」をインストールするのにシリアル(RS-232C)ケーブルを使用するとなっています。ディアゴさんにUSBケーブルが使用出来ないか現在確認中です。

投稿: ふみのへや | 2007年2月15日 (木) 23:43

ふみさんこんばんは。高校無事合格しました。
っていう話は置いといて、50号ですね~。そこでふっと考えてみたら、51号にCMOSカメラ接続ボード、52号にブレインボード、53号にCMOSカメラが来ますね~。デアゴさんの定期購読だと一気に豪華部品が来ますよね~。

投稿: ヨッシー | 2007年2月15日 (木) 22:38

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: 週刊myRobotを作ろう(45):

« 週刊myRobotを作ろう(44) | トップページ | 週刊myRobotを作ろう(46) »