基本編
本章では、JetRacerの最新版を自動走行せる手順を簡易的、手短に解説します。
流れ
1〜5の流れで進めていきます。
項目 | Notebook | 処理 |
---|---|---|
1 | 01_find_pwm.ipynb | TT02(RCカー)のPWM値の調整 |
2 | 11_record_camera.ipynb | 走行のカメラ画像を録画 |
3 | 13_annotation.ipynb | RCカーの走行させたい向きをアノテーション, 学習 |
4 | 16_convert.ipynb | TensorRTに変換し、量子化、軽量化 |
5 | 17_run.ipynb | RCカーで自動走行 |
【手順1】01_find_pwm.ipywn
【手順2】11_record_camera.ipynb
11_record_camera.ipynbで、走行時のカメラ画像を録画します。Notebookを下記画像のところまで実行します。dataset名は、任意の名前のdataset名にし、[Record] ボタンを押します。カメラの処理が問題なく動いている場合は、3秒ごとに、カメラのfpsの周期がメッセージで表示されます。
RCカーの状態は、緑色の点灯の状態で、RCカーをプロポで手動走行させます。
モードの切り替えは、プロポの後ろのボタンでおこなう事ができます。配線等が問題なければ、ボタンを押す度に、緑色
⇔ピンク色
の色に切り替わります。
コースを5〜10週程度、手動走行したら、[Stop]ボタンを押して録画を終了します。[Stop]ボタンを押すと、そこまでの録画枚数も表示されます。
[カメラ開放]ボタンを押して、カメラを停止します。
Info
Jetsonでは、メモリ容量の制限のため、必ず処理が終了したNotebookはシャットダウンしてください。
☓ボタンでNotebookを閉じます。
閉じる際に、保存するかを聞いてきますので、[Discard]を選択します。
[プロセス]タブを選択します。
11_record_cameraを[shutdown]
もしくは[x]
ボタンをクリックし、Notebookのプロセスをshutdownします。この処理をおこなう事で、Notebookが専有していたメモリが開放されます。
[ファイル]タブを再び選択するとファイル一覧が表示されます。
【手順3】13_annotation.ipynb
1.使用する推論モデル
新規にモデル作成する場合は、読込モデルは[new]を選択してください。
2.読込元データセット
カメラ画像の録画で作成したデータセットを選択します。 taskはcamera, datasetはカメラ画像の録画時につけたデータセット名を選択します。
[読込み]ボタンを押すとデータセットの読込みが開始されます。
30秒から1分程度待ちます。下記のようなメッセージが表示されたら、読込み完了です。
3.保存先データセット
保存先データセットを新規に作成します。dataset新規作成から任意の名前のデータセット名(例:aizu_dataset_102)を入力し、[Create dataset]ボタンを押します。
作成した名前のデータセットが設定されます。
4.アノテーションの実施
アノテーションでは、車体を向かわせたい向きを、赤い太枠のエリアをクリックし、登録していきます。左折させたいとこは、左方向をクリックして、データ登録していきます。青◯はAIの推論結果で、緑◯がユーザがクリックしたアノテーション結果となります。
現在表示している画像の前後8枚の推論結果を表示したい場合は、<[-8],[8]> ボタンをクリックします。
登録したデータ数は、XYデータ数, 速度データ数で確認できます。シンプルなコースの場合は、100枚程度のアノテーションを実施します。
5.学習
登録したアノテーションデータを30 epoch学習させましょう。epochsの値を30に増やし、[train]ボタンをクリックし、学習を開始します。
学習が開始されると、Progressのゲージが動き始めます。
30 epochの学習が完了したら、4.アノテーションの実施に戻り、推論結果を確認します。
noを100ぐらいに戻し[▶]ボタンを押して、青◯で表示される推論結果を確認します。認識がうまくいっていない箇所があったら、[⏹]ボタンを押し、画面をクリックし、アノテーションを追加して、データを補正します。
4.アノテーションの実施⇔5.学習を相互に行き来しながら、繰り返し、アノテーションデータを作成していきます。満足のいく推論結果になったら、[save model]でモデルデータをmodel.pth
の名前で保存します。
Info
Jetsonでは、メモリ容量の制限のため、必ず処理が終了したNotebookはシャットダウンしてください。
【手順3】16_convert.ipynb
16_convert.ipynbでは、保存したモデルをTensorRTのフォーマットに変換し、軽量化します。前項で保存したmodel.pth
をresult.pth
という名称で、TensorRTフォーマットで変換します。
Info
Jetsonでは、メモリ容量の制限のため、必ず処理が終了したNotebookはシャットダウンしてください。
【手順4】17_run.ipynb
17_run.ipynbで、自動走行をおこないます。
Steeringゲインを設定します。値を大きくすると、より大きく曲がるようになります。
Speedは、固定値を選びます。値を大きくすると、走行速度が速くなります。
[走行開始]ボタンを押して、走行を開始します。
AIが動くと、下記のようなメッセージが表示されます。
プロポの裏のボタンを押して、手動走行モードから自動走行モードに変更します。Speedで設定した速度で走り始めます。
AIモードでの走行は、LEDがピンク色に点灯します。