コンテンツにスキップ

基本編

本章では、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

YOUTUBE

【手順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.pthresult.pthという名称で、TensorRTフォーマットで変換します。

Info

Jetsonでは、メモリ容量の制限のため、必ず処理が終了したNotebookはシャットダウンしてください。

【手順4】17_run.ipynb

17_run.ipynbで、自動走行をおこないます。

Steeringゲインを設定します。値を大きくすると、より大きく曲がるようになります。

Speedは、固定値を選びます。値を大きくすると、走行速度が速くなります。

[走行開始]ボタンを押して、走行を開始します。

AIが動くと、下記のようなメッセージが表示されます。

プロポの裏のボタンを押して、手動走行モードから自動走行モードに変更します。Speedで設定した速度で走り始めます。

AIモードでの走行は、LEDがピンク色に点灯します。