|
trajectory_generation
|
#include <RMLTask.hpp>
Public Member Functions | |
| RMLTask (std::string const &name="trajectory_generation::RMLTask") | |
| RMLTask (std::string const &name, RTT::ExecutionEngine *engine) | |
| ~RMLTask () | |
| bool | configureHook () |
| bool | startHook () |
| void | updateHook () |
| void | errorHook () |
| void | stopHook () |
| void | cleanupHook () |
Protected Member Functions | |
| virtual void | updateMotionConstraints (const MotionConstraint &constraint, const size_t idx, RMLInputParameters *new_input_parameters)=0 |
| virtual RTT::FlowStatus | updateCurrentState (RMLInputParameters *new_input_parameters)=0 |
| virtual RTT::FlowStatus | updateTarget (RMLInputParameters *new_input_parameters)=0 |
| virtual ReflexxesResultValue | performOTG (RMLInputParameters *new_input_parameters, RMLOutputParameters *new_output_parameters, RMLFlags *rml_flags)=0 |
| virtual void | writeCommand (const RMLOutputParameters &new_output_parameters)=0 |
| virtual void | printParams (const RMLInputParameters &in, const RMLOutputParameters &out)=0 |
| virtual const ReflexxesInputParameters & | convertRMLInputParams (const RMLInputParameters &in, ReflexxesInputParameters &out)=0 |
| virtual const ReflexxesOutputParameters & | convertRMLOutputParams (const RMLOutputParameters &in, ReflexxesOutputParameters &out)=0 |
| void | handleResultValue (ReflexxesResultValue result_value) |
Protected Attributes | |
| MotionConstraints | motion_constraints |
| ReflexxesAPI * | rml_api |
| RMLInputParameters * | rml_input_parameters |
| RMLOutputParameters * | rml_output_parameters |
| RMLFlags * | rml_flags |
| ReflexxesResultValue | rml_result_value |
| ReflexxesInputParameters | input_parameters |
| ReflexxesOutputParameters | output_parameters |
| base::Time | timestamp |
| double | cycle_time |
Friends | |
| class | RMLTaskBase |
This task generates a feasible, time-stamped trajectory to a given a target (position/velocity, depending on the subclass used). "Feasible" means here that the output trajectory (command port) will respect the motion constraints defined by the motion_constraints-property, that is maximum/minimum position (only Reflexxes TypeIV), maximum speed, maximum acceleration and maximum jerk (derivative of acceleration). The motion constraints structure is define in trajectory_generationTypes.hpp.
| RMLTask::RMLTask | ( | std::string const & | name = "trajectory_generation::RMLTask" | ) |
| RMLTask::RMLTask | ( | std::string const & | name, |
| RTT::ExecutionEngine * | engine | ||
| ) |
| RMLTask::~RMLTask | ( | ) |
| void RMLTask::cleanupHook | ( | ) |
| bool RMLTask::configureHook | ( | ) |
|
protectedpure virtual |
Convert from RMLInputParameters to orogen type
|
protectedpure virtual |
Convert from RMLOutputParameters to orogen type
| void RMLTask::errorHook | ( | ) |
|
protected |
Handle result of the OTG algorithm. Handle errors.
|
protectedpure virtual |
Perform one step of online trajectory generation (call the RML algorithm with the given parameters). Return the RML result value
|
protectedpure virtual |
Call echo() method for rml input and output parameters
| bool RMLTask::startHook | ( | ) |
| void RMLTask::stopHook | ( | ) |
|
protectedpure virtual |
Read the current state from port and return position and flow status
| void RMLTask::updateHook | ( | ) |
|
protectedpure virtual |
Cycle time for interpolation Update the motion constraints of a particular element
|
protectedpure virtual |
Update the RML input parameters with the new target
|
protectedpure virtual |
Write the generated trajectory to port
|
friend |
|
protected |
Timestamp if updateHook();
|
protected |
Current result value of RML, will be RML_NOT_INITIALIZED in the beginning
|
protected |
|
protected |
RMLInputParameters do not work with orogen, so use own type
|
protected |
Motion constraints that define the properties of the output trajectory
|
protected |
Output parameters of the OTG algorithm (new states, errors, ...).
|
protected |
Interface to the Online Trajectory Generation algorithms of the Reflexxes Motion Libraries
|
protected |
Input parameters for the OTG algorithm (target, constraints, flags, ...).
|
protected |
Input flags for the RML algorithm.
|
protected |
RMLOutputParameters do not work with orogen, so use own type
1.8.13