レゴマインドストームEV3をRaspberry Piから制御するためのセットをアフレルから購入し、ライントレースの状況を過去に投稿していますが、Preferred Networksさんが EV3などの機材がなくてもPC上でシミュレーターを利用して体験できるシステムを公開してくれております。
元々MindstormsをNQCやpythonなどのプログラミング言語で動かしてみたいとの思いで始めましたがしばらくお休み、 何がきっかけだったのか久しぶりに思い出し使おうとしたところすべて忘れていたので、再度ゼロから始めて備忘録のつもりで書いておきます。
Preferred Networksさんの投稿はこちらです。
環境としては、workspaceにあるサンプルプログラムをJupyter labで実行して、結果をシミュレーターで可視化する流れのようです。
書いてあることが素人の私には十分理解できませんが、取り合えず私がよく使っているanaconda navigatorの環境で実行してみたいと思います。
anaconda navigatorのインストール・使い方はWeb上に沢山あるので参考にしてください。anaconda navigatorについては賛否色々あるようですが、Pythonのパッケージを手軽に管理することができ、私のような素人は重宝しています。
1.サンプルプログラムなどをダウンロード
先のPreferred Networksさんの投稿画面の右上にあるCodeをクリックしてプルダウンメニュー最下のDownload ZIPをクリック
パソコンにダウンロードしたzipファイルを適当な場所で展開しておく。
2.anaconda navigatorで仮想環境を設定
anaconda navigatorで先ほど展開したファイルのworkspaceフォルダーのサンプルコードを動作させるためのpython環境をつくります。
作り方はanaconda navigatorを起動し、Anaconda Navigatorの左のタブ「Environments」をクリックして、下にある「create」をクリックして適当に名前を付けて仮想環境をつくります。
サンプルコードを動作用と
シミュレーターを稼働用に必要なpythonパッケージがそれぞれのフォルダーのrequirements-sim.txt、requirements.txtにあります。これらを全てインストールします。
【サンプルコードを動作用】
chainer
Pillow
pyserial
jupyterlab ---> これはHome画面からインストール
【シミュレーターを稼働用】
numpy
opencv-python
PyYAML
pillow ---> 上のサンプルコード用でインストール済
これらのパッケージはanaconda navigatorからインストールしておきます。
【注意】
・OpenCVに関して、anaconda navigatorに含まれるopencvパッケージをインストールして使おうとするとエラーが出て動かなかった。
そこで一度opencvをアンインストールして、ターミナルから下記コマンドを実行してopencv-pythonをインストールすると正常に稼働した。
> python -m pip install opencv-python==4.6.0.66 --force-reinstall
・numpyのバージョンが1.24.0以下でないと一部のプログラムが正常に動かないようなので1.23.5にダウングレードした。詳細はここを参照ください。
3.シミュレーターのセットアップ
仮想環境を選択し、▶印をクリックして出てきたプルダウンメニューから「Open Terminal」をクリック。
画面に下記ターミナルが現われます。
・ダウンロードし展開した
先のPreferred Networksさんのファイルのsimulator2dのフォルダーに移動します。私の場合は外付けHDD(F:ドライブ)にインストールしたので「F:」続いてフォルダーに移動しています。移動先のフォルダー位置は各自の設定に合わせてください。そしてmain.pyを実行。
> F:
> cd F:\chainer-ev3_simulation\simulator2d
> python main.py
を順次実行して以下のような画面が出てきたら成功です。
初期設定ではJupyterLabで動作させるコードは実機のEV3と接続するように設定されています。workspace/config.iniの内容を修正することで、接続先をシミュレーターに変更します。
コンフィグファイルの設定をシミュレーター接続のものに変更します。cdでworkspaceフォルダーに移動し、cpで書き換えます。
cdで移動する先は各自のフォルダーに合わせて変更してください。
> cd chainer-ev3/workspace
> cp config-sim.ini config.ini
5.サンプルコードを動作させるためのpython環境のセットアップ
3.シミュレーターのセットアップと同じように仮想環境を選択し、▶印をクリックして出てきたプルダウンメニューから「Open Terminal」をクリックし、続いて画面上に別のターミナルを起動します。
ダウンロードし展開した先のPreferred Networksさんのファイルのworkspaceのフォルダーに移動します。私の場合は外付けHDD(F:ドライブ)にインストールしたので「F:」続いてフォルダーに移動しています。移動先のフォルダー位置は各自の設定に合わせてください。
そしてJupyterLabを起動します。
> F:
> cd F:\chainer-ev3_simulation\workspace
> jupyter lab
ブラウザ上に下記upyter labが起動すれば成功です。
シミュレーターの使い方は、referred Networksさんの投稿を参照してください。
下記動画は、basic_go_back_and_forth.ipynbを実行した際のシミュレーション画像です。
下記動画は、linetrace_controller3.ipynbを実行した際のシミュレーション画像です。
Jupyter labの初期表示ディレクトリ変更