8#ifndef DESIGNLAB_PHANTOMX_MK2_CONST_H_
9#define DESIGNLAB_PHANTOMX_MK2_CONST_H_
34 constexpr static int kPhantomXLegNum = 6;
101 assert(0 <= leg_index);
102 assert(leg_index < kPhantomXLegNum);
126 "kCoxaAngleMax > Min is required.");
128 "kFemurAngleMax > Min is required.");
130 "kTibiaAngleMax > Min is required.");
133 "kCoxaLength and Coxa Link must be positive.");
135 "kFemurLength and Femur Link must be positive.");
137 "kTibiaLength and Tibia Link must be positive.");
PhantomX mk-Ⅱ のパラメータを定数で表現したもの.
static constexpr float kFemurLength
第2関節部の長さ[mm].
static constexpr bool IsValidCoxaAngle(const int leg_index, const float angle)
第1関節の角度が有効な範囲内かどうかを判定する.
static constexpr float kTibiaAngleMax
static constexpr float kFemurAngleMin
第2関節の可動範囲の最大値[rad].詳しくは referenceフォルダ参照.
static constexpr float kCoxaBaseOffsetY
coxa linkの付け根(中央)までの長さ[mm].
static constexpr float kFemurAngleMax
第2関節の可動範囲の最小値[rad].詳しくは referenceフォルダ参照.
PhantomXMkIIConst(PhantomXMkIIConst &&other)=delete
static constexpr float kCenterCoxaBaseOffsetY
coxa linkの付け根(前方・後方)までの長さ[mm].
static constexpr float kCoxaLength
第1関節部の長さ[mm].
static constexpr float kCoxaAngleMin
第1関節の可動範囲の最大値[rad].詳しくは referenceフォルダ参照.
static constexpr float kTibiaAngleMin
第2関節の可動範囲の最大値[rad].詳しくは referenceフォルダ参照.
static constexpr float kTibiaLength
第3関節部の長さ[mm].
PhantomXMkIIConst(const PhantomXMkIIConst &other)=delete
static constexpr std::array< float, kPhantomXLegNum > kCoxaDefaultAngle
第1関節の初期角度[rad]
PhantomXMkIIConst & operator=(const PhantomXMkIIConst &other)=delete
static constexpr float kBodyHeight
static constexpr bool IsValidFemurAngle(const float angle)
第2関節の角度が有効な範囲内かどうかを判定する.
static constexpr bool IsValidTibiaAngle(const float angle)
第3関節の角度が有効な範囲内かどうかを判定する.
PhantomXMkIIConst()=delete
static constexpr float kCoxaBaseOffsetX
coxa linkの付け根までの長さ(上方向)[mm].
static constexpr float kCoxaBaseOffsetZ
胴体の高さ[mm].
static constexpr float kCoxaAngleMax
第2関節の可動範囲の最小値[rad].詳しくは referenceフォルダ参照.
constexpr T ConvertDegToRad(const T deg) noexcept
角度を [deg] から [rad] に変換する関数.