nAxesGeneratorVel Class Reference
[The Joint Control Components]

This component generates paths between the current velocities and the new desired velocities for multiple axes, this velocities can be maintained or stopped. More...

#include <nAxesGeneratorVel.hpp>

List of all members.

Public Member Functions

 nAxesGeneratorVel (std::string name)
 Constructor of the class The interface of the component is build.
virtual bool configureHook ()
 Configures the component, make sure the properties are updated using the OCL::DeploymentComponent or the marshalling interface of the component.
virtual bool startHook ()
 Starts the component.
virtual void updateHook ()
 Updates the desired position and velocity according to the calculated profile.
virtual void stopHook ()

Protected Attributes

RTT::Command< bool(int, double,
double)> 
applyVelocity_cmd
 Command to apply a certain velocity to an axis for a amount of time.
RTT::Command< bool(std::vector
< double >, double)> 
applyVelocities_cmd
 Same as nAxesGeneratorVel::applyVelocity_cmd but for all axes at the same time.
RTT::Command< bool(int, double,
double)> 
gotoVelocity_cmd
 Command to accelerate to a certain velocity and maintain this velocity.
RTT::Command< bool(std::vector
< double >, double)> 
gotoVelocities_cmd
 Same as nAxesGeneratorVel::gotoVelocity_cmd but for all axes at the same time.
RTT::Method< void(int, double)> setInitVelocity_mtd
 Sets the initial velocity for the axis.
RTT::Method< void(std::vector
< double >)> 
setInitVelocities_mtd
 Same as nAxesGeneratorVel::setInitVelocity_cmd but for all axes at the same time.
RTT::WriteDataPort
< std::vector< double > > 
v_d_port
 The current desired velocities.
RTT::Property< std::vector
< double > > 
a_max_prop
 Vector of the maximum accelerations of each axes to be used in the interpolation.
RTT::Property< std::vector
< double > > 
j_max_prop
 Vector of the maximum jerks of each axes to be used in the interpolation.
RTT::Property< unsigned int > num_axes_prop
 Number of axes to configure the component for.

Detailed Description

This component generates paths between the current velocities and the new desired velocities for multiple axes, this velocities can be maintained or stopped.

It uses KDL for the time interpolation. The interpolation uses a trapezoidal acceleration profile using a maximum acceleration and a maximum jerk.

The initial state of the component is PreOperational

Definition at line 51 of file nAxesGeneratorVel.hpp.


Constructor & Destructor Documentation

nAxesGeneratorVel ( std::string  name  ) 

Member Function Documentation

bool configureHook (  )  [virtual]

Configures the component, make sure the properties are updated using the OCL::DeploymentComponent or the marshalling interface of the component.

The number of axes, maximum accelerations and jerks for the profiles are updated.

Returns:
false if the acceleration and jerk properties do not match the number of axes, true otherwise

Definition at line 87 of file nAxesGeneratorVel.cpp.

References nAxesGeneratorVel::a_max_prop, nAxesGeneratorVel::j_max_prop, nAxesGeneratorVel::num_axes_prop, and nAxesGeneratorVel::v_d_port.

bool startHook (  )  [virtual]

Starts the component.

Returns:
failes if the input-ports are not ready or the size of the input-ports does not match the number of axes this component is configured for.

Definition at line 128 of file nAxesGeneratorVel.cpp.


Member Data Documentation

RTT::Command<bool(std::vector<double>,double)> applyVelocities_cmd [protected]

Same as nAxesGeneratorVel::applyVelocity_cmd but for all axes at the same time.

Parameters:
velocity vector with desired velocities
duration duration of the movement
Returns:
false if duration < 0, true otherwise

Definition at line 127 of file nAxesGeneratorVel.hpp.

Referenced by nAxesGeneratorVel::nAxesGeneratorVel().

RTT::Command<bool(int,double,double)> applyVelocity_cmd [protected]

Command to apply a certain velocity to an axis for a amount of time.

Command is completed when duration is passed.

Parameters:
axis number of axis
velocity desired velocity
duration duration of the movement
Returns:
false if duration < 0, or axis does not exist, true otherwise

Definition at line 116 of file nAxesGeneratorVel.hpp.

Referenced by nAxesGeneratorVel::nAxesGeneratorVel().

RTT::Command<bool(std::vector<double>,double)> gotoVelocities_cmd [protected]

Same as nAxesGeneratorVel::gotoVelocity_cmd but for all axes at the same time.

Parameters:
velocity vector with desired velocities
duration minimum duration of the acceleration
Returns:
false if duration<0, true otherwise

Definition at line 152 of file nAxesGeneratorVel.hpp.

Referenced by nAxesGeneratorVel::nAxesGeneratorVel().

RTT::Command<bool(int,double,double)> gotoVelocity_cmd [protected]

Command to accelerate to a certain velocity and maintain this velocity.

Command stops when desired velocity is reached.

Parameters:
axis number of axis
velocity desired velocity
duration minimum duration of acceleration
Returns:
false if axis does not exist or duration < 0, true otherwise

Definition at line 140 of file nAxesGeneratorVel.hpp.

Referenced by nAxesGeneratorVel::nAxesGeneratorVel().

RTT::Method<void(std::vector<double>)> setInitVelocities_mtd [protected]

Same as nAxesGeneratorVel::setInitVelocity_cmd but for all axes at the same time.

Parameters:
velocity initial velocities of all axes.
Returns:
false if size of velocity does not match the number of axes this component is configured for, true otherwise.

Definition at line 173 of file nAxesGeneratorVel.hpp.

Referenced by nAxesGeneratorVel::nAxesGeneratorVel().

RTT::Method<void(int,double)> setInitVelocity_mtd [protected]

Sets the initial velocity for the axis.

Parameters:
axis axis number
velocity initial velocity of the axis
Returns:
false if axis number does not exist, true otherwise

Definition at line 162 of file nAxesGeneratorVel.hpp.

Referenced by nAxesGeneratorVel::nAxesGeneratorVel().


The documentation for this class was generated from the following files:
Generated on Thu Dec 23 15:05:29 2010 for OrocosComponentLibrary by  doxygen 1.6.3