This class implements a TaskContext to use with the StaubliRX130 robot in the RoboticLab, PMA, dept. More...
#include <StaubliRX130nAxesVelocityController.hpp>
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. |
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.
StaubliRX130nAxesVelocityController | ( | std::string | name | ) |
The contructor of the class.
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.
bool configureHook | ( | ) | [virtual] |
Initializing servoloop
Creating event handlers
Definition at line 270 of file StaubliRX130nAxesVelocityController.cpp.
References StaubliRX130nAxesVelocityController::driveLimits_prop, StaubliRX130nAxesVelocityController::driveOffset_prop, StaubliRX130nAxesVelocityController::driveOutOfRange_evt, StaubliRX130nAxesVelocityController::EmergencyEvents_prop, StaubliRX130nAxesVelocityController::initialPosition_prop, StaubliRX130nAxesVelocityController::lowerPositionLimits_prop, StaubliRX130nAxesVelocityController::positionValues_port, StaubliRX130nAxesVelocityController::simulation_prop, StaubliRX130nAxesVelocityController::upperPositionLimits_prop, and StaubliRX130nAxesVelocityController::velocityLimits_prop.
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.
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.
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.
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
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.
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.
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().