Swarm Playground 実行コード
Swarm Playground の使用方法は論文発行元の研究室が動画で解説しているのだが、いちいち動画で見るのが面倒なため簡単にまとめる。
作業ディレクトリに移動する
研究室のgithubからコードをgit cloneし、swarm-playgroundというディレクトリに移動する。
cd EGO-planner-v2/swarm-playground/
swarm-playgroundディレクトリの直下には4個のディレクトリが存在するため、実験内容に応じたディレクトリに移動する。
動画で使用されていたLinuxコマンド
作業ディレクトリに移動した後の実験の流れを以下に書いておきます。
以下のコードを順にターミナルに入力すれば、実験ができます。
" "で囲ったものは入力ではなくキー操作またはマウス操作になります。
catkin_make
source devel/setup.bash
roslaunch ego_planner rviz.launch
" Ctrl + Shift + T "
source devel/setup.bash
roslaunch ego_planner 使用したい機能名.launch
" Ctrl + C "
" Rrizの左下にあるResetボタンを押してください"
clear
1, 2行目は実行環境を整えているイメージです。
4行目はROSの3DビジュアライザーであるRvizを起動させています。
Rvizが起動したら、ターミナルの新しいタブを開いて、再び実行環境を整えます。(6, 7行目)
9行目ではシミュレーションを行うファイルを選択しています。
11, 12行目は実験終了の操作、13行目はターミナルの表示を綺麗にするコマンドです。
同じディレクトリ内に存在する異なる実験を行いたい場合は、11〜13行目を実行し終了した後で、9行目から始めれば良いです。
異なるディレクトリに存在する実験を行いたい場合は最初からやり直しましょう。
以下では4個のディレクトリそれぞれで行える実験について書いていきます。
非常に簡潔な説明なので、詳細は動画を見たり、実行して確かめてみてください。
main_ws
► swarm.launch (swarmが障害物を避けながら飛行します。)
► circle_exchange.launch (swarmが中心に向かって飛行し、衝突回避を行います。)
► swarm_large.launch (swarmが障害物を避けながら、真っ直ぐ飛行を行います。)
► single_drone_interactive.launch (drone1機のゴールを設定できます。)
► multi_drone_interactive.launch (drone複数機それぞれのゴールを設定できます。)
► moving_obstacles_avoidance.launch (ドローンをコントローラで操縦できます。)
formation_ws
► formation.launch (swarmが編隊飛行を行います。)
tracking_ws
► multi_tracking.launch (swarmがtargetを追従します。targetはコントローラーで制御できます。)
interlaced_flight_ws
► wait_for_goals.launch (ゴールを別のコードで指定します。詳細は動画で確認してください。)