COPP C++ API
C++ interface for COPP trajectory optimization
Loading...
Searching...
No Matches
topp3_socp.hpp
Go to the documentation of this file.
1#pragma once
2
3#include "copp/clarabel.hpp"
6
8{
9
12
20 COPP_API Profile3rd solve(const Problem &problem, const clarabel::Options &options = {});
22 const Problem &problem,
23 const clarabel::Options &options,
25 {
26 return detail::expected_from([&] { return solve(problem, options); });
27 }
28 inline Expected<Profile3rd> solve(const Problem &problem, NoThrowTag tag)
29 {
30 return solve(problem, clarabel::Options{}, tag);
31 }
32
37 COPP_API Result solve_expert(const Problem &problem, const clarabel::Options &options = {});
39 const Problem &problem,
40 const clarabel::Options &options,
42 {
43 return detail::expected_from([&] { return solve_expert(problem, options); });
44 }
45 inline Expected<Result> solve_expert(const Problem &problem, NoThrowTag tag)
46 {
47 return solve_expert(problem, clarabel::Options{}, tag);
48 }
49
50} // namespace copp::solver::topp3_socp
Small C++17 expected-like result used by no-throw overloads.
Definition core.hpp:527
Prepared TOPP3 problem descriptor.
Definition topp3.hpp:43
#define COPP_API
Definition core.hpp:23
auto expected_from(Fn &&fn) -> Expected< typename std::decay< decltype(fn())>::type >
Definition core.hpp:580
Third-order time-optimal Clarabel SOCP backend, commonly used as an iterative convex refinement by re...
COPP_API Profile3rd solve(const Problem &problem, const clarabel::Options &options={})
Solve TOPP3-SOCP and return an accepted third-order profile.
COPP_API Result solve_expert(const Problem &problem, const clarabel::Options &options={})
Solve TOPP3-SOCP and always return Clarabel diagnostics.
copp::solver::topp3::Result Result
copp::solver::topp3::Problem Problem
Tag object selecting no-throw overloads.
Definition core.hpp:608
Owned third-order TOPP/COPP profile.
Shared Clarabel options for COPP/TOPP SOCP-style solvers.
Definition clarabel.hpp:117
Expert third-order Clarabel result.
Definition topp3.hpp:105