Takes a vector or argument and differentiate it. More...
#include <roboptim/trajectory/vector-interpolation.hh>
Public Types | |
typedef boost::shared_ptr < VectorInterpolation > | VectorInterpolationShPtr_t |
Public Types inherited from roboptim::trajectory::Trajectory< 3 > | |
typedef parent_t::interval_t | interval_t |
Import interval type. More... | |
Public Member Functions | |
ROBOPTIM_NTIMES_DERIVABLE_FUNCTION_FWD_TYPEDEFS (Trajectory< 3 >) | |
ROBOPTIM_IMPLEMENT_CLONE (VectorInterpolation) | |
VectorInterpolation (const_vector_ref x, size_type outputSize, value_type dt) | |
Vector interpolation constructor. More... | |
~VectorInterpolation () | |
VectorInterpolation (const VectorInterpolation &vi) | |
void | setParameters (const_vector_ref) |
Store parameters and update coefficients. More... | |
size_type | numFrames () const |
jacobian_t | variationConfigWrtParam (double t) const |
Get the variation of a configuration with respect to parameter vector. More... | |
jacobian_t | variationDerivWrtParam (double t, size_type order) const |
Get the variation of a derivative with respect to parameter vector. More... | |
value_type | singularPointAtRank (size_type rank) const |
Get singular point at given rank. More... | |
vector_t | derivBeforeSingularPoint (size_type rank, size_type order) const |
Get left limit value of derivative at given singular point. More... | |
vector_t | derivAfterSingularPoint (size_type rank, size_type order) const |
Get right limit value of derivative at given singular point. More... | |
jacobian_t | variationConfigWrtParam (StableTimePoint tp) const |
jacobian_t | variationDerivWrtParam (StableTimePoint tp, size_type order) const |
boost::shared_ptr < VectorInterpolation > | trim (size_type start, size_type length) const |
Instantiate a trajectory corresponding to a sub-part of this trajectory. More... | |
Public Member Functions inherited from roboptim::trajectory::Trajectory< 3 > | |
ROBOPTIM_NTIMES_DERIVABLE_FUNCTION_FWD_TYPEDEFS_ (NTimesDerivableFunction< DerivabilityOrder >) | |
Parent type and imports. More... | |
virtual | ~Trajectory () |
result_t | operator() (StableTimePoint argument) const |
void | operator() (result_ref result, StableTimePoint argument) const |
derivative_t | derivative (StableTimePoint argument, size_type order=1) const |
void | derivative (derivative_ref derivative, StableTimePoint argument, size_type order=1) const |
bool | isValidTime (value_type t) const |
virtual void | normalizeAngles (size_type index) |
Normalize angles in parameters array. More... | |
virtual Trajectory < DerivabilityOrder > * | clone () const =0 |
virtual std::ostream & | print (std::ostream &) const |
const vector_t & | parameters () const |
interval_t | timeRange () const |
value_type | length () const |
virtual vector_t | state (double t, size_type order) const |
Get state along trajectory. More... | |
virtual vector_t | state (StableTimePoint t, size_type order) const |
jacobian_t | variationStateWrtParam (double t, size_type order) const |
Get the variation of the state with respect to parameter vector. More... | |
jacobian_t | variationStateWrtParam (StableTimePoint stp, size_type order) const |
size_type | singularPoints () const |
Get number of singular points. More... | |
void | tolerance (const double &tolerance) |
double | tolerance () const |
Get tolerance for inclusion of parameter in interval of definition. More... | |
Protected Member Functions | |
void | impl_compute (result_ref result, double t) const |
void | impl_derivative (derivative_ref derivative, double argument, size_type order=1) const |
void | impl_derivative (derivative_ref g, StableTimePoint, size_type order) const |
Trajectory< 3 > * | resize (interval_t timeRange) const |
Clone and resize a trajectory. More... | |
Protected Member Functions inherited from roboptim::trajectory::Trajectory< 3 > | |
virtual void | normalizeAngles (size_type index, size_type offset) |
Internal version of normalizeAngles allowing an optional offset. More... | |
void | impl_compute (result_ref, StableTimePoint) const |
Trajectory (interval_t, size_type, const vector_t &, std::string name=std::string()) | |
Additional Inherited Members | |
Protected Attributes inherited from roboptim::trajectory::Trajectory< 3 > | |
interval_t | timeRange_ |
vector_t | parameters_ |
size_type | singularPoints_ |
Takes a vector or argument and differentiate it.
It is common to have an optimization vector where a pattern is repeated:
[x_0^0 ... x_N^0 ... x_0^M x_N^M]
The pattern is here of length N and repeated M times.
By using numerical interpolation, it is possible to differentiate this pattern.
A classical example are trajectories.
typedef boost::shared_ptr<VectorInterpolation> roboptim::trajectory::VectorInterpolation::VectorInterpolationShPtr_t |
|
inlineexplicit |
Vector interpolation constructor.
std::runtime_error |
|
inline |
|
inline |
References roboptim::trajectory::Trajectory< dorder >::parameters(), and setParameters().
|
inlinevirtual |
Get right limit value of derivative at given singular point.
rank | rank of the singular points. |
order | order of derivation. |
derivative | Limit of the derivative at singular point for decreasing parameter values. |
Implements roboptim::trajectory::Trajectory< 3 >.
|
inlinevirtual |
Get left limit value of derivative at given singular point.
rank | rank of the singular points. |
order | order of derivation. |
Implements roboptim::trajectory::Trajectory< 3 >.
|
inlineprotected |
|
inlineprotected |
References roboptim::trajectory::Trajectory< 3 >::operator()(), and roboptim::trajectory::Trajectory< 3 >::parameters().
Referenced by impl_derivative().
|
inlineprotectedvirtual |
Implements roboptim::trajectory::Trajectory< 3 >.
References roboptim::trajectory::StableTimePoint::getTime(), and impl_derivative().
|
inline |
References roboptim::trajectory::Trajectory< 3 >::parameters().
Referenced by trim().
|
inlineprotectedvirtual |
Clone and resize a trajectory.
Implements roboptim::trajectory::Trajectory< 3 >.
roboptim::trajectory::VectorInterpolation::ROBOPTIM_IMPLEMENT_CLONE | ( | VectorInterpolation | ) |
roboptim::trajectory::VectorInterpolation::ROBOPTIM_NTIMES_DERIVABLE_FUNCTION_FWD_TYPEDEFS | ( | Trajectory< 3 > | ) |
|
inlinevirtual |
Store parameters and update coefficients.
vector_t | vector of parameters. |
std::runtime_error |
Reimplemented from roboptim::trajectory::Trajectory< 3 >.
References roboptim::trajectory::Trajectory< 3 >::parameters(), roboptim::trajectory::Trajectory< dorder >::setParameters(), and roboptim::trajectory::Trajectory< 3 >::singularPoints_.
Referenced by VectorInterpolation().
|
inlinevirtual |
Get singular point at given rank.
Implements roboptim::trajectory::Trajectory< 3 >.
|
inline |
Instantiate a trajectory corresponding to a sub-part of this trajectory.
This function can be called to exclude some frames at the beginning and/or the end of the trajectory.
[in] | start | starting frame (0 is the first frame) |
[out] | length | length of the output trajectory (0 means maximum length) |
References numFrames(), and roboptim::trajectory::Trajectory< 3 >::parameters().
|
inlinevirtual |
Get the variation of a configuration with respect to parameter vector.
t | value \(t\) in the definition interval. |
\[\frac{\partial\Gamma_{\textbf{p}}(t)}{\partial\textbf{p}}\]
Implements roboptim::trajectory::Trajectory< 3 >.
References variationDerivWrtParam().
|
inlinevirtual |
Implements roboptim::trajectory::Trajectory< 3 >.
References variationDerivWrtParam().
|
inlinevirtual |
Get the variation of a derivative with respect to parameter vector.
t | value \(t\) in the definition interval. |
order | order \(r\) of the derivative. |
\[ \frac{\partial}{\partial\textbf{p}} \left(\frac{d^r\Gamma_{\textbf{p}}}{dt^r}(t)\right) \]
Implements roboptim::trajectory::Trajectory< 3 >.
References roboptim::trajectory::Trajectory< 3 >::parameters().
Referenced by variationConfigWrtParam().
|
inlinevirtual |
Implements roboptim::trajectory::Trajectory< 3 >.
References roboptim::trajectory::StableTimePoint::getTime().