ROS2でもジョイコン使ってみよう

新入生の皆さん、ご入学おめでとうございます。この記事はロ技研新歓ブログリレー2022の3つ目の記事です。


こんにちは.19-toshiです.普段はNHKロボコンに出場するMaquinistaという研究室(ロ技研の活動グループ)でソフトウェア周りを担当しています.

今回はROS2でジョイコンを試すシンプルなパッケージを作ったので紹介します.


ロボット制御用のミドルウェアとして有名なものの1つにROSがあります.
既存のプログラムの再利用により,一からロボットのソフトウェアを書くのと比べて少し楽が出来たり,ログやビジュアライズ用の機能が充実していたりと嬉しいことが多いのでロ技研でも多くの人が使っています.

また,細かい説明は省きますが,ROSの新しいバージョンとしてROS2があります.それぞれの間に完全な互換性はありませんが,ROS(1)で使えた機能の多くが使えるようになっています.

これらROS/ROS2で使える便利なパッケージ(機能)の1つにPS3コントローラーなどのジョイコンをPCに繋いで,数行書き加えるだけでその入力をROS内で利用できるようになるというものがあります.
http://wiki.ros.org/joy
https://index.ros.org/p/joy/

ネットで調べれば様々な記事が出てくるため,環境さえ整えてしまばジョイコンからの入力がきちんとROSの通信形式でやり取りされていることを確認すること自体はそう難しくはありませんが,より視覚的に分かる形で表示したいと考えて今回のパッケージを作成しました.

プログラムを走らせると左のジョイスティックで速度xy,右の一方向で角速度を入力出来るようにしてあり,rviz2上のTFが動くように実装しています.なおジョイコンにはこちらを使用しました.安くていいですね.

シンプルなものなので特にひねった実装はありませんが,一応リポジトリも公開してありますので興味のある方は触ってみて下さい.
https://github.com/toshi67026/joy_control_sample_ros2.git

まだ書きかけですが,ただの速度入力ですので,これを拡張して以下のような障害物回避なども書いてみたりしています.
機械・回路はあまり詳しくないので大分先になるとは思いますが,今後実際のロボットでの実装を見据えて準備していきたいと思います.

 


最後に

ロボット技術研究会という名前だけ聞くと一昨日のたくぽんさんの記事のような機械っぽいものを想像する方が多いかも知れませんが,それだけでなくロボットに関わる技術を中心に電子工作やプログラミングなど幅広く活動しています.

ロ技研ではdiscordを使って部員と気軽に話せる環境を用意しています.少しでもロ技研に興味がある方は以下のリンクから気軽にDiscordに参加してみましょう!

https://discord.gg/AfUAmPKSGz

ここまで読んでいただいてありがとうございました。ロ技研新歓ブログリレー2022の次の記事は明日の予定です。お楽しみに。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です