#概要
VS-RC003というVstone社のロボット用制御ボードを搭載したロボットをROSと接続して利用するお話を投稿させていただきます。
課題としては、"KUMACO(クマコ)"という名前のぬいぐるみ型のホビーロボットを用いて、"いないいないバァ(顔が見えたら喜ぶ)"させたいと思います。
完成形はこんな感じです。
ぬいぐるみロボット、KUMACOに目が付いて、息子と”いないいないバァ”で遊べるように進化しました!
— みっちー (@Dream_Drive) December 13, 2019
枯れたVS-RC003プラットフォームの二足ロボも、ROS化すれば命が宿ります(*⁰▿⁰*) pic.twitter.com/EdMui2YzxN
VS-RC003(およびRobovieMaker2)がROSから制御出来れば、たぶんROBO-ONE Autoなどの競技には有用なのではないかなーと目論んでいます。
まずは、PC(ubuntuマシン)にロボットを接続するところまでのお話です。
環境
この記事は以下の環境で動いています。
ROSのPC
項目 | 値 |
---|---|
CPU | Core i7-9750H |
Ubuntu | 18.04 |
ROS | Melodic |
Robovie Maker2を動かすPC (Windowsなら、ほぼなんでもOK)
#KUMACOってどんなロボット?
クマのぬいぐるみ型の二足歩行ロボットです。
2007年に、ROBO-ONEの規格で作成し、そこから10年以上開発しています。
とはいえ、そんなに特殊なことはやっておらず、ホビーロボットとしては10年以上枯れたシステムで、構成は下記の通りです。
見た目こそぬいぐるみですが、中身はごくごく一般的な構成のホビーロボットですね。
項目 | 値 |
---|---|
CPU | VS-RC003(LPC2148FBD64) 60MHz |
アクチュエータ | Hitech HSR8498 x 16個 |
センサ | 9軸IMU VS-IX012 |
KUMACO(VS-RC003)をPCに接続する
PCとVS-RC003を繋ぐケーブルは、Amazonで見つけた300円のUSBシリアルTTL(3.3V)の変換ケーブルを用いました。
RaspberryPi用のものであれば、何でもOKかと思います。
また、専用にヴィストンから「VS-RC003用 シリアル通信接続ボード 「VS-IX003」」という製品も発売されています。
VS-RC003のピンアサインはこちらです。(取り扱い説明書より抜粋)
実際に300円USBシリアルケーブルと接続するとこんな感じです。
KUMACO(VS-RC003)のソフトウェア設定
VS-RC003を使ったことがある前提になってしまいますが、ロボット側はRobovie-Maker2の既存のプロジェクトファイルにちょこっと手を加えるだけです。
まず、VS-RC003には、シリアルポートが2chあるため、CN6を使うか、CN7を使うか、VS-RC003の設定ソフトRobovie-Maker2の「CPU設定」で設定可能です。
また、今回、"いないいないバァ"に使うモーションは「やったぁ.txt」を使います。
割り当てされていない「R3」ボタンに設定しました。
ボタン操作をしないときは、アイドリングモーションが実行され、コントローラーのR3ボタンが押されると、「やったぁ.txt」のモーションが実行されるよう設定します。
通常のコントローラー(VS-C1)の設定と変わりません。
R3以外のモーションもコントローラーのボタンに割り当てられたモーションはすべて、ROSから実行可能です。
PC(ROS)側の準備
VS-RC003が接続されたUSBシリアルケーブルをPC(ubuntu)にUSBで接続すると、/dev/ttyUSB0にシリアルポートのデバイスファイルが生成されます。
シリアルポートのデバイスファイル"/dev/ttyUSB0"は、dialoutのグループにアクセス権が与えられているため、ログインユーザーをdialoutのグループに登録します。
$ sudo usermod -a -G dialout $USER
これで、PCとKUMACO(VS-RC003)との接続は完了です!
次は、いよいよROSからKUMACOを制御します。