COPP3-SOCP problem descriptor.
More...
#include <copp3_socp.hpp>
|
| | 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) |
| Robot & | robot () 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 |
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,
};
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 at line 35 of file copp3_socp.hpp.
◆ 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 ) |
◆ robot()
| Robot & copp::solver::copp3_socp::Problem::robot |
( |
| ) |
const |
|
inlinenoexcept |
◆ objectives()
| const std::vector< Objective > & copp::solver::copp3_socp::Problem::objectives |
( |
| ) |
const |
|
inlinenoexcept |
◆ a_linearization()
| const std::vector< double > & copp::solver::copp3_socp::Problem::a_linearization |
( |
| ) |
const |
|
inlinenoexcept |
◆ idx_s_start()
| std::size_t copp::solver::copp3_socp::Problem::idx_s_start |
( |
| ) |
const |
|
inlinenoexcept |
◆ idx_s_final()
| std::size_t copp::solver::copp3_socp::Problem::idx_s_final |
( |
| ) |
const |
|
inlinenoexcept |
◆ boundary()
| Boundary3 copp::solver::copp3_socp::Problem::boundary |
( |
| ) |
const |
|
inlinenoexcept |
◆ num_stationary_max()
| StationaryBounds copp::solver::copp3_socp::Problem::num_stationary_max |
( |
| ) |
const |
|
inlinenoexcept |
◆ num_stationary()
◆ a_linearization_floor()
| double copp::solver::copp3_socp::Problem::a_linearization_floor |
( |
| ) |
const |
|
inlinenoexcept |
◆ s_len()
| std::size_t copp::solver::copp3_socp::Problem::s_len |
( |
| ) |
const |
|
inlinenoexcept |
The documentation for this class was generated from the following file: