CuGoV3をM5Stackで簡単に制御してみた

テックブログ

 はじめまして。インターンの塚本です。高専7年生です。
今回はロボット制御初心者の僕がCuGoV3をM5Stackで制御してみます。

概要

 CuGoV3を幅広いユーザに使用してもらうには、簡単に制御出来た方が良いと考えています。そこで、Blockly言語で開発が可能なM5Stackを用いて簡単な自律制御をします。CuGoV3遠隔操作ロボットキットはKOPROPO MC-8(近藤科学)で制御されているため、代わりにM5Stackから制御信号を出力し動作させます。
 今回はM5Stackの中心のボタン(ボタンB)を押すと3秒間直進するプログラムを作ります。

CuGoV3とは

 「CuGoV3」はテスト機をスピーディに制作できる、業界初のテスト用電動クローラユニットです。大動力機構を内蔵し、人が乗って走れる走破性、アルミフレーム外装による高いカスタマイズ性と耐久性を実現。
自動走行、自律走行などの分野の研究・事業開発用ユニットとして活用できます。

詳しくはこちら → https://cuborex.com/cugo

CuGoV3コンプリートキット

M5Stackとは

 M5stackはEspressif ESP32チップセットを採用した開発モジュールでディスプレイ、microSDカードスロット、バッテリーなどを内蔵しています。開発環境とプログラミング言語はArduino、UIFlowを用いたBlockly言語、Micropythonです。今回はUIFlowを用いたBlockly言語で開発を行います。

詳しくはこちら → https://www.switch-science.com/catalog/7362/

UIFlowとは

 UIFlowはM5Stack社が提供するWebベースのプログラミングツールでビジュアルプログラミング言語BlocklyとPythonを切り替えが可能です。ブラウザ版とデスクトップ版があり、ブラウザ版の場合はWiFi経由で書き込みが行えます。

詳しくはこちら → https://m5stack.github.io/UIFlow_doc/ja/

使用機器

名称個数詳細
M5Stack Basic V2.61 https://www.switch-science.com/catalog/7362/
CuGoV3 遠隔操作ロボットキット1https://cuborex.base.shop/items/39457737
ジャンパーワイヤ4https://akizukidenshi.com/catalog/g/gC-05159/

開発環境

  • MacBook Air(M1,2020)
  • Google Chrome 103.0.5060.114
  • UIFlowブラウザ版 v1.10.1

配線

M5StackCuGoV3 モータドライバ
GND左右の黒
G2右の白
G5左の白

プログラム

  CuGoV3はPWM信号で制御されており、停止のデューティ比から値をプラスすると前進、マイナスすると
後進となっています。

実際のプログラム

デューティ比

 デューティ比はパルスがHighになっている時間が1周期のうち何[%]かを表しています。基本的なラジコンの
制御信号の停止パルス幅が約1500[µs]です。今回は、PWM信号の周波数を50[Hz]に設定したため1周期は20[ms]であり、1500[µs]は1周期の7.5[%]となります。モータドライバの個体差で少し誤差があるため今回は停止のデューティ比を7.25[%]に設定しました。

走行動画

まとめ

 今回はM5Stackを用いてCuGoV3の制御を行いました。Blockly言語での開発は誰でも簡単にできるのでぜひチャレンジしてみてください。次回はより高度な制御を行うためにCuGoV3とロータリーエンコーダを用いて角速度を取得します。

参考文献

  1. M5Stackであそぼう, https://mag.switch-science.com/2018/02/28/getting-started-with-m5stack/,2022/07/15参照
  2. https://www.switch-science.com/catalog/3647/,2022/07/15参照
  3. https://m5stack.github.io/UIFlow_doc/ja/,2022/07/15参照
  4. https://berry.sakura.ne.jp/technics/servo_control_p3.html,2022/07/15参照