COPP C++ API
C++ interface for COPP trajectory optimization
Loading...
Searching...
No Matches
interpolation.hpp File Reference
#include <utility>
#include <vector>
#include "copp/core.hpp"

Go to the source code of this file.

Classes

struct  copp::Profile3rdRef
 Borrowed third-order TOPP/COPP profile view. More...
struct  copp::Profile3rd
 Owned third-order TOPP/COPP profile. More...
struct  copp::interpolation::TimeProfile
 Cumulative time profile returned by s_to_t_topp2. More...
struct  copp::interpolation::TimeGridOptions
 Options for generating a uniform s(t) sampling grid. More...

Namespaces

namespace  copp
 Root namespace for the C++ facade: paths, robots, constraints, matrices, profiles, errors, objectives, interpolation, and solver entry points.
namespace  copp::interpolation
 Time-conversion helpers for TOPP2/TOPP3 profiles, including s -> t, uniform t -> s, explicit-sample t -> s, and third-order profile slicing.

Functions

COPP_API std::vector< double > copp::interpolation::a_to_b_topp2 (Span< const double > s, Span< const double > a)
 Compute segment profile b from node profile a.
Expected< std::vector< double > > copp::interpolation::a_to_b_topp2 (Span< const double > s, Span< const double > a, NoThrowTag)
COPP_API TimeProfile copp::interpolation::s_to_t_topp2 (Span< const double > s, Span< const double > a, double t0=0.0)
 Convert a second-order path profile a(s) = ds/dt squared to t(s).
Expected< TimeProfilecopp::interpolation::s_to_t_topp2 (Span< const double > s, Span< const double > a, double t0, NoThrowTag)
Expected< TimeProfilecopp::interpolation::s_to_t_topp2 (Span< const double > s, Span< const double > a, NoThrowTag tag)
COPP_API std::vector< double > copp::interpolation::t_to_s_topp2_uniform (Span< const double > s, Span< const double > a, Span< const double > t_s, double dt, TimeGridOptions options={})
 Sample the inverse TOPP2 mapping s(t) on a uniform time grid.
Expected< std::vector< double > > copp::interpolation::t_to_s_topp2_uniform (Span< const double > s, Span< const double > a, Span< const double > t_s, double dt, TimeGridOptions options, NoThrowTag)
Expected< std::vector< double > > copp::interpolation::t_to_s_topp2_uniform (Span< const double > s, Span< const double > a, Span< const double > t_s, double dt, NoThrowTag tag)
COPP_API std::vector< double > copp::interpolation::t_to_s_topp2_samples (Span< const double > s, Span< const double > a, Span< const double > t_s, Span< const double > t_sample)
 Sample the inverse TOPP2 mapping s(t) at explicit query times.
Expected< std::vector< double > > copp::interpolation::t_to_s_topp2_samples (Span< const double > s, Span< const double > a, Span< const double > t_s, Span< const double > t_sample, NoThrowTag)
COPP_API TimeProfile copp::interpolation::s_to_t_topp3 (Span< const double > s, const Profile3rd &profile, double t0=0.0)
 Convert a third-order profile to cumulative time t(s).
COPP_API TimeProfile copp::interpolation::s_to_t_topp3 (Span< const double > s, Profile3rdRef profile, double t0=0.0)
Expected< TimeProfilecopp::interpolation::s_to_t_topp3 (Span< const double > s, const Profile3rd &profile, double t0, NoThrowTag)
Expected< TimeProfilecopp::interpolation::s_to_t_topp3 (Span< const double > s, const Profile3rd &profile, NoThrowTag tag)
Expected< TimeProfilecopp::interpolation::s_to_t_topp3 (Span< const double > s, Profile3rdRef profile, double t0, NoThrowTag)
Expected< TimeProfilecopp::interpolation::s_to_t_topp3 (Span< const double > s, Profile3rdRef profile, NoThrowTag tag)
COPP_API std::vector< double > copp::interpolation::t_to_s_topp3_uniform (Span< const double > s, const Profile3rd &profile, Span< const double > t_s, double dt, TimeGridOptions options={})
 Sample the inverse TOPP3 mapping s(t) on a uniform time grid.
COPP_API std::vector< double > copp::interpolation::t_to_s_topp3_uniform (Span< const double > s, Profile3rdRef profile, Span< const double > t_s, double dt, TimeGridOptions options={})
Expected< std::vector< double > > copp::interpolation::t_to_s_topp3_uniform (Span< const double > s, const Profile3rd &profile, Span< const double > t_s, double dt, TimeGridOptions options, NoThrowTag)
Expected< std::vector< double > > copp::interpolation::t_to_s_topp3_uniform (Span< const double > s, const Profile3rd &profile, Span< const double > t_s, double dt, NoThrowTag tag)
Expected< std::vector< double > > copp::interpolation::t_to_s_topp3_uniform (Span< const double > s, Profile3rdRef profile, Span< const double > t_s, double dt, TimeGridOptions options, NoThrowTag)
Expected< std::vector< double > > copp::interpolation::t_to_s_topp3_uniform (Span< const double > s, Profile3rdRef profile, Span< const double > t_s, double dt, NoThrowTag tag)
COPP_API std::vector< double > copp::interpolation::t_to_s_topp3_samples (Span< const double > s, const Profile3rd &profile, Span< const double > t_s, Span< const double > t_sample)
 Sample the inverse TOPP3 mapping s(t) at explicit query times.
COPP_API std::vector< double > copp::interpolation::t_to_s_topp3_samples (Span< const double > s, Profile3rdRef profile, Span< const double > t_s, Span< const double > t_sample)
Expected< std::vector< double > > copp::interpolation::t_to_s_topp3_samples (Span< const double > s, const Profile3rd &profile, Span< const double > t_s, Span< const double > t_sample, NoThrowTag)
Expected< std::vector< double > > copp::interpolation::t_to_s_topp3_samples (Span< const double > s, Profile3rdRef profile, Span< const double > t_s, Span< const double > t_sample, NoThrowTag)