Main Page   Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

OSCAR::PathBlend Class Reference
[MotionPlanning]

This class implements the constant velocity path blending technique developed R. H. Taylor in "Planning and Execution of Straight-Line Manipulator Trajectories." This class will develop a trajectory that smoothly interpolates straight line motions through a set of via points. More...

#include <PathBlend.h>

Inheritance diagram for OSCAR::PathBlend:

Inheritance graph
[legend]
List of all members.

Public Methods

 PathBlend (double Velocity, double SampleTime, double BreakPoint=0.8, OSCARError &err=DUMMY_ERROR(noError))
 PathBlend (const PathBlend &rhs)
PathBlend & operator= (const PathBlend &rhs)
bool SetViaPoints (const std::vector< HandPose > &viaPt)
bool AddViaPoint (const HandPose &viaPt)
bool InsertViaPoint (const HandPose &viaPt, unsigned int index)
bool DeleteViaPoint (unsigned int index)
bool ClearViaPoints ()
bool GetViaPoints (std::vector< HandPose > &viaPoints)
bool GenerateTrajectory ()
bool GetTrajectory (std::vector< HandPose > &Trajectory)
virtual ~PathBlend ()

Protected Methods

void initialize ()

Protected Attributes

double velocity
double sampleTime
double breakPoint
std::vector< HandPoseviaPoints
std::vector< HandPosetrajectory
std::vector< double > timeVec
std::vector< QuaternionquatVec

Detailed Description

Author:
Peter S. March


Constructor & Destructor Documentation

OSCAR::PathBlend::PathBlend double    Velocity,
double    SampleTime,
double    BreakPoint = 0.8,
OSCARError   err = DUMMY_ERROR(noError)
 

Constructor.

This constructor creates an PathBlend object.

Parameters:
Velocity This parameter is the constant velocity used for the motion.
SampleTime This is the delta_time between the setpoints that will be generated in the trajectory.
BreakPoint This is the point where the path will begin to diverge from one straightlin motion and begin to merge into the next straight line motion. This parameter has a default value of 0.8. This means the trajectory will break away 80% of the way along its motion.
err An OSCARError object that on return will hold the value of any errors that were generated during the constructor call. If err is not equal to 'noError' you can call GetError() to get the details of the error code.

OSCAR::PathBlend::PathBlend const PathBlend &    rhs
 

Copy Constructor.

This is the Copy constructor for an object of type PathBlend. Use this to construct an PathBlend object from an existing PathBlend object.

Parameters:
rhs An PathBlend object that will be used to initialize this new object.

virtual OSCAR::PathBlend::~PathBlend   [inline, virtual]
 


Member Function Documentation

bool OSCAR::PathBlend::AddViaPoint const HandPose   viaPt
 

Use this method to append a single via point to the current internally stored list of control points.

Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information
Parameters:
viaPt An HandPose containing the orientation and position of the next control point.
See also:
bool SetViaPoints(const vector<Vector3>& viaPt)

bool OSCAR::PathBlend::ClearViaPoints  
 

Use this method to clear the current via points.

Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information

bool OSCAR::PathBlend::DeleteViaPoint unsigned int    index
 

Use this method to delete a control point at a specified index.

Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information
Parameters:
index The index of the via point to be removed.

bool OSCAR::PathBlend::GenerateTrajectory  
 

Use this method to generate a trajectory from the set of via points.

Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information

bool OSCAR::PathBlend::GetTrajectory std::vector< HandPose > &    Trajectory
 

Use this method to retrieve the generated trajectory.

Parameters:
Trajectory An STL vector<HandPose> that the trajectory will be stored in.
Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information

bool OSCAR::PathBlend::GetViaPoints std::vector< HandPose > &    viaPoints
 

Use this method to retrieve the current list of via points.

Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information
Parameters:
viaPoints An STL vector of Vector3s that will contain the control points.

void OSCAR::PathBlend::initialize   [protected]
 

bool OSCAR::PathBlend::InsertViaPoint const HandPose   viaPt,
unsigned int    index
 

Use this method to insert a via point at a specified index.

Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information
Parameters:
viaPt An HandPose object containing the position and orientation of the via point to be inserted.
index The index where the new via point will be located.
See also:
bool AddViaPoint(Vector3& viaPt)

bool SetViaPoints(const vector<HandPose>& viaPt)

PathBlend& OSCAR::PathBlend::operator= const PathBlend &    rhs
 

Assignment operator.

This is the Assignment operator for an object of type PathBlend.

Parameters:
rhs An PathBlend object that goes on the right hand side of the = operator.
Returns:
A reference to the object on the left hand side of the = operator.

bool OSCAR::PathBlend::SetViaPoints const std::vector< HandPose > &    viaPt
 

Use this method to set the via points from a vector of points.

Parameters:
viaPt An STL vector object of HandPoses. This object will overwrite the current internally stored control points.
Returns:
true if the method succeeds and false if method fails. Call GetError() to get detailed error information
See also:
bool AddViaPoint(Vector3& viaPt)


Member Data Documentation

double OSCAR::PathBlend::breakPoint [protected]
 

std::vector<Quaternion> OSCAR::PathBlend::quatVec [protected]
 

double OSCAR::PathBlend::sampleTime [protected]
 

std::vector<double> OSCAR::PathBlend::timeVec [protected]
 

std::vector<HandPose> OSCAR::PathBlend::trajectory [protected]
 

double OSCAR::PathBlend::velocity [protected]
 

std::vector<HandPose> OSCAR::PathBlend::viaPoints [protected]
 


The documentation for this class was generated from the following file:
RRG Homepage OSCAR Overview OSCAR Tutorials Simulations