-
Notifications
You must be signed in to change notification settings - Fork 5
データの解析の方法
【注意】動作確認していないコマンドもあるため,問題があれば報告してください.
解析用の現在(10/5)のブランチは以下の通り
https://github.com/open-rdc/nav_cloning/tree/develop/auto_experiment
以下のブランチの更新も行う(gazeboにプラグインを入れて位置を計測するため)
https://github.com/open-rdc/turtlebot3/tree/3_cameras
訓練用のデータセットを得るために,再度訓練し直すことが必要
現在は学習器の出力を利用するモードだけ対応
4000ステップ訓練を行い,2000ステップテストする.
roslaunch nav_cloning nav_cloning_sim.launch script:=nav_cloning_node.py mode:=use_dl_output
もしくはいずれか
roslaunch nav_cloning nav_cloning_sim.launch script:=nav_cloning_node.py mode:=manual
roslaunch nav_cloning nav_cloning_sim.launch script:=nav_cloning_node.py mode:=zigzag
roslaunch nav_cloning nav_cloning_sim.launch script:=nav_cloning_node.py mode:=follow_line
訓練のログの保存場所
~/catkin_ws/src/nav_cloning/data/result_(モード名)/(実行開始時間)/training.csv
訓練済みモデルの保存場所
~/catkin_ws/src/nav_cloning/data/result_(モード名)/(実行開始時間)/model.net
【注意】以下のディレクトリに上書きされると困るファイルがある場合は,別のディレクトに移動してから実行してください.
~/catkin_ws/src/nav_cloning/data/analysis/
経路の保存
同じ経路で解析する場合は1度で構わない.
roslaunch nav_cloning nav_cloning_sim.launch script:=path_collector.py
~/catkin_ws/src/nav_cloning/data/analysis/path.csv
に0.1秒ごとのロボットの位置(真値)が保存される.
訓練に用いた経路の表示
訓練のログtraining.csv
を以下のディレクトリに保存する.
~/catkin_ws/src/nav_cloning/data/analysis/training.csv
以下のスクリプトを実行する.
rosrun nav_cloning draw_training_pos.py
結果の例
訓練に用いたデータセットのヒストグラム
以下のスクリプトを実行する.
rosrun nav_cloning calc_histogram_training_posture.py
以下に経路を基準とした,位置と姿勢の差を表す数値が保存される.
~/catkin_ws/src/nav_cloning/data/analysis/histogram_training_posture.csv
訓練に用いた4000ステップのデータを使用して,ヒストグラムを表示
※4001~6000はテストのデータであるため注意
※以下は参考,検討に必要なデータを得られるように整形する必要あり.
距離のヒストグラム
角度差のヒストグラム
解析の例
histogram_training_posture.ods
1)画像を取得して,角速度を計算する位置・姿勢の算出
同じ場所で実験をする場合は1度で構わない.
条件を変えたい場合は,スクリプト内のパラメータを変更する.
rosrun nav_cloning calc_capture_pos.py
~/catkin_ws/src/nav_cloning/data/analysis/capture_pos.csv
に画像を取得して,角速度を算出する位置・姿勢が保存される.
2)解析する学習済みモデルmodel.net
を~/catkin_ws/src/nav_cloning/data/analysis/
フォルダにコピー
予め訓練を行ってモデルmodel.net
を作成することが必要
3)capture_pos.csv
の位置で画像を取得して,model.net
に基づいて目標角速度を計算して保存
roslaunch nav_cloning nav_cloning_sim.launch script:=calc_ang_vel.py
data/analysis
に画像ファイルと位置・姿勢での目標角速度が保存される.
4)グラフに出力する.
rosrun nav_cloning draw_dl_output.py
経路追従可能領域の算出
1)経路追従可能領域を求める
roslaunch nav_cloning nav_cloning_sim.launch script:=calc_traceable_pos.py
2)経路追従可能領域を表示する.
rosrun nav_cloning draw_traceable_pos.py
例) 緑:全ての方向で経路方向に移動 黄:方向によっては経路から外れる 赤:全ての方向で経路から外れる
3)追従可能領域の経路からの距離による平均
rosrun nav_cloning calc_traceable_histogram.py