COPP C++ API
C++ interface for COPP trajectory optimization
Loading...
Searching...
No Matches
copp::solver::copp3_socp::Problem Class Reference

COPP3-SOCP problem descriptor. More...

#include <copp3_socp.hpp>

Public Member Functions

 Problem (Robot &robot, std::vector< Objective > objectives, Span< const double > a_linearization, std::size_t idx_s_start=0, Boundary3 boundary={}, StationaryBounds num_stationary_max={}, double a_linearization_floor=1.0e-10)
 Problem (Robot &robot, std::initializer_list< Objective > objectives, Span< const double > a_linearization, std::size_t idx_s_start=0, Boundary3 boundary={}, StationaryBounds num_stationary_max={}, double a_linearization_floor=1.0e-10)
 Problem (Robot &robot, std::vector< Objective > objectives, Span< const double > a_linearization, std::size_t idx_s_start, Boundary3 boundary, std::size_t symmetric_num_stationary_max, double a_linearization_floor=1.0e-10)
Robotrobot () const noexcept
const std::vector< Objective > & objectives () const noexcept
const std::vector< double > & a_linearization () const noexcept
std::size_t idx_s_start () const noexcept
std::size_t idx_s_final () const noexcept
Boundary3 boundary () const noexcept
StationaryBounds num_stationary_max () const noexcept
StationaryBounds num_stationary () const noexcept
double a_linearization_floor () const noexcept
std::size_t s_len () const noexcept

Detailed Description

COPP3-SOCP problem descriptor.

Construction borrows a mutable Robot, owns objective descriptors and a_linearization, infers the final station, and immediately linearizes third-order constraints in the robot's constraint cache. This class is intentionally independent rather than inheriting from TOPP3, matching Rust's separate Copp3Problem.

0,
copp::Boundary3{0.25, 0.25, 0.0, 0.0},
};
COPP3-SOCP problem descriptor.
const std::vector< double > & a_linearization() const noexcept
Robot & robot() const noexcept
Objective Time(double weight=1.0)
Third-order endpoint boundary values.
Definition core.hpp:87

Definition at line 35 of file copp3_socp.hpp.

Constructor & Destructor Documentation

◆ Problem() [1/3]

copp::solver::copp3_socp::Problem::Problem ( Robot & robot,
std::vector< Objective > objectives,
Span< const double > a_linearization,
std::size_t idx_s_start = 0,
Boundary3 boundary = {},
StationaryBounds num_stationary_max = {},
double a_linearization_floor = 1.0e-10 )

◆ Problem() [2/3]

copp::solver::copp3_socp::Problem::Problem ( Robot & robot,
std::initializer_list< Objective > objectives,
Span< const double > a_linearization,
std::size_t idx_s_start = 0,
Boundary3 boundary = {},
StationaryBounds num_stationary_max = {},
double a_linearization_floor = 1.0e-10 )

◆ Problem() [3/3]

copp::solver::copp3_socp::Problem::Problem ( Robot & robot,
std::vector< Objective > objectives,
Span< const double > a_linearization,
std::size_t idx_s_start,
Boundary3 boundary,
std::size_t symmetric_num_stationary_max,
double a_linearization_floor = 1.0e-10 )

Member Function Documentation

◆ robot()

Robot & copp::solver::copp3_socp::Problem::robot ( ) const
inlinenoexcept

Definition at line 65 of file copp3_socp.hpp.

◆ objectives()

const std::vector< Objective > & copp::solver::copp3_socp::Problem::objectives ( ) const
inlinenoexcept

Definition at line 66 of file copp3_socp.hpp.

◆ a_linearization()

const std::vector< double > & copp::solver::copp3_socp::Problem::a_linearization ( ) const
inlinenoexcept

Definition at line 67 of file copp3_socp.hpp.

◆ idx_s_start()

std::size_t copp::solver::copp3_socp::Problem::idx_s_start ( ) const
inlinenoexcept

Definition at line 68 of file copp3_socp.hpp.

◆ idx_s_final()

std::size_t copp::solver::copp3_socp::Problem::idx_s_final ( ) const
inlinenoexcept

Definition at line 69 of file copp3_socp.hpp.

◆ boundary()

Boundary3 copp::solver::copp3_socp::Problem::boundary ( ) const
inlinenoexcept

Definition at line 70 of file copp3_socp.hpp.

◆ num_stationary_max()

StationaryBounds copp::solver::copp3_socp::Problem::num_stationary_max ( ) const
inlinenoexcept

Definition at line 71 of file copp3_socp.hpp.

◆ num_stationary()

StationaryBounds copp::solver::copp3_socp::Problem::num_stationary ( ) const
inlinenoexcept

Definition at line 72 of file copp3_socp.hpp.

◆ a_linearization_floor()

double copp::solver::copp3_socp::Problem::a_linearization_floor ( ) const
inlinenoexcept

Definition at line 73 of file copp3_socp.hpp.

◆ s_len()

std::size_t copp::solver::copp3_socp::Problem::s_len ( ) const
inlinenoexcept

Definition at line 74 of file copp3_socp.hpp.


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