COPP C ABI
C interface for COPP trajectory optimization
Loading...
Searching...
No Matches
Topp3Problem Struct Reference

Borrowed value descriptor for a TOPP3 problem solved from C. More...

#include <formulation.h>

Data Fields

struct CoppRobotrobot
 Mutable robot handle that owns station-indexed constraint storage.
size_t idx_s_start
 Start station index.
struct CoppSliceF64 a_linearization
 Reference profile a[k] used to linearize third-order constraints.
double a_start
 Boundary value a(idx_s_start) = dot{s}^2.
double a_final
 Boundary value a(idx_s_final) = dot{s}^2.
double b_start
 Boundary value b(idx_s_start) = ddot{s}.
double b_final
 Boundary value b(idx_s_final) = ddot{s}.
size_t num_stationary_max_start
 User-input stationary upper bound at the start.
size_t num_stationary_max_end
 User-input stationary upper bound at the end.
double a_linearization_floor
 Denominator floor used when linearizing third-order constraints.

Detailed Description

Borrowed value descriptor for a TOPP3 problem solved from C.

This is not an owning handle. robot and a_linearization are borrowed only during the solver call. Building the internal TOPP3 problem mutates the robot's internal linearized third-order constraint cache.

Example

The example below builds a TOPP3 descriptor using a seed a profile for third-order constraint linearization.

struct Topp3Problem problem = {
0,
(struct CoppSliceF64){a_seed.data, a_seed.len},
0.0,
0.0,
0.0,
0.0,
1,
1,
1e-10,
};
Borrowed immutable f64 slice passed from C to COPP.
Definition core.h:781
Borrowed value descriptor for a TOPP3 problem solved from C.
struct CoppRobot * robot
Mutable robot handle that owns station-indexed constraint storage.

Definition at line 277 of file formulation.h.

Field Documentation

◆ robot

struct CoppRobot* Topp3Problem::robot

Mutable robot handle that owns station-indexed constraint storage.

Definition at line 281 of file formulation.h.

◆ idx_s_start

size_t Topp3Problem::idx_s_start

Start station index.

The final index is derived from a_linearization.len - 1.

Definition at line 286 of file formulation.h.

◆ a_linearization

struct CoppSliceF64 Topp3Problem::a_linearization

Reference profile a[k] used to linearize third-order constraints.

Definition at line 290 of file formulation.h.

◆ a_start

double Topp3Problem::a_start

Boundary value a(idx_s_start) = dot{s}^2.

Definition at line 294 of file formulation.h.

◆ a_final

double Topp3Problem::a_final

Boundary value a(idx_s_final) = dot{s}^2.

Definition at line 298 of file formulation.h.

◆ b_start

double Topp3Problem::b_start

Boundary value b(idx_s_start) = ddot{s}.

Definition at line 302 of file formulation.h.

◆ b_final

double Topp3Problem::b_final

Boundary value b(idx_s_final) = ddot{s}.

Definition at line 306 of file formulation.h.

◆ num_stationary_max_start

size_t Topp3Problem::num_stationary_max_start

User-input stationary upper bound at the start.

Definition at line 310 of file formulation.h.

◆ num_stationary_max_end

size_t Topp3Problem::num_stationary_max_end

User-input stationary upper bound at the end.

Definition at line 314 of file formulation.h.

◆ a_linearization_floor

double Topp3Problem::a_linearization_floor

Denominator floor used when linearizing third-order constraints.

Definition at line 318 of file formulation.h.


The documentation for this struct was generated from the following file: