Drake
Drake C++ Documentation
Loading...
Searching...
No Matches
PiecewiseTrajectory< T > Class Template Reference

Detailed Description

template<typename T>
class drake::trajectories::PiecewiseTrajectory< T >

Abstract class that implements the basic logic of maintaining consequent segments of time (delimited by breaks) to implement a trajectory that is represented by simpler logic in each segment or "piece".

Template Parameters
TThe scalar type, which must be one of the default scalars.

#include <drake/common/trajectories/piecewise_trajectory.h>

Public Member Functions

 ~PiecewiseTrajectory () override
int get_number_of_segments () const
start_time (int segment_number) const
end_time (int segment_number) const
duration (int segment_number) const
boolean< T > is_time_in_range (const T &t) const
 Returns true iff t >= getStartTime() && t <= getEndTime().
int get_segment_index (const T &t) const
const std::vector< T > & get_segment_times () const
void segment_number_range_check (int segment_number) const
Public Member Functions inherited from Trajectory< T >
virtual ~Trajectory ()
std::unique_ptr< Trajectory< T > > Clone () const
MatrixX< T > value (const T &t) const
 Evaluates the trajectory at the given time t.
MatrixX< T > vector_values (const std::vector< T > &t) const
 If cols()==1, then evaluates the trajectory at each time t, and returns the results as a Matrix with the ith column corresponding to the ith time.
MatrixX< T > vector_values (const Eigen::Ref< const VectorX< T > > &t) const
 If cols()==1, then evaluates the trajectory at each time t, and returns the results as a Matrix with the ith column corresponding to the ith time.
bool has_derivative () const
 Returns true iff the Trajectory provides and implementation for EvalDerivative() and MakeDerivative().
MatrixX< T > EvalDerivative (const T &t, int derivative_order=1) const
 Evaluates the derivative of this at the given time t.
std::unique_ptr< Trajectory< T > > MakeDerivative (int derivative_order=1) const
 Takes the derivative of this Trajectory.
Eigen::Index rows () const
Eigen::Index cols () const
start_time () const
end_time () const

Static Public Member Functions

static std::vector< T > RandomSegmentTimes (int num_segments, std::default_random_engine &generator)

Static Public Attributes

static constexpr double kEpsilonTime = std::numeric_limits<double>::epsilon()
 Minimum delta quantity used for comparing time.

Protected Member Functions

 PiecewiseTrajectory ()=default
 PiecewiseTrajectory (const std::vector< T > &breaks)
 breaks increments must be greater or equal to kEpsilonTime.
do_start_time () const override
do_end_time () const override
bool SegmentTimesEqual (const PiecewiseTrajectory &b, double tol=kEpsilonTime) const
const std::vector< T > & breaks () const
std::vector< T > & get_mutable_breaks ()
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable
 PiecewiseTrajectory (const PiecewiseTrajectory &)=default
PiecewiseTrajectoryoperator= (const PiecewiseTrajectory &)=default
 PiecewiseTrajectory (PiecewiseTrajectory &&)=default
PiecewiseTrajectoryoperator= (PiecewiseTrajectory &&)=default
Protected Member Functions inherited from Trajectory< T >
 Trajectory ()=default
virtual std::unique_ptr< Trajectory< T > > DoClone () const =0
virtual MatrixX< T > do_value (const T &t) const =0
virtual bool do_has_derivative () const
virtual MatrixX< T > DoEvalDerivative (const T &t, int derivative_order) const
virtual std::unique_ptr< Trajectory< T > > DoMakeDerivative (int derivative_order) const
virtual Eigen::Index do_rows () const =0
virtual Eigen::Index do_cols () const =0
 Trajectory (const Trajectory &)=default
Trajectoryoperator= (const Trajectory &)=default
 Trajectory (Trajectory &&)=default
Trajectoryoperator= (Trajectory &&)=default

Constructor & Destructor Documentation

◆ ~PiecewiseTrajectory()

template<typename T>
~PiecewiseTrajectory ( )
override

◆ PiecewiseTrajectory() [1/4]

template<typename T>
PiecewiseTrajectory ( const PiecewiseTrajectory< T > & )
protecteddefault

◆ PiecewiseTrajectory() [2/4]

template<typename T>
PiecewiseTrajectory ( PiecewiseTrajectory< T > && )
protecteddefault

◆ PiecewiseTrajectory() [3/4]

template<typename T>
PiecewiseTrajectory ( )
protecteddefault

◆ PiecewiseTrajectory() [4/4]

template<typename T>
PiecewiseTrajectory ( const std::vector< T > & breaks)
explicitprotected

breaks increments must be greater or equal to kEpsilonTime.

Member Function Documentation

◆ breaks()

template<typename T>
const std::vector< T > & breaks ( ) const
protected

◆ do_end_time()

template<typename T>
T do_end_time ( ) const
overrideprotectedvirtual

Implements Trajectory< T >.

◆ do_start_time()

template<typename T>
T do_start_time ( ) const
overrideprotectedvirtual

Implements Trajectory< T >.

◆ duration()

template<typename T>
T duration ( int segment_number) const

◆ end_time()

template<typename T>
T end_time ( int segment_number) const

◆ get_mutable_breaks()

template<typename T>
std::vector< T > & get_mutable_breaks ( )
protected

◆ get_number_of_segments()

template<typename T>
int get_number_of_segments ( ) const

◆ get_segment_index()

template<typename T>
int get_segment_index ( const T & t) const

◆ get_segment_times()

template<typename T>
const std::vector< T > & get_segment_times ( ) const

◆ is_time_in_range()

template<typename T>
boolean< T > is_time_in_range ( const T & t) const

Returns true iff t >= getStartTime() && t <= getEndTime().

◆ operator=() [1/2]

template<typename T>
PiecewiseTrajectory & operator= ( const PiecewiseTrajectory< T > & )
protecteddefault

◆ operator=() [2/2]

template<typename T>
PiecewiseTrajectory & operator= ( PiecewiseTrajectory< T > && )
protecteddefault

◆ RandomSegmentTimes()

template<typename T>
std::vector< T > RandomSegmentTimes ( int num_segments,
std::default_random_engine & generator )
static

◆ segment_number_range_check()

template<typename T>
void segment_number_range_check ( int segment_number) const

◆ SegmentTimesEqual()

template<typename T>
bool SegmentTimesEqual ( const PiecewiseTrajectory< T > & b,
double tol = kEpsilonTime ) const
protected

◆ start_time()

template<typename T>
T start_time ( int segment_number) const

Member Data Documentation

◆ kEpsilonTime

template<typename T>
double kEpsilonTime = std::numeric_limits<double>::epsilon()
staticconstexpr

Minimum delta quantity used for comparing time.


The documentation for this class was generated from the following file: