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

動作のループを感知するクラス. [詳解]

#include <dead_lock_checker.h>

公開メンバ関数

void AddNode (const RobotStateNode &node)
 ロボットが行った動作を追加する.上限数を超えたら,古いものから削除する.
 
bool IsDeadLock () const
 直近に行った動作を比較して,ロボットが正しく動作できているか判断する.
 

詳解

動作のループを感知するクラス.

グラフ探索を用いてロボットの歩容生成をしていると, 最善の行動をとると,同様の操作をし続けて動作がループしてしまう場合がある. それを探知して,歩容生成に失敗していることを通達するクラス. [deque(デック)について] std::vectorの亜種. vectorとの違いとして,先頭と末尾の要素の追加・削除が高速である.
参考 : https://cpprefjp.github.io/reference/deque/deque.html (アクセス日 2023/12/27)

dead_lock_checker.h29 行目に定義があります。

関数詳解

◆ AddNode()

void designlab::DeadLockChecker::AddNode ( const RobotStateNode node)

ロボットが行った動作を追加する.上限数を超えたら,古いものから削除する.

引数
[in]nodeロボットの現在の状態.

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

被呼び出し関係図:

◆ IsDeadLock()

bool designlab::DeadLockChecker::IsDeadLock ( ) const

直近に行った動作を比較して,ロボットが正しく動作できているか判断する.

戻り値
true動作がデッドロックしている.つまり,正しく動作できていない.
false動作がデッドロックしていない.つまり,正しく動作できている.

dead_lock_checker.cpp27 行目に定義があります。

被呼び出し関係図:

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