-+

趣味工房 HIRO-G



 < JetBotの製作その9  リモコンでの教師データ収集>


 今回は、リモコンで「JetBot」本体をコントロールして、自前の教師データを収集した報告です。

 「JetBot」本体を立上げ、ホストPCのブラウザからいつもの通り接続しますが、IPアドレスはWiFi側の都合で時々変化しますので、接続前に必ず「JetBot」本体のPiOLEDで確認した方がいいですね。
  「JetBot」本体とホストPC繋がった後、「Jupyter Notebook」を操作して「collision avoidance」「data_collection_teleoperetio.ipynb」を選択しますと、「Collision Avoidance-Data Collection with controller」が表示されます。(写真1、写真2)

 先ずはコントローラの認識作業のため「http://html5gamepad.com」を訪問し、コントローラを認識させた後、次のステップへ「プレイボタン」を押してコマンドを進めますが、進む前に、「AI No2-5: JetBotの製作その5 Teleoperationテスト」の場合と同様に、写真3、写真4の結果に従い、XBOXのコントローラに合わせるために、プログラムの4箇所(写真5)を次のように変更しました。

 @ axes[5] → axes[1]     x:(x+1)*0.5 → x:-x
 A axes[2] → axes[3]     x:(x+1)*0.5 → x:-x

 プログラムを変更後、順次ステップを進め、写真6のように画像ウィジェットが作成され表示されたのを確認後、教師データ収集ステップに入ります。 次のステップへ進む場合は、必ず今実行中の処理が終了していることを、インジケータで確認することが必要ですね。 当方も、ちょくちょく忘れます。
 データ収集の手順は、ホストPCの画面を見ながら、リモコンで「JetBot」本体を目的の位置まで移動させ、コントローラ(写真7)のA又はBボタンを押してクラス分けを行います。 A、Bボタンのクラス名と制御は次の通りです。

 @ Aボタンのクラス名: free(直進)
 A Bボタンのクラス名: blocked(左折)

 写真8は、「free」データを手順に従って取得した例で、取得されてデータの数は緑色の左側の枠に表示されます。 同じように写真9「blocked」の例で、取得されてデータの数は赤色の左側の枠に表示されます。  取得されたデータはその取得の都度、「detaset」フォルダに保存されますが、今回のデータ数はいずれも40個としましたので、データ収集後は、いずれの枠も40となっています。(写真10)
 教師データの収集を終え、最終のステップに入ると「detaset」フォルダのデータが圧縮され、写真11のように「detaset.zip」フォルダが作成されます。
 これで一連の作業は終了となりますので、ホストPCと切り離し、「JetBot」本体をシャットダウンします。

 「detaset」「detaset.zip」フォルダの確認のために、「JetBot」本体にディスプレイ、キーボード、マウスを取付て単独で起動させました
 写真12はディスクトップ上のDockの「Files」を起動させ、Homeディレクトリのサブディレクトリ「Notebooks」「collisionavoidance」フォルダに作成された「detaset」フォルダと「detaset.zip」フォルダを確認した写真です。
 写真13は、「detaset」フォルダに「free」「blocked」の二つのフォルダが作成されていることを確認した写真で、写真14は、収集された「blocked」データ集の一つを拡大した例で、写真15は同様に「free」データ集の例です。
 写真16、17は、データを取得した部屋の様子を映した参考写真です。

 今回の作業で、自前の教師データを収集することが出来ましたので、次のステップは、この自前の教師データを「JetBot」本体で学習させ、その学習結果を基にした衝突回避自動走行テストを実施したいと思います。



<追記>
 次の変更内容について、「AI No2-5」を確認しましたところ、変更箇所の説明が記載されていなかったため、「AI No2-5」についてもこの変更部分を追記し、説明を加えました。

 @ axes[5] → axes[1]     x:(x+1)*0.5 → x:-x
 A axes[2] → axes[3]     x:(x+1)*0.5 → x:-x



 




to AI No2-8       to AI No2-10  


to AI No2-5  

to AI No2-12

to 新テク・アラカルト











                                                 
        写真12 「detaset、dataset.zip」ファイル




               写真13 「free」、「blocked」ファイルの確認


                                                                  写真14 「blocked」データの例




                 写真15 「free」データの例


                   
     写真16 データ取得場所の状況その1




      写真17 データ取得場所の状況その2


                   
< TREX450 SPORT >




 SDXに続き墜落。


 以下同文。








AI No2-9



JetBotの製作その9 リモコンでの教師データ収集
2022年2月21日


写真1 「Jupyter Notebook」の操作



写真2 「data_collection_teleoperetio.ipynb」選択



写真3 「Visit http://html5gamepad.com」



写真4 「Create gamepad controller」



写真5 「コントローラ」のコマンドの変更



写真6 「webカメラ」の起動



写真7 「free」、「blocked」のクラス分け押しボタン



写真8 「free」の画像データの例



写真9 「blocked」の画像データの例



写真10 「detaset」ファイルの作成



写真11 「detaset.zip」ファイルの作成

??