ControlManagerState#

rb::ControlManagerState describes the execution subsystem that sits between the client and command execution. Read it before commanding the robot, and check it again whenever a fault or execution transition is suspected.

Header

Header

#include <rby1-sdk/control_manager_state.h>

Declaration

Namespace

rb

Kind

struct

Primary role

Describe control-manager state, control execution state, enabled joints, and time-scale settings.

Member Types / Enums

Type

Purpose

Notes

State

High-level control-manager state.

Use it to distinguish idle, enabled, and fault modes.

ControlState

Execution-phase state for the current command path.

Useful while a command is starting, running, or switching.

Public Attributes

Field

Meaning

Notes

state

Top-level control-manager state.

Check this first when diagnosing faults.

control_state

Execution-phase state.

Helps interpret transient command behavior.

enabled_joint_idx

Joint indices currently enabled by the manager.

Useful for partial-robot workflows.

time_scale

Active motion time scale.

Mirrors client-side time-scale control.

unlimited_mode_enabled

Whether unlimited mode is active.

Relevant when enabling the manager with unlimited mode.

Numeric Fields & Encodings

Field

Unit / encoding

Notes

time_scale

Dimensionless

Multiplier applied to motion timing.

enabled_joint_idx

Joint indices

Model-order joint indices currently enabled by the control manager.

Detailed Reference

struct ControlManagerState#

Public Types

enum class ControlState#

Values:

enumerator kUnknown#
enumerator kIdle#
enumerator kExecuting#
enumerator kSwitching#
enum class State#

Values:

enumerator kUnknown#
enumerator kIdle#
enumerator kEnabled#
enumerator kMinorFault#
enumerator kMajorFault#

Public Members

ControlState control_state = {ControlState::kUnknown}#
std::vector<unsigned int> enabled_joint_idx = {}#
State state = {State::kUnknown}#
double time_scale = {0.}#
bool unlimited_mode_enabled = {false}#

Related Types

Examples

  • demo_motion.cpp and power_command.cpp both pass through the control-manager lifecycle.