動いた! RoverC自律運転
組み上げました。
RoverCを使った自律走行車(大袈裟で自律走行車の定義を無視して使っています)を組み上げました。
ベースには、RoverC
そのコントローラには、M5StickC
画像認識用のコントローラには、UnitV
を使っています。
その画像はコレです。
RoverCについて見てみましょう。
組み上げはしましたが、動作の基礎となる足回りをまず確認しましょう。
ベースは、RoverCです。
RoverCは、コントローラであるM5StickCを接続して使用するメカナムホイールユニットです。
メカナムホイールについては下の記事に判りやすい説明がありますので参照してください。
https://afrel.co.jp/pdf/product/tetrix_mecanumwheel.pdf
RoverCの移動方向と動作させるモータの関係は以下の図になります。
これをプログラムの中に表現していくことになります。
M5StickCのプログラム作成
M5StickCのプログラム開発は、Arduino IDEで行います。
それではArduino IDEを立ち上げましょう。
立ち上げると下の図に示す画面が出てきます。
いきなりRoverC用のプログラムを書く能力はありませんのでgithubの中から参考になるコードを探しました。
RoverCでボールを追っかけるプログラムみたいです。
これを参考にしてライントレースしてRoverCを動かすプログラムを作っていきます。
上のサイトから、track_ball.inoというファイルをダウンロードし、それをArduino IDEで開きます。
プログラムの中で変更すべきところは、対象がボールかラインかということなのでRoverCへの進行方向、横方向、モータ回転速度の指示のための計算の所だけと思います。
プログラムが出来上がったらArduino IDEの画面の上にある⇒のマークを押してプログラムのコンパイルとM5StickCへの書き込みをします。
準備ができました。
早速動かしてみましょう。
ちょっとギクシャクした感じはあるが動いた!
RoverCを走行させるための走行路をA4の白紙にマジックで黒い線を描くことで使って作りました。
それがコレです。
手作り感タップリ。
角度を変えて見てみると結構サマになっています。
それでは、GO!
なかなか良い走りです。
簡単なプログラムなのにキチンと黒い線を認識して線の角度を計算し、それを4つのモータの回転データに切り替え、上手く制御していると思います。
これが9000円程度で出来るわけですので技術の進化は素晴らしいと思います。
今回は基礎的なところができましたので、これをベースにちょっと変わった動かし方を考えてみたいと思います。
では、また。