経路の生成 ========== ここでは、IKプランナを使った経路の生成の仕方を説明します。 依存パッケージのインストール ---------------------------- Ubuntuの場合、"hairo-world-plugin/misc/script" 以下にある "install-ompl.sh" というスクリプトを用いることにより、OMPL(https://ompl.kavrakilab.org/)を簡単にインストールすることができます。例えば Ubuntu 18.04 であれば :: misc/script/install-ompl.sh を実行すると、sudoのパスワードが求められるので入力してください。すると、OMPLが自動でインストールされます。 CMake によるビルド設定 ---------------------- まず、cmakeコマンドを使ってMakefileを更新します。Choreonoidのビルドディレクトリ上で :: cmake .. を実行すると、必要なライブラリをチェックしMakefileを更新します。(cmakeコマンドのあとのピリオドに注意してください。) 次にOMPLPluginとIKPlannerPluginを有効にします。Choreonoidのビルドディレクトリ上でccmakeコマンドを :: ccmake .. と実行し、 **BUILD_OMPL_PLUGIN** と **BUILD_IKPLANNER_PLUGIN** を "ON" にします。 IKプランナアイテムの作成と設定 ------------------------------ メインメニューの「ファイル」-「新規」-「IKプランナ」を選択して生成してください。生成したIKプランナアイテムは、任意のボディアイテムの子アイテムとして配置します。アイテムツリービューで、生成したIKプランナアイテムにチェックを入れると、経路の候補点を生成する範囲(バウンディングボックス)を表示できます。 IKプランナアイテムのパラメータは以下の通りです。 .. list-table:: :widths: 20,12,12,75 :header-rows: 1 * - パラメータ - デフォルト値 - 単位 - 意味 * - 幾何学プランナ - RRT - \- - 幾何学プランナを指定します。 * - BB下限 - -5 -5 -5 - m m m - 経路の候補点を生成する範囲の下限をx, y, zの順で指定します。 * - BB上限 - 5 5 5 - m m m - 経路の候補点を生成する範囲の上限をx, y, zの順で指定します。 * - 始点 - 0 0 0 - m m m - 経路の始点を指定します。 * - 終点 - 0 0 0 - m m m - 経路の終点を指定します。 * - 計算時間 - 1.0 - s - 経路を生成するための計算時間を指定します。 * - ベースリンク - \- - \- - IK(逆運動学)計算の基点リンクを指定します。 * - エンドリンク - \- - \- - IK計算の終端リンクを指定します。 * - 時間長 - 1.0 - s - アニメーションの時間長を指定します。 始点・終点の設定と経路の生成 ---------------------------- 始点と終点の設定 ~~~~~~~~~~~~~~~~ アイテムツリーで任意のIKプランナアイテムを選択・右クリックし、ポップアップメニューを表示してください。ポップアップメニューから「IKプランナ」-「始点を設定」または「終点を設定」を選択してください。選択すると、プロパティで指定した終端リンクの座標が、始点または終点に設定されます。 経路の生成 ~~~~~~~~~~ アイテムツリーで任意のIKプランナアイテムを選択・右クリックし、ポップアップメニューを表示してください。ポップアップメニューから「IKプランナ」-「経路を生成」を選択すると、経路の生成を試行します。結果は、メッセージビューに表示されます。 経路が生成されると、IKプランナアイテムの子アイテムとして、経路の候補点を記録した「StatePointSet」と、経路を記録した「SolvedPointSet」が生成されます。アイテムツリービューで、各子アイテムにチェックを入れると、それぞれのアイテムに記録された点が表示されます。 アニメーションの再生 ~~~~~~~~~~~~~~~~~~~~ 経路の生成が成功すると、アニメーションとして動作を確認できます。タイムバーの「再生開始」を押すと、アニメーションが再生されます。 ※このIKプランナは試験的に実装したものです。経路の生成は、ランダムな点を生成して計算されるため、計算毎に結果が異なります。