OptimalControl#
rb::OptimalControl is the runtime solver object behind the SDK’s
optimal-control workflow. It is separate from the command builder: this page
covers the solver itself and the nested target records it consumes.
Header
Header |
|
Declaration
Namespace |
|
Kind |
|
Primary role |
Solve constrained model-based control problems against a dynamics model. |
Member Types / Enums
Type |
Purpose |
Notes |
|---|---|---|
|
Solver exit status. |
Check after each call to |
|
Bundle COM, link, joint-angle, and nullspace targets. |
These records define the actual optimization problem. |
Public Member Functions
Method group |
Purpose |
Notes |
|---|---|---|
|
Construct the solver for one robot model and joint subset. |
Binds the solver to a dynamics model. |
|
Run the optimal-control solve. |
Overloads cover bounded and unbounded position-limit cases. |
|
Inspect the result of the most recent solve. |
Use for diagnostics and controller tuning. |
Detailed Reference
-
template<int DOF>
class OptimalControl# Public Types
Public Functions
-
inline double GetError() const#
-
inline std::string GetExitCodeMessage() const#
-
inline double GetManipulability() const#
-
struct COMTarget#
-
struct Input#
Public Members
-
std::optional<std::vector<LinkTarget>> link_targets#
-
std::optional<NullspaceJointTarget> nullspace_q_target#
-
std::optional<JointAngleTarget> q_target#
-
std::optional<std::vector<LinkTarget>> link_targets#
-
struct JointAngleTarget#
-
struct LinkTarget#
-
struct NullspaceJointTarget#
-
inline double GetError() const#
Related Types
Examples
optimal_control.cppis the direct example for this page.