見出し画像

LEGO MINDSTOMS EV3のプログラミング環境準備

数年ぶりにLEGO MINDSTOEMS EV3(レゴマインド ストームEV3)を使ってみようと思ったけど、ソフトウェア環境の構築方法をすっかり忘れており、ちょっと苦戦しました (色々と走り書きのメモは残っていたけど、数年経つと暗号にしか見えない、、、)。そこで、調べたことを未来の自分への備忘録にしておきます。EV3は教育用ということもあり、プログラミング環境の構築方法が色々あります(ここが混乱する要因かと、、、)。

◆GUI(Graphical User Interface)は2種類
初心者や子供への教育向けとして、GUI(Graphical User Interface)でのプログラミングが用意されている。ソフトウェアは2種類あり、LabVIEWベースのアイコン型のEV3 Labと、Scratchベースのアイコン型のEV3 Classroomである。両ソフトとも充実したチュートリアルが用意されている。詳細は下記へ。

LabVIEWベースのアイコン型のEV3 Lab(v.1.4.5)は下記からダウンロードした。

一方で、Scratchベースのアイコン型のEV3 Classroomは下記からダウンロード(v.1.5.3)した。Microsoft Store アプリとして提供されている。

両ソフトともチュートリアルを眺めて満足してしまったので、具体的なソフト作成はしていないです(今後の楽しみにします)。

◆Pythonの利用
Pythonで機械学習に挑戦したかったので、EV3のソフトをPythonで作成することにした。今回は標準的な方法として、インテリジェントブロックEV3にPythonプログラムを転送して実行する方法を選択することとした(インテリジェントブロックEV3を使用しない方法として「Raspberry Pi+BrickPi」や、EV3に拘らなければRaspberry Pi Build HATという選択肢もあるそうです)。今回は下記2種類を試した。

(1)「PuTTY+WinSCP」
 この方法は代理店であるAfrel(アフレル)のテキスト「教育版EV3 Python プログラミングガイド」や「ロボットではじめるAI入門Python×教育版レゴ マインドストーム EV3」に記載されている方法です。
 Win32DiskImagerを使用してmicroSDHCにPython開発に必要なev3devのイメージファイルを書き込み、EV3のIPアドレスを確認して、PCで作成したPythonファイルをWinSCP経由でEV3に転送した後に、PuTTY経由でEV3にログインしてPythonファイルを実行する。PCとEV3の接続方法はUSBケーブルか、Bluetoothか、LANケーブル(ネットワーク)かの選択になる。また、EV3のev3devをアップデートするために、USB-LANアダプタが必要になる。
 開発ルーチンは、「PCでPythonファイル作成→WinSCP経由でEV3に転送→PuTTY経由でEV3にログインしてPythonファイルを実行」となる。なお、アフレルからDLしたev3devのイメージファイルはbrickman v0.8.1であった。

(2)「Visual Studio Code」の利用
microSDHCにEV3用MicroPythonを書き込み、PC上のVisual Studio CodeのPythonファイルをUSB経由かBluetooth経由でEV3に転送して実行する。MicroPython用のEV3 MicroPython imageは下記からDLした(EV3 MicroPython micro SD card image)。
開発ルーチンは、「Visual Studio CodeでPythonファイル作成→Visual Studio Code上でEV3と接続しPythonファイル転送→EV3に転送後に自動的に実行」となる。DLしたEV3 MicroPython imageはbrickman v0.10.3であった。(ちなみに、brickman v0.8.1のEV3には、Visual Studio Codeから接続できなかった)。Visual Studio Codeを利用した場合は、PuTTYやWinSCPでの「EV3のIPアドレス打ち込む」がないので、ちょっと楽かもと思っている。

◆その他(MATLAB Online)
MATLABのSimulinkでEV3のソフトを開発する方法も調べた。MATLABのAppアドオンから「MinGW」と「Simulink Support Package for LEGO MINDSTORMS EV3 Hardware」をインストールする必要があることがわかったが、「このアドオンは、MATLAB Online ではサポートされていません」という表示が出たので、断念することにした(MATLAB Onlineではダメなのか、、、)。

 とりあえず、PythonでEV3の開発を進められる環境を構築できたのは良かった。

#ロボット
 #LEGO  #レゴev3 #EV3 #LEGO MINDSTOMS #プログラミング

この記事が気に入ったらサポートをしてみませんか?