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

ロボットは重心位置・アクチュエータなど様々な点を基準とする座標系を持つ. これらを相互に変換する処理のインターフェース. [詳解]

#include <interface_hexapod_coordinate_converter.h>

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

公開メンバ関数

virtual ~IHexapodCoordinateConverter ()=default
 継承するクラスはデストラクタを virtualにすること.
 
virtual Vector3 ConvertGlobalToLegCoordinate (const Vector3 &converted_position, int leg_index, const Vector3 &center_of_mass_global, const Quaternion &robot_quat, bool consider_rot) const =0
 グローバル座標系で表現されている座標を,脚座標系に変換する.
 
virtual Vector3 ConvertLegToGlobalCoordinate (const Vector3 &converted_position, int leg_index, const Vector3 &center_of_mass_global, const Quaternion &robot_quat, bool consider_rot) const =0
 脚座標系で表現されている座標を,グローバル座標系に変換する.
 
virtual Vector3 ConvertRobotToGlobalCoordinate (const Vector3 &converted_position, const Vector3 &center_of_mass_global, const Quaternion &robot_quat, bool consider_rot) const =0
 ロボット座標系で表現されている座標を,グローバル座標系に変換する.
 
virtual Vector3 ConvertRobotToLegCoordinate (const Vector3 &converted_position, int leg_index) const =0
 ロボット座標系で表現されている座標を,脚座標系に変換する.
 
virtual Vector3 ConvertLegToRobotCoordinate (const Vector3 &converted_position, int leg_index) const =0
 脚座標系で表現されている座標を,ロボット座標系に変換する.
 

詳解

ロボットは重心位置・アクチュエータなど様々な点を基準とする座標系を持つ. これらを相互に変換する処理のインターフェース.

プログラムには3つの座標系が存在している,

運動学の教科書とか読む感じ, この座標系の取り方とは違うのだが,先行研究で使われた手法であり, 実用上問題ないのでこのまま.

interface_hexapod_coordinate_converter.h33 行目に定義があります。

構築子と解体子

◆ ~IHexapodCoordinateConverter()

virtual designlab::IHexapodCoordinateConverter::~IHexapodCoordinateConverter ( )
virtualdefault

継承するクラスはデストラクタを virtualにすること.

関数詳解

◆ ConvertGlobalToLegCoordinate()

virtual Vector3 designlab::IHexapodCoordinateConverter::ConvertGlobalToLegCoordinate ( const Vector3 converted_position,
int  leg_index,
const Vector3 center_of_mass_global,
const Quaternion robot_quat,
bool  consider_rot 
) const
pure virtual

グローバル座標系で表現されている座標を,脚座標系に変換する.

引数
[in]converted_position変換対象.グローバル座標系.
[in]leg_index脚番号.
[in]center_of_mass_globalロボットの重心の座標.グローバル座標系.
[in]robot_rotロボットの姿勢.角度はrad.
[in]consider_rotロボットの姿勢を考慮するかどうか. falseなら回転を考慮しない.
戻り値
脚座標系の座標.脚先座標系とは脚の付け根を原点とし, 軸はロボット座標系と同様な座標系.

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

◆ ConvertLegToGlobalCoordinate()

virtual Vector3 designlab::IHexapodCoordinateConverter::ConvertLegToGlobalCoordinate ( const Vector3 converted_position,
int  leg_index,
const Vector3 center_of_mass_global,
const Quaternion robot_quat,
bool  consider_rot 
) const
pure virtual

脚座標系で表現されている座標を,グローバル座標系に変換する.

引数
[in]converted_position変換対象.脚座標系.
[in]leg_index脚番号.
[in]center_of_mass_globalロボットの重心の座標.グローバル座標系.
[in]robot_rotロボットの姿勢.角度は[rad].
[in]consider_rotロボットの姿勢を考慮するかどうか. falseなら回転を考慮しない.
戻り値
グローバル座標系の座標.

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

◆ ConvertLegToRobotCoordinate()

virtual Vector3 designlab::IHexapodCoordinateConverter::ConvertLegToRobotCoordinate ( const Vector3 converted_position,
int  leg_index 
) const
pure virtual

脚座標系で表現されている座標を,ロボット座標系に変換する.

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

◆ ConvertRobotToGlobalCoordinate()

virtual Vector3 designlab::IHexapodCoordinateConverter::ConvertRobotToGlobalCoordinate ( const Vector3 converted_position,
const Vector3 center_of_mass_global,
const Quaternion robot_quat,
bool  consider_rot 
) const
pure virtual

ロボット座標系で表現されている座標を,グローバル座標系に変換する.

引数
[in]converted_position変換対象.ロボット座標系.
[in]center_of_mass_globalロボットの重心の座標.グローバル座標系.
[in]robot_rotロボットの姿勢.角度は[rad].
[in]consider_rotロボットの姿勢を考慮するかどうか. falseなら回転を考慮しない.
戻り値
グローバル座標系の座標.

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

◆ ConvertRobotToLegCoordinate()

virtual Vector3 designlab::IHexapodCoordinateConverter::ConvertRobotToLegCoordinate ( const Vector3 converted_position,
int  leg_index 
) const
pure virtual

ロボット座標系で表現されている座標を,脚座標系に変換する.

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


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