▼Microsoft Robotics Studioメモ▼
MindStorms NXT
MindStorms NXTはLEGOとMITが共同で開発したロボット組み立てキット。
MindStorms NXTとNXTサービスはBluetooth経由で接続する(USBは不可)。NXTで発生したイベントをパソコンに通知するために、NXTブロックで「NXT
MSRSプログラム」を実行させておく必要がある。NXTサービス開始時に、自動的にNXTブロックは「NXT MSRSプログラム」をダウンロードする。最新のファームウェアをインストールしておくこと。
NXTサービスの実行
WindowsとNXTでBluetooth接続のための準備をしてから、以下のコマンドでサービスを実行する。
| dsshost -port:50000 -tcpport:50001 -manifest:"samples\Config\LEGO.NXT.Brick.manifest.xml" |
サービスが開始すると、InternetExplorerで接続設定ページが開く。開かない時は、Internet Explorerでコンソールに表示され
ているURLを開く。 MindStorms NXTには4つのセンサーと3つのモーターを接続できる。設定画面でどのようなハードウェア構成になっているのかを設定する。

センサーの種別
「Sensor Configuration」の「Type」にはセンサーの種別を指定する。
| 種別 |
説明 |
範囲 |
ポート |
| Touch |
タッチセンサー |
0〜1 |
Sensor 1, 2, 3, 4 |
| Sonar |
超音波センサー |
0〜250 |
Sensor 1, 2, 3, 4 |
| Sound |
サウンドセンサー |
0〜100 |
Sensor 1, 2, 3, 4 |
| LightOn |
ライトセンサーのLEDのON |
0〜100 |
Sensor 1, 2, 3, 4 |
| LightOff |
ライトセンサーのLEDのOFF |
0〜100 |
Sensor 1, 2, 3, 4 |
| Angle |
モーターの角度センサー |
-2147483647〜+2147483647 |
Motor 1, 2, 3 |
| Encoder |
モーターのエンコーダー |
User specified. 2-360 |
Motor 1, 2, 3 |
| Button |
NXT コントロールボタン |
0〜1 |
Right, Left, and Enter Buttons |
| Null |
センサーの接続なし |
N/A |
All |
イベント通知条件
イベントが発生した時にパソコンに通知する条件として値の範囲を指定できる。
「Low Threshold」と「Hight Threshold」と「External Range」で指定する。
「External Range」にチェックが入ってない時は、「Low Threshold」以上、かつ「Hight Threshold」以下の時にイベントを通知する。

「External Range」にチェックが入っている時は、「Low Threshold」以下、または「Hight Threshold」以上の時にイベントを通知する。

「Low Threshold」と「Hight Threshold」に同じ値を指定した時は全てを意味する。

モーターの種別
「Moror Configuration」の「Type」にはモーターの種別を指定する。
NXTのモーターは、角度センサー(Angle)とエンコーダー(Encoder)の2つのタイプを指定できる。角度センサーとして設定した時は、角度が変更された時、その角度を
通知するようになる。360を越えても値はリセットされないので上限値に注意。エンコーダーとして設定した時は、カウントする解像度(Tick Per
Resolution)を設定 する。
MindStorms NXTとNXTサービスの接続
「COMポート」を指定し、「Connectボタン」を押す。
MindStorms RCX
LEGOとMITが共同で開発したロボット組み立てキット。NXTの一世代前のバージョン。
パソコンからの制御はIRによって行う。Windows XP推奨。RIS2.0のソフトウェアのインストール後、バグ修正パッチRIS20XPPatch.exeをインストールすること。Hyper-ThreadingのPCを利用している人はIR Towerのアップデートされたドライバtower168.zipをインストールする必要がある。
ルンバ
iRobotが開発したお掃除ロボット。MSRSで制御できるのは「ルンバディスカバリー」と「iRobot Create」で、ルンバ・ディスカバリー.もRootooth(Bluetooth接続ユニット)が必要(日本では購入困難)。
ルンバサービスのインストール
MSRSに付属するルンバサービスの他に、Microsoft Robotics Studio 1.0 iRobot Create Preview 01が提供されているのでそれを使う。更新されたルンバサービスを利用する時には、以下のコマンドで再コンパイルする必要がある。 これによって、MSRSに最初から付属していたルンバサービスは削除される。
| msbuild samples\Samples.sln -v:q -t:rebuild |
ルンバサービスの実行
ルンバとのBluetooth接続を確立し、どのCOMポートに接続が割り当てられたかを覚えておく。
以下のコマンドで、サービスを実行する。
| dsshost /p:50000 /m:"samples\config\iRobot.Roomba.manifest.xml" |
ルンバサービスの接続設定ページの閲覧
Internet Explorerで次のURIを入力し、ルンバサービスの接続設定ページを開く。
| http://localhost:50000/roomba |

ルンバとルンバサービスの接続
「COMポート」を指定し、「Connectボタン」を押す。
KHR-1
KHR-1は、近藤科学が開発した2足歩行のヒューマノイド型ロボットキット。
KHR-1とKHR-1サービスはCOMポート経由で接続する。
KHR-1サービスの実行
以下のコマンドで、サービスを実行する。
| dsshost /p:50000 /m:"samples\Config\khr1services.manifest.xml" |
KHR-1サービスの接続設定ページの閲覧
Internet Explorerで次のURLを入力しKHR-1サービスの接続設定ページを開く。
| http://localhost:50000/khr1 |

KHR-1の操作
サーボの速度と位置の変更
「Speed」に速度を指定。値は0(速い)〜7(遅い)。
「Value」にサーボの位置を指定。値は0〜180。
「Changeボタン」で情報をサーボボードに送信。
モーションの再生
「Motion」にモーション番号を指定し、「Playボタン」でモーション再生。.
ホームポジションの指定
「Homeボタン」でホームポジションを指定。
サーボの位置の読み込み
「Readボタン」で、現在のサーボの位置を読み取る。
サーボのON/OFF
「Sleepボタン」と「Motionボタン」でサーボのON/OFFを切り替える。
ロボットを利用していない時の電池消費を減らすことが可能。