VS-RC003をROSに対応させてみた。 #01
ROSを用いて、VstoneのVS-RC003を制御する(コントローラの値を送る)パッケージが出来たので、GitHubにアップしてみました。
Github : ros2vsrc
https://github.com/dreamdrive/ros2vsrc
下記の例は、VS-RC003を搭載したのローバーの例ですが、本来VS-RC003は二足歩行ロボット用のボードですので、もちろん二足歩行ロボットにも使えます。
ROSとVS-RC003の間でやりとりしている情報はコントローラーのボタンとアナログスティックの値だけという、かなり割り切った仕様です。
手法としては出力ピンのアドレスを直接オーバーライドする手もあったのですが、 それならArduinoで作っても変わらず、VS-RC003である意味(便利なモーション再生装置であること)を活かすため、コントローラーの情報のみをROS topicとしてやり取りしています。
ROSから見ると、ロボットの状態が把握できないため、シミュレーション等には使えませんが、ROSの「入力→処理」の結果をモーションという形で「出力」することが出来るため、これはこれで有用と考えました。
ROSありきで考えるとかなり無駄なことをやっている感じもありますが、VS-RC003ベースで考えると、VS-RC003だけでは出来ないことをROSを使って拡張できるメリットは大きいです。
頑張れば、 ROS側に接続したセンサやカメラの結果を、 /joy topicとしてpublish し、ブラックボックスな移動ロボットとしてSLAMなどを実装することも可能なのかなーと思います。 さらに頑張れば、ROBO-ONE autoにも使える…かもしれませんね?
ちなみに上記の動画を撮った時点では、1アドレス分しか送受信してなかったのでコントローラーの十字キーしか使っていませんが、公開したパッケージでは、下記の通りアナログスティックにも対応しています。
VS-RC003の次はまだかーと言いながら、こんなものを作って延命させてしまってます。(^^;A
コメントを残す