COPP C++ API
C++ interface for COPP trajectory optimization
Loading...
Searching...
No Matches
copp::solver::topp2_ra Namespace Reference

Second-order time-optimal reachability-analysis solver plus second-order reachable-set artifacts and options. More...

Classes

struct  Options
 Options shared by TOPP2-RA and TOPP2 reachable-set construction. More...
struct  ReachSet
 Reachable interval result for second-order state a = (ds/dt)^2. More...
class  Problem
 TOPP2 problem descriptor. More...

Functions

COPP_API ReachSet reach_set_backward (const Problem &problem, const Options &options={})
 Compute backward-only TOPP2 reachable intervals.
Expected< ReachSetreach_set_backward (const Problem &problem, const Options &options, NoThrowTag)
Expected< ReachSetreach_set_backward (const Problem &problem, NoThrowTag tag)
COPP_API ReachSet reach_set_bidirectional (const Problem &problem, const Options &options={})
 Compute bidirectional TOPP2 reachable intervals, enforcing both boundaries.
Expected< ReachSetreach_set_bidirectional (const Problem &problem, const Options &options, NoThrowTag)
Expected< ReachSetreach_set_bidirectional (const Problem &problem, NoThrowTag tag)
COPP_API std::vector< double > solve (const Problem &problem, const Options &options={})
 Solve TOPP2 with reachability analysis.
Expected< std::vector< double > > solve (const Problem &problem, const Options &options, NoThrowTag)
Expected< std::vector< double > > solve (const Problem &problem, NoThrowTag tag)

Detailed Description

Second-order time-optimal reachability-analysis solver plus second-order reachable-set artifacts and options.

Function Documentation

◆ reach_set_backward() [1/3]

COPP_API ReachSet copp::solver::topp2_ra::reach_set_backward ( const Problem & problem,
const Options & options = {} )

Compute backward-only TOPP2 reachable intervals.

Parameters
problemBorrowed problem descriptor.
optionsNumeric tolerances and verbosity.
Returns
Reachable a interval at each station.
Exceptions
copp::Errorif Rust reachability fails.

◆ reach_set_backward() [2/3]

Expected< ReachSet > copp::solver::topp2_ra::reach_set_backward ( const Problem & problem,
const Options & options,
NoThrowTag  )
inline

Definition at line 74 of file topp2_ra.hpp.

◆ reach_set_backward() [3/3]

Expected< ReachSet > copp::solver::topp2_ra::reach_set_backward ( const Problem & problem,
NoThrowTag tag )
inline

Definition at line 81 of file topp2_ra.hpp.

◆ reach_set_bidirectional() [1/3]

COPP_API ReachSet copp::solver::topp2_ra::reach_set_bidirectional ( const Problem & problem,
const Options & options = {} )

Compute bidirectional TOPP2 reachable intervals, enforcing both boundaries.

This is the reachable-set diagnostic companion to solve: it keeps both lower and upper interval envelopes instead of selecting one profile.

◆ reach_set_bidirectional() [2/3]

Expected< ReachSet > copp::solver::topp2_ra::reach_set_bidirectional ( const Problem & problem,
const Options & options,
NoThrowTag  )
inline

Definition at line 91 of file topp2_ra.hpp.

◆ reach_set_bidirectional() [3/3]

Expected< ReachSet > copp::solver::topp2_ra::reach_set_bidirectional ( const Problem & problem,
NoThrowTag tag )
inline

Definition at line 98 of file topp2_ra.hpp.

◆ solve() [1/3]

COPP_API std::vector< double > copp::solver::topp2_ra::solve ( const Problem & problem,
const Options & options = {} )

Solve TOPP2 with reachability analysis.

Returns the node profile a(s) = (ds/dt)^2 over the problem's closed station interval.

robot.constraints(),
copp::IndexInterval{0, s.size() - 1},
copp::Boundary2{0.0, 0.0},
};
TOPP2 problem descriptor.
Definition topp2_ra.hpp:48
COPP_API std::vector< double > solve(const Problem &problem, const Options &options={})
Solve TOPP2 with reachability analysis.
Second-order endpoint boundary values.
Definition core.hpp:77
Closed station-index interval used by TOPP/COPP problem descriptors.
Definition core.hpp:67

◆ solve() [2/3]

Expected< std::vector< double > > copp::solver::topp2_ra::solve ( const Problem & problem,
const Options & options,
NoThrowTag  )
inline

Definition at line 117 of file topp2_ra.hpp.

◆ solve() [3/3]

Expected< std::vector< double > > copp::solver::topp2_ra::solve ( const Problem & problem,
NoThrowTag tag )
inline

Definition at line 124 of file topp2_ra.hpp.