移動アルゴリズム実装用抽象クラス More...
#include <Mobility.h>
Public Member Functions | |
virtual double | distance (const Configuration &from, const Configuration &to) const =0 |
virtual bool | getPath (Configuration &from, Configuration &to, std::vector< Configuration > &o_path) const |
開始位置から目標地点への移動を補間して生成された姿勢列を取得する。 | |
virtual Configuration | interpolate (const Configuration &from, const Configuration &to, double ratio) const =0 |
bool | isReachable (Configuration &from, Configuration &to, bool checkCollision=true) const |
fromからtoへ干渉なしに移動可能であるかどうか | |
virtual bool | isReversible () const =0 |
この移動アルゴリズムでA→Bへ移動可能である時に、B→Aが同じ経路で移動可能であるかどうか | |
Mobility (PathPlanner *planner) | |
コンストラクタ | |
virtual | ~Mobility () |
デストラクタ | |
Static Public Member Functions | |
static void | interpolationDistance (double d) |
補間時の隣接する2点間の最大距離を設定する | |
static double | interpolationDistance () |
補間時の隣接する2点間の最大距離を取得する | |
Protected Attributes | |
PathPlanner * | planner_ |
計画経路エンジン | |
Static Private Attributes | |
static double | interpolationDistance_ = 0.1 |
補間時の隣接する2点間の最大距離 |
移動アルゴリズム実装用抽象クラス
ロボットの移動アルゴリズムを実装するための抽象クラス。 各々のロボットの移動アルゴリズムを実装する場合、このクラスを継承し、以下のメンバ関数を実装する
Definition at line 48 of file Mobility.h.
PathEngine::Mobility::Mobility | ( | PathPlanner * | planner | ) | [inline] |
virtual PathEngine::Mobility::~Mobility | ( | ) | [inline, virtual] |
デストラクタ
Definition at line 67 of file Mobility.h.
virtual double PathEngine::Mobility::distance | ( | const Configuration & | from, |
const Configuration & | to | ||
) | const [pure virtual] |
bool Mobility::getPath | ( | Configuration & | from, |
Configuration & | to, | ||
std::vector< Configuration > & | o_path | ||
) | const [virtual] |
開始位置から目標地点への移動を補間して生成された姿勢列を取得する。
隣接した二つの姿勢間の距離はinterpolationDistance()で得られる距離以下になるように補間を行う
from | 開始位置 |
to | 目標位置 |
Definition at line 26 of file Mobility.cpp.
virtual Configuration PathEngine::Mobility::interpolate | ( | const Configuration & | from, |
const Configuration & | to, | ||
double | ratio | ||
) | const [pure virtual] |
static void PathEngine::Mobility::interpolationDistance | ( | double | d | ) | [inline, static] |
static double PathEngine::Mobility::interpolationDistance | ( | ) | [inline, static] |
bool Mobility::isReachable | ( | Configuration & | from, |
Configuration & | to, | ||
bool | checkCollision = true |
||
) | const |
fromからtoへ干渉なしに移動可能であるかどうか
Definition at line 8 of file Mobility.cpp.
virtual bool PathEngine::Mobility::isReversible | ( | ) | const [pure virtual] |
この移動アルゴリズムでA→Bへ移動可能である時に、B→Aが同じ経路で移動可能であるかどうか
Implemented in PathEngine::TGT, and PathEngine::OmniWheel.
double Mobility::interpolationDistance_ = 0.1 [static, private] |
補間時の隣接する2点間の最大距離
Definition at line 123 of file Mobility.h.
PathPlanner* PathEngine::Mobility::planner_ [protected] |