StaubliRX130nAxesVelocityController Class Reference

This class implements a TaskContext to use with the StaubliRX130 robot in the RoboticLab, PMA, dept. More...

#include <StaubliRX130nAxesVelocityController.hpp>

List of all members.

Public Member Functions

 StaubliRX130nAxesVelocityController (std::string name)
 The contructor of the class.
virtual bool configureHook ()
virtual bool startHook ()
virtual void updateHook ()
virtual void stopHook ()
virtual void cleanupHook ()
KDL::Chain getKinematics ()

Protected Attributes

Method< bool(void)> startAllAxes_mtd
 Method to start all axes .
Method< bool(void)> stopAllAxes_mtd
 Method to stop all axes .
Method< bool(void)> unlockAllAxes_mtd
 Method to unlock all axes .
Method< bool(void)> lockAllAxes_mtd
 Method to lock all axes.
Command< bool(void)> prepareForUse_cmd
 Method to prepare robot for use.
Command< bool(void)> prepareForShutdown_cmd
 Command to Shutdown the hardware controller of the robot.
Method< bool(std::vector
< double >)> 
addDriveOffset_mtd
 Method to add drive offsets to the axes.
DataPort< std::vector< double > > driveValues_port
 DataPort which contain the output velocities of the axes.
DataPort< std::vector< double > > servoValues_port
DataPort< std::vector< double > > positionValues_port
 DataPort which contain the values of the position sensors.
DataPort< std::vector< double > > velocityValues_port
DataPort< double > deltaTime_port
Property< std::vector< double > > driveLimits_prop
 The absolute value of the velocity will be limited to this property.
Property< std::vector< double > > lowerPositionLimits_prop
 Lower limit for the positions.
Property< std::vector< double > > upperPositionLimits_prop
 upper limit for the positions.
Property< std::vector< double > > velocityLimits_prop
 limits for the velocities.
Property< std::vector< double > > initialPosition_prop
 Start position in rad for simulation.
Property< std::vector< double > > driveOffset_prop
 Offset to the drive value volt = (setpoint + offset)/scale.
Property< bool > simulation_prop
 True if simulationAxes should be used in stead of hardware axes.
bool simulation
Constant< unsigned int > num_axes_attr
 Constant Attribute: number of axes.
Attribute< KDL::Chain > chain_attr
 KDL-chain for the StaubliRX130.
KDL::Chain kinematics
Event< void(std::string) > driveOutOfRange_evt
 parameters to this event are the axis and the velocity that is out of range.
Event< void(std::string) > positionOutOfRange_evt
 parameters to this event are the axis and the position that is out of range.
Event< void(std::string) > velocityOutOfRange_evt
Property< std::vector< double > > servoIntegrationFactor_prop
Property< std::vector< double > > servoGain_prop
Property< std::vector< double > > servoFFScale_prop
Property< std::vector
< std::string > > 
EmergencyEvents_prop
 List of Events that should result in an emergencystop.

Detailed Description

This class implements a TaskContext to use with the StaubliRX130 robot in the RoboticLab, PMA, dept.

Mechanical Engineering, KULEUVEN. Since the hardware part is very specific for our setup, other people can only use the simulation version. But it can be a good starting point to create your own Robot Software Interface.

Definition at line 51 of file StaubliRX130nAxesVelocityController.hpp.


Constructor & Destructor Documentation

StaubliRX130nAxesVelocityController ( std::string  name  ) 

The contructor of the class.

Parameters:
name Name of the TaskContext
propertyfilename name of the propertyfile to configure the component with, default: cpf/StaubliRX130nAxesVelocityController.cpf

Dataflow Interface

Configuration Interface

Definition at line 74 of file StaubliRX130nAxesVelocityController.cpp.

References StaubliRX130nAxesVelocityController::addDriveOffset_mtd, StaubliRX130nAxesVelocityController::chain_attr, StaubliRX130nAxesVelocityController::driveLimits_prop, StaubliRX130nAxesVelocityController::driveOffset_prop, StaubliRX130nAxesVelocityController::driveOutOfRange_evt, StaubliRX130nAxesVelocityController::driveValues_port, StaubliRX130nAxesVelocityController::EmergencyEvents_prop, StaubliRX130nAxesVelocityController::initialPosition_prop, StaubliRX130nAxesVelocityController::lockAllAxes_mtd, StaubliRX130nAxesVelocityController::lowerPositionLimits_prop, StaubliRX130nAxesVelocityController::num_axes_attr, StaubliRX130nAxesVelocityController::positionOutOfRange_evt, StaubliRX130nAxesVelocityController::positionValues_port, StaubliRX130nAxesVelocityController::prepareForShutdown_cmd, StaubliRX130nAxesVelocityController::prepareForUse_cmd, StaubliRX130nAxesVelocityController::simulation_prop, StaubliRX130nAxesVelocityController::startAllAxes_mtd, StaubliRX130nAxesVelocityController::stopAllAxes_mtd, StaubliRX130nAxesVelocityController::unlockAllAxes_mtd, StaubliRX130nAxesVelocityController::upperPositionLimits_prop, and StaubliRX130nAxesVelocityController::velocityLimits_prop.


Member Function Documentation

bool configureHook (  )  [virtual]

Member Data Documentation

Method<bool(std::vector<double>)> addDriveOffset_mtd [protected]

Method to add drive offsets to the axes.

Adds an offset to the drivevalues of the axes and updates the driveOffset values.

Parameters:
offset offset value in geometrics units [rad/s]

Definition at line 135 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Property<std::vector <double> > driveLimits_prop [protected]

The absolute value of the velocity will be limited to this property.

Used to fire an event if necessary and to saturate the velocities. It is a good idea to set this property to a low value when using experimental code.

Definition at line 160 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::configureHook(), and StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Event< void(std::string) > driveOutOfRange_evt [protected]

parameters to this event are the axis and the velocity that is out of range.

Each axis that is out of range throws a seperate event. The component will continue with the previous value.

Definition at line 212 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::configureHook(), and StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Property<std::vector <double> > initialPosition_prop [protected]

Start position in rad for simulation.

If the encoders are relative ( like for this component ) also the starting value for the relative encoders.

Definition at line 181 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::configureHook(), and StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Method<bool(void)> lockAllAxes_mtd [protected]

Method to lock all axes.

Releases the brake of the axis. Only possible in the LOCKED state.

Returns:
false if in wrong state or already locked.

Definition at line 106 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Property<std::vector <double> > lowerPositionLimits_prop [protected]

Lower limit for the positions.

Used to fire an event if necessary.

Definition at line 165 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::configureHook(), and StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Event< void(std::string) > positionOutOfRange_evt [protected]

parameters to this event are the axis and the position that is out of range.

Each axis that is out of range throws a seperate event. The component will continue. The hardware limit switches can be reached when this event is not handled.

Definition at line 220 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

DataPort<std::vector<double> > positionValues_port [protected]

DataPort which contain the values of the position sensors.

It is used by other components who need this value for control ;)

Definition at line 151 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::configureHook(), and StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Command<bool(void)> prepareForUse_cmd [protected]

Method to prepare robot for use.

It is needed to activate the hardware controller of the robot.

Returns:
Will only be true if the hardware controller is ready and the emergency stops are released.

Definition at line 118 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Method<bool(void)> startAllAxes_mtd [protected]

Method to start all axes .

Sets the axis in the DRIVEN state. Only possible if the axis is int the STOPPED state. If succesfull the drive value of the axis is setted to zero and will be updated periodically

Returns:
Can only succeed if all axis are in the DRIVEN state

Definition at line 75 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Method<bool(void)> stopAllAxes_mtd [protected]

Method to stop all axes .

Sets the drive value to zero and changes to the STOP state. Only possible if axis is in the DRIVEN state. In the stop state, the axis does not listen and write to its ReadDataPort _driveValue.

Returns:
false if in wrong state or already stopped.

Definition at line 87 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Method<bool(void)> unlockAllAxes_mtd [protected]

Method to unlock all axes .

Activates the brake of the axis. Only possible in the STOPPED state.

Returns:
false if in wrong state or already locked.

Definition at line 96 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Property<std::vector <double> > upperPositionLimits_prop [protected]

upper limit for the positions.

Used to fire an event if necessary.

Definition at line 170 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::configureHook(), and StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().

Property<std::vector <double> > velocityLimits_prop [protected]

limits for the velocities.

Used to fire an event if necessary.

Definition at line 175 of file StaubliRX130nAxesVelocityController.hpp.

Referenced by StaubliRX130nAxesVelocityController::configureHook(), and StaubliRX130nAxesVelocityController::StaubliRX130nAxesVelocityController().


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