この記事では、Raspberry Pi 3 MODEL Bを対象に、ロボット製作に適した開発環境のセットアップ手順を紹介します。
このセットアップ手順を実行することで、以下の記事で紹介したようなロボット用のプログラミングが可能になります。
ロボット製作に興味はあるけど、以下のような理由からなかなか手が出せないという方が多いのではないでしょうか? ソフトとハード両方の知識が必要で敷居が高かそう 部品をどこで買っていいか分からない お金が掛かりそう […]
この記事で紹介する手順のポイントとしては、以下を挙げています。
- 簡単なコマンドの実行と設定ファイルの変更のみで可能な点(サードパーティ製のライブラリ(パッケージ)の手動ダウンロード・ビルドが不要)
実際にインストールするプログラミング言語・実行環境、および主要なパッケージは以下になります。
- プログラミング言語: python 3
- 実行環境: JupyterLab
- パッケージ: OpenCV, Numpy, pygame, joystick, ds4drv
1. 前準備(パッケージ情報の更新)
2. プログラミング言語、およびユーティリティのインストール
python3-devはPythonコード実行用のインタプリタ、python3-pipはPythonパッケージのインストールなどを行うユーティリティになります。この二つに必要な関連するパッケージも自動でインストールされます。
3. 主要なパッケージのインストール
3-1. 各種通信インターフェース用パッケージ
3-2. OpenCV、Numpy関連パッケージ
3-2-1. 画像関連パッケージ
3-2-2. 動画関連パッケージ
3-2-3. GUI関連パッケージ
3-2-4. 内部計算最適化関連パッケージ
3-2-5. 階層構造データ保持(HDF5)関連パッケージ
3-3. 画像処理、カメラデバイス認識用パッケージ
3-4. ゲームパッド(コントローラ)認識、入力解析用パッケージ
3-5. PS4コントローラ接続用パッケージ
4. 通信インターフェースの設定変更
手順3-1でインストールしたパッケージを使用するために、Raspberry Pi本体側で通信インターフェースを有効化します。
4-1. I2C、シリアル、SPI機能の有効化
4-1-1. 「Rapberry Piの設定」を開く
スタートメニュー -> 設定 -> Raspberry Piの設定
4-1-2. インターフェースタブで該当機能を有効化
「Rapberry Piの設定」ウィンドウ -> 「インターフェース」タブ -> 「I2C」「Serial Port」「SPI」の「有効」を選択 -> 「OK(O)」で設定を確定
4-1-3. I2C機能の設定ファイル修正
以下のコマンドを実行し、設定ファイルを開きます。
5. 実行環境のインストール
Python 3のコードはテキストエディタのみでもプログラミング可能ですが、JupyterLabを使用するメリットのは以下のようなものがあります。
- 任意のブロック単位でプログラミングとコード実行が可能であるため、特定のコードのみを繰り返し試験・修正することが可能な点
- Notebookの拡張機能が豊富に取り揃えられており、コード整形や予測変換、見出し・アウトライン作成やタグ付けなどが可能な点
JupyterLabのインストールは以下のコマンドで行います。
Notebookの拡張機能のインストール・有効化は以下のコマンドで行います。
6. プログラミング環境の動作確認
6-1. jupyterlab起動
規定のブラウザ(デフォルトではChromium)が立ち上がり、JupyterLabのトップページが表示されます。
※Notebook作成以外の機能を使用しない場合は、以下のコマンドでブラウザを起動し、ファイル新規作成or選択した方が効率的に作業を実施できます。
6-2. Notebook作成
JupyterLabのトップページでPython 3を選択すると、カレントディレクトリ上にUntitled.ipynbという名前で新規Notebookが作成されます。プログラミングはブラウザ上で行い、上部のツールバーでブロックの追加/削除や実行、拡張機能の適用などが行えます。
6-3. インストール済みパッケージの動作確認
手順3-1でインストールしたパッケージはモータドライバ販売元のPython 3コード内で使用しています。以下のサイトからデモコードをダウンロードし、以下の画像のようにPython 3コード上でimportし、実行エラーが発生しなければ、インストールは問題なく成功しています。
[デモコード]
ダウンロードページ: https://www.waveshare.com/wiki/File:Motor_Driver_HAT_Code.7z
手順3-2、3-3、3-4でインストールしたパッケージ(OpenCVなど)はPython 3コード上でimportして使用します。
以下の画像のようにNotebookからimportし、実行エラーが発生しなければ、インストールは問題なく成功しています。
手順3-5でインストールしたパッケージ(ds4drv)は、スタンドアローンのアプリケーションとして実行します。ターミナルを起動し、以下のコマンドを実行し、実行エラーが出力されなければ、インストールは問題なく成功しています。
関連記事
①以下の2つの記事で紹介している設定を行うことで、クライアントマシン(Windows PCなど)のVisual Studio Codeから、Raspberry Pi上のJupyter Notebookを編集、実行できるようになります。
Visual Studio Code(以降はVSCodeと呼称)の拡張機能「Remote Development」を使用すると、クライアントのVSCodeからRaspberry Piのフォルダツリーの閲覧やファイル操作、ターミナルからBas[…]
本記事では、Visual Studio Code(以降はVS Codeと呼称する)上で、JupyterNotebookを作成・実行する方法を紹介します。 JupyterNotebookはpythonスクリプトをGUIライクの環境で、小[…]
②ロボット製作よりも簡単で、汎用入出力(GPIO)ピンの学習におススメのLED素子を用いた回路作成とプログラミングの事例を以下の記事で紹介しています。まずは簡単な例で組み込みプログラミングのイメージをつかみたいという方は、こちらの記事も是非ご覧ください。
「Raspberry Pi」はLinuxOS相当のOS上でブラウザ操作やプログラミングが直接可能でありながら、汎用入出力(GPIO)ピンを標準搭載しているため「センサー系」「駆動系」との接続、制御が容易に可能なコンピュータです。 その[…]