VS-RC003をROSに対応させてみた。 #02
先日公開したVS-RC003を制御するROSパッケージですが、使い勝手の面から再度大幅に作り直して、更新してみました。
ROSからVS-RC003をシリアル経由で制御するパッケージ
https://github.com/dreamdrive/ros2vsrc
ポイントとしては、カスタムメッセージを定義することで、以前のVSRCの専用コマンドを使うのではなく、VsrcStateとVsrcControlというメッセージを用いて情報をやりとりする形に変更しました。
それぞれ、メッセ―ジの中身は下記の通りです。
定義自体は、非常にわかりやすい思いますので、rqt_ez_publisherなどのテストツールからでも、視覚的に分かる形で動作テストが可能かと思います。
上位のノードを作成するときも、VSRCの専用コマンドの知識がなくてもノード作成できるように、という配慮からの仕様変更です。
おそらく自分自身も時間が経つと忘れてしまうと思いますので(笑)
あと、コントローラーを使った遠隔操縦も出来るよう、”vsrc_connect2″に対応した、”vsrc_control2″も更新しました。
Xbox360のコントローラーに合わせて作っていますが、こちらもVSRCの専用コマンド の知識を必要としないので、その他コントローラーの対応もやりやすくなったと思います。
こんな感じで接続して使ってみてください。
LAN経由で遠隔操縦も可能です。
GitHub上には、従来の vsrc_connectも残していますが、 vsrc_connect2を使っていただくのが良いです。まぁ、使ってくれる人がいれば…の話ですケドね。
西側にユーザーの多いV社のボード使ってる人たちが、ROSを使い始めるきっかけにならないかなーとか。
とりあえずは、ROBO-ONE autoをやるのに、 機体側のROS対応は準備が整ったかなーという感じです。
ちなみに、 KONDOのRCB3HVのROS対応はholypongさんが取り組まれてるようです。
レギュレーションでは、KHRとレフェリー(人間)の識別なので、 “レフェリーとKHRの識別のノード”なんて出来たら、共通して使えそうですね。ROSの魅力って、こうやってリソースを共有できることだと思うんですが、いかがでしょう。
ROBO-ONE auto、なかなかハードルが高い&ハードルが多数あるので、オープンに取り組めたら面白いんじゃないかなー、とか思ったりします。
一方で「競技会」ってことを考えたら難しいのかなー。
コメントを残す