Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes
PathEngine::RRT Class Reference

RRTアルゴリズム実装クラス More...

#include <RRT.h>

Inheritance diagram for PathEngine::RRT:
Inheritance graph
[legend]

List of all members.

Public Types

typedef boost::function1< bool,
const Configuration & > 
extraConnectionCheckFunc

Public Member Functions

bool calcPath ()
 親クラスのドキュメントを参照
void epsilon (double e)
 サンプリングしたコンフィギュレーションに向かって伸ばす距離を設定
void extendFromGoal (bool b)
 ゴールからツリーをのばすか否かを設定
void extendFromStart (bool b)
 スタートからツリーをのばすか否かを設定
bool extendOneStep ()
 ツリーを伸ばす処理を1回だけ行う
void extractPath ()
 計画した経路を抽出し、path_にセットする
void extractPath (std::vector< Configuration > &o_path)
 計画した経路を抽出し、o_pathにセットする
RoadmapPtr getBackwardTree ()
 ゴールからのツリーを取得する
RoadmapPtr getForwardTree ()
 スタートからのツリーを取得する
RoadmapPtr getLastExtendedTree ()
 get a tree extened in the last phase
 RRT (PathPlanner *planner)
 コンストラクタ
void setBackwardTree (RoadmapPtr tree)
 ゴールからのツリーを設定する
void setExtraConnectionCheckFunc (extraConnectionCheckFunc i_func)
 スタートからのツリーとゴールからのツリーが接続できたかの追加チェックを行うユーザ関数を設定する
void setForwardTree (RoadmapPtr tree)
 スタートからのツリーを設定する
 ~RRT ()
 デストラクタ

Private Types

enum  ExtendResult { Advanced, Trapped, Reached }

Private Member Functions

int connect (RoadmapPtr tree, const Configuration &qNew, bool reverse=false)
 RRT-connect の connect 関数。伸ばせなくなるまで extend する
int extend (RoadmapPtr tree, Configuration &qRand, bool reverse=false)
 ランダムな点に向かってツリーを伸ばす。
void swapTrees ()

Private Attributes

double eps_
bool extendFromGoal_
bool extendFromStart_
extraConnectionCheckFunc extraConnectionCheckFunc_
RoadmapPtr Ta_
 ツリーの交換のために用いる変数。どちらか一方がTstart_をもう一方がTgoal_を指す
RoadmapPtr Tb_
RoadmapPtr Tgoal_
 RRT-connect において、終了位置からのツリー
int times_
RoadmapPtr TlastExtended_
 a tree extened in the last phase
RoadmapPtr Tstart_
 RRT-connect において、初期位置からのツリー

Detailed Description

RRTアルゴリズム実装クラス

Definition at line 18 of file RRT.h.


Member Typedef Documentation

スタートからのツリーとゴールからのツリーが接続できたかの追加チェックを行うユーザ関数。通常のチェックで接続できたとみなされるスタート側のコンフィギュレーションとゴール側のコンフィギュレーションを引数にとり、接続可能である場合にはtrueを、それ以外の場合はfalseを返す。

Definition at line 24 of file RRT.h.


Member Enumeration Documentation

extend()の結果

Enumerator:
Advanced 

指定の位置に近づいた

Trapped 

干渉のため、近づくことができなかった

Reached 

指定の位置に到達した

Definition at line 30 of file RRT.h.


Constructor & Destructor Documentation

RRT::RRT ( PathPlanner planner)

コンストラクタ

Parameters:
plannerパスプランナー

Definition at line 12 of file RRT.cpp.

RRT::~RRT ( )

デストラクタ

Definition at line 29 of file RRT.cpp.


Member Function Documentation

bool RRT::calcPath ( ) [virtual]

親クラスのドキュメントを参照

Implements PathEngine::Algorithm.

Definition at line 186 of file RRT.cpp.

int RRT::connect ( RoadmapPtr  tree,
const Configuration qNew,
bool  reverse = false 
) [private]

RRT-connect の connect 関数。伸ばせなくなるまで extend する

Parameters:
treeツリー
qNew伸ばす方向の点
ツリーから点に向かって伸ばす場合はfalse、逆はtrue
Returns:
qNewにまで到達できなかった場合はTrapped, できた場合はReachedを返す

Definition at line 104 of file RRT.cpp.

void PathEngine::RRT::epsilon ( double  e) [inline]

サンプリングしたコンフィギュレーションに向かって伸ばす距離を設定

Parameters:
eサンプリングしたコンフィギュレーションに向かって伸ばす距離

Definition at line 180 of file RRT.h.

int RRT::extend ( RoadmapPtr  tree,
Configuration qRand,
bool  reverse = false 
) [private]

ランダムな点に向かってツリーを伸ばす。

Parameters:
treeツリー
qRandランダムな点
reverseツリーから点に向かって移動を試みる場合false、点からツリーへ移動を試みる場合はtrue
Returns:
伸ばせなかった場合Trapped, eps_だけ伸ばせた場合Advanced, qRandに到達できた場合Readchedを返す。qRandは伸ばした先の点に書き換えられる

Definition at line 33 of file RRT.cpp.

void PathEngine::RRT::extendFromGoal ( bool  b) [inline]

ゴールからツリーをのばすか否かを設定

Parameters:
btrueでのばす

Definition at line 128 of file RRT.h.

void PathEngine::RRT::extendFromStart ( bool  b) [inline]

スタートからツリーをのばすか否かを設定

Parameters:
btrueでのばす

Definition at line 122 of file RRT.h.

ツリーを伸ばす処理を1回だけ行う

Returns:
パスが見つかった場合true

Definition at line 154 of file RRT.cpp.

計画した経路を抽出し、path_にセットする

Definition at line 117 of file RRT.cpp.

void RRT::extractPath ( std::vector< Configuration > &  o_path)

計画した経路を抽出し、o_pathにセットする

Definition at line 121 of file RRT.cpp.

ゴールからのツリーを取得する

Returns:
ゴールからのツリー

Definition at line 156 of file RRT.h.

スタートからのツリーを取得する

Returns:
スタートからのツリー

Definition at line 144 of file RRT.h.

get a tree extened in the last phase

Returns:
a tree extened in the last phase

Definition at line 162 of file RRT.h.

ゴールからのツリーを設定する

Parameters:
treeゴールからのツリー

Definition at line 238 of file RRT.cpp.

スタートからのツリーとゴールからのツリーが接続できたかの追加チェックを行うユーザ関数を設定する

Parameters:
i_funcユーザ関数

Definition at line 242 of file RRT.cpp.

スタートからのツリーを設定する

Parameters:
treeスタートからのツリー

Definition at line 234 of file RRT.cpp.

void RRT::swapTrees ( ) [private]

Definition at line 227 of file RRT.cpp.


Member Data Documentation

double PathEngine::RRT::eps_ [private]

ランダムな点に向けてどれだけのばすか

Definition at line 79 of file RRT.h.

ゴールからツリーをのばすか否か

Definition at line 94 of file RRT.h.

スタートからツリーをのばすか否か

Definition at line 89 of file RRT.h.

スタートからのツリーとゴールからのツリーが接続できたかの追加チェックを行うユーザ関数

Definition at line 99 of file RRT.h.

ツリーの交換のために用いる変数。どちらか一方がTstart_をもう一方がTgoal_を指す

Definition at line 54 of file RRT.h.

Definition at line 54 of file RRT.h.

RRT-connect において、終了位置からのツリー

Definition at line 44 of file RRT.h.

ツリーを作成する最大試行回数

Definition at line 84 of file RRT.h.

a tree extened in the last phase

Definition at line 49 of file RRT.h.

RRT-connect において、初期位置からのツリー

Definition at line 39 of file RRT.h.


The documentation for this class was generated from the following files:


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Apr 11 2019 03:30:22