trajectory_generation
Classes | Typedefs | Enumerations | Functions
trajectory_generation Namespace Reference

Classes

struct  ConstrainedJointsCmd
 
struct  MotionConstraint
 
struct  MotionConstraints
 
struct  ReflexxesInputParameters
 
struct  ReflexxesOutputParameters
 
class  RMLCartesianPositionTask
 
class  RMLCartesianVelocityTask
 
class  RMLJointPositionTask
 
class  RMLJointVelocityTask
 
class  RMLPositionTask
 
class  RMLTask
 
class  RMLVelocityTask
 

Typedefs

typedef MotionConstraint JointMotionConstraints
 
typedef MotionConstraints JointsMotionConstraints
 

Enumerations

enum  PositionalLimitsBehavior { POSITIONAL_LIMITS_IGNORE, POSITIONAL_LIMITS_ERROR_MSG_ONLY, POSITIONAL_LIMITS_ACTIVELY_PREVENT }
 
enum  ReflexxesResultValue {
  RML_WORKING = 0, RML_FINAL_STATE_REACHED = 1, RML_NO_ERROR = 2, RML_ERROR = -1,
  RML_ERROR_INVALID_INPUT_VALUES = -100, RML_ERROR_EXECUTION_TIME_CALCULATION = -101, RML_ERROR_SYNCHRONIZATION = -102, RML_ERROR_NUMBER_OF_DOFS = -103,
  RML_ERROR_NO_PHASE_SYNCHRONIZATION = -104, RML_ERROR_NULL_POINTER = -105, RML_ERROR_EXECUTION_TIME_TOO_BIG = -106, RML_ERROR_USER_TIME_OUT_OF_RANGE = -107,
  RML_ERROR_POSITIONAL_LIMITS = -108, RML_ERROR_OVERRIDE_OUT_OF_RANGE = -109, RML_NOT_INITIALIZED = -200
}
 

Functions

base::Vector3d quaternion2Euler (const base::Orientation &orientation)
 
base::Orientation euler2Quaternion (const base::Vector3d &euler)
 
void rmlTypes2InputParams (const RMLInputParameters &in, ReflexxesInputParameters &out)
 
void rmlTypes2InputParams (const RMLPositionInputParameters &in, ReflexxesInputParameters &out)
 
void rmlTypes2InputParams (const RMLVelocityInputParameters &in, ReflexxesInputParameters &out)
 
void rmlTypes2OutputParams (const RMLOutputParameters &in, ReflexxesOutputParameters &out)
 
void rmlTypes2OutputParams (const RMLPositionOutputParameters &in, ReflexxesOutputParameters &out)
 
void rmlTypes2OutputParams (const RMLVelocityOutputParameters &in, ReflexxesOutputParameters &out)
 
void jointState2RmlTypes (const base::samples::Joints &joint_state, const std::vector< std::string > &names, const RMLFlags &flags, RMLInputParameters &params)
 
void rmlTypes2JointState (const RMLInputParameters &params, base::samples::Joints &joint_state)
 
void cartesianState2RmlTypes (const base::samples::RigidBodyState &cartesian_state, RMLInputParameters &params)
 
void rmlTypes2CartesianState (const RMLInputParameters &params, base::samples::RigidBodyState &cartesian_state)
 
void motionConstraint2RmlTypes (const MotionConstraint &constraint, const uint idx, RMLInputParameters &params)
 
void motionConstraint2RmlTypes (const MotionConstraint &constraint, const uint idx, RMLPositionInputParameters &params)
 
void motionConstraint2RmlTypes (const MotionConstraint &constraint, const uint idx, RMLVelocityInputParameters &params)
 
void rmlTypes2Command (const RMLPositionOutputParameters &params, base::commands::Joints &command)
 
void rmlTypes2Command (const RMLPositionOutputParameters &params, base::samples::RigidBodyState &command)
 
void rmlTypes2Command (const RMLVelocityOutputParameters &params, base::commands::Joints &command)
 
void rmlTypes2Command (const RMLVelocityOutputParameters &params, base::samples::RigidBodyState &command)
 
void target2RmlTypes (const ConstrainedJointsCmd &target, const MotionConstraints &default_constraints, RMLPositionInputParameters &params)
 
void target2RmlTypes (const ConstrainedJointsCmd &target, const MotionConstraints &default_constraints, RMLVelocityInputParameters &params)
 
void target2RmlTypes (const base::samples::RigidBodyState &target, RMLPositionInputParameters &params)
 
void target2RmlTypes (const base::samples::RigidBodyState &target, RMLVelocityInputParameters &params)
 
void target2RmlTypes (const double target_pos, const double target_vel, const uint idx, RMLPositionInputParameters &params)
 
void target2RmlTypes (const double target_vel, const uint idx, RMLVelocityInputParameters &params)
 
void cropTargetAtPositionLimits (RMLPositionInputParameters &params)
 
void fixRmlSynchronizationBug (const double cycle_time, RMLVelocityInputParameters &params)
 

Typedef Documentation

For backward compatibility

For backward compatibility

Enumeration Type Documentation

Behavior at positional limits. Only reflexxes type IV

Enumerator
POSITIONAL_LIMITS_IGNORE 
POSITIONAL_LIMITS_ERROR_MSG_ONLY 

Positional limits are completely ignored

POSITIONAL_LIMITS_ACTIVELY_PREVENT 

Component will go into error state if target is out of bounds Reflexxes will make a smooth transition at the bounds and prevent exceededing them

Result values of the Online Trajectory Generation algorithm. See reflexxes/ReflexxesAPI.h for further details

Enumerator
RML_WORKING 
RML_FINAL_STATE_REACHED 

The Online Trajectory Generation algorithm is working; the final state of motion has not been reached yet.

RML_NO_ERROR 

The desired final state of motion has been reached.

RML_ERROR 

This value is returned by the method ReflexxesAPI::SetupOverrideFilter() if executed successfully.

RML_ERROR_INVALID_INPUT_VALUES 

Initialization value of TypeIVRMLPosition::ReturnValue. Should never be returned.

RML_ERROR_EXECUTION_TIME_CALCULATION 

The applied input values are invalid

RML_ERROR_SYNCHRONIZATION 

An error occurred during the first step of the algorithm (i.e., during the calculation of the synchronization time).

RML_ERROR_NUMBER_OF_DOFS 

An error occurred during the second step of the algorithm (i.e., during the synchronization of the trajectory

RML_ERROR_NO_PHASE_SYNCHRONIZATION 

DOF of input/output parameters and given dof do not match

RML_ERROR_NULL_POINTER 

Phase synchronization error / snychronization physically or mathematically not possible

RML_ERROR_EXECUTION_TIME_TOO_BIG 

Null pointer passed to call RMLPosition/RMLVelocity

RML_ERROR_USER_TIME_OUT_OF_RANGE 

RML_MAX_EXECUTION_TIME

RML_ERROR_POSITIONAL_LIMITS 

User selected RML_MAX_EXECUTION_TIME exceeded

RML_ERROR_OVERRIDE_OUT_OF_RANGE 

Only TypeIV: Positional limits are exceeded

RML_NOT_INITIALIZED 

Only TypeIV: This is return value indicates that the specified override value or filter time value is out of range.

Function Documentation

void trajectory_generation::cartesianState2RmlTypes ( const base::samples::RigidBodyState &  cartesian_state,
RMLInputParameters &  params 
)
void trajectory_generation::cropTargetAtPositionLimits ( RMLPositionInputParameters &  params)
base::Orientation trajectory_generation::euler2Quaternion ( const base::Vector3d &  euler)
void trajectory_generation::fixRmlSynchronizationBug ( const double  cycle_time,
RMLVelocityInputParameters &  params 
)
void trajectory_generation::jointState2RmlTypes ( const base::samples::Joints &  joint_state,
const std::vector< std::string > &  names,
const RMLFlags &  flags,
RMLInputParameters &  params 
)
void trajectory_generation::motionConstraint2RmlTypes ( const MotionConstraint constraint,
const uint  idx,
RMLInputParameters &  params 
)
void trajectory_generation::motionConstraint2RmlTypes ( const MotionConstraint constraint,
const uint  idx,
RMLPositionInputParameters &  params 
)
void trajectory_generation::motionConstraint2RmlTypes ( const MotionConstraint constraint,
const uint  idx,
RMLVelocityInputParameters &  params 
)
base::Vector3d trajectory_generation::quaternion2Euler ( const base::Orientation &  orientation)
void trajectory_generation::rmlTypes2CartesianState ( const RMLInputParameters &  params,
base::samples::RigidBodyState &  cartesian_state 
)
void trajectory_generation::rmlTypes2Command ( const RMLPositionOutputParameters &  params,
base::commands::Joints &  command 
)
void trajectory_generation::rmlTypes2Command ( const RMLPositionOutputParameters &  params,
base::samples::RigidBodyState &  command 
)
void trajectory_generation::rmlTypes2Command ( const RMLVelocityOutputParameters &  params,
base::commands::Joints &  command 
)
void trajectory_generation::rmlTypes2Command ( const RMLVelocityOutputParameters &  params,
base::samples::RigidBodyState &  command 
)
void trajectory_generation::rmlTypes2InputParams ( const RMLInputParameters &  in,
ReflexxesInputParameters out 
)
void trajectory_generation::rmlTypes2InputParams ( const RMLPositionInputParameters &  in,
ReflexxesInputParameters out 
)
void trajectory_generation::rmlTypes2InputParams ( const RMLVelocityInputParameters &  in,
ReflexxesInputParameters out 
)
void trajectory_generation::rmlTypes2JointState ( const RMLInputParameters &  params,
base::samples::Joints &  joint_state 
)
void trajectory_generation::rmlTypes2OutputParams ( const RMLOutputParameters &  in,
ReflexxesOutputParameters out 
)
void trajectory_generation::rmlTypes2OutputParams ( const RMLPositionOutputParameters &  in,
ReflexxesOutputParameters out 
)
void trajectory_generation::rmlTypes2OutputParams ( const RMLVelocityOutputParameters &  in,
ReflexxesOutputParameters out 
)
void trajectory_generation::target2RmlTypes ( const ConstrainedJointsCmd target,
const MotionConstraints default_constraints,
RMLPositionInputParameters &  params 
)
void trajectory_generation::target2RmlTypes ( const ConstrainedJointsCmd target,
const MotionConstraints default_constraints,
RMLVelocityInputParameters &  params 
)
void trajectory_generation::target2RmlTypes ( const base::samples::RigidBodyState &  target,
RMLPositionInputParameters &  params 
)
void trajectory_generation::target2RmlTypes ( const base::samples::RigidBodyState &  target,
RMLVelocityInputParameters &  params 
)
void trajectory_generation::target2RmlTypes ( const double  target_pos,
const double  target_vel,
const uint  idx,
RMLPositionInputParameters &  params 
)
void trajectory_generation::target2RmlTypes ( const double  target_vel,
const uint  idx,
RMLVelocityInputParameters &  params 
)