本記事で学べるもの
- MATLABのEV3の連携方法
- MATLABのEV3環境構築
MATLABを用いたEV3の制御方法
こんにちは。
Twitterを1年ほど放置していたら乗っ取り被害にあってサングラスを宣伝されていたことがあるハリボーです。
EV3を動作させるには専用ソフトウェアが便利です。
ブロックを視覚的にわかりやすく配置するだけで簡単に動作させることができます。
if文やループ文もブロックで簡単に作れるので、小学生でも慣れていたら容易に扱えるほどのお手軽さです。素晴らしい教材です。
一方で複雑な制御をしようとした場合には少々扱いにくくなることがあります。
多次元配列や行列などをブロックで表現するのは大変難しいです。
こんなときは便利な制御ソフトウェアであるMATLABでEV3を乗っ取ってしまうとできることが飛躍的に向上します。
複雑な計算をPCでやってくれるので、EV3のスペックに依存することなく制御できます。
ちなみに、こちらの記事でもMATLABでEV3を動かしています。
MATLABとEV3の環境構築
さっそくMATLABで環境構築をおこないます。
LEGOで乗っ取るためには公式サポートパッケージが便利です。
MATLABのアドオンから導入します。
導入したら、まずはEV3をMATLABで認識させます。
mylego=legoev3('usb')
EV3とUSBケーブルで接続し、次のコマンドを打ちます。
正しく認識されると下記のようにプロパティが返ってきます。
サンプルを動かしてみる
EV3が認識できたらサンプルプログラムを動かしてみます。
EV3のモータをポートAに接続し、認識させます。
mymotor1 = motor(mylego,'A')
回転速度を定義します。初めて動かすときは弱めに設定。いきなり暴走したら怖いので。
mymotor1.Speed = 30
そしてスタートコマンドを入力。
start(mymotor1)
回りました!
MATLABからの指令でEV3のモータが回転しました。
この場合放っておくと無限に回転し続けるので、止めるときはこちらのコマンドで。
stop(mymotor1)
EV3モータはエンコーダが内蔵されているので、下記コマンドで回転角度(degree)がわかります。
readRotation(mymotor1)
以上でMATLABでEV3を制御する準備が整いました。
これらのコマンドを使い分けることで自在に制御できます。
使用例はこちらの記事で紹介しています。
慣れればルービックキューブだって揃えることができます。