クラス CFusion

複数の距離センサーデータから、存在確率マップを生成するクラス [詳細]

#include <Fusion.h>

CFusionのコラボレーション図

Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

 CFusion ()
 コンストラクタ
virtual ~CFusion ()
 デストラクタ
int init ()
 初期化処理
int setMemoryPara (float period, float decrease)
 メモリパラメータ設定
int setGridMap (GridMap *sensor_data)
 統合用データにデータを追加する
int setWorkMap (GridMap *grid_map)
 作業用マップを設定する
int setSelfLocalization (Localization *self_loc)
 ロボット自己位置を登録する
int getMergedGridMap (GridMap *result)
 統合されたデータを受け取る.
int getDetectedObject (struct detect_object_T *detect_object)
 特定障害物を取得する?
int close ()
 終了処理を行う

Private メソッド

int getEstimatedLocalization (Localization *self_loc, double time)
 自己位置を更新する
int transform (GridMap *src, float dx, float dy, float dthe, GridMap *dst)
 存在確率マップを変形する

Private 変数

float period
 データの保持時間
float decrease
 時間経過によるデータの減衰率
vector< GridMapstored_data
 保持しているセンサデータ履歴
vector< Localizationstored_self_loc
 自己位置履歴
GridMapwork_map
 作業用マップ


説明

複数の距離センサーデータから、存在確率マップを生成するクラス

コンストラクタとデストラクタ

CFusion::CFusion (  ) 

コンストラクタ

CFusion::~CFusion (  )  [virtual]

デストラクタ


関数

int CFusion::init (  ) 

初期化処理

戻り値:
常に0を返す

int CFusion::setMemoryPara ( float  period,
float  decrease 
)

メモリパラメータ設定

引数:
[in] period データ保持時間設定
[in] decrease 時間経過によるデータ減衰率
戻り値:
常に0を返す.

int CFusion::setGridMap ( GridMap sensor_data  ) 

統合用データにデータを追加する

統合するデータに要素を一つ追加する. 追加すると同時に, データ保持時間を過ぎたデータを削除する.

引数:
[in] sensor_data 追加する存在確率マップ
戻り値:
常に0を返す.

int CFusion::setWorkMap ( GridMap grid_map  ) 

作業用マップを設定する

引数:
[in] grid_map 作業用マップ
戻り値:
常に0を返す.

int CFusion::setSelfLocalization ( Localization self_loc  ) 

ロボット自己位置を登録する

引数:
[in] self_loc ロボット自己位置情報
戻り値:
常に0を返す.

int CFusion::getMergedGridMap ( GridMap result  ) 

統合されたデータを受け取る.

引数:
[out] result 統合されたデータを取得するポインタ
戻り値:
常に0を返す.

int CFusion::getDetectedObject ( struct detect_object_T *  detect_object  ) 

特定障害物を取得する?

未実装

引数:
[out] detect_object 特定障害物を受け取るポインタ?
戻り値:
常に0を返す?

int CFusion::close (  ) 

終了処理を行う

戻り値:
常に0を返す.

int CFusion::getEstimatedLocalization ( Localization self_loc,
double  time 
) [private]

自己位置を更新する

保持しているセンサデータの中から最新のものを探し, その原点を自己位置に設定する

引数:
[out] self_loc 更新する自己位置
[in] time 自己位置の前回更新時刻
戻り値:
データ更新時は0を返す, それ以外は-1を返す.

int CFusion::transform ( GridMap src,
float  dx,
float  dy,
float  dthe,
GridMap dst 
) [private]

存在確率マップを変形する

存在確率マップの変形 (移動, 回転, 拡大縮小) を行う.

引数:
[in] src 変形元の存在確率マップ
[in] dx 移動量 (X軸)
[in] dy 移動量 (y軸)
[in] dthe 回転角度
[in] dst 変形後の存在確率マップを受け取るポインタ(こちらの座標系に変換する)
戻り値:
常に0を返す


変数

float CFusion::period [private]

データの保持時間

float CFusion::decrease [private]

時間経過によるデータの減衰率

vector<GridMap> CFusion::stored_data [private]

保持しているセンサデータ履歴

自己位置履歴

作業用マップ


このクラスの説明は次のファイルから生成されました:

環境認識コンポーネントに対してSat Jan 1 23:07:38 2011に生成されました。  doxygen 1.5.5