10 : start_(planner->getConfigurationSpace()->
size()),
11 goal_ (planner->getConfigurationSpace()->
size()),
12 isRunning_(false), planner_(planner), verbose_(false)
29 std::map<std::string, std::string>::const_iterator it;
30 it = properties.begin();
31 while (it != properties.end()) {
38 std::vector<std::string> &values) {
42 std::map<std::string, std::string>::iterator it;
45 names.push_back((*it).first);
46 values.push_back((*it).second);
70 std::map<std::string, std::string>::iterator it;
72 std::cout <<
"properties:" << std::endl;
74 std::cout <<
" " << it->first <<
" = " << it->second << std::endl;
77 std::cout << std::endl;
82 std::cout <<
"start:" <<
start_ << std::endl;
83 std::cout <<
"goal:" <<
goal_ << std::endl;
88 std::cerr <<
"start configuration is invalid" << std::endl;
92 const std::pair<std::string, std::string> &pair
94 std::cerr <<
"start configuration is not collision-free(" 95 << pair.first <<
"<->" << pair.second <<
")" << std::endl;
99 std::cerr <<
"goal configuration is invalid" << std::endl;
103 const std::pair<std::string, std::string> &pair
105 std::cerr <<
"goal configuration is not collision-free(" 106 << pair.first <<
"<->" << pair.second <<
")" << std::endl;
112 std::cerr <<
"goal is not reachable even if collision is not checked" bool preparePlanning()
経路計画の準備をし、初期位置と目標位置が有効なものであることをチェックする
void setProperties(const std::map< std::string, std::string > &properties)
アルゴリズムに対して各種情報を設定する
static double interpolationDistance()
補間時の隣接する2点間の最大距離を取得する
RoadmapPtr roadmap_
ロードマップ
void getProperties(std::vector< std::string > &names, std::vector< std::string > &values)
プロパティ一覧を取得する
ConfigurationSpace * getConfigurationSpace()
コンフィギュレーション空間設定を取得する
virtual ~Algorithm()
デストラクタ
bool tryDirectConnection()
初期位置と終了位置を直接結べないか検査する
bool checkCollision()
現在の状態で干渉検出を行う
const std::pair< std::string, std::string > & collidingPair()
std::map< std::string, std::string > properties_
プロパティ
Mobility * getMobility()
移動能力を取得する
std::vector< Configuration > path_
計画された経路
bool ignoreCollisionAtStart_
void setProperty(const std::string &key, const std::string &value)
bool isReachable(Configuration &from, Configuration &to, bool checkCollision=true) const
fromからtoへ干渉なしに移動可能であるかどうか
PathPlanner * planner_
計画経路エンジン
Algorithm(PathPlanner *planner)
コンストラクタ
bool isValid(const Configuration &cfg) const
全ての要素が有効な範囲内にあるかどうか検査する
boost::shared_ptr< Roadmap > RoadmapPtr
bool ignoreCollisionAtGoal_