ros2‐AIdriver使用方法 - Hiyama1026/raspike-ros GitHub Wiki
- 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後退しながら左スティックを倒すと曲がる
- コントローラの「×」ボタンを押す (モータON)
- 学習データを取得する
- コントローラの「◯」ボタンを押すとデータの収集を開始する
- この状態で動かすとカメラ映像に表示される線の色が赤色になる
- ロボットが停止していてもログは取り続けるため,データ収集を開始したらなるべく早く走行させる
- 線の周りを走らせるなどして,教師データを収集する
- 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のセンターボタンを押す