COPP C ABI
C interface for COPP trajectory optimization
Loading...
Searching...
No Matches
Copp_formulation

Files

file  bindings/c/include/copp/formulation.h
 TOPP/COPP problem descriptors, objectives, and profile ownership.

Data Structures

struct  CoppObjective
 Borrowed objective descriptor for COPP solvers. More...
struct  Copp2Problem
 Borrowed value descriptor for a COPP2 problem solved from C. More...
struct  Topp2Problem
 Borrowed value descriptor for a TOPP2 problem solved from C. More...
struct  CoppProfile3rd
 Owned third-order profile returned by TOPP3/COPP3 C ABI solvers. More...
struct  Topp3Problem
 Borrowed value descriptor for a TOPP3 problem solved from C. More...
struct  Copp3Problem
 Borrowed value descriptor for a COPP3 problem solved from C. More...

Enumerations

enum  CoppObjectiveKind { COPP_OBJECTIVE_KIND_TIME = 0 , COPP_OBJECTIVE_KIND_LINEAR = 1 , COPP_OBJECTIVE_KIND_THERMAL_ENERGY = 2 , COPP_OBJECTIVE_KIND_TOTAL_VARIATION_TORQUE = 3 }
 COPP objective descriptor kind shared by second- and third-order solvers. More...

Functions

void copp_profile_3rd_free (struct CoppProfile3rd profile)
 Release a third-order profile returned by COPP.

Detailed Description

Enumeration Type Documentation

◆ CoppObjectiveKind

COPP objective descriptor kind shared by second- and third-order solvers.

Enumerator
COPP_OBJECTIVE_KIND_TIME 

Time objective: weight * integral dt.

COPP_OBJECTIVE_KIND_LINEAR 

Linear objective over solver-specific profile variables.

For COPP2, alpha is node-based over a and beta is interval-based over second-order b. For COPP3, both alpha and beta are node-based over third-order a and b.

COPP_OBJECTIVE_KIND_THERMAL_ENERGY 

Thermal-energy objective.

COPP_OBJECTIVE_KIND_TOTAL_VARIATION_TORQUE 

Total-variation torque objective.

Function Documentation

◆ copp_profile_3rd_free()

void copp_profile_3rd_free ( struct CoppProfile3rd profile)

Release a third-order profile returned by COPP.

Warning
Safety profile must either be empty/null or have been returned by a successful third-order C ABI solver call. Passing arbitrary pointers or modified capacity fields is invalid.