LoginSignup
7
1

More than 3 years have passed since last update.

DJI TelloでOMPLを用いた自律飛行ドローンのナビゲーション - 3. OMPL.appの入門

Last updated at Posted at 2019-12-12

DJI Tello等ドローンの自律飛行を実現するには、3D環境でナビゲーション経路を計画としてOMPL(Open Motion Planning Library)を試してみます。

目次

  1. OMPLのインストール
  2. OMPLの基礎
  3. OMPL.appの入門 ← いまココ
  4. OMPLの使用
  5. DJI Telloの使用
    1. DJI Telloのフロントカメラのcamera_calibration
    2. Visual SLAM ORB_SLAM2 用のカメラキャリブレーションYamlファイルの作成
    3. DJI Telloのカメラ でVisual-SLAMのORB-SLAM2 を動かしてみた
  6. navigationスタックの使い方
    1. Turtlebot3 NavigationをGazebo Simulationで動かしてみた
    2. Turtlebot3 Navigationでmap_fileの代わりにSLAMを使用
    3. ARdroneのシミュレーターをGazeboで動かす
    4. AirSimのシミュレーターを動かす
    5. octomapのインストール
    6. 単眼カメラでORB_SLAM2から3D point clouodの生成
    7. point_cloud2から3D octomapの生成
  7. OMPLで3D 経路計画
    1. 状態空間環境のセットアップ

動作環境

  • Ubuntu 18.04
  • ROS Melodic
  • Tello EDU

OMPL.appの入門

OMPLとは

OMPL (Open Motion Planning Library)は、サンプリングベース経路計画のアルゴリズムのパッケージです。衝突検知と可視化の機能が含まれていないので、簡単に既存システムに導入できます。ROSとMoveIt!等のシステムに既に導入されています。

OMPL.appとは

OMPL.appは、OMPLライブラリのグラフィカルフロントエンドを提供します。
image.png

OMPL.appのインストール

  • PyQtのインストール(for GUI)
pip3 install PyQt5
  • PyOpenGLのインストール (for GUI)
pip3 install PyOpenGL PyOpenGL_accelerate
  • Py++のインストール (needed to generate Python bindings)
sudo apt-get install castxml
pip3 install -vU pygccxml pyplusplus
  • OMPL installation scriptをダウロード

install-ompl-ubuntu.sh

  • install OMPL.app with Python bindings
install-ompl-ubuntu.shを「ダウンロード」フォルダーから英語のみフォルダパスに移動
$ chmod u+x install-ompl-ubuntu.sh
$ ./install-ompl-ubuntu.sh --app

OMPL.appの起動

いずれかのコマンドでompl_appを起動

$ ompl_app
$ /usr/local/bin/ompl_app
$ python3 /usr/local/bin/ompl_app

OMPL.appの使用手順

  1. 環境とロボットのセットアップ
  2. プランナーの選択
  3. 環境のバウンド

環境とロボットのセットアップ

  • Robot type : Rigid body planning (3D) を選択

  • File→Open Environment→omplapp/resources/3D/Easy_env.dae を選択
    image.png

  • File→Open Robot→omplapp/resources/3D/Easy_robot.dae を選択
    L shaped robot inside the opening of the wall
    image.png

  • ロボットのStart pose (270, 50, -200)を設定

  • ロボットのGoal pose (270, 50, -400)を設定
    image.png

  • Sloveをクリックしてデフォルト経路計画を作成
    スタート位置からゴール位置までの経路を探索します。解決したパスをアニメションで表示します。
    ompl_app_easy_env_solve.gif

  • Showの「States」を選択してランダムサンプルStateを表示
    image.png

プランナーの選択

image.png

環境のバウンディング

バウンディングボックスは環境周りの白いフレームです。ロボットがデフォルトでバウンディングボックス中に移動します。
image.png

解決したパスの保存と再生

  • File→Save Pathでパスを保存

(txtファイルで保存、環境とロボットのデータが保存されない)
image.png

  • File→Open Pathで保存したパスを開く

Next: 4. OMPLの使用
prev: 2. OMPLの基礎

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1