Namespaces | Classes | Functions
trajectory_interface Namespace Reference

Namespaces

 internal
 

Classes

struct  PosVelAccState
 Multi-dof trajectory state containing position, velocity and acceleration data. More...
 
class  QuinticSplineSegment
 Class representing a multi-dimensional quintic spline segment with a start and end time. More...
 

Functions

template<class Trajectory , class Time >
Trajectory::const_iterator findSegment (const Trajectory &trajectory, const Time &time)
 Find an iterator to the segment containing a specified time. More...
 
template<class Trajectory , class Time >
Trajectory::iterator findSegment (Trajectory &trajectory, const Time &time)
 Equivalent to findSegment but returning a non-const iterator. More...
 
template<class TrajectoryIterator , class Time >
TrajectoryIterator findSegment (TrajectoryIterator first, TrajectoryIterator last, const Time &time)
 Find an iterator to the segment containing a specified time. More...
 
template<class Trajectory >
Trajectory::const_iterator sample (const Trajectory &trajectory, const typename Trajectory::value_type::Time &time, typename Trajectory::value_type::State &state)
 Sample a trajectory at a specified time. More...
 

Detailed Description

Author
Adolfo Rodriguez Tsouroukdissian
Adolfo Rodriguez Tsouroukdissian, Stuart Glaser, Mrinal Kalakrishnan

Function Documentation

◆ findSegment() [1/3]

template<class Trajectory , class Time >
Trajectory::const_iterator trajectory_interface::findSegment ( const Trajectory &  trajectory,
const Time &  time 
)
inline

Find an iterator to the segment containing a specified time.

This is a convenience method wrapping the iterator-based findSegment overload.

Template Parameters
TrajectoryTrajectory type. Should be a sequence container sorted by segment start time.
See also
findSegment(TrajectoryIterator first, TrajectoryIterator last, const Time& time)

Definition at line 99 of file trajectory_interface.h.

◆ findSegment() [2/3]

template<class Trajectory , class Time >
Trajectory::iterator trajectory_interface::findSegment ( Trajectory &  trajectory,
const Time &  time 
)
inline

Equivalent to findSegment but returning a non-const iterator.

Note
Although is passed by non-const reference, it is not modified by this function. It's a workaround to allow overloads of this function to coexist (they need different signatures to prevent ambiguities).

Definition at line 112 of file trajectory_interface.h.

◆ findSegment() [3/3]

template<class TrajectoryIterator , class Time >
TrajectoryIterator trajectory_interface::findSegment ( TrajectoryIterator  first,
TrajectoryIterator  last,
const Time &  time 
)
inline

Find an iterator to the segment containing a specified time.

Parameters
firstInput iterator to the initial position in the segment sequence.
lastInput iterator to the final position in the segment sequence. The range searched is [first,last).
timeTime to search for in the range.
Returns
Iterator to the trajectory segment containing time. If no segment contains time (ie. it's earlier than the start time of first), then last is returned.
Precondition
The range [first,last) should be sorted by segment start time.
Note
On average, this method has logarithmic time complexity when used on random-access iterators. On non-random-access iterators, iterator advances incur an additional linear time cost.

Definition at line 80 of file trajectory_interface.h.

◆ sample()

template<class Trajectory >
Trajectory::const_iterator trajectory_interface::sample ( const Trajectory &  trajectory,
const typename Trajectory::value_type::Time &  time,
typename Trajectory::value_type::State &  state 
)
inline

Sample a trajectory at a specified time.

This is a convenience function that combines finding the segment associated to a specified time (see findSegment) and sampling it.

Template Parameters
TrajectoryTrajectory type. Should be a sequence container sorted by segment start time.
Parameters
[in]trajectoryHolds a sequence of segments.
[in]timeWhere the trajectory is to be sampled.
[out]stateSegment state at time.
Returns
Iterator to the trajectory segment containing time. If no segment contains time, then trajectory.end() is returned.
Note
The segment implementation should allow sampling outside the trajectory time interval, implementing a policy such as holding the first/last position. In such a case, it is possible to get a valid sample for all time inputs, even for the cases when this function returns trajectory.end().
See also
findSegment

Definition at line 138 of file trajectory_interface.h.



joint_trajectory_controller
Author(s): Adolfo Rodriguez Tsouroukdissian
autogenerated on Fri May 24 2024 02:41:24