AI自動運転ちびラジコンカー ~ 製作~
AI自動運転ちびラジコンカー ~ 製作~
以前 AI自動運転”でかっ!”ラジコンカー をつくりました ^^#
https://miho-diary.hatenablog.com/entry/2019/12/24/023430
今回は 手のひらサイズの AI自動運転ちびラジコンカー を作ろうと思います ^^#
◆ ハードウェア
【車体】
Fabo で数年前に購入済!2台!!
※ Gecko ただいま絶賛アップデート中!
※ 大きくてもいいからラジコンカーを持っていたら、コントローラーとPCA9685 だけ買えばいいよ!
【Raspberrry Pi】
車2台分
● Raspberry Pi 4 Model B(4GB RAM)
● Raspberry Pi 3 Model B v1.2
【カメラ】
RaspberryPiカメラV1 広角レンズ
【micro SD】
32MByte
【モバイルバッテリー】
Raspberry Pi へ電源供給
【組み立て完成図】
----- と、今回は 車の組み立ては終わってる前提で、ここからが本題! -----
参考にするのは、
『 CQ出版社 インターフェース 2023年3月号 記事』
AIがピッタリ…人間の操作よりも安定して好タイム!学習データも作りやすい
自動運転ラジコン・カーの製作
https://interface.cqpub.co.jp/wp-content/uploads/if2303_151.pdf
◆ ソフトウェアのインストール
【事前準備 インストール】
● Raspberry Pi Imager:使用したバージョン 1.7.3
● RealVNC Viewer
● WinSCP
● NetworkScanner
● TeraTerm
【Raspberry Pi OS セットアップ】
http://ma2.la.coocan.jp/AI_Driver/tt02/view.cgi?fname=install.txt&fsize=5
1. Raspberry Pi Imager を起動
2. 「OS を選ぶ」/ Debian Bullseye の Full でも Lite でもないやつ を 選択
Raspberry Pi OS (other) を 選択
Raspberry Pi OS (Legacy, 64-bit)を選択
3. 「詳細な設定」/ 画面右下の ギヤマーク を選択
4. ストレージを選択して書き込み!!
--- 書き込み終了! ---
5. SSH を有効にする
1) Raspberrry Pi OS を書き込んだ micro SD を もう一度カードリーダーに
2) 中身無し、拡張子無し、ファイル名 ssh のファイルを作成
3) Raspberry Pi OSをインストールしたmicro SDカードのbootディレクトリ直下に、2) で作成した空の“ssh”ファイルをドラッグアンドドロップで置く
というのも、bootディレクトリの下でファイルを作成しようとすると固まったからw
4) NetworkScanner を起動し、現在のネットワーク環境を見ておく
5) Raspberrry Pi に micro SD をセット、電源をいれる
6) 最初は少し時間がかかるが、ある程度したら 再度 NetworkScanner を起動
増えたものが Raspberrry Pi
6. TeraTerm で raspberrypi.local で接続!できた!
サイトを見ながら。。。
http://ma2.la.coocan.jp/AI_Driver/roba/view.cgi?fname=install.txt&fsize=5
7. Raspberrry Pi OS アップデート & アップグレード
1) sudo apt-get update
2) sudo apt-get upgrade
8. raspi-config による設定
1) sudo raspi-config
2) 以下の項目を設定
・ 2 Display Options
⇒ D5 VNC Resolution
⇒ 1024×768
⇒ D6 Composite→V2
⇒ Yes
・ 3 Interface Options
⇒ I1 Legacy Camera
⇒ Yes
⇒ I3 VNC
⇒ Yes
・ 6 Advanced Options
⇒ A1 Expand Filesystem
⇒ OK
9. python の仮想環境を作成
1) python3 -m venv --system-site-packages ~/venv
2) source ~/venv/bin/activate
10. ライブラリをインストール
1) pip install --upgrade pip
2) pip install tensorflow
3) pip install tensorflow_io
4) pip install tflite-runtime
5) pip install opencv-python
※ 長い時があるけど、じっとガマン!
11. 作業フォルダを作成してファイルをダウンロード
1) mkdir ~/AI_Driver
2) cd ~/AI_Driver
3) wget http://ma2.la.coocan.jp/AI_Driver/roba/download/aidriver.py
4) wget http://ma2.la.coocan.jp/AI_Driver/roba/download/cfg.py
5) wget http://ma2.la.coocan.jp/AI_Driver/roba/download/movie.py
12. WinSCP を 使って ~/.bashrc の最後に以下3行を追加
source ~/venv/bin/activate
cd ~/AI_Driver
sudo pigpiod
※ WinSCP の 環境設定を変更:パネル - 隠しファイルを表示する
13. exit して再ログイン
※ exit すると、ヒストリ が溜まっていく / bash_history ファイルが更新される
14. 無線ゲームコントローラのドングルを RaspberryPi に挿す
15. RealVNC Viewer を起動し接続:raspberrypi.local または IPアドレス
16. コンソールを起動し、
1) カメラ認識 の確認
ls /dev
video0 があれば OK!
2) ゲームコントローラ認識 の確認
ls /dev/input
js0 があれば joystick OK!
3) カメラとゲームコントローラの動作確認
python aidriver.py
※ 時間かかるけどガマン!!
【ためしてみよう!】
★ コントローラの赤ボタンを押すと画像が保存されるぞ!
⇒ 画面に枚数が表示される! 再 赤ボタン で止まる
⇒ WinSCP で AI_Drive フォルダを見ると log フォルダがあり .jpg でいっぱい!
★ 「Qキー」でプログラムが停止するぞ!
⇒ WinSCP で AI_Drive フォルダを見ると log フォルダがあり .csv あり!
★ 「ctrキー + Cキー」で止める!
⇒ .jgp(写真) と .csv(サーボやESC情報)を TensorFlow で学習する
まだ、サーボはつないでないので、次回は、
● サーボの確認 & 手動走行
● 教示データ作成
● AI の学習/深層学習(google Colaboratory, TensorFlow)
そして、以前作ったモノもまた活躍するときがやってきた ^^#
【minion バスに大変身】
【minion カラーの可愛いト音記号のコース ^^#
【車窓から ^^#】
最後までお付き合い下さりありがとうございました ^^#