Skip to content
seigot edited this page Jan 21, 2022 · 19 revisions

Welcome to the seigot/burger_war_dev wiki! 自由に編集して下さい

ルールブック

https://github.com/seigot/burger_war_kit/blob/main/rulebook.md

環境構築

step1. 公式の環境構築手順

1.〜5. 及び サンプルの実行を実施
公式の環境構築手順

step2. seigot/burger_war_kit, burger_war_devを動かすための追加手順

公式の環境構築手順に加えて、以下を実施する。

# package追加
sudo apt-get update -y
sudo apt-get install -y ros-melodic-dwa-local-planner
sudo apt-get install -y ros-melodic-global-planner
sudo apt-get install -y ros-melodic-rviz
sudo apt-get install -y ros-melodic-costmap-converter
sudo apt-get install -y ros-melodic-mbf-costmap-core
sudo apt install -y ros-melodic-teb-local-planner
sudo apt install -y libarmadillo-dev libarmadillo8  # necessary to install obstacle_detector
sudo apt install -y wget
sudo apt install -y xdotool curl wmctrl

# obstacle detectorの取得
cd ~/catkin_ws/src
git clone https://github.com/tysik/obstacle_detector.git

# 本リポジトリの取得
cd ~/catkin_ws/src
mv burger_war_dev ~/tmp/.  # 過去のリポジトリを移動
mv burger_war_kit ~/tmp/.  # 過去のリポジトリを移動
git clone https://github.com/seigot/burger_war_dev   # 任意のリポジトリを追加(★ここは必要に応じて自分のリポジトリに変更する)
git clone https://github.com/seigot/burger_war_kit   # 任意のリポジトリを追加 

# catkin build
cd $HOME/catkin_ws
catkin build
source ~/catkin_ws/devel/setup.bash

# catkin buildでエラーが出た場合は、エラーに応じた解決が必要
# catkin buildの結果、successと表示されればOK

# 動作確認、ターミナルを2つ開く
## 1つ目のターミナルから実行
cd ~/catkin_ws/src/burger_war_kit
bash scripts/sim_with_judge.sh
## 1つ目のターミナルから実行
cd ~/catkin_ws/src/burger_war_kit
bash scripts/start.sh

## ロボットが動けばOK

step3. 自分のburger_war_devを動かすための追加手順

# 自分のリポジトリの取得
cd ~/catkin_ws/src
mv burger_war_dev ~/tmp/.  # 過去のリポジトリを移動
git clone https://github.com/xxxxx/burger_war_dev   # 自分のリポジトリを取得

# catkin build
cd $HOME/catkin_ws
catkin build
source ~/catkin_ws/devel/setup.bash

# catkin buildでエラーが出た場合は、エラーに応じた解決が必要
# catkin buildの結果、successと表示されればOK

# 動作確認、ターミナルを2つ開く
## 1つ目のターミナルから実行
cd ~/catkin_ws/src/burger_war_kit
bash scripts/sim_with_judge.sh
## 1つ目のターミナルから実行
cd ~/catkin_ws/src/burger_war_kit
bash scripts/start.sh

## ロボットが動けばOK

尚、上記を実施済のDocker環境については自作Docker環境に使い方を記載(Linux/Macで実績あり)

bash scripts/start.sh -l 1   # level1
bash scripts/start.sh -l 2   # level2
bash scripts/start.sh -l 3   # level3
bash scripts/start.sh -l 7   # 強い敵1
bash scripts/start.sh -l 5   # 強い敵2
bash scripts/start.sh -l 11  # 強い敵3
bash scripts/start.sh -l 9   # 強い敵4

自動実行

毎回手動でスクリプトを実行するのは大変なので、自動実行スクリプトを作成しています。
以下の通り実行すると用意している敵と自動で対戦します。

cd ~/catkin_ws/src/burger_war_kit
cd autotest
bash autotest.sh

実行の結果は以下の通り確認することができる。

cd ~/catkin_ws/src/burger_war_kit
tail -f autotest/result.log

実行の結果ログには、1行毎に1回の対戦結果を出力している。
対戦結果が多い場合は結果が見づらい事があるので、結果の統計を出力できるようにしている。

cd ~/catkin_ws/src/burger_war_kit
python autotest/result_analyzer.py

以下はdebug用

# 動画captureツール
sudo apt-get install -y recordmydesktop gtk-recordmydesktop
sudo apt-get install -y ffmpeg

## capture start/stop
cd ~/catkin_ws/src/burger_war_kit
bash scripts/capture.sh -m "start"  # start
bash scripts/capture.sh -m "stop"   # stop (デフォルトだと`capture.mp4`というファイルができる。-nでファイル名の指定が可能)

動作確認

手動実行する場合

シミュレータ+審判起動

cd ~/catkin_ws/src/burger_war_kit
bash scripts/sim_with_judge.sh

試合開始する

cd ~/catkin_ws/src/burger_war_kit
bash scripts/start.sh

3分後、停止する

cd ~/catkin_ws/src/burger_war_kit
bash scripts/stop.sh

autotest.shで自動実行する場合

cd ~/catkin_ws/src/burger_war_kit
bash autotest/autotest.sh

result.logautotest.shの試合結果を出力します。

tail -f autotest/result.log

リンク集

過去にやってきたこと等

  • 環境構築      Docker/Host環境でとりあえず動かす。★やってるところ
  • 評価環境        ★こちらに評価結果をのせます
  • 前回コードの移植  ★未..
  • 設計まとめ     ★こちらにまとめ中..
  • 走行ルートチューニング   ★要る?
  • 落とし穴対策        ★要る?
  • 弱点対策     ★未.. 弱点を見付けるところから

敵の誤検出を抑制する
お見合い対策(一般解を見付けたい)
plannerのモデル予測制御採用
落とし穴(画像検出は実環境に耐えられるか)

  • 解析効率化    ★未..
  • チーム名決め    ★未.. ネタ探し中

- 武器 >カメラ
>LIDAR
>タイヤ
>IMU
>ロータリーエンコーダー
>(後は審判のstateトピック)
- 発展課題 build pipeline
勝率80%以上でないとpushを許可しないチェック

(自由に更新下さい!)
# Finally

enjoy!