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

Holds a description of a force control system, which use a position control system. More...

#include <ecForceControlSystem.h>

Inheritance diagram for EcForceControlSystem:
EcXmlCompoundType EcXmlObject

Public Member Functions

 ECXMLOBJECT (EcForceControlSystem)
 
virtual void registerComponents () EC_OVERRIDE
 register components with the parent
 
virtual EcBoolean read (EcXmlReader &stream) EC_OVERRIDE
 read object from an XML stream More...
 
virtual EcBoolean isOn () const
 gets a flag indicating whether or not the position control system is on
 
virtual void setIsOn (EcBoolean isOn)
 sets a flag indicating whether or not the position control system is on
 
virtual const EcForceControlDescriptionVectorVectorcontrolDescriptionVectors () const
 gets the control description vectors
 
virtual void setControlDescriptionVectors (const EcForceControlDescriptionVectorVector &controlDescriptionVectors)
 sets the control description vectors
 
virtual EcBoolean addControlDescription (EcU32 manipIndex, const EcForceControlDescription &controlDescription)
 adds a control description to a manipulator More...
 
virtual EcBoolean setControlDescription (EcU32 manipIndex, EcU32 controlDescriptionIndex, const EcForceControlDescription &controlDescription)
 sets a control description at a specified index of a given manipulator More...
 
virtual EcBoolean deleteControlDescription (EcU32 manipIndex, EcU32 controlDescriptionIndex)
 deletes a control description from a manipulator More...
 
virtual EcBoolean deleteControlDescriptions (EcU32 manipIndex)
 deletes the list of control descriptions of a manipulator More...
 
virtual const EcForceControlDescriptionVectorcontrolDescriptions (EcU32 manipIndex) const
 gets the list of control descriptions for a manipulator More...
 
virtual EcBoolean setControlDescriptions (EcU32 manipIndex, const EcForceControlDescriptionVector &controlDescriptions)
 sets the control descriptions of a manipulator More...
 
virtual EcU32 addControlDescriptions (const EcForceControlDescriptionVector &controlDescriptions)
 adds a list of control descriptions for a new manipulator. More...
 
virtual const EcForceControlDescriptionactiveControlDescription (EcU32 manipIndex) const
 gets the active control description for the specified manipulator index More...
 
virtual EcBoolean setActiveControlDescription (EcU32 manipIndex, EcU32 activeControlDescriptionIndex)
 sets the active control description of a manipulator by index More...
 
virtual EcU32 activeControlDescriptionIndex (EcU32 manipIndex) const
 gets the index of the active control description of the specified manipulator More...
 
virtual const EcForceSensorSetVectorforceSensorSets () const
 get the force sensor sets for all the manipulators
 
virtual void setForceSensorSets (const EcForceSensorSetVector &sensorSetVec)
 set the force sensor sets for all the manipulators
 
virtual EcBoolean setForceSensorSet (EcU32 manipIndex, const EcForceSensorSet &sensorSet)
 set the force sensor set for a given manipulator
 
virtual const EcManipulatorSensorForceVectordesiredForceVector () const
 get the desired sensor forces for all manipulators
 
virtual EcBoolean setDesiredForce (EcU32 manipIndex, EcU32 sensorIndex, const EcXmlRealVector &desiredForce)
 set the desired force for a particular sensor
 
virtual EcBoolean setDesiredForce (EcU32 manipIndex, const EcManipulatorSensorForce &desiredForce)
 set the desired sensor force for a given manipulator
 
virtual void setDesiredForceVector (const EcManipulatorSensorForceVector &desiredForceVec)
 set the desired sensor forces for all manipulators
 
virtual const EcManipulatorSensorForceVectormeasuredForceVector () const
 get the measured sensor force for all manipulators
 
virtual EcBoolean setMeasuredForce (EcU32 manipIndex, EcU32 sensorIndex, const EcXmlRealVector &measuredForce)
 set the measured sensor force for a particular sensor
 
virtual EcBoolean setMeasuredForce (EcU32 manipIndex, const EcManipulatorSensorForce &measuredForce)
 set the measured sensor force for a given manipulator
 
virtual void setMeasuredForceVector (const EcManipulatorSensorForceVector &measuredForceVec)
 set the measured sensor forces for all manipulators
 
virtual EcBoolean enableForceControllers (EcU32 manipIndex, const EcU32Vector &controllerIndices, EcBoolean isOn)
 turn on/off a group of force controllers for a given manipulator More...
 
virtual EcBoolean enableForceControllers (EcU32 manipIndex, const EcBooleanVector &controllersOn)
 turn on/off individual force controllers for a given manipulator More...
 
virtual EcBoolean initialize (const EcEndEffectorSetVector &eeSetVec)
 initialize the force control system with the vector of end-effector sets.
 
virtual EcBoolean reset ()
 reset the force control system. This should be called when the system state is reset.
 
virtual EcBoolean adjustDesiredPlacementVector (const EcReal &time, const EcPositionControlSystem &posCont, const EcManipulatorEndEffectorPlacementVector &actualPlacementVec, EcManipulatorEndEffectorPlacementVector &desiredPlacementVec)
 adjust desiredPlacementVec to achieve the desired end-effector forces
 
virtual EcBoolean simulateMeasuredForces (EcSystemActiveState &actState, const EcStatedSystem &statedSystem) const
 simulate sensor reading when sensor is dynamically simulated.
 
virtual EcBoolean mergeWith (const EcForceControlSystem &other)
 Merges this with another so that this contains both.
 
- Public Member Functions inherited from EcXmlCompoundType
 ECDECLARE_BIGFOUR (EcXmlCompoundType)
 
virtual EcBoolean xmlInit () EC_OVERRIDE
 xmlInitialize
 
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 write (EcXmlWriter &stream) const EC_OVERRIDE
 write object to 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 EcXmlObjectclone () const =0
 clone
 
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
 
virtual EcBoolean equality (const EcXmlObject *other) const =0
 equality - a virtual equality to an EcXmlObject pointer
 
virtual EcXmlObjectnewObject () const =0
 creates new object - a virtual new to an EcXmlObject pointer
 
virtual const EcTokentoken () const =0
 gets the xml token used for writing out.
 

Protected Member Functions

virtual EcForceControlDescriptionactiveControlDesc (EcU32 manipIndex)
 gets the active control description for the specified manipulator index – non-const, internal use only
 
virtual void initializeForces ()
 initlialize the desired and measured forces to the proper sizes
 
- 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

EcXmlBoolean m_IsOn
 a flag indicating whether or not the force control system is on
 
EcForceControlDescriptionVectorVector m_ControlDescriptionVectors
 vectors of control description vectors
 
EcXmlU32Vector m_ActiveControlDescriptionIndices
 the indices of active control descriptions
 
EcForceSensorSetVector m_vForceSensorSets
 a vector for all the force sensor sets in the system
 
EcManipulatorSensorForceVector m_vDesiredForces
 the desired sensor forces
 
EcManipulatorSensorForceVector m_vMeasuredlForces
 the measured sensor forces
 
EcReal m_PrevTime
 the time of the previous cycle
 
- 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

static EcForceControlDescription m_theNullControlDescription
 the null control description for error recovery
 
static const EcForceControlDescriptionVector m_theNullControlDescriptions
 the null control description vector for error recovery
 
static const EcForceSensorSet m_theNullForceSensorSet
 the null force sensor set for error recovery
 
- 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
 

Additional Inherited Members

- Public Types inherited from EcXmlCompoundType
enum  {
  READONLYCOMPONENT = 0,
  READONLYATTRIBUTE
}
 special-descriptor codes More...
 

Detailed Description

Holds a description of a force control system, which use a position control system.

This is a class for position-based force control system. Force control works by adjusting the desired end-effector placements to achieve the desired end-effector forces.

Definition at line 23 of file ecForceControlSystem.h.

Member Function Documentation

virtual const EcForceControlDescription& EcForceControlSystem::activeControlDescription ( EcU32  manipIndex) const
virtual

gets the active control description for the specified manipulator index

Parameters
[in]manipIndexThe manipulator index in query.
Returns
The active control description for manipIndex.
virtual EcU32 EcForceControlSystem::activeControlDescriptionIndex ( EcU32  manipIndex) const
virtual

gets the index of the active control description of the specified manipulator

Parameters
[in]manipIndexThe index of the manipulator in query.
Returns
The index of the active control description of the specified manipulator.
virtual EcBoolean EcForceControlSystem::addControlDescription ( EcU32  manipIndex,
const EcForceControlDescription controlDescription 
)
virtual

adds a control description to a manipulator

Parameters
[in]manipIndexThe index of the manipulator to which the control description will be added.
[in]controlDescriptionThe control description to be added.
Returns
True if successful or false if manipIndex is out of range.
virtual EcU32 EcForceControlSystem::addControlDescriptions ( const EcForceControlDescriptionVector controlDescriptions)
virtual

adds a list of control descriptions for a new manipulator.

Adds a list of control descriptions for a new manipulator (not yet in index). This will increment the index by one. The index of active control description for the new manipulator will be set to 0. Call setActiveControlDescription(EcU32, EcU32) to set the active control description as desired.

Parameters
[in]controlDescriptionsThe vector of control descriptions to be added.
Returns
The index of the newly added vector of control descriptions.
virtual const EcForceControlDescriptionVector& EcForceControlSystem::controlDescriptions ( EcU32  manipIndex) const
virtual

gets the list of control descriptions for a manipulator

Parameters
[in]manipIndexThe index of the manipulator from which the control description is queried.
Returns
The list of control descriptions for the specified manipulator or null object if manipIndex is out of range.
virtual EcBoolean EcForceControlSystem::deleteControlDescription ( EcU32  manipIndex,
EcU32  controlDescriptionIndex 
)
virtual

deletes a control description from a manipulator

Deletes a control description from a manipulator. Note the after this operation, the indices of control descriptions for that manipulator may be shifted.

Parameters
[in]manipIndexThe index of the manipulator from which a control description will be deleted.
[in]controlDescriptionIndexThe index of the control description to be deleted. If this index is currently the active index, then the active index will be changed to 0.
Returns
True if successful or false if manipIndex or controlDescriptionIndex is out of range. Also, if there's only one control description for this manipulator, then it will not be deleted and false will be returned.
virtual EcBoolean EcForceControlSystem::deleteControlDescriptions ( EcU32  manipIndex)
virtual

deletes the list of control descriptions of a manipulator

Deletes the list of control descriptions of a manipulator. Since end-effector set and end-effector relative data are parts of control description, they will also be deleted.

Parameters
[in]manipIndexThe index of the manipulator from which the control descriptions will be deleted.
Returns
True if successful or false if manipIndex is out of range.
virtual EcBoolean EcForceControlSystem::enableForceControllers ( EcU32  manipIndex,
const EcU32Vector controllerIndices,
EcBoolean  isOn 
)
virtual

turn on/off a group of force controllers for a given manipulator

Returns
False if manipIndex is invalid or true otherwise
virtual EcBoolean EcForceControlSystem::enableForceControllers ( EcU32  manipIndex,
const EcBooleanVector controllersOn 
)
virtual

turn on/off individual force controllers for a given manipulator

Returns
False if manipIndex is invalid or true otherwise
virtual EcBoolean EcForceControlSystem::read ( EcXmlReader stream)
virtual

read object from an XML stream

Reimplemented from EcXmlCompoundType.

virtual EcBoolean EcForceControlSystem::setActiveControlDescription ( EcU32  manipIndex,
EcU32  activeControlDescriptionIndex 
)
virtual

sets the active control description of a manipulator by index

Parameters
[in]manipIndexThe index of the manipulator to which the control descriptions will be set.
[in]activeControlDescriptionIndexThe index of the active control description to be set.
Returns
True if successful or false if either manipIndex or activeControlDescriptionIndex is out of range.
virtual EcBoolean EcForceControlSystem::setControlDescription ( EcU32  manipIndex,
EcU32  controlDescriptionIndex,
const EcForceControlDescription controlDescription 
)
virtual

sets a control description at a specified index of a given manipulator

Parameters
[in]manipIndexThe index of the manipulator to which the control description will be added.
[in]controlDescriptionIndexThe index of the control description to be set.
[in]controlDescriptionThe control description to be added.
Returns
True if successful or false if manipIndex or controlDescriptionIndex is out of range.
virtual EcBoolean EcForceControlSystem::setControlDescriptions ( EcU32  manipIndex,
const EcForceControlDescriptionVector controlDescriptions 
)
virtual

sets the control descriptions of a manipulator

Parameters
[in]controlDescriptionsThe control descriptions to be set.
[in]manipIndexThe index of the manipulator to which the control descriptions will be set.
Returns
True if successful or false if manipIndex is out of range.

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.