コンテンツにスキップ

cpp_robotics::eigen_spline_api

More...

#include <spline_path.hpp>

Public Types

Name
using VectorType Vector
using typename Vector::Scalar Scalar
using Eigen::Matrix< Scalar, Dim, 4 > SplineCoeff
using Eigen::Matrix< Scalar, 4, 1 > WeightVector

Public Functions

Name
SplineCoeff bezier_spline(const Vector & p0, const Vector & p1, const Vector & p2, const Vector & p3)
SplineCoeff hermite_spline(const Vector & p0, const Vector & p1, const Vector & v0, const Vector & v1)
SplineCoeff catumull_spline(const Vector & p0, const Vector & p1, const Vector & p2, const Vector & p3)
SplineCoeff cubic_function_to_bezier(const Vector & a, const Vector & b, const Vector & c, const Vector & d)
WeightVector bezier_weight(const double t)
WeightVector bezier_weight(const WeightVector t)
Vector evaluate(const SplineCoeff & spline, const WeightVector & w)
Vector position(const SplineCoeff & spline, double t)
Vector velocity(const SplineCoeff & spline, double t)
Vector acceleration(const SplineCoeff & spline, double t)
void split(const WeightVector & spline, WeightVector & spline0, WeightVector & spline1, double t)
void split(const WeightVector & spline, WeightVector & spline0, WeightVector & spline1)
void split(const SplineCoeff & spline, SplineCoeff & spline0, SplineCoeff & spline1)
void split(const SplineCoeff & spline, SplineCoeff & spline0, SplineCoeff & spline1, double t)
double length_estimate(const SplineCoeff & s, double & error)
double length(const SplineCoeff & s, double max_error)
double length(const SplineCoeff & s, double t0, double t1, double max_error)

Public Attributes

Name
constexpr int Dim

Detailed Description

template <class VectorType >
struct cpp_robotics::eigen_spline_api;

Public Types Documentation

using Vector

using cpp_robotics::eigen_spline_api< VectorType >::Vector =  VectorType;

using Scalar

using cpp_robotics::eigen_spline_api< VectorType >::Scalar =  typename Vector::Scalar;

using SplineCoeff

using cpp_robotics::eigen_spline_api< VectorType >::SplineCoeff =  Eigen::Matrix<Scalar, Dim, 4>;

using WeightVector

using cpp_robotics::eigen_spline_api< VectorType >::WeightVector =  Eigen::Matrix<Scalar, 4, 1>;

Public Functions Documentation

function bezier_spline

static inline SplineCoeff bezier_spline(
    const Vector & p0,
    const Vector & p1,
    const Vector & p2,
    const Vector & p3
)

function hermite_spline

static inline SplineCoeff hermite_spline(
    const Vector & p0,
    const Vector & p1,
    const Vector & v0,
    const Vector & v1
)

function catumull_spline

static inline SplineCoeff catumull_spline(
    const Vector & p0,
    const Vector & p1,
    const Vector & p2,
    const Vector & p3
)

function cubic_function_to_bezier

static inline SplineCoeff cubic_function_to_bezier(
    const Vector & a,
    const Vector & b,
    const Vector & c,
    const Vector & d
)

function bezier_weight

static inline WeightVector bezier_weight(
    const double t
)

function bezier_weight

static inline WeightVector bezier_weight(
    const WeightVector t
)

function evaluate

static inline Vector evaluate(
    const SplineCoeff & spline,
    const WeightVector & w
)

function position

static inline Vector position(
    const SplineCoeff & spline,
    double t
)

function velocity

static inline Vector velocity(
    const SplineCoeff & spline,
    double t
)

function acceleration

static inline Vector acceleration(
    const SplineCoeff & spline,
    double t
)

function split

static inline void split(
    const WeightVector & spline,
    WeightVector & spline0,
    WeightVector & spline1,
    double t
)

function split

static inline void split(
    const WeightVector & spline,
    WeightVector & spline0,
    WeightVector & spline1
)

function split

static inline void split(
    const SplineCoeff & spline,
    SplineCoeff & spline0,
    SplineCoeff & spline1
)

function split

static inline void split(
    const SplineCoeff & spline,
    SplineCoeff & spline0,
    SplineCoeff & spline1,
    double t
)

function length_estimate

static inline double length_estimate(
    const SplineCoeff & s,
    double & error
)

function length

static inline double length(
    const SplineCoeff & s,
    double max_error
)

function length

static inline double length(
    const SplineCoeff & s,
    double t0,
    double t1,
    double max_error
)

Public Attributes Documentation

variable Dim

static constexpr int Dim = Vector::RowsAtCompileTime;

Updated on 2024-05-28 at 06:55:40 +0000