Model Descriptors#
The rb::y1_model classes provide compile-time constants for the supported
RB-Y1 model families. Use these descriptors as the template parameter for
rb::Robot<T> and for any data structure that depends on model-specific DOF
or joint ordering.
Header
Header |
|
Declaration
Namespace |
|
Kind |
|
Primary role |
Expose compile-time robot constants such as DOF and subsystem index groups. |
Public Types
Type |
DOF |
Main constants |
Description |
|---|---|---|---|
|
24 |
body, arms, head, and mobility index groups |
Full mobile manipulator model descriptor. |
|
20 |
body, arms, and head index groups |
Non-mobility model descriptor. |
|
14 |
upper-body index groups |
Upper-body-only model descriptor. |
Detailed Reference
-
class A#
Represents the model description of Robot A.
This class represents the model description of Robot A, which serves as the base model.
Public Types
Public Static Attributes
-
static std::array<unsigned int, 20> kBodyIdx = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}#
Indices for the main body components.
These indices cover all joints excluding the mobility and head components.
-
static double kControlPeriod = 0.002#
Control update period in seconds.
-
static std::array<unsigned int, 2> kHeadIdx = {22, 23}#
Indices for the head components.
-
static std::array<unsigned int, 7> kLeftArmIdx = {15, 16, 17, 18, 19, 20, 21}#
Indices for the left arm components.
-
static std::array<unsigned int, 2> kMobilityIdx = {0, 1}#
Indices for the mobility components (e.g., wheels).
These indices represent the parts of the robot responsible for mobility.
-
static std::string_view kModelName = "A"#
The model name.
-
static std::array<unsigned int, 7> kRightArmIdx = {8, 9, 10, 11, 12, 13, 14}#
Indices for the right arm components.
-
static size_t kRobotDOF = 24#
Total degrees of freedom for the robot.
-
static std::array<std::string_view, kRobotDOF> kRobotJointNames = {"right_wheel", "left_wheel", "torso_0", "torso_1", "torso_2", "torso_3", "torso_4", "torso_5", "right_arm_0", "right_arm_1", "right_arm_2", "right_arm_3", "right_arm_4", "right_arm_5", "right_arm_6", "left_arm_0", "left_arm_1", "left_arm_2", "left_arm_3", "left_arm_4", "left_arm_5", "left_arm_6", "head_0", "head_1"}#
Names of the robot joints.
This array contains the names of all joints in the robot, arranged in the order of their indices.
-
static std::array<unsigned int, 6> kTorsoIdx = {2, 3, 4, 5, 6, 7}#
Indices for the torso components.
-
static std::array<unsigned int, 20> kBodyIdx = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21}#
-
class M#
Represents the model description of Robot M.
This class represents the model description of Robot M, which is derived from the base model A. The M model includes mecanum wheel mobile base instead differential type mobile base.
Public Types
Public Static Attributes
-
static std::array<unsigned int, 20> kBodyIdx = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}#
-
static double kControlPeriod = 0.002#
-
static std::array<unsigned int, 2> kHeadIdx = {24, 25}#
-
static std::array<unsigned int, 7> kLeftArmIdx = {17, 18, 19, 20, 21, 22, 23}#
-
static std::array<unsigned int, 4> kMobilityIdx = {0, 1, 2, 3}#
-
static std::string_view kModelName = "M"#
-
static std::array<unsigned int, 7> kRightArmIdx = {10, 11, 12, 13, 14, 15, 16}#
-
static size_t kRobotDOF = 26#
-
static std::array<std::string_view, kRobotDOF> kRobotJointNames = {"wheel_fr", "wheel_fl", "wheel_rr", "wheel_rl", "torso_0", "torso_1", "torso_2", "torso_3", "torso_4", "torso_5", "right_arm_0", "right_arm_1", "right_arm_2", "right_arm_3", "right_arm_4", "right_arm_5", "right_arm_6", "left_arm_0", "left_arm_1", "left_arm_2", "left_arm_3", "left_arm_4", "left_arm_5", "left_arm_6", "head_0", "head_1"}#
-
static std::array<unsigned int, 6> kTorsoIdx = {4, 5, 6, 7, 8, 9}#
-
static std::array<unsigned int, 20> kBodyIdx = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23}#
-
class UB#
Represents the model description of Robot UB.
Standard Upper Body
Public Types
Public Static Attributes
-
static std::array<unsigned int, 16> kBodyIdx = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}#
-
static double kControlPeriod = 0.002#
-
static std::array<unsigned int, 2> kHeadIdx = {16, 17}#
-
static std::array<unsigned int, 7> kLeftArmIdx = {9, 10, 11, 12, 13, 14, 15}#
-
static std::array<unsigned int, 0> kMobilityIdx = {}#
-
static std::string_view kModelName = "UB"#
-
static std::array<unsigned int, 7> kRightArmIdx = {2, 3, 4, 5, 6, 7, 8}#
-
static size_t kRobotDOF = 18#
-
static std::array<std::string_view, kRobotDOF> kRobotJointNames = {"torso_hp", "torso_5", "right_arm_0", "right_arm_1", "right_arm_2", "right_arm_3", "right_arm_4", "right_arm_5", "right_arm_6", "left_arm_0", "left_arm_1", "left_arm_2", "left_arm_3", "left_arm_4", "left_arm_5", "left_arm_6", "head_0", "head_1"}#
-
static std::array<unsigned int, 2> kTorsoIdx = {0, 1}#
-
static std::array<unsigned int, 16> kBodyIdx = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}#
Related Types
Examples
get_robot_state.cppanddemo_motion.cppboth depend on one of these descriptors at compile time.