Actin®  Version 5.2.0
Software for Robotics Simulation and Control
EcControlSystemExecutiveModifier Class Reference

Base control system modifier. More...

#include <ecControlSystemExecutiveModifier.h>

Inheritance diagram for EcControlSystemExecutiveModifier:
EcBaseControlSystemModifier

Public Member Functions

 EcControlSystemExecutiveModifier (EcSystemControlExecutive &sce, const EcNonNegReal timeStep)
 constructor using system control executive More...
 
 EcControlSystemExecutiveModifier (EcSystemControlExecutive &sce)
 constructor using system control executive
 
virtual void setIsPositionControlSystemOn (const EcBoolean isOn) EC_OVERRIDE
 sets a flag indicating whether or not the position control system is on More...
 
virtual EcBoolean setIsPositionControllerOn (const EcU32 manipIndex, const EcBoolean isOn) EC_OVERRIDE
 sets a flag indicating whether or not the position controller is on More...
 
virtual EcReal timeStep () const EC_OVERRIDE
 
virtual void setTimeStep (const EcReal value) EC_OVERRIDE
 
virtual EcU32 numberOfManipulators () const EC_OVERRIDE
 return the number of manipulators More...
 
virtual EcBoolean getManipulatorIndex (const EcString &label, EcU32 &manipIndex) const EC_OVERRIDE
 Get the index of a manipulator given its label. More...
 
virtual EcBoolean getLinkIndex (const EcU32 manipIndex, const EcString &linkLabel, EcU32 &linkIndex) const EC_OVERRIDE
 Get the index of a link given manipulator index and link label.
 
virtual EcBoolean getManipulatorJointDof (const EcU32 manipIndex, EcU32 &numJoints) const EC_OVERRIDE
 Get the number of joints a manipulator has. More...
 
virtual EcBoolean getJointActuator (const EcU32 manipIndex, const EcU32 linkIndex, EcJointActuator &jointActuator) const EC_OVERRIDE
 Get the joint actuator object for a specified manipulator-link. More...
 
virtual EcBoolean setJointActuator (const EcU32 manipIndex, const EcU32 linkIndex, const EcJointActuator &jointActuator) EC_OVERRIDE
 Set the joint actuator object for a specified manipulator-link. More...
 
virtual EcBoolean setBaseSpeedFactor (const EcU32 manipIndex, const EcReal baseSpeedFactor) EC_OVERRIDE
 
virtual EcBoolean getBaseSpeedFactor (const EcU32 manipIndex, EcReal &baseSpeedFactor) const EC_OVERRIDE
 Gets the base speed factor. More...
 
virtual EcBoolean setBaseAccelerationFactor (const EcU32 manipIndex, const EcReal baseAccelerationFactor) EC_OVERRIDE
 
virtual EcBoolean getBaseAccelerationFactor (const EcU32 manipIndex, EcReal &baseAccelerationFactor) const EC_OVERRIDE
 Gets the base acceleration factor. More...
 
virtual EcBoolean setControlMode (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcU32 mode) EC_OVERRIDE
 Sets the control mode of an end-effector by index. More...
 
virtual EcU32 activeEndEffectorSetIndex (const EcU32 manipIndex) const EC_OVERRIDE
 Get active end-effector set index. More...
 
virtual EcBoolean setActiveEndEffectorSetIndex (const EcU32 manipIndex, const EcU32 eeSetIndex) EC_OVERRIDE
 set the active control method More...
 
virtual EcBoolean setActiveControlDescriptionIndex (const EcU32 manipIndex, const EcU32 controlDescriptionIndex) EC_OVERRIDE
 set the active control method More...
 
virtual EcBoolean setActivePositionControlMethodIndex (const EcU32 manipIndex, const EcU32 controlMethodIndex) EC_OVERRIDE
 set the active control method More...
 
virtual EcBoolean setJointMotionLimits (const EcU32 manipIndex, const EcRealVector &maxVel, const EcRealVector &maxAcc, const EcRealVector &maxDec, const EcRealVector &maxJerk, const EcU32 eeSetIndex) EC_OVERRIDE
 Set joint motion limits. More...
 
virtual EcBoolean setLinearMotionLimits (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcReal maxVel, const EcReal maxAcc, const EcReal maxDec, const EcReal maxJerk) EC_OVERRIDE
 Set move pose linear motion limits. More...
 
virtual EcBoolean setAngularMotionLimits (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcReal maxVel, const EcReal maxAcc, const EcReal maxDec, const EcReal maxJerk) EC_OVERRIDE
 Set move pose angular motion limits. More...
 
virtual EcBoolean setFilteringMode (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcU32 value) EC_OVERRIDE
 Set filtering mode (velocity profile). More...
 
virtual EcBoolean setIsHardConstraint (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcBoolean value) EC_OVERRIDE
 Set is hard constraint flag. More...
 
virtual EcBoolean getJointRateFilterRates (const EcU32 manipIndex, EcRealVector &jointRates, EcBoolean &useControlParam) const EC_OVERRIDE
 Get the control parameters or joint rate filter rates of a given manipulator. More...
 
virtual EcBoolean setJointRateFilterRates (const EcU32 manipIndex, const EcRealVector &jointRates, const EcBoolean useControlParam) EC_OVERRIDE
 Set the control parameters or joint rate filter rates of a given manipulator. More...
 
virtual EcBoolean setSpeedFactor (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcReal value) EC_OVERRIDE
 
virtual EcBoolean setAccelerationFactor (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcReal value) EC_OVERRIDE
 
virtual const EcManipulatorEndEffectorPlacementVectordesiredPlacementVector () const EC_OVERRIDE
 Get desired placement (in relative) for the active end-effector set for all manipulators. More...
 
virtual void setDesiredPlacementVector (const EcManipulatorEndEffectorPlacementVector &value) EC_OVERRIDE
 set desired placement (in relative) for the active end-effector set for all manipulators. More...
 
virtual EcBoolean setDesiredPlacement (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcManipulatorEndEffectorPlacement &desiredPlacement) EC_OVERRIDE
 sets an individual desired end-effector placement More...
 
virtual EcBoolean setDesiredPlacement (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcEndEffectorPlacement &desiredPlacement) EC_OVERRIDE
 sets an individual desired end-effector placement More...
 
virtual EcBoolean setDesiredVelocity (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcManipulatorEndEffectorVelocity &value) EC_OVERRIDE
 sets an individual desired end-effector velocity More...
 
virtual EcBoolean setDesiredVelocity (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcXmlRealVector &velocity) EC_OVERRIDE
 sets an individual desired end-effector velocity More...
 
virtual const EcManipulatorEndEffectorPlacementVectoractualPlacementVector () const EC_OVERRIDE
 
virtual EcBoolean calculateActualEePlacement (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcPositionState *pPositionState, EcEndEffectorPlacement &placement) const EC_OVERRIDE
 Calculate actual end-effector placement (in relative) for any end-effector set. More...
 
virtual EcBoolean calculateActualEeSetPlacement (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcPositionState *pPositionState, EcManipulatorEndEffectorPlacement &placement) const
 Calculate actual end-effector placement (in relative) for any end-effector set. More...
 
virtual const EcEndEffectorSetendEffectorSet (const EcU32 manipIndex, const EcU32 eeSetIndex) const EC_OVERRIDE
 Get the end-effector set given manipulator index and end-effector set index. More...
 
virtual void setGravityVector (const EcVector &gravity) EC_OVERRIDE
 Set the gravity vector (m/s^2) in system coordinates. More...
 
virtual const EcManipulatorSystemStatemanipulatorSystemState () const EC_OVERRIDE
 gets the state More...
 
virtual void setCurrentState (const EcManipulatorSystemState &state) EC_OVERRIDE
 sets the current state of the system without re-initializing More...
 
virtual EcBoolean setSensedState (const EcU32 manipIndex, const EcCoordinateSystemTransformation *pBase, const EcRealVector *pJoints, const EcReal timestep=0.0) EC_OVERRIDE
 Feed back the externally sensed position state to the position controller. More...
 
virtual EcBoolean calculateActualEeVelocity (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcPositionState *pPositionState, const EcVelocityState *pVelocityState, EcXmlRealVector &velocity) const EC_OVERRIDE
 Calculate actual end-effector velocity for any end-effector set. More...
 
virtual EcBoolean calculateActualEeAcceleration (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcPositionState *pPositionState, const EcVelocityState *pVelocityState, const EcAccelerationState *pAccelerationState, EcXmlRealVector &acceleration) const EC_OVERRIDE
 Calculate actual end-effector acceleration for any end-effector set. More...
 
virtual EcBoolean calculateActualEeSetVelocity (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcPositionState *pPositionState, const EcVelocityState *pVelocityState, EcManipulatorEndEffectorVelocity &velocity) const
 Calculate actual end-effector velocity for any end-effector set. More...
 
virtual const EcPropagationResultDataVectorpropagationResultDataVector () const EC_OVERRIDE
 get the result of collision for display More...
 
virtual EcBoolean setToolOffset (const EcU32 manipIndex, const EcU32 toolIndex, const EcCoordinateSystemTransformation &value) EC_OVERRIDE
 
virtual EcBoolean setToolOffset (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcCoordinateSystemTransformation &value) EC_OVERRIDE
 
virtual EcBoolean getToolOffset (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, EcCoordinateSystemTransformation &value) const EC_OVERRIDE
 Get the tool offset (in link primary frame). More...
 
virtual EcBoolean calculatePrimaryFrameInSystem (const EcU32 manipIndex, const EcU32 linkIndex, const EcPositionState *pPositionState, EcCoordinateSystemTransformation &primaryFrameInSys) const EC_OVERRIDE
 Calculate the primary frame in system. More...
 
virtual EcBoolean calculatePrimaryFrameAccelerationInSystem (const EcU32 manipIndex, const EcU32 linkIndex, const EcPositionState *pPositionState, const EcVelocityState *pVelocityState, const EcAccelerationState *pAccelerationState, EcGeneralAcceleration &pfAccelerationInSystem) const EC_OVERRIDE
 Calculate the primary frame in system. More...
 
virtual EcBoolean getNamedFrame (const EcString &key, EcCoordinateSystemTransformation &value) const EC_OVERRIDE
 get named frame from manipulator system More...
 
virtual EcBoolean getNamedFrame (const EcU32 manipIndex, const EcU32 linkIndex, const EcString &key, EcCoordinateSystemTransformation &value) const EC_OVERRIDE
 get named frame from manipulator system More...
 
virtual EcBoolean setNamedFrame (const EcXmlString &key, const EcCoordinateSystemTransformation &value)
 
virtual EcBoolean setNamedFrame (const EcU32 manipIndex, const EcU32 linkIndex, const EcXmlString &key, const EcCoordinateSystemTransformation &value)
 
virtual EcBoolean getFeedbackAssimilationRate (const EcU32 manipIndex, EcReal &value) const EC_OVERRIDE
 get default feedback assimilation rate for a given manipulator More...
 
virtual EcBoolean setFeedbackAssimilationRate (const EcU32 manipIndex, const EcReal &value) EC_OVERRIDE
 set default feedback assimilation rate for a given manipulator More...
 
virtual EcBoolean attachManipulator (const EcU32 depManipIndex, const EcU32 baseManipIndex, const EcU32 baseLinkIndex, const EcCoordinateSystemTransformation &offset) EC_OVERRIDE
 Attach the base link of one manipulator onto a link of another manipulator. More...
 
virtual EcBoolean detachManipulator (const EcU32 depManipIndex) EC_OVERRIDE
 detach manipulator More...
 
virtual EcBoolean excludeCollisionCheck (const EcU32 manipIndex, const EcU32 *pLinkIndex, const EcU32 otherManipIndex, const EcU32Vector *pOtherLinkIndices, const EcBoolean isExcluding) EC_OVERRIDE
 Exclude/include collision check in the dynamic collision exclusion map. More...
 
virtual EcBoolean calculateTotalTorques (const EcU32 manipulatorIndex, const EcPositionState *positionState, const EcVelocityState *velocityState, const EcAccelerationState *accelerationState, const EcManipulatorExternalForce *pExternalForces, EcRealVector &torques) EC_OVERRIDE
 calculate and return joint torques based on the selected calculation type. More...
 
virtual EcBoolean calculatePowerConverterOutputs (const EcU32 manipulatorIndex, const EcRealVectorVector &powerConverterInputs, EcRealVector &outputs) EC_OVERRIDE
 calculate and return joint power converter ouput (force or torque) based on the given inputs. See EcBasePowerConverter::outputTorque More...
 
virtual EcBoolean getDeterminant (const EcU32 manipIndex, EcReal &value) const EC_OVERRIDE
 get determinant of the Jacobian of the current end effector set More...
 
virtual EcBoolean calculateJacobian (const EcU32 manipIndex, const EcU32 linkIndex, const EcString *pNamedFrameName, const EcVector &point, const EcPositionState *pPositionState, EcManipulatorJacobian &jacobian) const EC_OVERRIDE
 Calculate Jacobian given a point on the link. More...
 
virtual EcBoolean getJointRateFilterScalingFactor (const EcU32 manipIndex, EcReal &scalingFactor) const EC_OVERRIDE
 get the joint rate filter scaling factor
 
virtual void setDigitalInputVector (const EcU32Vector &value) EC_OVERRIDE
 set digital input vector More...
 
virtual void setDigitalInput (const EcU32 index, const EcU32 &value) EC_OVERRIDE
 set digital input given board id More...
 
virtual EcBoolean getDigitalInput (const EcU32 index, EcU32 &value) const EC_OVERRIDE
 get digital input given board id More...
 
virtual void setDigitalOutputVector (const EcU32Vector &value) EC_OVERRIDE
 set digital output vector More...
 
virtual void setDigitalOutput (const EcU32 boardId, const EcU32 value) EC_OVERRIDE
 set digital output given board id More...
 
virtual EcBoolean setDigitalOutput (const EcU32 boardId, const EcU32 channelId, const EcBoolean value) EC_OVERRIDE
 set digital output given board id More...
 
virtual EcBoolean getDigitalOutput (const EcU32 index, EcU32 &value) const EC_OVERRIDE
 get digital output given board id More...
 
virtual const EcDataMapdataMap () const EC_OVERRIDE
 get the data map More...
 
virtual void setDataMap (const EcString &key, const EcU32 value) EC_OVERRIDE
 set U32 data map More...
 
virtual void setDataMap (const EcString &key, const EcXmlU32Vector &value) EC_OVERRIDE
 set U32 data map More...
 
virtual void setDataMap (const EcString &key, const EcReal value) EC_OVERRIDE
 set U32 data map More...
 
virtual void setDataMap (const EcString &key, const EcXmlRealVector &value) EC_OVERRIDE
 set U32 data map More...
 
virtual void setDataMap (const EcString &key, const EcString &value) EC_OVERRIDE
 set U32 data map More...
 
const EcSystemControlExecutivesystemControlExecutive () const
 get control system executive - const
 
EcSystemControlExecutivesystemControlExecutive ()
 get control system executive - non-const
 
const EcPositionControlSystempositionControlSystem () const
 get position control system - const
 
EcPositionControlSystempositionControlSystem ()
 get position control system - non-const
 
const EcStatedSystemstatedSystem () const
 get stated system
 
EcBoolean calculateState (const EcReal time, EcManipulatorSystemState &state)
 
EcBoolean calculateStateTimeSteps (EcManipulatorSystemState &state, const EcU32 numTimeSteps=1, const EcReal extrapolationTime=0.0)
 
void setTime (const EcReal time)
 set time
 
EcBoolean setPositionState (const EcU32 manipIndex, const EcCoordinateSystemTransformation *pBasePose, const EcRealVector *pJointPositions)
 Set the position state for a manipulator. More...
 
EcBoolean setVelocityState (const EcU32 manipIndex, const EcGeneralVelocity *pBaseVelocity, const EcRealVector *pJointVelocities)
 Set the velocity state for a manipulator. More...
 
EcBoolean attachManipulators (const EcU32 baseManipIndex, const EcString &baseLink, const EcU32 depManipIndex, const EcCoordinateSystemTransformation &offset)
 Attach manipulators. More...
 
EcBoolean detachManipulators (const EcU32 depManipIndex)
 Detach manipulators. More...
 
- Public Member Functions inherited from EcBaseControlSystemModifier
virtual ~EcBaseControlSystemModifier ()
 destructor
 
virtual EcBoolean getSystemControlExecutive (EcSystemControlExecutive &systemControlExecutive, EcFoundCommon::DeepCopyFlag copyFlag=EcFoundCommon::CopyNone) const
 get the system control executive
 
virtual EcBoolean getToolOffset (const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, EcBoolean &useToolOffset, EcCoordinateSystemTransformation &value) const
 Get the tool offset (in EE frame). More...
 
void setThreadWorker (const EcThreadWorkerSharedPtr pWorker)
 set the thread worker
 
const EcThreadWorkerSharedPtrthreadWorker () const
 get the thread worker
 

Protected Member Functions

virtual EcBoolean getSystemControlExecutiveImpl (EcSystemControlExecutive &systemControlExecutive, EcFoundCommon::DeepCopyFlag copyFlag) const EC_OVERRIDE
 get the system control executive More...
 
- Protected Member Functions inherited from EcBaseControlSystemModifier
virtual EcBoolean resizeTotalTorqueTools (const EcU32 manipIndex) const
 Resize the total torque tool vector given the manipulator index. More...
 
virtual EcBoolean calculateTotalTorques (const EcU32 manipIndex, const EcStatedSystem &statedSystem, const EcPositionState *positionState, const EcVelocityState *velocityState, const EcAccelerationState *accelerationState, const EcManipulatorExternalForce *pExternalForces, EcRealVector &torques) const
 calculate and return joint torques based on the selected calculation type. This can include: More...
 
virtual EcBoolean calculatePowerConverterOutputs (const EcU32 manipulatorIndex, const EcStatedSystem &statedSystem, const EcRealVectorVector &powerConverterInputs, EcRealVector &outputs)
 calculate and return joint power converter ouput (force or torque) based on the given inputs. See EcBasePowerConverter::outputTorque More...
 
virtual EcBoolean setJointMotionLimits (EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcRealVector &maxVel, const EcRealVector &maxAcc, const EcRealVector &maxDec, const EcRealVector &maxJerk, const EcU32 eeSetIndex)
 set joint motion limits
 
virtual EcBoolean setLinearMotionLimits (EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcReal maxVel, const EcReal maxAcc, const EcReal maxDec, const EcReal maxJerk)
 set linear motion limits
 
virtual EcBoolean setAngularMotionLimits (EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcReal maxVel, const EcReal maxAcc, const EcReal maxDec, const EcReal maxJerk)
 set angular motion limits
 
virtual EcBoolean setFilteringMode (EcPositionControlSystem &posContSystem, const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcU32 value)
 set filtering mode
 
virtual EcBoolean getJointRateFilterRates (const EcPositionControlSystem &posContSystem, const EcU32 manipIndex, EcRealVector &jointRates, EcBoolean &useControlParam) const
 get control parameters or joint rate filter rates of a given manipulator
 
virtual EcBoolean setJointRateFilterRates (EcPositionControlSystem &posContSystem, const EcU32 manipIndex, const EcRealVector &jointRates, const EcBoolean useControlParam)
 set control parameters or joint rate filter rates of a given manipulator
 
virtual EcBoolean getJointRateFilterScalingFactor (const EcPositionControlSystem &posContSystem, const EcU32 manipIndex, EcReal &scalingFactor) const
 get the joint rate filter scaling factor
 
virtual EcBoolean calculateJacobian (const EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcU32 linkIndex, const EcString *pNamedFrameName, const EcVector &point, const EcPositionState *pPositionState, EcManipulatorJacobian &jacobian) const
 calculate Jacobian
 
virtual EcBoolean calculatePrimaryFrameInSystem (const EcStatedSystem &statedSystem, const EcU32 manipIndex, const EcU32 linkIndex, const EcPositionState *pPositionState, EcCoordinateSystemTransformation &primaryFrameInSys) const
 calculate the primary frame in system
 
virtual EcBoolean calculatePrimaryFrameAccelerationInSystem (const EcStatedSystem &statedSystem, const EcU32 manipIndex, const EcU32 linkIndex, const EcPositionState *pPositionState, const EcVelocityState *pVelocityState, const EcAccelerationState *pAccelerationState, EcGeneralAcceleration &pfAccelerationInSystem) const
 calculate primary frame acceleration in system
 
virtual EcBoolean calculateActualEePlacement (const EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcPositionState *pPositionState, EcEndEffectorPlacement &placementInRelative) const
 calculate actual end-effector placement (in relative) given actual position state
 
virtual EcBoolean calculateActualEeSetPlacement (const EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcU32 eeSetIndex, const EcPositionState *pPositionState, EcManipulatorEndEffectorPlacement &placement) const
 calculate actual end-effector set placement (in relative) given actual position state
 
virtual EcBoolean calculateActualEeVelocity (const EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcPositionState *pPositionState, const EcVelocityState *pVelocityState, EcXmlRealVector &velocity) const
 calculate actual end-effector velocity given actual position and velocity states
 
virtual EcBoolean calculateActualEeAcceleration (const EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcU32 eeSetIndex, const EcU32 eeIndex, const EcPositionState *pPositionState, const EcVelocityState *pVelocityState, const EcAccelerationState *pAccelerationState, EcXmlRealVector &acceleration) const
 calculate actual end-effector acceleration
 
virtual EcBoolean calculateActualEeSetVelocity (const EcSystemControlExecutive &sce, const EcU32 manipIndex, const EcU32 eeSetIndex, const EcPositionState *pPositionState, const EcVelocityState *pVelocityState, EcManipulatorEndEffectorVelocity &velocity) const
 calculate actual end-effector set velocity given actual position and velocity states
 
virtual EcBoolean getFeedbackAssimilationRate (const EcPositionControlSystem &posContSystem, const EcU32 manipIndex, EcReal &value) const
 get default feedback assimilation rate for a given manipulator
 
virtual EcBoolean setFeedbackAssimilationRate (EcPositionControlSystem &posContSystem, const EcU32 manipIndex, const EcReal &value)
 set default feedback assimilation rate for a given manipulator
 
virtual EcBoolean excludeCollisionCheck (EcSystemCollisionExclusionMap &dynamicMap, const EcStatedSystem &statedSystem, const EcU32 manipIndex, const EcU32 *pLinkIndex, const EcU32 otherManipIndex, const EcU32Vector *pOtherLinkIndices, const EcBoolean isExcluding)
 Exclude/include collision check in the dynamic collision exclusion map. More...
 

Protected Attributes

EcSystemControlExecutivem_ControlExecutive
 the system control executive
 
EcU32Vector m_DigitalInputs
 Digital Inputs vector.
 
EcU32Vector m_DigitalOutputs
 Digital Outputs vector.
 
EcDataMap m_DataMap
 for customer data exchange
 
- Protected Attributes inherited from EcBaseControlSystemModifier
EcThreadWorkerSharedPtr m_pThreadWorker
 
EcTotalTorqueToolPtrVector m_vTotalTorqueTools
 a vector of torque tools (one per manipulator)
 
EcManipulatorExternalForce m_TheNullExternalForce
 the null external force
 

Additional Inherited Members

- Protected Types inherited from EcBaseControlSystemModifier
typedef boost::shared_ptr< EcTotalTorqueToolEcTotalTorqueToolPtr
 
typedef std::vector< EcTotalTorqueToolPtr > EcTotalTorqueToolPtrVector
 

Detailed Description

Base control system modifier.

Control system executive modifier.

Examples:
controlExecutiveModifierExampleMain.cpp.

Definition at line 18 of file ecControlSystemExecutiveModifier.h.

Constructor & Destructor Documentation

EcControlSystemExecutiveModifier::EcControlSystemExecutiveModifier ( EcSystemControlExecutive sce,
const EcNonNegReal  timeStep 
)

constructor using system control executive

Member Function Documentation

virtual EcU32 EcControlSystemExecutiveModifier::activeEndEffectorSetIndex ( const EcU32  manipIndex) const
virtual

Get active end-effector set index.

Parameters
[in]manipIndexthe manipulator index
Returns
Active end-effector set index. EcFoundCommon::VOIDINDEX if manipIndex is invalid.

Implements EcBaseControlSystemModifier.

virtual const EcManipulatorEndEffectorPlacementVector& EcControlSystemExecutiveModifier::actualPlacementVector ( ) const
virtual

gets the actual end-effector placements

Returns
current placement vector

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::attachManipulator ( const EcU32  depManipIndex,
const EcU32  baseManipIndex,
const EcU32  baseLinkIndex,
const EcCoordinateSystemTransformation offset 
)
virtual

Attach the base link of one manipulator onto a link of another manipulator.

Parameters
[in]depManipIndexThe index of the dependent manipulator.
[in]baseManipIndexThe index of the base manipulator.
[in]baseLinkIndexThe index of the base link.
Returns
True if successful or false otherwise.
See also
EcManipulatorAttachmentMap::attachManipulator

Implements EcBaseControlSystemModifier.

EcBoolean EcControlSystemExecutiveModifier::attachManipulators ( const EcU32  baseManipIndex,
const EcString baseLink,
const EcU32  depManipIndex,
const EcCoordinateSystemTransformation offset 
)

Attach manipulators.

Parameters
[in]baseManipIndexthe index of the base manipulator
[in]baseLinkthe name of the base link
[in]depManipIndexthe index of the dependent manipulator
[in]offsetthe offset
Returns
True if succeeded. False if the parameters are invalid or the two manipulators cannot be attached together.
virtual EcBoolean EcControlSystemExecutiveModifier::calculateActualEeAcceleration ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcPositionState pPositionState,
const EcVelocityState pVelocityState,
const EcAccelerationState pAccelerationState,
EcXmlRealVector acceleration 
) const
virtual

Calculate actual end-effector acceleration for any end-effector set.

Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[in]pPositionStatethe position state. If NULL, will use internal position state.
[in]pVelocityStatethe velocity state. If NULL, will use internal velocity state.
[in]pAccelerationStatethe accleration state. If NULL, will use internal accleration state.
[out]acclerationactual EE accleration
Returns
if calculation is succeeded

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::calculateActualEePlacement ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcPositionState pPositionState,
EcEndEffectorPlacement placement 
) const
virtual

Calculate actual end-effector placement (in relative) for any end-effector set.

See also
EcEndEffector::calculatePlacement
Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[in]pPositionStatethe position state. If NULL, will use internal position state.
[out]placementactual EE placement
Returns
if calculation is succeeded

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::calculateActualEeSetPlacement ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcPositionState pPositionState,
EcManipulatorEndEffectorPlacement placement 
) const
virtual

Calculate actual end-effector placement (in relative) for any end-effector set.

See also
EcEndEffector::calculatePlacement
Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[in]pPositionStatethe position state. If NULL, will use internal position state.
[out]placementactual EE placement
Returns
if calculation is succeeded
virtual EcBoolean EcControlSystemExecutiveModifier::calculateActualEeSetVelocity ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcPositionState pPositionState,
const EcVelocityState pVelocityState,
EcManipulatorEndEffectorVelocity velocity 
) const
virtual

Calculate actual end-effector velocity for any end-effector set.

Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[in]pPositionStatethe position state. If NULL, will use internal position state.
[in]pVelocityStatethe velocity state. If NULL, will use internal velocity state.
[out]velocityactual EE velocity
Returns
if calculation is succeeded
virtual EcBoolean EcControlSystemExecutiveModifier::calculateActualEeVelocity ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcPositionState pPositionState,
const EcVelocityState pVelocityState,
EcXmlRealVector velocity 
) const
virtual

Calculate actual end-effector velocity for any end-effector set.

Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[in]pPositionStatethe position state. If NULL, will use internal position state.
[in]pVelocityStatethe velocity state. If NULL, will use internal velocity state.
[out]velocityactual EE velocity
Returns
if calculation is succeeded

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::calculateJacobian ( const EcU32  manipIndex,
const EcU32  linkIndex,
const EcString pNamedFrameName,
const EcVector point,
const EcPositionState pPositionState,
EcManipulatorJacobian jacobian 
) const
virtual

Calculate Jacobian given a point on the link.

This method calculates the 6*n Jacobian such that Vp = Jq_dot.

Parameters
[in]manipIndexthe manipulator index
[in]linkIndexthe link index
[in]pNamedFrameNameThe named frame name. If NULL, will use the primary frame.
[in]pointthe point relative to the primary frame or the named frame
[out]jacobianthe jacobian
Returns
Return true if manipIndex and linkLabel are valid.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::calculatePowerConverterOutputs ( const EcU32  manipulatorIndex,
const EcRealVectorVector powerConverterInputs,
EcRealVector outputs 
)
virtual

calculate and return joint power converter ouput (force or torque) based on the given inputs. See EcBasePowerConverter::outputTorque

Parameters
[in]manipIndexmanipulator index
[in]powerConverterInputsThe power converter inputs
[out]ouputsthe calculated output side forces or torques on all joints in N or N*m
Returns
True if successful. False if the manipulatorIndex is not valid.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::calculatePrimaryFrameAccelerationInSystem ( const EcU32  manipIndex,
const EcU32  linkIndex,
const EcPositionState pPositionState,
const EcVelocityState pVelocityState,
const EcAccelerationState pAccelerationState,
EcGeneralAcceleration pfAccelerationInSystem 
) const
virtual

Calculate the primary frame in system.

Parameters
[in]manipIndexthe manipulator index
[in]linkIndexthe link index
[in]pPositionStatethe position state. If NULL, will use internal position state.
[out]primaryFrameInSysthe primary frame in system
Returns
if calculation succeeded

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::calculatePrimaryFrameInSystem ( const EcU32  manipIndex,
const EcU32  linkIndex,
const EcPositionState pPositionState,
EcCoordinateSystemTransformation primaryFrameInSys 
) const
virtual

Calculate the primary frame in system.

Parameters
[in]manipIndexthe manipulator index
[in]linkIndexthe link index
[in]pPositionStatethe position state. If NULL, will use internal position state.
[out]primaryFrameInSysthe primary frame in system
Returns
if calculation succeeded

Implements EcBaseControlSystemModifier.

EcBoolean EcControlSystemExecutiveModifier::calculateState ( const EcReal  time,
EcManipulatorSystemState state 
)

Calculate a new manipulator state that moves manipulators towards desired placements. Internally, this calls calculateStateTimeSteps() method. The number of time steps used in calculateStateTimeSteps() call depends on the current time of the internal state, the input time, and maxIterations(). The time in the returned state may be less than or equal to the input time. The returned state is almost guaranteed to be different then the internal state at the end of this call.

Parameters
timeInput time.
stateThe returned state.
Returns
error flag
EcBoolean EcControlSystemExecutiveModifier::calculateStateTimeSteps ( EcManipulatorSystemState state,
const EcU32  numTimeSteps = 1,
const EcReal  extrapolationTime = 0.0 
)

Calculate a new manipulator state that moves manipulators towards desired placements by advancing by a given number of time steps. If extrapolationTime > 0, then the returned position state and time are extrapolated from the final position state and time at the end of the time steps by extrapolationTime. Otherwise, they are equal to the state at the end of the time steps. Let currentTime be the current time of the internal state (either from previous call by calculateStateTimeSteps, setCurrentState, etc.) at the beginning of this call. The time of the internal state at the end of the call will be currentTime + numTimeSteps*timeStep(). The time of the returned state will be currentTime + numTimeSteps*timeStep() + extrapolationTime. This method is more deterministic than calculateState() in the sense that inverse kinematics (IK) calculations will happen exactly numTimeSteps times if acceleration limiting is off. When acceleration limiting is on, the number of IK calculations could exceed numTimeSteps but the time of the internal state at the end of the call will still be currentTime + numTimeSteps*timeStep().

Parameters
[out]stateThe returned state.
[in]numTimeStepsThe number of time steps.
[in]extrapolationTimeThe extrapolation time at the end. Normally, it should be less than timeStep(). However, the value greater than timeStep() is allowed but discouraged since a large extrapolationTime may break Jacobian linearization.
Returns
False if timeStep() <= 0 or stated system is invalid. True otherwise.
Examples:
controlExecutiveModifierExampleMain.cpp.
virtual EcBoolean EcControlSystemExecutiveModifier::calculateTotalTorques ( const EcU32  manipulatorIndex,
const EcPositionState positionState,
const EcVelocityState velocityState,
const EcAccelerationState accelerationState,
const EcManipulatorExternalForce pExternalForces,
EcRealVector torques 
)
virtual

calculate and return joint torques based on the selected calculation type.

Parameters
[in]manipIndexthe manipulator index
[in]positionStatethe position state of the manipulator
[in]velocityStatethe velocity state of the manipulator
[in]accelerationStatethe acceleration state of the manipulator
[in]pExternalForcesThe external forces on the manipulator links in link DH (local) frame. If NULL, will be treated as 0.
[out]torquesthe calculated torques on all joints in N*m
Returns
True if successful. False if the control executive is not valid

Implements EcBaseControlSystemModifier.

virtual const EcDataMap& EcControlSystemExecutiveModifier::dataMap ( ) const
virtual

get the data map

Implements EcBaseControlSystemModifier.

virtual const EcManipulatorEndEffectorPlacementVector& EcControlSystemExecutiveModifier::desiredPlacementVector ( ) const
virtual

Get desired placement (in relative) for the active end-effector set for all manipulators.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::detachManipulator ( const EcU32  depManipIndex)
virtual

detach manipulator

Implements EcBaseControlSystemModifier.

EcBoolean EcControlSystemExecutiveModifier::detachManipulators ( const EcU32  depManipIndex)

Detach manipulators.

Parameters
[in]depManipIndexthe index of the dependent manipulator
Returns
True if succeeded. False if the parameter is invalid or the two manipulators are not attached together.
virtual const EcEndEffectorSet* EcControlSystemExecutiveModifier::endEffectorSet ( const EcU32  manipIndex,
const EcU32  eeSetIndex 
) const
virtual

Get the end-effector set given manipulator index and end-effector set index.

Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end effector set index
Returns
A point the to end-effector set. Null if the indices are invalid.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::excludeCollisionCheck ( const EcU32  manipIndex,
const EcU32 pLinkIndex,
const EcU32  otherManipIndex,
const EcU32Vector pOtherLinkIndices,
const EcBoolean  isExcluding 
)
virtual

Exclude/include collision check in the dynamic collision exclusion map.

This method does not support self collision.

Parameters
[in]manipIndexthe index of this manipulator
[in]pLinkIndexThe index of the link. If NULL, will exclude the full manipulator
[in]otherManipIndexthe index of the other manipulator. If otherManipIndex is EcFoundCommon::VOIDINDEX, then this manipulator (provided by manipIndex) will be excluded with everything in the scene.
[in]pOtherLinkIndicesThe indices of the other links. If NULL, will exclude the full manipulator
[in]isExcludingis excluding or including
Returns
True if successful (the indices are valid) or false otherwise.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getBaseAccelerationFactor ( const EcU32  manipIndex,
EcReal baseAccelerationFactor 
) const
virtual

Gets the base acceleration factor.

See also
setBaseAccelerationFactor

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getBaseSpeedFactor ( const EcU32  manipIndex,
EcReal baseSpeedFactor 
) const
virtual

Gets the base speed factor.

See also
setBaseSpeedFactor

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getDeterminant ( const EcU32  manipIndex,
EcReal value 
) const
virtual

get determinant of the Jacobian of the current end effector set

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getDigitalInput ( const EcU32  index,
EcU32 value 
) const
virtual

get digital input given board id

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getDigitalOutput ( const EcU32  index,
EcU32 value 
) const
virtual

get digital output given board id

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getFeedbackAssimilationRate ( const EcU32  manipIndex,
EcReal value 
) const
virtual

get default feedback assimilation rate for a given manipulator

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getJointActuator ( const EcU32  manipIndex,
const EcU32  linkIndex,
EcJointActuator jointActuator 
) const
virtual

Get the joint actuator object for a specified manipulator-link.

Parameters
[in]manipIndex,themanipulator index
[in]linkIndex,thelink index
[out]jointActuator,thejoint actuator
Returns
true if the manipulator-link is valid

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getJointRateFilterRates ( const EcU32  manipIndex,
EcRealVector jointRates,
EcBoolean useControlParam 
) const
virtual

Get the control parameters or joint rate filter rates of a given manipulator.

Parameters
[in]manipIndexthe manipulator index
[in]jointRatesthe control parameters or the joint rate filter rates
[in]useControlParamEcTrue(get control parameter) or EcFalse(get joint rate filter rates)
Returns
true if the get succeeds

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getManipulatorIndex ( const EcString label,
EcU32 manipIndex 
) const
virtual

Get the index of a manipulator given its label.

Parameters
[in]labelthe manipulator label
[out]manipIndexthe manipulator index
Returns
true if the label is found.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getManipulatorJointDof ( const EcU32  manipIndex,
EcU32 numJoints 
) const
virtual

Get the number of joints a manipulator has.

Parameters
manipIndex,themanipulator index
numJoints,thenumber of joints the manipulator has
Returns
true if the manipulator index is valid

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getNamedFrame ( const EcString key,
EcCoordinateSystemTransformation value 
) const
virtual

get named frame from manipulator system

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getNamedFrame ( const EcU32  manipIndex,
const EcU32  linkIndex,
const EcString key,
EcCoordinateSystemTransformation value 
) const
virtual

get named frame from manipulator system

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getSystemControlExecutiveImpl ( EcSystemControlExecutive systemControlExecutive,
EcFoundCommon::DeepCopyFlag  copyFlag 
) const
protectedvirtual

get the system control executive

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::getToolOffset ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
EcCoordinateSystemTransformation value 
) const
virtual

Get the tool offset (in link primary frame).

Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[out]valuethe tool offset (in link primary frame)
Returns
True if the indices are valid.

Implements EcBaseControlSystemModifier.

virtual const EcManipulatorSystemState& EcControlSystemExecutiveModifier::manipulatorSystemState ( ) const
virtual

gets the state

Implements EcBaseControlSystemModifier.

virtual EcU32 EcControlSystemExecutiveModifier::numberOfManipulators ( ) const
virtual

return the number of manipulators

Implements EcBaseControlSystemModifier.

virtual const EcPropagationResultDataVector& EcControlSystemExecutiveModifier::propagationResultDataVector ( ) const
virtual

get the result of collision for display

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setAccelerationFactor ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcReal  value 
)
virtual

sets the acceleration factor of the controller for the manipulator specified by manipIndex. Returns false if manipIndex is invalid or true otherwise.

See also
EcVelocityController::setAccelerationFactor

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setActiveControlDescriptionIndex ( const EcU32  manipIndex,
const EcU32  controlDescriptionIndex 
)
virtual

set the active control method

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setActiveEndEffectorSetIndex ( const EcU32  manipIndex,
const EcU32  eeSetIndex 
)
virtual

set the active control method

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setActivePositionControlMethodIndex ( const EcU32  manipIndex,
const EcU32  controlMethodIndex 
)
virtual

set the active control method

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setAngularMotionLimits ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcReal  maxVel,
const EcReal  maxAcc,
const EcReal  maxDec,
const EcReal  maxJerk 
)
virtual

Set move pose angular motion limits.

Parameters
[in]manipIndexthe manipulator index
[in]maxVelthe max speed
[in]maxAccthe max acceleration
[in]maxDecthe max deceleration
[in]maxJerkthe max jerk
[in]eeSetIndexthe end effector set index
[in]eeIndexthe end effector index
Returns
if the motion limit is set

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setBaseAccelerationFactor ( const EcU32  manipIndex,
const EcReal  baseAccelerationFactor 
)
virtual

sets the base acceleration factor of the controller for the manipulator specified by manipIndex. Returns false if manipIndex is invalid or true otherwise.

See also
EcVelocityController::setAccelerationFactor

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setBaseSpeedFactor ( const EcU32  manipIndex,
const EcReal  baseSpeedFactor 
)
virtual

sets the base speed factor of the controller for the manipulator specified by manipIndex. Returns false if manipIndex is invalid or true otherwise.

See also
EcVelocityController::setBaseSpeedFactor

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setControlMode ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcU32  mode 
)
virtual

Sets the control mode of an end-effector by index.

Parameters
[in]manipIndexThe index of the manipulator to which the control mode will be set.
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[in]modeThe control mode (EcEndEffector::ControlMode) to be set.
Returns
True if successful or false if an index is out of range.
See also
EcVelocityController::setControlMode

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setCurrentState ( const EcManipulatorSystemState state)
virtual

sets the current state of the system without re-initializing

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDataMap ( const EcString key,
const EcU32  value 
)
virtual

set U32 data map

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDataMap ( const EcString key,
const EcXmlU32Vector value 
)
virtual

set U32 data map

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDataMap ( const EcString key,
const EcReal  value 
)
virtual

set U32 data map

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDataMap ( const EcString key,
const EcXmlRealVector value 
)
virtual

set U32 data map

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDataMap ( const EcString key,
const EcString value 
)
virtual

set U32 data map

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setDesiredPlacement ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcManipulatorEndEffectorPlacement desiredPlacement 
)
virtual

sets an individual desired end-effector placement

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setDesiredPlacement ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcEndEffectorPlacement desiredPlacement 
)
virtual

sets an individual desired end-effector placement

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDesiredPlacementVector ( const EcManipulatorEndEffectorPlacementVector value)
virtual

set desired placement (in relative) for the active end-effector set for all manipulators.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setDesiredVelocity ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcManipulatorEndEffectorVelocity value 
)
virtual

sets an individual desired end-effector velocity

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setDesiredVelocity ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcXmlRealVector velocity 
)
virtual

sets an individual desired end-effector velocity

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDigitalInput ( const EcU32  index,
const EcU32 value 
)
virtual

set digital input given board id

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDigitalInputVector ( const EcU32Vector value)
virtual

set digital input vector

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDigitalOutput ( const EcU32  boardId,
const EcU32  value 
)
virtual

set digital output given board id

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setDigitalOutput ( const EcU32  boardId,
const EcU32  channelId,
const EcBoolean  value 
)
virtual

set digital output given board id

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setDigitalOutputVector ( const EcU32Vector value)
virtual

set digital output vector

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setFeedbackAssimilationRate ( const EcU32  manipIndex,
const EcReal value 
)
virtual

set default feedback assimilation rate for a given manipulator

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setFilteringMode ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcU32  value 
)
virtual

Set filtering mode (velocity profile).

Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[in]valuethe filtering mode. See EcBaseMotionFilter::FilteringMode
Returns
True if the indices are valid.

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setGravityVector ( const EcVector gravity)
virtual

Set the gravity vector (m/s^2) in system coordinates.

If the world z axis points up, on Earth, this vector should be [0, 0, -9.8]

Parameters
[in]gravitythe gravity vector

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setIsHardConstraint ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcBoolean  value 
)
virtual

Set is hard constraint flag.

The method does nothing if the flag does not change.

Parameters
[in]manipIndexthe manipulator index
[in]eeSetIndexthe end-effector set index
[in]eeIndexthe end-effector index
[in]valuetrue if hard constraint, false if soft constraint
Returns
True if the indices are valid.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setIsPositionControllerOn ( const EcU32  manipIndex,
const EcBoolean  isOn 
)
virtual

sets a flag indicating whether or not the position controller is on

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setIsPositionControlSystemOn ( const EcBoolean  isOn)
virtual

sets a flag indicating whether or not the position control system is on

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setJointActuator ( const EcU32  manipIndex,
const EcU32  linkIndex,
const EcJointActuator jointActuator 
)
virtual

Set the joint actuator object for a specified manipulator-link.

Parameters
[in]manipIndex,themanipulator index
[in]linkIndex,thelink index
[in]jointActuator,thejoint actuator
Returns
true if the manipulator-link is valid

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setJointMotionLimits ( const EcU32  manipIndex,
const EcRealVector maxVel,
const EcRealVector maxAcc,
const EcRealVector maxDec,
const EcRealVector maxJerk,
const EcU32  eeSetIndex 
)
virtual

Set joint motion limits.

Parameters
[in]manipIndexthe manipulator index
[in]maxVelthe max speed
[in]maxAccthe max acceleration
[in]maxDecthe max deceleration
[in]maxJerkthe max jerk
[in]eeSetIndexthe end effector set index. The first end-effector in the set must be joint control, or the method will fail.
Returns
if the motion limit is set

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setJointRateFilterRates ( const EcU32  manipIndex,
const EcRealVector jointRates,
const EcBoolean  useControlParam 
)
virtual

Set the control parameters or joint rate filter rates of a given manipulator.

Parameters
[in]manipIndexthe manipulator index
[in]jointRatesthe control parameters or the joint rate filter rates
[in]useControlParamEcTrue(set control parameter) or EcFalse(set joint rate filter rates)
Returns
true if the set succeeds

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setLinearMotionLimits ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcReal  maxVel,
const EcReal  maxAcc,
const EcReal  maxDec,
const EcReal  maxJerk 
)
virtual

Set move pose linear motion limits.

Parameters
[in]manipIndexthe manipulator index
[in]maxVelthe max speed
[in]maxAccthe max acceleration
[in]maxDecthe max deceleration
[in]maxJerkthe max jerk
[in]eeSetIndexthe end effector set index
[in]eeIndexthe end effector index
Returns
if the motion limit is set

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setNamedFrame ( const EcXmlString key,
const EcCoordinateSystemTransformation value 
)
virtual

virtual EcBoolean EcControlSystemExecutiveModifier::setNamedFrame ( const EcU32  manipIndex,
const EcU32  linkIndex,
const EcXmlString key,
const EcCoordinateSystemTransformation value 
)
virtual

EcBoolean EcControlSystemExecutiveModifier::setPositionState ( const EcU32  manipIndex,
const EcCoordinateSystemTransformation pBasePose,
const EcRealVector pJointPositions 
)

Set the position state for a manipulator.

This method will also update the dependent manipulator state and actual placements. This method will NOT reset desired placements or velocity state.

Parameters
[in]manipIndexmanipulator index
[in]pBasePosethe base pose, if NULL, will not be set.
[in]pJointPositionsthe joint positions, if NULL, will not be set.
Returns
False if the manipulator index is invalid or the dof does not match.
virtual EcBoolean EcControlSystemExecutiveModifier::setSensedState ( const EcU32  manipIndex,
const EcCoordinateSystemTransformation pBase,
const EcRealVector pJoints,
const EcReal  timestep = 0.0 
)
virtual

Feed back the externally sensed position state to the position controller.

The method does not change desired end-effector placement.

Parameters
[in]manipIndexThe manipulator index.
[in]pBaseThe base pose. Will not be set if NULL.
[in]pJointsThe joint positions. Will not be set if NULL.
[in]timestepThe timestep. It is only used when the position controller is ON.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setSpeedFactor ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcReal  value 
)
virtual

sets the speed factor of the controller for the manipulator specified by manipIndex. Returns false if manipIndex is invalid or true otherwise.

See also
EcVelocityController::setSpeedFactor

Implements EcBaseControlSystemModifier.

virtual void EcControlSystemExecutiveModifier::setTimeStep ( const EcReal  value)
virtual
virtual EcBoolean EcControlSystemExecutiveModifier::setToolOffset ( const EcU32  manipIndex,
const EcU32  toolIndex,
const EcCoordinateSystemTransformation value 
)
virtual

set the tool offset for a given tool index for a given manipulator. Returns false if manipIndex or toolIndex is invalid or true otherwise.

Implements EcBaseControlSystemModifier.

virtual EcBoolean EcControlSystemExecutiveModifier::setToolOffset ( const EcU32  manipIndex,
const EcU32  eeSetIndex,
const EcU32  eeIndex,
const EcCoordinateSystemTransformation value 
)
virtual

set the tool offset for a given tool index for a given manipulator. Returns false if manipIndex or toolIndex is invalid or true otherwise.

Implements EcBaseControlSystemModifier.

EcBoolean EcControlSystemExecutiveModifier::setVelocityState ( const EcU32  manipIndex,
const EcGeneralVelocity pBaseVelocity,
const EcRealVector pJointVelocities 
)

Set the velocity state for a manipulator.

Parameters
[in]manipIndexmanipulator index
[in]pBaseVelocitythe base velocity, if NULL, will not be set.
[in]pJointVelocitiesthe joint velocities, if NULL, will not be set.
Returns
False if the manipulator index is invalid or the dof does not match.
virtual EcReal EcControlSystemExecutiveModifier::timeStep ( ) const
virtual

The documentation for this class was generated from the following file:
Created by Energid Technologies www.energid.com
Copyright © 2016 Energid. All trademarks mentioned in this document are property of their respective owners.