8#ifndef DESIGNLAB_XR_R1_CONST_H_
9#define DESIGNLAB_XR_R1_CONST_H_
25 constexpr static int kPhantomXLegNum = 6;
89 constexpr static bool IsValidCoxaAngle(
const int leg_index,
const float angle)
noexcept {
91 assert(0 <= leg_index);
92 assert(leg_index < kPhantomXLegNum);
114 "kCoxaAngleMax > Min is required.");
116 "kFemurAngleMax > Min is required.");
118 "kTibiaAngleMax > Min is required.");
121 "kCoxaLength and Coxa Link must be positive.");
123 "kFemurLength and Femur Link must be positive.");
125 "kTibiaLength and Tibia Link must be positive.");
static constexpr float kTibiaAngleMin
第2関節の可動範囲の最大値[rad].詳しくは referenceフォルダ参照.
XrR1Const(const XrR1Const &other)=delete
static constexpr float kCoxaBaseOffsetX
coxa linkの付け根までの長さ(上方向)[mm].
static constexpr float kBodyHeight
static constexpr bool IsValidCoxaAngle(const int leg_index, const float angle) noexcept
第1関節の角度が有効な範囲内かどうかを判定する.
XrR1Const(XrR1Const &&other)=delete
static constexpr float kCoxaAngleMin
第1関節の可動範囲の最大値[rad].詳しくは referenceフォルダ参照.
static constexpr std::array< float, kPhantomXLegNum > kCoxaDefaultAngle
第1関節の初期角度[rad]
static constexpr float kFemurAngleMin
第2関節の可動範囲の最大値[rad].詳しくは referenceフォルダ参照.
static constexpr float kFemurLength
第2関節部の長さ[mm].
static constexpr float kCoxaBaseOffsetY
coxa linkの付け根(中央)までの長さ[mm].
static constexpr float kCoxaLength
第1関節部の長さ[mm].
static constexpr bool IsValidFemurAngle(const float angle) noexcept
第2関節の角度が有効な範囲内かどうかを判定する.
static constexpr float kTibiaLength
第3関節部の長さ[mm].
static constexpr float kTibiaAngleMax
static constexpr float kCoxaBaseOffsetZ
胴体の高さ[mm].
XrR1Const & operator=(const XrR1Const &other)=delete
static constexpr bool IsValidTibiaAngle(const float angle) noexcept
第3関節の角度が有効な範囲内かどうかを判定する.
static constexpr float kCoxaAngleMax
第2関節の可動範囲の最小値[rad].詳しくは referenceフォルダ参照.
static constexpr float kFemurAngleMax
第2関節の可動範囲の最小値[rad].詳しくは referenceフォルダ参照.
static constexpr float kCenterCoxaBaseOffsetY
coxa linkの付け根(前方・後方)までの長さ[mm].
constexpr T ConvertDegToRad(const T deg) noexcept
角度を [deg] から [rad] に変換する関数.