ROS 2でクローラロボット開発プラットフォームを制御するArduinoスケッチです。
セットでROS 2パッケージのcugo_ros2_control2と使用します。
cugo_ros2_motorcontroller2では、ROS 2パッケージの cugo_ros2_control2から受信した目標回転数になるようにモータ制御し、エンコーダから取得したカウント数をPCに返信します。
また、付属のプロポ(MR-8)を用いて、コントローラ操作と自律走行の切り替えができます。左スティックを左に倒すことでコントローラ操作を受け付けるRC-MODEに、右に倒すことでROSの速度ベクトルを受け付けるROS-MODEに切り替えることができます。
自律走行中に誤った判断をして障害物に衝突しそうなシーンでは、プロポによりRC-MODEに変更することで、コントローラ操作に即時に切り替わりロボットを止めることができます。
- クローラロボット開発プラットフォーム CuGo V4
- クローラロボット開発プラットフォーム CuGo V3i
でお使いいただけます。
ハードウェア
- RaspberryPiPico(クローラロボット開発プラットフォームに同梱)
Arduino標準ライブラリ
- Servo.h
- PacketSerial.h
- RPi_Pico_TimerInterrupt.h
- hardware/watchdog.h
Arduino IDEでcugo_ros2_motorcontroller2.inoを開き、スケッチを書き込んでください。
ArduinoIDEのインストール方法や書き込み方法などの基本的な操作方法はこちらの2.準備をご覧ください。
クローラロボット開発プラットフォームのRaspberryPiPicoとPCをUSBケーブルで接続してください。
スケッチがRaspberryPiPicoに書き込まれていれば、ROS 2パッケージcugo_ros2_control2を起動すると、自動的にPCと通信します。
もし、うまく /cmd_vel
通りに走行を開始しない場合は、一度USBケーブルを抜き、 ロボットの電源を入れなおしてから再度PCとRaspberryPiPicoをUSBケーブルで接続してください。
ご不明点がございましたら、お問い合わせフォームにてお問い合わせください。回答いたします。
このプロジェクトはApache License 2.0のもと、公開されています。詳細はLICENSEをご覧ください。