1#ifndef COPP_FORMULATION_H
2#define COPP_FORMULATION_H
Core status, memory, matrix, and shared solver option types.
struct CoppRobot CoppRobot
Opaque C handle for a library-owned robot and constraint buffer.
Definition robot.h:35
Robot handles, path sampling, derivative input, constraints, and limits.
Borrowed value descriptor for a COPP2 problem solved from C.
Definition formulation.h:97
double a_final
Boundary value a(idx_s_final) = (ds/dt)^2.
Definition formulation.h:117
size_t idx_s_start
Closed start station index.
Definition formulation.h:105
const struct CoppRobot * robot
Robot handle that owns the station-indexed constraint storage.
Definition formulation.h:101
double a_start
Boundary value a(idx_s_start) = (ds/dt)^2.
Definition formulation.h:113
size_t idx_s_final
Closed final station index.
Definition formulation.h:109
const struct CoppObjective * objectives
Objective descriptor array.
Definition formulation.h:121
size_t num_objectives
Number of objective descriptors.
Definition formulation.h:125
Borrowed value descriptor for a COPP3 problem solved from C.
Definition formulation.h:254
size_t num_objectives
Number of objective descriptors.
Definition formulation.h:303
size_t idx_s_start
Start station index.
Definition formulation.h:263
const struct CoppObjective * objectives
Objective descriptor array.
Definition formulation.h:299
double a_final
Boundary value a(idx_s_final) = dot{s}^2.
Definition formulation.h:275
double b_final
Boundary value b(idx_s_final) = ddot{s}.
Definition formulation.h:283
struct CoppRobot * robot
Mutable robot handle that owns station-indexed constraint storage.
Definition formulation.h:258
double a_start
Boundary value a(idx_s_start) = dot{s}^2.
Definition formulation.h:271
double b_start
Boundary value b(idx_s_start) = ddot{s}.
Definition formulation.h:279
double a_linearization_floor
Denominator floor used when linearizing third-order constraints.
Definition formulation.h:295
struct CoppSliceF64 a_linearization
Reference profile a[k] used to linearize third-order constraints.
Definition formulation.h:267
size_t num_stationary_max_end
User-input stationary upper bound at the end.
Definition formulation.h:291
size_t num_stationary_max_start
User-input stationary upper bound at the start.
Definition formulation.h:287
Borrowed objective descriptor for COPP solvers.
Definition formulation.h:67
struct CoppSliceF64 beta
Linear objective coefficient for variable b.
Definition formulation.h:83
struct CoppSliceF64 normalize
Torque objective normalization vector.
Definition formulation.h:87
double weight
Objective weight.
Definition formulation.h:75
enum CoppObjectiveKind kind
Objective kind.
Definition formulation.h:71
struct CoppSliceF64 alpha
Linear objective coefficient for variable a.
Definition formulation.h:79
Owned third-order profile returned by TOPP3/COPP3 C ABI solvers.
Definition formulation.h:168
struct CoppVecF64 b
Node-based profile b[k] = ddot{s}_k.
Definition formulation.h:176
size_t num_stationary_end
Effective stationary interval count at the end.
Definition formulation.h:184
struct CoppVecF64 a
Node-based profile a[k] = dot{s}_k^2.
Definition formulation.h:172
size_t num_stationary_start
Effective stationary interval count at the start.
Definition formulation.h:180
Borrowed immutable f64 slice passed from C to COPP.
Definition core.h:708
Library-owned f64 vector returned to C.
Definition core.h:743
Borrowed value descriptor for a TOPP2 problem solved from C.
Definition formulation.h:137
const struct CoppRobot * robot
Robot handle that owns the station-indexed constraint storage.
Definition formulation.h:141
double a_final
Boundary value a(idx_s_final) = (ds/dt)^2.
Definition formulation.h:157
size_t idx_s_final
Closed final station index.
Definition formulation.h:149
size_t idx_s_start
Closed start station index.
Definition formulation.h:145
double a_start
Boundary value a(idx_s_start) = (ds/dt)^2.
Definition formulation.h:153
Borrowed value descriptor for a TOPP3 problem solved from C.
Definition formulation.h:204
double a_start
Boundary value a(idx_s_start) = dot{s}^2.
Definition formulation.h:221
double a_linearization_floor
Denominator floor used when linearizing third-order constraints.
Definition formulation.h:245
struct CoppSliceF64 a_linearization
Reference profile a[k] used to linearize third-order constraints.
Definition formulation.h:217
double b_start
Boundary value b(idx_s_start) = ddot{s}.
Definition formulation.h:229
double a_final
Boundary value a(idx_s_final) = dot{s}^2.
Definition formulation.h:225
size_t num_stationary_max_end
User-input stationary upper bound at the end.
Definition formulation.h:241
struct CoppRobot * robot
Mutable robot handle that owns station-indexed constraint storage.
Definition formulation.h:208
size_t num_stationary_max_start
User-input stationary upper bound at the start.
Definition formulation.h:237
double b_final
Boundary value b(idx_s_final) = ddot{s}.
Definition formulation.h:233
size_t idx_s_start
Start station index.
Definition formulation.h:213