-- Views
December 18, 25
スライド概要
TOPPERS/箱庭WG活動でUnityやらAthrillやらmROSやら触ってます。 最近は仕事の関係でWeb系の技術に注力しつつ、箱庭への転用を模索しています。 2023年8月1日:合同会社箱庭ラボに移動しました
環境シミュレーション ドローン飛行編 合同会社箱庭ラボ CTO 森崇
本資料の目的 箱庭ドローンが環境シミュレーションと連携して、 ドローン移動ルートの設定と、 飛行シミュレーションを行う ための方法を説明する。 そのために、 ・地図データ(緯度経度)をベースにして、 ・ドローンの移動ルートをGUI上で設定し、 ・箱庭ドローンのシミュレーションとして飛行させる 方法を示す。 なお、本資料で前提とするリポジトリは、以下の4点です。 ・https://github.com/hakoniwalab/hakoniwa-envsim ・https://github.com/hakoniwalab/hakoniwa-map-viewer ・https://github.com/toppers/hakoniwa-drone-core ・https://github.com/toppers/hakoniwa-webserver ※事前にクローンしておいてください。 2
アジェンダ • 設定:ドローン移動ルート • 設計:全体フロー • 飛行:環境Sim & 箱庭ドローンシミュレーション • 評価:飛行時間・バッテリー消費量・衝突回数 3
全体フロー ブラウザ上で、ドローン移動ルートを設定します。 その後、箱庭シミュレーションを開始します。 ドローン 起動ポイント (緯度・経度) ドローン 移動ルート設定 (ブラウザ) 移動ルート (jsonファイル) バッテリー 使用量 箱庭ドローン 飛行制御 (Python) 衝突回数 衝突回数 自然環境設定編 環境データ (jsonファイル) 箱庭環境 Sim (Python) 箱庭 シミュレーション (C++) 都市干渉データ (MJCFファイル) 箱庭ドローン 剛体Sim (MuJoCo) 箱庭ドローン Sim (C++) 都市3Dモデル (GLBファイル) 箱庭ドローン リアルタイム監視 (ブラウザ) ドローン 動作チェック (目視) 都市データ (PLATEAU)編 4
設定:ドローン移動ルート • 原点からはじめて、 地図上で左クリックすると 移動ルートを設定します。 • 設定完了後、JSONファイルを生成し ダウンロードできます。 原点 5
ドローン移動ルート設定デモ https://www.youtube.com/watch? v=s1VhBPpyU-Y 6
飛行:環境Sim & 箱庭ドローンシミュレーション 生成した移動ルートを 箱庭ドローン制御プログラム(env_api_test.py(※)) (※) hakoniwa-drone-coreの drone_api/pymavlink/env_api_test.py の引数として設定します。 シミュレーションの実行は、以下のコマンド実施: bash ./drone-launcher.bash ./config/launcher/docker-api-mujoco-shibuya-10.json (※) drone-launcher.bashは、hakoniwa-drone-core直下にあります。 引数のコンフィグファイルは、用途に応じて差し替え、変更ください。 シミュレーション実行後、ブラウザからアクセスすると、マップと3Dビューでドローン の飛行状態を確認できます。 URL:http://localhost:8001/src /client/index.html 7
ブラウザでの飛行状態の確認方法 • 最初に「Drone Count」を指定。 • その後、「connect」をクリック。 • 箱庭Webサーバーと接続され、 ドローンの移動状態を確認できます。 (次ページ参照) 8
ドローン飛行デモ https://www.youtube.com/watch? v=s1VhBPpyU-Y 9
評価:飛行時間・バッテリー消費量・衝突回数 シミュレーション実行すると、 箱庭ドローン制御プログラム(env_api_test.py) のログ(launcher/logs/api_control-<ID>.out) が出力されます。 飛行時間・バッテリ消費量・衝突回数が、そのログに記録されています。 出力例: Landed successfully. Total collided counts: 1 end=Battery voltage used: 1.49 V Elapsed time: 339.26 seconds. 10