ros2‐AIdriver使用方法 - Hiyama1026/raspike-ros GitHub Wiki

ros2‐AIdriver 使用方法

使用方法

  • Hubにmicro-ROSファームウェアを書き込む (未実施の場合のみ)
  • ホストPCでWSLを起動し,Raspberry Piにssh接続 (CUI)
  • 下記コマンドを実行してVNCサーバを立ち上げる
    tigervncserver -kill :2; tigervncserver -geometry 1000x800 -localhost no :2
    
  • Raspberry PiとDualshock4(コントローラ)を接続
    • $ bluetoothctlを実行
    • コントローラのPSボタンを押す
      • コントローラの上側が白く点滅する
      • 青色に点灯したら接続完了
    • 上記手順を数回繰り返しても接続できない場合
      • $ bluetoothctlを実行して以下の操作を行う
      $ bluetoothctl
      [bluetooth]# power on
      [bluetooth]# scan on
      
      <Dualshock4のSHAREを押しながらPSボタンを押下しランプが白く点滅したら放す>
      <Wireless ControllerのMACアドレスを探す>
      
      [bluetooth]# pair <MACアドレスを入力>
      [Wireless Controller]# trust <MACアドレスを入力>
      [Wireless Controller]# exit
      
  • ~/ros2_ws/log/jpgの中のファイルを全て削除
    $ ~/ros2_ws/log/jpg/*
    
  • Raspberry Pi上でmicro-ROS Agentを起動
    sudo MicroXRCEAgent serial --dev [PATH_TO_DEVFILE] -v 6
    
  • Hubの電源を入れる
    • Hubに「ET」が表示されることを確認
  • ホストPCからRaspberry PiにVNC接続を行う
  • ワークスペースに移動し,アプリケーションをビルド・実行する
    cd ~/ros2_ws
    colcon build
    . install/setup.bash
    ros2 run ros2_ai_driver ai_drive_node
    
  • カメラ映像も表示されたら以下を実施
    • コントローラの「×」ボタンを押す (モータON)
      • 右スティックを前後に倒すとロボットが前後に動く
      • 左スティックは左右の操舵量
        • 前進or後退しながら左スティックを倒すと曲がる
  • 学習データを取得する
    • コントローラの「◯」ボタンを押すとデータの収集を開始する
      • この状態で動かすとカメラ映像に表示される線の色が赤色になる
      • ロボットが停止していてもログは取り続けるため,データ収集を開始したらなるべく早く走行させる
    • 線の周りを走らせるなどして,教師データを収集する
      • GUI側のターミナルに取得したデータ数が表示される
      • 円をライントレースする程度であれば7000程度で動く
    • 収集が終わったら「◯」ボタンを押してログの収集を止める
    • GUIのカーソルをカメラ映像に合わせて(クリック)「q」を入力
    • カーソルをGUIのターミナルに合わせてCtrl+Cでプログラム終了
      • 3回くらいCtrl+Cをする
  • ホストPCでWSLを起動する(SSHしない,通常のWSLターミナルを起動)
    • ~/AIdriverにあるexe_trainning.shを実行 (学習開始)
      • 最初に表示される設定内容が正しいか確認
        • 間違っていればスクリプトを書き換える(先頭の変数を書き換えるだけでよい)
      • 設定が正しければ,Yesを選択してスクリプトを実行
        • 注意:モデルファイルの保存先に,既に存在しているモデルファイルは上書きされる
  • VNCのターミナルからアプリの実行を行う
    cd ~/ros2_ws
    ros2 run ros2_ai_driver ai_drive_node
    
  • カメラ映像も表示されたらHubのセンターボタンを押す
    • 作成したモデルを使用して自動走行を開始する

付録:既存のモデルを使用して自動走行を行う

概要

方法

  • 上記使用方法の「ワークスペースに移動し,アプリケーションをビルド・実行する」までを実施
    • ただし,コントローラーのペアリングは行わなくて良い
  • コース上にロボットを置きHubのセンターボタンを押す
⚠️ **GitHub.com Fallback** ⚠️