GaitGeneration by Graph Search
読み取り中…
検索中…
一致する文字列を見つけられません
公開メンバ関数 | 全メンバ一覧
designlab::GaitPatternGraphTree クラスfinal

RobotStateNode 構造体をノードとする木構造のグラフのクラス. [詳解]

#include <gait_pattern_graph_tree.h>

公開メンバ関数

 GaitPatternGraphTree ()=delete
 
 GaitPatternGraphTree (const int graph_max_size)
 コンストラクタ.
ノード数の最大値を指定する.
 
constexpr int GetGraphSize () const
 グラフのノードの総数を返す.
 
constexpr bool IsEmpty () const
 グラフが空かどうかを返す.
 
constexpr bool HasRoot () const
 グラフが根ノードを持つかどうかを返す.
根ノードとは,親を持たないノードのこと.
一番最初に追加するノードは必ず根になるため, 根を持つかどうかはノードの総数が0でないかどうかで判定できる.
 
constexpr int GetRootIndex () const
 グラフの根ノードのインデックスを返す.
ノードがない場合を考慮していないため, HasRoot()で根ノードを持つかどうかを確認すること.
一番最初に追加されたノードは必ず根ノードになるため, 根ノードのインデックスは0で固定される.
 
const RobotStateNodeGetRootNode () const
 グラフの根ノードの参照を返す.
 
const RobotStateNodeGetNode (const int index) const
 グラフのノードの参照を返す.
 
const RobotStateNodeGetParentNode (const int index, const int depth) const
 指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.
 
const int GetParentNodeIndex (const int index, const int depth) const
 指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.
 
void AddNode (const RobotStateNode &node)
 ノードを追加する.
追加するノードは親ノードのインデックスと,depthの指定が適切にされている必要がある.
これらが適切にされていない場合,アサーションに引っかかる.
また,あらかじめ確保したノード数を超えて追加しようとするとアサーションに引っかかる.
この条件下では一番最初に追加されるノードは必ず根ノード(親を持たず,深さ0)になる,
 
constexpr void Reset ()
 グラフをリセットする.
 
std::vector< float > GetCoMVerticalTrajectory (const int index) const
 指定したノードの重心の上下移動軌跡を返す.
 

詳解

RobotStateNode 構造体をノードとする木構造のグラフのクラス.

論文でいうところの歩容パターングラフ.

gait_pattern_graph_tree.h23 行目に定義があります。

構築子と解体子

◆ GaitPatternGraphTree() [1/2]

designlab::GaitPatternGraphTree::GaitPatternGraphTree ( )
delete

◆ GaitPatternGraphTree() [2/2]

designlab::GaitPatternGraphTree::GaitPatternGraphTree ( const int  graph_max_size)
inlineexplicit

コンストラクタ.
ノード数の最大値を指定する.

引数
[in]graph_max_sizeノード数の最大値.

gait_pattern_graph_tree.h31 行目に定義があります。

関数詳解

◆ AddNode()

void designlab::GaitPatternGraphTree::AddNode ( const RobotStateNode node)
inline

ノードを追加する.
追加するノードは親ノードのインデックスと,depthの指定が適切にされている必要がある.
これらが適切にされていない場合,アサーションに引っかかる.
また,あらかじめ確保したノード数を超えて追加しようとするとアサーションに引っかかる.
この条件下では一番最初に追加されるノードは必ず根ノード(親を持たず,深さ0)になる,

引数
[in]node追加するノード.

gait_pattern_graph_tree.h107 行目に定義があります。

被呼び出し関係図:

◆ GetCoMVerticalTrajectory()

std::vector< float > designlab::GaitPatternGraphTree::GetCoMVerticalTrajectory ( const int  index) const
inline

指定したノードの重心の上下移動軌跡を返す.

引数
[in]index参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる.
戻り値
指定したノードの重心の上下移動軌跡.

gait_pattern_graph_tree.h130 行目に定義があります。

被呼び出し関係図:

◆ GetGraphSize()

constexpr int designlab::GaitPatternGraphTree::GetGraphSize ( ) const
inlineconstexpr

グラフのノードの総数を返す.

戻り値
グラフのノードの総数.

gait_pattern_graph_tree.h40 行目に定義があります。

被呼び出し関係図:

◆ GetNode()

const RobotStateNode & designlab::GaitPatternGraphTree::GetNode ( const int  index) const
inline

グラフのノードの参照を返す.

引数
[in]index参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる.
戻り値
インデックスで指定したノードの参照.

gait_pattern_graph_tree.h80 行目に定義があります。

被呼び出し関係図:

◆ GetParentNode()

const RobotStateNode & designlab::GaitPatternGraphTree::GetParentNode ( const int  index,
const int  depth 
) const

指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.

引数
[in]index参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる.
[in]depth親ノードの深さ.
戻り値
インデックスで指定したノードの親ノードの参照.

gait_pattern_graph_tree.cpp14 行目に定義があります。

被呼び出し関係図:

◆ GetParentNodeIndex()

const int designlab::GaitPatternGraphTree::GetParentNodeIndex ( const int  index,
const int  depth 
) const

指定したノードの親ノードの参照を返す.depthは親ノードの深さを指定する.

引数
[in]index参照したいノードのインデックス. 最大ノード数を超える数を指定するとアサーションに引っかかる.
[in]depth親ノードの深さ.
戻り値
indexで指定したノードの親ノードのインデックス.

gait_pattern_graph_tree.cpp36 行目に定義があります。

◆ GetRootIndex()

constexpr int designlab::GaitPatternGraphTree::GetRootIndex ( ) const
inlineconstexpr

グラフの根ノードのインデックスを返す.
ノードがない場合を考慮していないため, HasRoot()で根ノードを持つかどうかを確認すること.
一番最初に追加されたノードは必ず根ノードになるため, 根ノードのインデックスは0で固定される.

戻り値
グラフの根ノードのインデックス.

gait_pattern_graph_tree.h64 行目に定義があります。

◆ GetRootNode()

const RobotStateNode & designlab::GaitPatternGraphTree::GetRootNode ( ) const
inline

グラフの根ノードの参照を返す.

戻り値
const RobotStateNode& グラフの根ノードの参照.

gait_pattern_graph_tree.h71 行目に定義があります。

被呼び出し関係図:

◆ HasRoot()

constexpr bool designlab::GaitPatternGraphTree::HasRoot ( ) const
inlineconstexpr

グラフが根ノードを持つかどうかを返す.
根ノードとは,親を持たないノードのこと.
一番最初に追加するノードは必ず根になるため, 根を持つかどうかはノードの総数が0でないかどうかで判定できる.

戻り値
trueグラフが根ノードを持つ.
falseグラフが根ノードを持たない.

gait_pattern_graph_tree.h53 行目に定義があります。

被呼び出し関係図:

◆ IsEmpty()

constexpr bool designlab::GaitPatternGraphTree::IsEmpty ( ) const
inlineconstexpr

グラフが空かどうかを返す.

戻り値
trueグラフが空.
falseグラフが空でない.

gait_pattern_graph_tree.h45 行目に定義があります。

被呼び出し関係図:

◆ Reset()

constexpr void designlab::GaitPatternGraphTree::Reset ( )
inlineconstexpr

グラフをリセットする.

gait_pattern_graph_tree.h123 行目に定義があります。

被呼び出し関係図:

このクラス詳解は次のファイルから抽出されました: