-+

趣味工房 HIRO-G


  
   < JetBotの製作その5 Teleoperationテスト >


 またまた日が経ちましたが、「Jetson Nano B01」拡張基板関連のハード面のテスト環境は一応完成したので、「AI No2-3」で準備しました台車、ツカモトエイム(株)製のロボットクリーナ、型式「AIM−RC02」に搭載して一応、クリーナ機能を持った「JetBot」の試作となります。
 電源周りは、取りあえず「AI No2-4」の通りリポバッテリ(4セル、14.8V、1500mAh)をDC-DCコンバータHiLetgo XL4015 (5A、入力4〜38V、出力1.25V〜36V)を使い、モータ駆動用の電源と「Jetson Nano B01」拡張基板への供給電源を単一電源5Vでテストしてみました。 写真1は今回のテスト用機材一式を搭載した写真です。

 今回のテストにはJetBotをリモートで制御するために、ホストPCとしてノート型PC(HP ProBook 450 G3)とコントローラは、写真2のUSBコントローラ(Xbox 360用)を準備しました。
 JetBotの制御テストは写真3の通り「JetBot Wiki」の「Getting started」、 「4.Run through the examples」の「Examples」の手順に従いましたが、「JetBot」の本体は試作時にチェック済みですので、「Example 1 - Basic Motion」のテストは省略して、「Example 2 - Teleoperation」から実施することとしました。

 手順としては先ずは、JetBot本体を起動させます。
 写真4のように電源用のリポバッテリ(4セル、14.8V、500mAh)のコネクタと、DC-DCコンバータのコネクタを結合すると、DC-DCコンバータの赤色LEDが点灯し、モータ駆動用に供給される電圧が電圧計に表示され、同時に本体の「Jetson Nano B01」のファンのみが回転しますが、本体の電源スイッチを押さない限り本体には電源は供給されません。 
 次いで、拡張基板上のモータ駆動用基板用電源スイッチを入れると、写真5のようにモータ駆動用基板の緑色LEDが点灯します。 続いて本体の電源スイッチ(写真6は電源スイッチOFFの状態)を押すと、写真7のように本体の電源スイッチが光ってON状態となり、しばらくすれば写真8のようにPiOLEDが点灯しIPアドレスが表示され、JetBot本体の準備は完了です。

 ホストPCJetBotは、写真9のように次の書式でプラウザ(Chrome)からJetBotIPアドレスでWiFi接続しました。

      http://IPアドレス:8888
      パスワードは jetbot

 JetBotと接続されると、Nootbookのホームディレクトリが表示されるので、Notebokフォルダを選択しプリインストールされているフォルダのうち「TeleOperation」を選択しました。(写真10)
 コマンドを進めるためには「プレイボタン」(写真11)を押しますが、「プレイボタン」を押す際に注意することは、前のコマンド処理が終わっていることを確認して次のコマンドを実行することです。
 前のコマンド処理の実行状態は写真12の右上、「Python3」の右(の下)の丸印が白丸(完了)か黒丸(実行中)かで判断します。 因みに写真12は、白丸でコマンド処理完了の状態です。

 「TeleOperation」のプログラムの実行は、先ずは、写真13のように http://html5gamepad.comを訪問し、手順に沿ってUSBコントローラ(Xbox 360用)を認識させ、写真14のようにスティック操作が正しく認識されていることを確認します。
 USBコントローラが認識されると写真15のような画面が表示され、スチックの動作を確認できます。

 順次ステップを進めると写真16のように画像ウィジェットが作成され表示されます。 更に進め最終段階では、写真17のようなJetBotUSBコントローラでコントロールするための画面が表示されます。 写真18JetBotをホストPCからリモートコントロールしている写真です。

 写真19は、写真17の実際の位置関係の写真で、写真20、21は、JetBotをペンギンの人形に向かって、ホストPCの画面を見ながらリモートコントロールで移動させた状況の写真です。

 今回のテストで、一応、試作のJetBotが、WiFiで無線操縦が可能であることを確認しましたが、移動スピードがやや遅いことと、何度かテストを繰り返しているとハングアップのような状態となりプログラムが停止して、コントロールができなくなる症状が発生します。

 ハングアップの件は、モータ駆動用の電源と本体の電源が同じところから供給されているので、モータ駆動時のノイズが本体へ影響したのではないかと推察されます。 また、モータはバンダイ製のJXD RK-370(8V、8000rpm)系のようですので、駆動電圧が5V程度では低すぎるので、機動性をあげるために電圧を8V程度に上げる必要がありそうです。
 電源を本体用とモータ駆動用を別にして再度テストてみます。

 次のステップは、いよいよ「JetBot」の本来の目的でありますところの、ディープラーニングの技術で、衝突を回避しながら自動走行できる「JetBot」に、バージョンアップする作業に入ります。


<*2022.2.20追記>
 No2-9を記載中に、コントローラのプログラムの変更について記載漏れがあった事に気付いて追記しました。
 No2-9と同様に、写真22(写真15、16の間に挿入)の@、Aを次のように変更します。

 @ 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-4     to AI No2-6

to AI No2-9

to 新テク・アラカルト



         
     

         写真1 テスト用機材一式を搭載した写真



        写真2 USBコントローラ(Xbox 360用)


      写真3 「4.Run through the examples」を選択



        写真4 電源用のリポバッテリを接続



     写真5 モータ駆動用基板用の電源スイッチONの状態



        写真6 本体の電源スイッチがOFFの状態



       写真7 本体の電源スイッチがONの状態



        写真8 PiOLEDにIPアドレスが表示



          写真9 IPアドレスでWiFi接続



         写真10 「TeleOperation」を選択


          
         



         

< TREX450 SPORT >




 SDXに続き墜落。


 以下同文。








AI No2-5



JetBotの製作その5 Teleoperationテスト
2021年8月28日


写真11 「プレイボタン」



 写真12 コマンド処理完了の状態



写真13 USBコントローラ(Xbox 360用)の認識手順



写真14 USBコントローラ(Xbox 360用)の認識テスト



写真15 スティクの動作確認画面



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



写真16 画像ウィジェットが作成と表示ステップ



写真17 JetBotコントロール画面



写真18 ホストPCを見ながらJetBotをコントロールしている写真



写真19 「写真17」の実際の位置関係の写真



写真20 JetBotをペンギンの人形に向かって移動



写真21 「写真20」の実際の位置関係の写真

??