DJI Tello等ドローンの自律飛行を実現するには、3D環境でナビゲーション経路を計画としてOMPL(Open Motion Planning Library)を試してみます。
目次
- OMPLのインストール
- OMPLの基礎
- OMPL.appの入門 ← いまココ
- OMPLの使用
- DJI Telloの使用
- navigationスタックの使い方
- OMPLで3D 経路計画
動作環境
- Ubuntu 18.04
- ROS Melodic
- Tello EDU
OMPL.appの入門
OMPLとは
OMPL (Open Motion Planning Library)は、サンプリングベース経路計画のアルゴリズムのパッケージです。衝突検知と可視化の機能が含まれていないので、簡単に既存システムに導入できます。ROSとMoveIt!等のシステムに既に導入されています。
OMPL.appとは
OMPL.appは、OMPLライブラリのグラフィカルフロントエンドを提供します。
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.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の使用手順
- 環境とロボットのセットアップ
- プランナーの選択
- 環境のバウンド
環境とロボットのセットアップ
-
Robot type : Rigid body planning (3D) を選択
-
File→Open Robot→omplapp/resources/3D/Easy_robot.dae を選択
L
shaped robot inside the opening of the wall
-
ロボットのStart pose (270, 50, -200)を設定
-
Slove
をクリックしてデフォルト経路計画を作成
スタート位置からゴール位置までの経路を探索します。解決したパスをアニメションで表示します。
プランナーの選択
環境のバウンディング
バウンディングボックスは環境周りの白いフレームです。ロボットがデフォルトでバウンディングボックス中に移動します。
解決したパスの保存と再生
- File→Save Pathでパスを保存
(txtファイルで保存、環境とロボットのデータが保存されない)
- File→Open Pathで保存したパスを開く