orocos_kdl
|
#include <path_composite.hpp>
Public Member Functions | |
virtual Twist | Acc (double s, double sd, double sdd) const |
void | Add (Path *geom, bool aggregate=true) |
virtual Path * | Clone () |
virtual void | GetCurrentSegmentLocation (double s, int &segment_number, double &inner_s) |
virtual IdentifierType | getIdentifier () const |
virtual double | GetLengthToEndOfSegment (int i) |
virtual int | GetNrOfSegments () |
virtual Path * | GetSegment (int i) |
virtual double | LengthToS (double length) |
Path_Composite () | |
virtual double | PathLength () |
virtual Frame | Pos (double s) const |
virtual Twist | Vel (double s, double sd) const |
virtual void | Write (std::ostream &os) |
virtual | ~Path_Composite () |
Public Member Functions inherited from KDL::Path | |
virtual | ~Path () |
Private Types | |
typedef std::vector< double > | DoubleVector |
typedef std::vector< std::pair< Path *, bool > > | PathVector |
Private Member Functions | |
double | Lookup (double s) const |
Private Attributes | |
double | cached_ends |
int | cached_index |
double | cached_starts |
DoubleVector | dv |
PathVector | gv |
double | pathlength |
Additional Inherited Members | |
Public Types inherited from KDL::Path | |
enum | IdentifierType { ID_LINE =1, ID_CIRCLE =2, ID_COMPOSITE =3, ID_ROUNDED_COMPOSITE =4, ID_POINT =5, ID_CYCLIC_CLOSED =6 } |
Static Public Member Functions inherited from KDL::Path | |
static Path * | Read (std::istream &is) |
A Path being the composition of other Path objects.
For several of its methods, this class needs to lookup the segment corresponding to a value of the path variable s. To increase efficiency, this value is cached.
\TODO Currently a linear search is used to look up the segment. A binary search is more efficient. Can STL be used for this ? \TODO Increase the efficiency for caching for the common case of a fine grained monotonously increasing path variable s.
\TODO For all Path.., VelocityProfile.., Trajectory... check the bounds on the inputs with asserts.
\TODO explain this routine in the wiki.
Definition at line 107 of file path_composite.hpp.
|
private |
Definition at line 148 of file path_composite.hpp.
|
private |
Definition at line 147 of file path_composite.hpp.
KDL::Path_Composite::Path_Composite | ( | ) |
Definition at line 113 of file path_composite.cpp.
|
virtual |
Definition at line 191 of file path_composite.cpp.
|
virtual |
Returns the acceleration twist at path length s and with derivative of s == sd, and 2nd derivative of s == sdd
Implements KDL::Path.
Definition at line 146 of file path_composite.cpp.
void KDL::Path_Composite::Add | ( | Path * | geom, |
bool | aggregate = true |
||
) |
Adds a Path* to this composite
Definition at line 120 of file path_composite.cpp.
|
virtual |
Virtual constructor, constructing by copying, Returns a deep copy of this Path Object
Implements KDL::Path.
Definition at line 151 of file path_composite.cpp.
|
virtual |
s | [INPUT] path length variable for the composite. |
segment_number | [OUTPUT] segments that corresponds to the path length variable s. |
inner_s | [OUTPUT] path length to use within the segment. |
Definition at line 184 of file path_composite.cpp.
|
inlinevirtual |
gets an identifier indicating the type of this Path object
Implements KDL::Path.
Definition at line 235 of file path_composite.hpp.
|
virtual |
gets the length to the end of the given segment.
i | segment number |
Definition at line 178 of file path_composite.cpp.
|
virtual |
returns the number of underlying segments.
Definition at line 168 of file path_composite.cpp.
|
virtual |
returns a pointer to the underlying Path of the given segment number i.
i | segment number |
Definition at line 172 of file path_composite.cpp.
|
virtual |
LengthToS() converts a physical length along the trajectory to the parameter s used in Pos, Vel and Acc. This is used because in cases with large rotations the parameter s does NOT correspond to the lineair length along the trajectory. User should be sure that the lineair distance travelled by this path object is NOT zero, when using this method ! (e.g. the case of only rotational change) throws Error_MotionPlanning_Not_Applicable if used on composed path objects.
Implements KDL::Path.
Definition at line 126 of file path_composite.cpp.
|
private |
Definition at line 93 of file path_composite.cpp.
|
virtual |
Returns the total path length of the trajectory (has dimension LENGTH) This is not always a physical length , ie when dealing with rotations that are dominant.
Implements KDL::Path.
Definition at line 131 of file path_composite.cpp.
|
virtual |
Returns the Frame at the current path length s
Implements KDL::Path.
Definition at line 136 of file path_composite.cpp.
|
virtual |
Returns the velocity twist at path length s theta and with derivative of s == sd
Implements KDL::Path.
Definition at line 141 of file path_composite.cpp.
|
virtual |
Writes one of the derived objects to the stream
Implements KDL::Path.
Definition at line 159 of file path_composite.cpp.
|
mutableprivate |
Definition at line 156 of file path_composite.hpp.
|
mutableprivate |
Definition at line 157 of file path_composite.hpp.
|
mutableprivate |
Definition at line 155 of file path_composite.hpp.
|
private |
Definition at line 151 of file path_composite.hpp.
|
private |
Definition at line 150 of file path_composite.hpp.
|
private |
Definition at line 152 of file path_composite.hpp.