GaitGeneration by Graph Search
|
間接角度や角速度を計算する処理のインターフェース. [詳解]
#include <interface_hexapod_joint_calculator.h>
公開メンバ関数 | |
virtual | ~IHexapodJointCalculator ()=default |
std::array< HexapodJointState, HexapodConst::kLegNum > | CalculateAllJointState (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.h の 43 行目に定義があります。
|
virtualdefault |
|
inlinenoexcept |
全ての関節のグローバル座標と,角度を計算する.
重たいのでグラフ探索や,描画処理中にループで使用することは推奨しない.
間接の可動範囲外まで動いてしまう場合でも,答えを返す.
目標座標に届かない場合は,最も近い座標まで脚を伸ばし, 戻り値の is_in_range を false にする.
[in] | node | ノードの情報. |
interface_hexapod_joint_calculator.h の 57 行目に定義があります。
|
pure virtualnoexcept |
指定した脚の関節のグローバル座標と,角度を計算する.
重たいのでグラフ探索や,描画処理中にループで使用することは推奨しない.
間接の可動範囲外まで動いてしまう場合でも,答えを返す.
目標座標に届かない場合は,最も近い座標まで脚を伸ばし, 戻り値の is_in_range を false にする.
[in] | leg_index | 脚のインデックス. |
[in] | leg_pos | 脚先座標,脚座標系. |
designlab::PhantomXMkIIで実装されています。
|
inlinenoexcept |
HexapodJointStateが正しく計算できているかを調べる.
目標座標に届かない場合や,間接の可動範囲外まで動いてしまう場合, 戻り値は false になる.
[in] | node | ノードの情報. |
[in] | joint_state | 関節の状態. |
interface_hexapod_joint_calculator.h の 90 行目に定義があります。
|
pure virtualnoexcept |
指定した脚のHexapodJointStateが正しく計算できているかを調べる.
目標座標に届かない場合や,間接の可動範囲外まで動いてしまう場合, 戻り値は false になる.
[in] | leg_index | 脚のインデックス. |
[in] | leg_pos | 脚先座標,脚座標系. |
[in] | joint_state | 関節の状態. |
designlab::PhantomXMkIIで実装されています。