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

間接角度や角速度を計算する処理のインターフェース. [詳解]

#include <interface_hexapod_joint_calculator.h>

designlab::IHexapodJointCalculator の継承関係図
Inheritance graph
[凡例]

公開メンバ関数

virtual ~IHexapodJointCalculator ()=default
 
std::array< HexapodJointState, HexapodConst::kLegNumCalculateAllJointState (const RobotStateNode &node) const noexcept
 全ての関節のグローバル座標と,角度を計算する.
重たいのでグラフ探索や,描画処理中にループで使用することは推奨しない.
間接の可動範囲外まで動いてしまう場合でも,答えを返す.
目標座標に届かない場合は,最も近い座標まで脚を伸ばし, 戻り値の is_in_range を false にする.
 
virtual HexapodJointState CalculateJointState (const int leg_index, const Vector3 &leg_pos) const noexcept=0
 指定した脚の関節のグローバル座標と,角度を計算する.
重たいのでグラフ探索や,描画処理中にループで使用することは推奨しない.
間接の可動範囲外まで動いてしまう場合でも,答えを返す.
目標座標に届かない場合は,最も近い座標まで脚を伸ばし, 戻り値の is_in_range を false にする.
 
bool IsValidAllJointState (const RobotStateNode &node, const std::array< HexapodJointState, HexapodConst::kLegNum > &joint_state) const noexcept
 HexapodJointStateが正しく計算できているかを調べる.
目標座標に届かない場合や,間接の可動範囲外まで動いてしまう場合, 戻り値は false になる.
 
virtual bool IsValidJointState (const int leg_index, const Vector3 &leg_pos, const HexapodJointState &joint_state) const noexcept=0
 指定した脚のHexapodJointStateが正しく計算できているかを調べる.
目標座標に届かない場合や,間接の可動範囲外まで動いてしまう場合, 戻り値は false になる.
 

詳解

間接角度や角速度を計算する処理のインターフェース.

class IHexapodJointCalculator

interface_hexapod_joint_calculator.h43 行目に定義があります。

構築子と解体子

◆ ~IHexapodJointCalculator()

virtual designlab::IHexapodJointCalculator::~IHexapodJointCalculator ( )
virtualdefault

関数詳解

◆ CalculateAllJointState()

std::array< HexapodJointState, HexapodConst::kLegNum > designlab::IHexapodJointCalculator::CalculateAllJointState ( const RobotStateNode node) const
inlinenoexcept

全ての関節のグローバル座標と,角度を計算する.
重たいのでグラフ探索や,描画処理中にループで使用することは推奨しない.
間接の可動範囲外まで動いてしまう場合でも,答えを返す.
目標座標に届かない場合は,最も近い座標まで脚を伸ばし, 戻り値の is_in_range を false にする.

引数
[in]nodeノードの情報.
戻り値
全ての関節の状態.

interface_hexapod_joint_calculator.h57 行目に定義があります。

呼び出し関係図:

◆ CalculateJointState()

virtual HexapodJointState designlab::IHexapodJointCalculator::CalculateJointState ( const int  leg_index,
const Vector3 leg_pos 
) const
pure virtualnoexcept

指定した脚の関節のグローバル座標と,角度を計算する.
重たいのでグラフ探索や,描画処理中にループで使用することは推奨しない.
間接の可動範囲外まで動いてしまう場合でも,答えを返す.
目標座標に届かない場合は,最も近い座標まで脚を伸ばし, 戻り値の is_in_range を false にする.

引数
[in]leg_index脚のインデックス.
[in]leg_pos脚先座標,脚座標系.
戻り値
指定した脚の関節の状態.

designlab::PhantomXMkIIで実装されています。

被呼び出し関係図:

◆ IsValidAllJointState()

bool designlab::IHexapodJointCalculator::IsValidAllJointState ( const RobotStateNode node,
const std::array< HexapodJointState, HexapodConst::kLegNum > &  joint_state 
) const
inlinenoexcept

HexapodJointStateが正しく計算できているかを調べる.
目標座標に届かない場合や,間接の可動範囲外まで動いてしまう場合, 戻り値は false になる.

引数
[in]nodeノードの情報.
[in]joint_state関節の状態.
戻り値
計算が正しくできているならば true を返す.

interface_hexapod_joint_calculator.h90 行目に定義があります。

呼び出し関係図:

◆ IsValidJointState()

virtual bool designlab::IHexapodJointCalculator::IsValidJointState ( const int  leg_index,
const Vector3 leg_pos,
const HexapodJointState joint_state 
) const
pure virtualnoexcept

指定した脚のHexapodJointStateが正しく計算できているかを調べる.
目標座標に届かない場合や,間接の可動範囲外まで動いてしまう場合, 戻り値は false になる.

引数
[in]leg_index脚のインデックス.
[in]leg_pos脚先座標,脚座標系.
[in]joint_state関節の状態.
戻り値
計算が正しくできているならば true を返す.

designlab::PhantomXMkIIで実装されています。

被呼び出し関係図:

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