42 throw RuntimeError(
"TranscriptionBase: call setup() before set_initial_state()");
59 throw RuntimeError(
"TranscriptionBase: call setup() before set_initial_state()");
62 throw InvalidArgument(
"TranscriptionBase: initial state index out of range");
73 throw RuntimeError(
"TranscriptionBase: call setup() before set_final_state()");
90 throw RuntimeError(
"TranscriptionBase: call setup() before set_final_state()");
93 throw InvalidArgument(
"TranscriptionBase: final state index out of range");
106 throw RuntimeError(
"TranscriptionBase: call setup() before set_dynamics()");
109 throw RuntimeError(
"TranscriptionBase: set_dynamics() cannot be called after "
110 "add_dynamics_constraints(); call setup() again to start fresh");
113 dynamics_ = [fn = std::forward<Func>(dynamics)](
141 throw RuntimeError(
"TranscriptionBase: call setup() before add_dynamics_constraints()");
143 static_cast<Derived *
>(
this)->add_dynamics_constraints_impl();
183 if (k < 0 || k >=
tau_.size()) {
190 if (k < 0 || k >=
states_.rows()) {
191 throw InvalidArgument(
"TranscriptionBase: state node index out of range");
202 throw InvalidArgument(
"TranscriptionBase: control node index out of range");
Custom exception hierarchy for Janus framework.
Core type aliases for numeric and symbolic Eigen/CasADi interop.
High-level nonlinear programming interface.
Input validation failed (e.g., mismatched sizes, invalid parameters).
Definition JanusError.hpp:31
Main optimization environment class.
Definition Opti.hpp:167
Operation failed at runtime (e.g., CasADi eval with free variables).
Definition JanusError.hpp:41
bool tf_is_variable_
Definition TranscriptionBase.hpp:161
void add_continuity_constraints()
Alias for add_dynamics_constraints().
Definition TranscriptionBase.hpp:150
SymbolicMatrix controls_
Definition TranscriptionBase.hpp:169
int n_controls_
Definition TranscriptionBase.hpp:155
int n_controls() const
Get the number of control variables per node.
Definition TranscriptionBase.hpp:136
void set_initial_state(const NumericVector &x0)
Pin all initial states to specified values.
Definition TranscriptionBase.hpp:40
const NumericVector & time_grid() const
Get the normalized time grid.
Definition TranscriptionBase.hpp:127
void set_dynamics(Func &&dynamics)
Register the dynamics function xdot = f(x, u, t).
Definition TranscriptionBase.hpp:104
void add_dynamics_constraints()
Add dynamics constraints to the optimization problem.
Definition TranscriptionBase.hpp:139
int n_states_
Definition TranscriptionBase.hpp:154
double t0_
Definition TranscriptionBase.hpp:158
const SymbolicMatrix & states() const
Get the state decision variable matrix.
Definition TranscriptionBase.hpp:121
int n_states() const
Get the number of state variables per node.
Definition TranscriptionBase.hpp:133
NumericVector tau_
Definition TranscriptionBase.hpp:167
void set_final_state(int idx, double value)
Pin a single final state component.
Definition TranscriptionBase.hpp:88
int n_nodes() const
Get the number of discretization nodes.
Definition TranscriptionBase.hpp:130
TranscriptionBase(Opti &opti)
Construct with a reference to the optimization environment.
Definition TranscriptionBase.hpp:34
double tf_fixed_
Definition TranscriptionBase.hpp:159
std::function< SymbolicVector(const SymbolicVector &, const SymbolicVector &, const SymbolicScalar &)> dynamics_
Definition TranscriptionBase.hpp:173
void add_defect_constraints()
Alias for add_dynamics_constraints().
Definition TranscriptionBase.hpp:148
void set_final_state(const NumericVector &xf)
Pin all final states to specified values.
Definition TranscriptionBase.hpp:71
SymbolicScalar tf_symbolic_
Definition TranscriptionBase.hpp:160
SymbolicMatrix states_
Definition TranscriptionBase.hpp:168
bool setup_complete_
Definition TranscriptionBase.hpp:163
int n_nodes_
Definition TranscriptionBase.hpp:156
SymbolicVector get_state_at_node(int k) const
Definition TranscriptionBase.hpp:189
const SymbolicMatrix & controls() const
Get the control decision variable matrix.
Definition TranscriptionBase.hpp:124
void set_initial_state(int idx, double value)
Pin a single initial state component.
Definition TranscriptionBase.hpp:57
SymbolicScalar get_duration() const
Definition TranscriptionBase.hpp:175
SymbolicVector get_control_at_node(int k) const
Definition TranscriptionBase.hpp:200
bool dynamics_constraints_added_
Definition TranscriptionBase.hpp:165
SymbolicScalar get_time_at_node(int k) const
Definition TranscriptionBase.hpp:182
bool dynamics_set_
Definition TranscriptionBase.hpp:164
Opti & opti_
Definition TranscriptionBase.hpp:153
Definition Diagnostics.hpp:19
JanusVector< SymbolicScalar > SymbolicVector
Eigen vector of MX elements.
Definition JanusTypes.hpp:72
JanusVector< NumericScalar > NumericVector
Eigen::VectorXd equivalent.
Definition JanusTypes.hpp:67
JanusMatrix< SymbolicScalar > SymbolicMatrix
Eigen matrix of MX elements.
Definition JanusTypes.hpp:71
casadi::MX SymbolicScalar
CasADi MX symbolic scalar.
Definition JanusTypes.hpp:70