Actin  Version 5.5.5
Software for Robotics Simulation and Control
EcFrameEndEffector Class Reference

A frame end effector. More...

#include <ecFrameEndEffector.h>

Inheritance diagram for EcFrameEndEffector:
[legend]
Collaboration diagram for EcFrameEndEffector:
[legend]

Public Member Functions

 EcFrameEndEffector ()
 default constructor
 
virtual ~EcFrameEndEffector ()
 destructor
 
 EcFrameEndEffector (const EcFrameEndEffector &orig)
 copy constructor
 
EcFrameEndEffectoroperator= (const EcFrameEndEffector &orig)
 assignment operator
 
EcBoolean operator== (const EcFrameEndEffector &orig) const
 equality operator
 
virtual EcBoolean xmlInit () EC_OVERRIDE
 initialize XML components for reading and writing
 
virtual EcXmlObjectclone () const EC_OVERRIDE
 clone - a virtual constructor to an EcXmlObject pointer
 
virtual EcBoolean equality (const EcXmlObject *other) const EC_OVERRIDE
 equality - a virtual equality to an EcXmlObject pointer
 
virtual EcXmlObjectnewObject () const EC_OVERRIDE
 virtual new that returns an EcXmlObject
 
virtual const EcTokentoken () const EC_OVERRIDE
 return a string token
 
virtual void registerComponents () EC_OVERRIDE
 registers components with the parent
 
virtual EcU32 doc () const EC_OVERRIDE
 get the number of degrees of constraint for this end effector More...
 
virtual void insertJacobianComponent (const EcIndividualManipulator &manip, const EcU32 startRow, EcBoolean isFixedBase, EcManipulatorActiveState &activeState, EcManipulatorJacobian &jacobian) const EC_OVERRIDE
 build a strip of a Jacobian that corresponds to this end effector. More...
 
virtual void insertSparsityComponent (const EcIndividualManipulator &manip, const EcU32 startRow, EcBoolean isFixedBase, EcBooleanVectorVector &sparsityDescriptionMatrix) const EC_OVERRIDE
 
virtual void insertErrorWeightComponent (const EcU32 startRow, EcReArray &weights) const EC_OVERRIDE
 
virtual void calculatePlacement (const EcIndividualManipulator &manip, EcManipulatorActiveState &activeState, EcEndEffectorPlacement &placement) const EC_OVERRIDE
 Calculate a placement value for the end effector in the system coordinates. The placement is described through an EcEndEffectorPlacement, which may have different meanings for different end effector types. More...
 
virtual void calculateVelocity (const EcIndividualManipulator &manip, EcManipulatorActiveState &actState, EcXmlRealVector &velocity, EcU32 startInsertionIndex=0) const EC_OVERRIDE
 Calculate end effector velocity. The velocity may have different meanings for different end effector types. More...
 
virtual void calculateVelocityInRelative (const EcIndividualManipulator &manip, EcManipulatorActiveState &actState, EcXmlRealVector &velocity, EcU32 startInsertionIndex) const EC_OVERRIDE
 Calculate relative end effector velocity with respect to the primary frame of the relative link. The velocity may have different meanings for different end effector types. More...
 
virtual void calculateAcceleration (const EcIndividualManipulator &manip, EcManipulatorActiveState &actState, EcXmlRealVector &acceleration, EcU32 startInsertionIndex=0) const EC_OVERRIDE
 Calculate end effector acceleration. The acceleration may have different meanings for different end effector types. More...
 
virtual void calculatePlacement (const EcIndividualManipulator &manip, const EcManipulatorState &manipState, EcEndEffectorPlacement &placement) const EC_OVERRIDE
 Calculate a placement value for the end effector in the system coordinates. The placement is described through an EcEndEffectorPlacement, which may have different meanings for different end effector types. More...
 
virtual void calculateVelocity (const EcIndividualManipulator &manip, const EcManipulatorState &manipState, EcXmlRealVector &velocity, EcU32 startInsertionIndex) const EC_OVERRIDE
 Calculate end effector velocity. The velocity may have different meanings for different end effector types. More...
 
virtual void calculateVelocityInRelative (const EcIndividualManipulator &manip, const EcManipulatorState &manipState, EcXmlRealVector &velocity, EcU32 startInsertionIndex) const EC_OVERRIDE
 Calculate relative end effector velocity with respect to the primary frame of the relative link. The velocity may have different meanings for different end effector types. More...
 
virtual void calculateAcceleration (const EcIndividualManipulator &manip, const EcManipulatorState &manipState, EcXmlRealVector &acceleration, EcU32 startInsertionIndex) const EC_OVERRIDE
 Calculate end effector acceleration. The acceleration may have different meanings for different end effector types. More...
 
virtual EcBoolean read (EcXmlReader &stream) EC_OVERRIDE
 read this object from an XML stream
 
virtual EcBoolean write (EcXmlWriter &stream) const EC_OVERRIDE
 write this object to an XML stream
 
virtual EcReal minimumTime (const EcEndEffectorPlacement &actual, const EcEndEffectorPlacement &desired) const EC_OVERRIDE
 
virtual EcReal difference (const EcEndEffectorPlacement &actual, const EcEndEffectorPlacement &desired) const EC_OVERRIDE
 
- Public Member Functions inherited from EcFrameBasedEndEffector
 EcFrameBasedEndEffector ()
 default constructor
 
virtual ~EcFrameBasedEndEffector ()
 destructor
 
 EcFrameBasedEndEffector (const EcFrameBasedEndEffector &orig)
 copy constructor
 
EcFrameBasedEndEffectoroperator= (const EcFrameBasedEndEffector &orig)
 assignment operator
 
EcBoolean operator== (const EcFrameBasedEndEffector &orig) const
 equality operator
 
virtual const EcGeneralMotionFiltermotionFilter () const
 gets the motion filter
 
virtual void setMotionFilter (const EcGeneralMotionFilter &motionFilter)
 sets the motion filter
 
virtual const EcCoordinateSystemTransformationframe () const
 
virtual void setFrame (const EcCoordinateSystemTransformation &frame)
 sets the frame
 
virtual const EcReallinearErrorWeight () const
 gets the linear error weight
 
virtual void setLinearErrorWeight (const EcReal &linearErrorWeight)
 sets the linear error weight
 
virtual const EcRealangularErrorWeight () const
 gets the angular error weight
 
virtual void setAngularErrorWeight (const EcReal &angularErrorWeight)
 sets the angular error weight
 
EcReal motionThreshold () const EC_OVERRIDE
 get the (end-effector specific) measure of the motion (velocity) threshold More...
 
void setMotionThreshold (EcReal motionThreshold) EC_OVERRIDE
 set the (end-effector specific) measure of the motion (velocity) threshold More...
 
virtual EcReal accelerationThreshold () const EC_OVERRIDE
 get the (end-effector specific) measure of the acceleration threshold More...
 
virtual void setAccelerationThreshold (EcReal accelerationThreshold) EC_OVERRIDE
 set the (end-effector specific) measure of the acceleration threshold More...
 
virtual EcReal decelerationThreshold () const EC_OVERRIDE
 get the (end-effector specific) measure of the deceleration threshold More...
 
virtual void setDecelerationThreshold (EcReal value) EC_OVERRIDE
 set deceleration threshold More...
 
virtual EcReal angularMotionThreshold () const
 get angular motion threshold.
 
virtual void setAngularMotionThreshold (EcReal value)
 set angular motion threshold
 
virtual EcReal angularAccelerationThreshold () const
 get angular acceleration threshold
 
virtual void setAngularAccelerationThreshold (EcReal value)
 set angular acceleration threshold
 
virtual EcReal angularDecelerationThreshold () const
 get angular deceleration threshold
 
virtual void setAngularDecelerationThreshold (EcReal value)
 set angular deceleration threshold
 
virtual EcBoolean copyMotionParams (const EcEndEffector &orig) EC_OVERRIDE
 
virtual const EcXmlStringVectoreditableValues () const EC_OVERRIDE
 get the values of all editable components More...
 
virtual void setEditableValues (const EcXmlStringVector &values) EC_OVERRIDE
 set the values of the editable components (from the member variable) More...
 
virtual void setLinearJerkThreshold (EcReal value)
 set maximum linear jerk limit
 
virtual void setAngularJerkThreshold (EcReal value)
 set maximum angular jerk limit
 
virtual EcReal linearJerkThreshold () const
 get maximum linear jerk limit
 
virtual EcReal angularJerkThreshold () const
 get maximum angular jerk limit
 
virtual void filterEndEffectorVelocity (const EcIndividualManipulator &manip, const EcEndEffectorPlacement &guide, const EcXmlRealVector &inputVelocity, const EcXmlRealVector &lastVelocity, const EcXmlRealVector &lastAcceleration, EcReal timeStep, EcManipulatorActiveState &activeState, EcManipulatorActivePositionState &prevActivePositionState, EcXmlRealVector &filteredVelocity, EcXmlRealVector &filteredAcceleration) const EC_OVERRIDE
 
virtual void filterEndEffectorVelocity (const EcIndividualManipulator &manip, const EcXmlRealVector &inputVelocity, const EcXmlRealVector &lastVelocity, const EcXmlRealVector &lastAcceleration, EcReal timeStep, EcXmlRealVector &filteredVelocity, EcXmlRealVector &filteredAcceleration) const EC_OVERRIDE
 
virtual void filterFrameEndEffectorVelocity (const EcIndividualManipulator &manip, const EcEndEffectorPlacement &guide, const EcGeneralVelocity &inputFrameVelocity, const EcGeneralVelocity &lastFrameVelocity, const EcGeneralAcceleration &lastFrameAcceleration, EcReal timeStep, EcManipulatorActiveState &activeState, EcGeneralVelocity &filteredFrameVelocity, EcGeneralAcceleration &filteredFrameAcceleration) const
 
virtual void calculateEndEffectorError (const EcIndividualManipulator &manip, const EcEndEffectorPlacement &goal, EcManipulatorActiveState &activeState, EcXmlRealVector &differential) const EC_OVERRIDE
 
virtual EcReal speedFactor () const EC_OVERRIDE
 
virtual void setSpeedFactor (EcReal value) EC_OVERRIDE
 set the speed factor More...
 
virtual EcReal accelerationFactor () const EC_OVERRIDE
 get the acceleration factor. This factor is multiplied with the acceleration/deceleration and jerk thresholds, More...
 
virtual void setAccelerationFactor (EcReal value) EC_OVERRIDE
 set the acceleration factor More...
 
virtual EcBoolean filteringActive () const EC_OVERRIDE
 
virtual void setFilteringActive (EcBoolean value) EC_OVERRIDE
 returns whether filtering is active. More...
 
virtual void setFilteringMode (const EcU32 value) EC_OVERRIDE
 Set filtering mode. More...
 
virtual void setUsingSinglePass (EcBoolean value) EC_OVERRIDE
 sets whether or not single pass control is being used to the EE's motion filters
 
const EcCoordinateSystemTransformation frameOffset () const
 return either the local frame or total offset depending on whether external offset is used
 
- Public Member Functions inherited from EcEndEffector
 EcEndEffector ()
 default constructor
 
virtual ~EcEndEffector ()
 destructor
 
 EcEndEffector (const EcEndEffector &orig)
 copy constructor
 
EcEndEffectoroperator= (const EcEndEffector &orig)
 assignment operator
 
EcBoolean operator== (const EcEndEffector &orig) const
 equality operator
 
virtual const EcStringlinkIdentifier () const
 gets the link identifier. This is the link to which the end-effector is attached.
 
virtual void setLinkIdentifier (const EcString &linkIdentifier)
 sets the link identifier. This is the link to which the end-effector is attached.
 
virtual EcBoolean changeLinkLabel (const EcString &fromLabel, const EcString &toLabel)
 
virtual const EcEndEffectorRelativeLinkDatarelativeLinkData () const
 gets the end-effector placement
 
virtual void setRelativeLinkData (const EcEndEffectorRelativeLinkData &relativeLinkData)
 sets the end-effector placement
 
virtual const EcBooleanisHardConstraint () const
 gets the is-hard-constraint flag
 
virtual void setIsHardConstraint (const EcBoolean &isHardConstraint)
 sets the is-hard-constraint flag
 
virtual const EcBooleanisEditable () const
 gets the is-editable flag
 
virtual void setIsEditable (const EcBoolean &isEditable)
 sets the is-editable flag
 
virtual void rightSizeJacobian (EcU32 startRow, EcU32 dof, EcManipulatorJacobian &jacobian) const
 
virtual void rightSizeSparsityDescriptionMatrix (EcU32 startRow, EcU32 dof, EcBooleanVectorVector &sparsityDescriptionMatrix) const
 
virtual void calculatePlacementInRelative (const EcIndividualManipulator &manip, EcManipulatorActiveState &activeState, EcEndEffectorPlacement &placement) const
 
virtual void calculatePlacementInRelative (const EcIndividualManipulator &manip, const EcManipulatorState &manipState, EcEndEffectorPlacement &placement) const
 Same as calculatePlacementInRelative method above but takes EcManipulatorState instead of EcManipulatorActiveState.
 
virtual const EcXmlStringVectoreditingLabels () const
 get the labels of all editable components
 
virtual const EcXmlStringVectortooltipLabels () const
 get the tooltips of all editable components
 
virtual void setEditableValues ()
 set the values of the editable components (from the member variable)
 
virtual void setEditableValue (const EcU32 &index, const EcString &valueString)
 set the values of the editable component one at a time
 
virtual EcBoolean convertPlacementFromSystemToRelative (const EcIndividualManipulator &manip, const EcEndEffectorPlacement &sysXForm, EcManipulatorActivePositionState &activePosState, EcEndEffectorPlacement &relXForm) const
 converts an end-effector placement from the system coordinates to the relative link's frame. If the end-effector doesn't have a relative link, relXForm is simply sysXForm. More...
 
virtual EcBoolean convertPlacementFromRelativeToSystem (const EcIndividualManipulator &manip, const EcEndEffectorPlacement &relXForm, EcManipulatorActivePositionState &activePosState, EcEndEffectorPlacement &sysXForm) const
 converts an end-effector placement from the relative link's frame to the system coordinates. If the end-effector doesn't have a relative link, sysXForm is simply relXForm. More...
 
virtual EcReal softConstraintMultiplier () const
 get the multiplier for soft-constraint error weights
 
virtual void setSoftConstraintMultiplier (EcReal value) const
 set the multiplier for soft-constraint error weights
 
virtual const EcXmlStringendEffectorTooltip ()
 get end-effector tool-tip
 
virtual EcBoolean useExternalOffset () const
 get whether to use external offset.
 
virtual void setUseExternalOffset (EcBoolean value)
 
virtual EcU32 externalOffsetIndex () const
 get the index of the external offset to be used
 
virtual void setExternalOffsetIndex (EcU32 value)
 set the index of the external offset to be used
 
virtual void setExternalOffsetPointer (const EcCoordinateSystemTransformation *value)
 
virtual EcBoolean canBecomeSoft () const
 gets the flag indicating whether this end-effector can become soft (if it's hard)
 
virtual void setCanBecomeSoft (EcBoolean value)
 sets the flag indicating whether this end-effector can become soft (if it's hard)
 
virtual EcBoolean convertFromSystemToLocal (const EcIndividualManipulator &manip, const EcXmlRealVector &valueInSystem, EcManipulatorActiveState &activeState, EcXmlRealVector &valueInLocal) const
 convert a velocity or acceleration from system frame to local frame
 
virtual EcBoolean convertFromLocalToSystem (const EcIndividualManipulator &manip, const EcXmlRealVector &valueInLocal, EcManipulatorActiveState &activeState, EcXmlRealVector &valueInSystem) const
 convert a velocity or acceleration from local frame to system frame
 
virtual void setStoredDesiredPlacement (const EcEndEffectorPlacement &placement)
 set stored desired placement
 
virtual const EcEndEffectorPlacementstoredDesiredPlacement () const
 get stored desired placement
 
virtual void setAllowChangingDesiredPlacement (const EcBoolean &flag)
 set Allow Changing Desired Placement
 
virtual const EcBooleanallowChangingDesiredPlacement () const
 get Allow Changing Desired Placement
 
virtual void setControlMode (const EcU32 mode)
 sets the control mode More...
 
virtual EcU32 controlMode () const
 gets the control mode
 
- Public Member Functions inherited from EcXmlCompoundType
 ECDECLARE_BIGFOUR (EcXmlCompoundType)
 
virtual EcBoolean readAttributes (EcXmlReader &stream)
 read object attributes from an XML stream
 
virtual EcBoolean readElements (EcXmlReader &stream)
 read object elements from an XML stream
 
virtual EcBoolean writeAttributes (EcXmlWriter &stream) const
 write object attributes to an XML stream
 
virtual EcBoolean writeElements (EcXmlWriter &stream) const
 write object elements to an XML stream
 
virtual EcBoolean writeSchema (EcXmlSchema &stream) const EC_OVERRIDE
 write schema
 
virtual EcBoolean writeSchemaAttributes (EcXmlSchema &stream) const
 write schema attributes
 
virtual EcBoolean writeSchemaElements (EcXmlSchema &stream) const
 write schema elements
 
virtual void registerComponent (const EcToken &token, EcXmlObject *obj)
 register a single component More...
 
virtual void registerComponent (EcXmlObject *obj)
 register a single component More...
 
virtual void registerComponentReadOnly (const EcToken &token, EcXmlObject *obj)
 register a single component as read-only More...
 
virtual const EcXmlComponentMapcomponentMap () const
 get a reference to the component map
 
virtual void registerAttributeComponent (const EcToken &AttribToken, EcXmlObject *Obj)
 register a single attribute component More...
 
virtual void registerAttributeComponentReadOnly (const EcToken &AttribToken, EcXmlObject *Obj)
 register a single attribute component read-only More...
 
virtual const EcXmlComponentMapattributeComponentMap ()
 get a reference to the component attribute map
 
virtual const EcXmlSpecialDescriptorMapspecialDescriptorMap ()
 get a reference to the special-descriptor map
 
virtual void registerComponentDescriptor (const EcToken &xmlToken, const EcToken &descriptorToken, const EcString &descriptorString)
 register an XML token-string descriptor More...
 
virtual const EcXmlTokenStringDescriptorMapMaptokenStringDescriptorMap ()
 get a reference to the XML token-string descriptor map
 
virtual EcBoolean hasChildren () const
 return EcTrue if there are children components or EcFalse if an empty element.
 
virtual EcBoolean hasAttributes () const
 return EcTrue if there are attributes in the element.
 
- Public Member Functions inherited from EcXmlObject
 ECDECLARE_BIGFOUR (EcXmlObject)
 
virtual EcBoolean readAttribute (EcXmlReader &stream)
 read this attribute from an XML stream
 
virtual EcBoolean createSchema (const EcString &filename, const EcToken &objectName=EcXml::EcDefaultToken) const
 create schema
 
virtual EcBoolean xmlInitialized () const
 get XML initialized flag. This bit is set on initialization.
 
virtual void setXmlInitialized (EcBoolean val=EcTrue)
 set XML initialized flag. This bit is set on initialization.
 
virtual EcBoolean specified () const
 get specified flag. This bit is set upon reading from an XML file.
 
virtual void setSpecified (EcBoolean val=EcTrue)
 set specified flag. This bit is set upon reading from an XML file.
 
virtual EcBoolean isBasicType () const
 Return true/false for basic type.
 
virtual EcBoolean equalsDefault () const
 tests equality of XML object with default
 

Static Public Member Functions

static EcFrameEndEffector nullObject ()
 get a null point end effector
 
static const EcTokenclassToken ()
 token for this class
 
static EcXmlObjectcreator ()
 static creator function
 
- Static Public Member Functions inherited from EcEndEffector
static EcVector pointMotion (const EcManipulatorLink &inboardLink, const EcManipulatorLink &outboardLink, const EcVector &point, EcManipulatorActivePositionState &activePositionState)
 
static void getFrameMotion (const EcManipulatorLink &inboardLink, const EcManipulatorLink &outboardLink, const EcCoordinateSystemTransformation &frame, EcManipulatorActivePositionState &activePositionState, EcGeneralVelocity &frameMotion)
 
static EcVector pointPosition (const EcManipulatorLink &link, const EcVector &point, EcManipulatorActivePositionState &activePositionState)
 

Additional Inherited Members

- Public Types inherited from EcEndEffector
enum  ControlMode {
  POSITION_CONTROL = 0,
  VELOCITY_CONTROL,
  PROFILED_POSITION,
  PROFILED_VELOCITY
}
 control mode
 
- Public Types inherited from EcXmlCompoundType
enum  {
  READONLYCOMPONENT = 0,
  READONLYATTRIBUTE
}
 special-descriptor codes More...
 
- Protected Member Functions inherited from EcFrameBasedEndEffector
virtual void convertToGeneralVelocity (const EcXmlRealVector &velocity, EcGeneralVelocity &generalVelocity) const
 
virtual void convertFromGeneralVelocity (const EcGeneralVelocity &generalVelocity, EcXmlRealVector &velocity) const
 
virtual void calculateFramePlacement (const EcIndividualManipulator &manip, EcManipulatorActiveState &activeState, EcCoordinateSystemTransformation &placement) const
 calculate a frame placement value for the end effector
 
virtual void calculateFramePlacement (const EcIndividualManipulator &manip, const EcManipulatorState &manipState, EcCoordinateSystemTransformation &placement) const
 calculate a frame placement value for the end effector
 
virtual void calculateFrameVelocity (const EcIndividualManipulator &manip, EcManipulatorActiveState &activeState, EcGeneralVelocity &velocity) const
 calculate a frame velocity value for the end effector
 
virtual void calculateFrameVelocity (const EcIndividualManipulator &manip, const EcManipulatorState &manipState, EcGeneralVelocity &velocity) const
 calculate a frame velocity value for the end effector
 
virtual void calculateFrameAcceleration (const EcIndividualManipulator &manip, EcManipulatorActiveState &activeState, EcGeneralAcceleration &accelerationInEE, EcGeneralAcceleration &accelerationInSystem) const
 calculate a frame velocity value for the end effector
 
virtual void calculateFrameAcceleration (const EcIndividualManipulator &manip, const EcManipulatorState &manipState, EcGeneralAcceleration &accelerationInEE, EcGeneralAcceleration &accelerationInSystem) const
 calculate a frame velocity value for the end effector
 
- Protected Member Functions inherited from EcEndEffector
virtual void insertDefaultJointSparsityComponent (const EcIndividualManipulator &manip, const EcU32 startRow, EcBoolean isFixedBase, EcBooleanVectorVector &sparsityDescriptionMatrix) const
 
virtual void insertAllTrueBaseSparsityComponent (const EcIndividualManipulator &manip, const EcU32 startRow, EcBoolean isFixedBase, EcBooleanVectorVector &sparsityDescriptionMatrix) const
 
virtual EcBoolean calculatePlacementAndVelocityOfPrimaryFrame (const EcIndividualManipulator &manip, const EcString &linkName, EcManipulatorActiveState &actState, EcCoordinateSystemTransformation &placement, EcGeneralVelocity &velocity) const
 
- Protected Member Functions inherited from EcXmlCompoundType
virtual EcBoolean readValueFromToken (const EcToken &token, EcXmlReader &stream)
 
virtual EcBoolean readValueFromSpecialToken (const EcToken &token, EcXmlReader &stream)
 read value from unregistered token
 
virtual EcBoolean readAttributeFromToken (const EcToken &token, EcXmlReader &stream)
 
virtual EcXmlComponentMapnewComponentMap () const
 allocate a new componentMap
 
virtual EcXmlSpecialDescriptorMapnewSpecialDescriptorMap ()
 allocate a new specialDescriptorsMap
 
virtual EcXmlTokenStringDescriptorMapMapnewTokenStringDescriptorMap ()
 allocate a new tokenStringDescriptorsMap
 
virtual void createComponentMap () const
 create component map
 
virtual void createAttributeComponentMap ()
 create attribute component map
 
virtual void createSpecialDescriptorMap ()
 create special-descriptors map
 
virtual void createTokenStringDescriptorMap ()
 create token-string descriptor map
 
virtual EcBoolean isReadOnlyComponent (const EcToken token) const
 check to see if the token corresponds to a read-only component
 
virtual EcBoolean isReadOnlyAttribute (const EcToken token) const
 check to see if the token corresponds to a read-only attribute
 
virtual EcXmlObjectlibraryAttribute ()
 
- Protected Attributes inherited from EcFrameBasedEndEffector
EcGeneralMotionFilter m_MotionFilter
 the motion filter
 
EcString m_NamedFrameName
 If the motion constraint is attached at a named frame.
 
EcCoordinateSystemTransformation m_Frame
 the end-effector frame with respect to the link's primary frame
 
EcXmlReal m_LinearErrorWeight
 the error weight for the linear components
 
EcXmlReal m_AngularErrorWeight
 the error weight for the angular components
 
- Protected Attributes inherited from EcEndEffector
EcXmlString m_LinkIdentifier
 the string identifier for the link
 
EcEndEffectorRelativeLinkData m_RelativeLinkData
 the end-effector placement
 
EcXmlBoolean m_IsHardConstraint
 a flag indicating that this is a hard constraint
 
EcXmlBoolean m_IsEditable
 a flag indicating that this end effector is editable
 
EcXmlBoolean m_UseExternalOffset
 a flag indicating whether to use external offset
 
EcXmlU32 m_ExternalOffsetIndex
 Index of the external offset to be used.
 
EcXmlBoolean m_CanBecomeSoft
 a flag indicating whether this end-effector can become soft (if it's hard)
 
EcXmlStringVector m_EditingLabels
 the labels of all editable components
 
EcXmlStringVector m_EditableValues
 the values of all editable components
 
EcXmlU32 m_NumEditable
 number of Editable Value
 
EcXmlStringVector m_TooltipLabels
 the tooltips for editable components
 
EcEndEffectorPlacement m_StoredDesiredPlacement
 desired placement
 
EcXmlBoolean m_AllowChangingDesiredPlacement
 allow changing desired placement
 
EcXmlEnumU32 m_ControlMode
 the control model
 
EcReal m_SoftConstraintMultiplier
 non-XML data below More...
 
EcXmlString m_EeTooltip
 end-effector tooltip
 
const EcCoordinateSystemTransformationm_pExternalOffset
 pointer to the external offset
 
EcEndEffectorPlacement m_UtilityEndEffectorPlacment
 the utility end effector placement
 
- Protected Attributes inherited from EcXmlCompoundType
EcXmlComponentMapm_pComponentMap
 
EcXmlComponentMapm_pAttributeComponentMap
 
EcXmlSpecialDescriptorMapm_pSpecialDescriptorMap
 
EcXmlTokenStringDescriptorMapMapm_pComponentMapTokenStringDescriptor
 
- Protected Attributes inherited from EcXmlObject
EcU8 m_State
 the state of the object - eight boolean flags
 
- Static Protected Attributes inherited from EcEndEffector
static const EcU32 m_theBaseDof
 the degrees of freedom in a floating base
 
- Static Protected Attributes inherited from EcXmlObject
static const EcU8 m_theXmlInitializedBit
 the bit used to describe xml initialization
 
static const EcU8 m_theSpecifiedBit
 the bit used to describe specification
 

Detailed Description

A frame end effector.

Holds a description of a frame end-effector, which has 6 degrees of constraints - 3 translations and 3 rotations. This is what typical users consider an end-effector in general sense.

Examples:
ecCollisionAvoidanceExample.cpp.

Definition at line 18 of file ecFrameEndEffector.h.

Member Function Documentation

virtual void EcFrameEndEffector::calculateAcceleration ( const EcIndividualManipulator manip,
EcManipulatorActiveState actState,
EcXmlRealVector acceleration,
EcU32  startInsertionIndex = 0 
) const
virtual

Calculate end effector acceleration. The acceleration may have different meanings for different end effector types.

For this end effector, it's the 6-dof general acceleration of the end effector

Parameters
manipThe manipulator for this end effector
actStateThe manipulator active state
[out]accelerationThe placement of the end effector
startInsertionIndexThe index of acceleration vector at which this end effector acceleration should start

Implements EcEndEffector.

virtual void EcFrameEndEffector::calculateAcceleration ( const EcIndividualManipulator manip,
const EcManipulatorState manipState,
EcXmlRealVector acceleration,
EcU32  startInsertionIndex 
) const
virtual

Calculate end effector acceleration. The acceleration may have different meanings for different end effector types.

Parameters
manipThe manipulator for this end effector
actStateThe manipulator active state
[out]accelerationThe placement of the end effector
startInsertionIndexThe index of acceleration vector at which this end effector acceleration should start

Reimplemented from EcEndEffector.

virtual void EcFrameEndEffector::calculatePlacement ( const EcIndividualManipulator manip,
EcManipulatorActiveState activeState,
EcEndEffectorPlacement placement 
) const
virtual

Calculate a placement value for the end effector in the system coordinates. The placement is described through an EcEndEffectorPlacement, which may have different meanings for different end effector types.

For this end effector, it's the coordinate system transformation of the end effector

Parameters
manipThe manipulator for this end effector
activeStateThe manipulator active state
[out]placementThe placement of the end effector

Implements EcEndEffector.

virtual void EcFrameEndEffector::calculatePlacement ( const EcIndividualManipulator manip,
const EcManipulatorState manipState,
EcEndEffectorPlacement placement 
) const
virtual

Calculate a placement value for the end effector in the system coordinates. The placement is described through an EcEndEffectorPlacement, which may have different meanings for different end effector types.

Parameters
manipThe manipulator for this end effector
activeStateThe manipulator active state
[out]placementThe placement of the end effector

Reimplemented from EcEndEffector.

virtual void EcFrameEndEffector::calculateVelocity ( const EcIndividualManipulator manip,
EcManipulatorActiveState actState,
EcXmlRealVector velocity,
EcU32  startInsertionIndex = 0 
) const
virtual

Calculate end effector velocity. The velocity may have different meanings for different end effector types.

For this end effector, it's the 6-dof general velocity of the end effector

Parameters
manipThe manipulator for this end effector
actStateThe manipulator active state
[out]velocityThe placement of the end effector
startInsertionIndexThe index of velocity vector at which this end effector velocity should start

Implements EcEndEffector.

virtual void EcFrameEndEffector::calculateVelocity ( const EcIndividualManipulator manip,
const EcManipulatorState manipState,
EcXmlRealVector velocity,
EcU32  startInsertionIndex 
) const
virtual

Calculate end effector velocity. The velocity may have different meanings for different end effector types.

Parameters
manipThe manipulator for this end effector
actStateThe manipulator active state
[out]velocityThe placement of the end effector
startInsertionIndexThe index of velocity vector at which this end effector velocity should start

Reimplemented from EcEndEffector.

virtual void EcFrameEndEffector::calculateVelocityInRelative ( const EcIndividualManipulator manip,
EcManipulatorActiveState actState,
EcXmlRealVector velocity,
EcU32  startInsertionIndex 
) const
virtual

Calculate relative end effector velocity with respect to the primary frame of the relative link. The velocity may have different meanings for different end effector types.

For this constraint, it is the linear velocity relative to the relative link.
The default implementation just calls calculateVelocity as a pass through. This is correct for all end effector types that do not leverage the relative end effector.

Parameters
manipThe manipulator for this end effector
actStateThe manipulator active state
[out]velocityThe placement of the end effector
startInsertionIndexThe index of velocity vector at which this end effector velocity should start

Reimplemented from EcEndEffector.

virtual void EcFrameEndEffector::calculateVelocityInRelative ( const EcIndividualManipulator manip,
const EcManipulatorState manipState,
EcXmlRealVector velocity,
EcU32  startInsertionIndex 
) const
virtual

Calculate relative end effector velocity with respect to the primary frame of the relative link. The velocity may have different meanings for different end effector types.

The default implementation just calls calculateVelocity as a pass through. This is correct for all end effector types that do not leverage the relative end effector.

Parameters
manipThe manipulator for this end effector
actStateThe manipulator active state
[out]velocityThe placement of the end effector
startInsertionIndexThe index of velocity vector at which this end effector velocity should start

Reimplemented from EcEndEffector.

virtual EcReal EcFrameEndEffector::difference ( const EcEndEffectorPlacement actual,
const EcEndEffectorPlacement desired 
) const
virtual

Calculate the difference between start and finish. The difference is a non-negative scalar value that captures how far two end-effector's positions are to each other.

Parameters
actualThe end-effector's start position
desiredThe end-effector's end position

Implements EcEndEffector.

virtual EcU32 EcFrameEndEffector::doc ( ) const
virtual

get the number of degrees of constraint for this end effector

For this end effector, it returns 6.

Implements EcEndEffector.

virtual void EcFrameEndEffector::insertErrorWeightComponent ( const EcU32  startRow,
EcReArray weights 
) const
virtual

build a segment of an end-effector error weight starting at the start-row index.

Parameters
startRowThe start row for this end effector
weightsThe weight vector with a segment for this end effector

Implements EcEndEffector.

virtual void EcFrameEndEffector::insertJacobianComponent ( const EcIndividualManipulator manip,
const EcU32  startRow,
EcBoolean  isFixedBase,
EcManipulatorActiveState activeState,
EcManipulatorJacobian jacobian 
) const
virtual

build a strip of a Jacobian that corresponds to this end effector.

Parameters
manipThe manipulator for this end effector
startRowThe row index to start inserting the Jacobian component from this end effector
isFixedBaseA flag indicating whether or not the base is fixed
[in,out]activeStateThe manipulator active state
[out]jacobianThe Jacobian with a strip for this end effector

Implements EcEndEffector.

virtual void EcFrameEndEffector::insertSparsityComponent ( const EcIndividualManipulator manip,
const EcU32  startRow,
EcBoolean  isFixedBase,
EcBooleanVectorVector sparsityDescriptionMatrix 
) const
virtual

build a strip of a sparsity description matrix (with true where there may be nonzero values and false where there cannot be nonzero values)

Parameters
manipThe manipulator for this end effector
startRowThe row index to start inserting the sparsity component from this end effector
isFixedBaseA flag indicating whether or not the base is fixed
sparsityDescriptionMatrixThe matrix with a sparsity strip for this end effector

Implements EcEndEffector.

virtual EcReal EcFrameEndEffector::minimumTime ( const EcEndEffectorPlacement actual,
const EcEndEffectorPlacement desired 
) const
virtual

For estimation and simulation purposes, calculate the estimated minimum time it takes this end effector to move from one position to another

Parameters
actualThe end-effector's start position
desiredThe end-effector's end position
Returns
The minimum time

Implements EcEndEffector.

Reimplemented in EcDirectionalFrameEndEffector.


The documentation for this class was generated from the following file: