Design

■「Robot-Laboratory」で開発した設計仕様等です。

 

Third-Person View(三人称視点)System

自機の後方やや上方の目線(Third-Person View)のカメラアングルでロボットを撮影し、そのロボットの動きに追従するWEBカメラのシステム。
First-Person Shooter(一人称視点、つまり自機の目線)ではロボットとその周囲の距離感が掴めず操作に習熟が必要で、なによりロボット自体の状態を目視できないというデメリットがあったので開発しました。
構成図は以下のイメージです。

Bluetooth通信モジュールは「VS-BT001」と「RBT-001」を使用。RBT-001はVS-BT001が生産中止との事なので後継機であるVS-BT003を試してみましたが、PCとの相性が悪いらしく通信ができず、RBT-001を代替えとしました。

Third-Person View(三人称視点)System<SOFT>

Bluetooth通信モジュールを使用したシリアル通信にて、サバイバルロボットとWEBカメラを搭載した2軸移動テーブルを制御します。また、OpenCVSharpを使用した画像処理制御を併せたプログラムです。また、ロボットの操作性を向上するため、JOYPADからのコントロールも追加しました。
今回からC#でのプログラムに挑戦。
以下のサイトを参考にさせて頂きました。
水飴信号さん「AndroidをWebカメラ代わりにして画像処理」
とある無職の悪戦記録「C#でジョイパッド入力」

 内容 シリアル通信と画像処理制御プログラム
 開発言語  Visual C# Express Edition
 アプリケーション  Windows フォーム アプリケーション
 その他  Bluetooth通信モジュール「VS-BT001,RBT-001」
 ソースコード  3rdViewSystem v0.1

Third-Person View(三人称視点)System<MECH>

サバイバルロボットの動きを追従するための2軸移動テーブル。X,Y軸の駆動は市販のGearBoxを使用しました。当初X,Y軸両軸の駆動にUNIVERSAL GEARBOXを使用しましたが駆動音が大きすぎたため、他のGEARBOXを使用しました。

 ストローク量  725mm(X,Y軸共)
 駆動UNIT X軸  MINI MOTOR LOW-SPEED GEARBOX
 駆動UNIT Y軸  Worm Gear Box H.E.
 DRIVER(DC)  DRV8832(DC Motor KIT)
 WEBカメラ  HD WEBCAM C615(logicool)


サバイバルゲーム用ロボット「Robovie-nano改」
Bluetooth通信モジュール「VS-BT001」を使用したシリアル通信により、PC上からのロボット操作を可能にしました。(アナログスティックはtrackBarで代用しましたが、操作感に難あり)
構成図とゲームパッドとの対比は以下のイメージです。

「モーション(動作)プログラム」<Robovie Maker2>
ロボット用CPU ボード「VS-RC003」の各種設定やモーションの作成するため、Robovie Maker2を使用します。アイドリング中(操作待ち)の状態が4種類あり、分岐処理を使用して状態分けをしています。