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

A type of joint to rotate and translate at the same time. More...

#include <ecCustomTypeLink.h>

Inheritance diagram for EcCustomTypeLink:
EcLinkKinematics EcBaseExpressionTreeElement EcXmlCompoundType EcXmlObject

Public Types

enum  {
  ROTATIONAL,
  PRISMATIC
}
 joint type enumeration
 
- Public Types inherited from EcLinkKinematics
enum  {
  LINEAR,
  ANGULAR,
  OTHER
}
 unit type enumeration
 
- Public Types inherited from EcXmlCompoundType
enum  {
  READONLYCOMPONENT = 0,
  READONLYATTRIBUTE
}
 special-descriptor codes More...
 

Public Member Functions

virtual EcBoolean xmlInit () EC_OVERRIDE
 initialize XML components for reading and writing
 
virtual void registerDrivingTypeEnumerations ()
 register driving type enumeration
 
virtual void registerComponents () EC_OVERRIDE
 register components with the parent
 
virtual EcU32 drivingType () const
 get driving type
 
virtual void setDrivingType (EcU32 value)
 set driving type
 
virtual const EcCoordinateSystemTransformationprecursor () const
 get Precursor
 
virtual void setPrecursor (const EcCoordinateSystemTransformation &value)
 set Precursor
 
virtual EcReal pitch () const
 get reference of pitch for screw link, defined as rotation per unit length
 
virtual void setPitch (EcReal pitch)
 set pitch for screw link
 
virtual const EcCoordinateSystemTransformationcalculateTransform (EcReal jointValue) const EC_OVERRIDE
 calculate D-H transformation
 
virtual void transformBy (EcCoordinateSystemTransformation &xform, EcReal jointValue) const EC_OVERRIDE
 
virtual void getUnitFrameMotion (EcGeneralMotion &frameVelocity, EcReal jointValue) const
 
virtual const EcGeneralMotioncalculateVelocity (EcReal jointValue, EcReal jointVelocity) const EC_OVERRIDE
 get the general motion of the frame (locally represented). More...
 
virtual const EcGeneralAccelerationcalculateAcceleration (EcReal jointValue, EcReal jointVelocity, EcReal jointAcceleration) const EC_OVERRIDE
 get the general acceleration of the frame (locally represented). More...
 
virtual EcBoolean approxEq (const EcCustomTypeLink &dh2, EcReal tol) const
 test for approximate equality
 
virtual EcReal upperBoundDhFrameDistance (const EcJointActuator &jointActuator) const EC_OVERRIDE
 computes the upper-bound DH frame distance for this joint
 
virtual void scaleBy (EcReal scaleFactor) EC_OVERRIDE
 
virtual void transformBy (const EcCoordinateSystemTransformation &xform) EC_OVERRIDE
 
virtual EcReal jointParameterScalability () const EC_OVERRIDE
 
virtual void changeInboardFrameBy (const EcCoordinateSystemTransformation &offset) EC_OVERRIDE
 change the inboard frame by an offset. This is to account for uncertainty in link measurements, both linear and angular. If offset is identity, then this does nothing.
 
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 EcU32 unitType () const EC_OVERRIDE
 return the unit type of the link kinematics (joint). More...
 
- Public Member Functions inherited from EcLinkKinematics
 EcLinkKinematics ()
 default constructor - should not be used
 
virtual ~EcLinkKinematics ()
 destructor
 
 EcLinkKinematics (const EcLinkKinematics &orig)
 copy constructor
 
EcLinkKinematicsoperator= (const EcLinkKinematics &orig)
 assignment operator
 
EcBoolean operator== (const EcLinkKinematics &orig) const
 equality operator
 
virtual EcBoolean approxEq (const EcLinkKinematics &dh2, EcReal tol) const
 test for approximate equality
 
virtual const EcCoordinateSystemTransformationprimaryFrame () const
 kinematics functions More...
 
virtual const EcCoordinateSystemTransformationprimaryFrameInverse () const
 get Primary Frame Inverse
 
virtual void setPrimaryFrame (const EcCoordinateSystemTransformation &value)
 set Primary Frame
 
virtual EcReal unitAccelerationTorque (EcReal jointValue, const EcArticulatedBodyInertia &inertia) const
 
virtual EcReal torqueRequiredToExert (EcReal jointValue, const EcGeneralForce &exertedGeneralForce) const
 get the torque required to exert the specified general force More...
 
virtual EcBoolean addChildArbdToParent (EcArticulatedBodyDynamics &parentArbd, const EcArticulatedBodyDynamics &childArbd, const EcReal jointValue, const EcReal jointTorque, const EcReal effectiveMotorInertia) const
 add child arbd to parent's arbd
 
- Public Member Functions inherited from EcBaseExpressionTreeElement
 EcBaseExpressionTreeElement ()
 default constructor
 
 EcBaseExpressionTreeElement (const EcXmlBaseVariableCompoundType *containerPointer)
 constructor given container pointer
 
virtual ~EcBaseExpressionTreeElement ()
 destructor
 
 EcBaseExpressionTreeElement (const EcBaseExpressionTreeElement &orig)
 copy constructor
 
EcBaseExpressionTreeElementoperator= (const EcBaseExpressionTreeElement &orig)
 assignment operator
 
EcBoolean operator== (const EcBaseExpressionTreeElement &orig) const
 equality operator
 
virtual const EcXmlBaseVariableCompoundTypecontainer () const
 gets the container
 
virtual void setContainer (const EcXmlBaseVariableCompoundType *container)
 sets the container
 
- 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 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.
 

Static Public Member Functions

static EcXmlObjectcreator ()
 static creator function
 
static EcCustomTypeLink nullObject ()
 get an zero offset
 

Protected Attributes

EcXmlEnumU32 m_DrivingType
 the driving type - rotational or prismatic
 
EcCoordinateSystemTransformation m_Precursor
 the precursory transformation
 
EcXmlReal m_Pitch
 the pitch is defined as rotation per unit length
 
EcReal m_JointValueForStoredTransform
 the joint value for the stored transformation;
 
EcBoolean m_StoredTransformValid
 a validity flag for the transformation
 
- Protected Attributes inherited from EcLinkKinematics
EcCoordinateSystemTransformation m_PrimaryFrame
 the primary frame for the link represented in the link's DH frame
 
EcCoordinateSystemTransformation m_PrimaryFrameInverse
 non-XML data below More...
 
EcCoordinateSystemTransformation m_FrameTransform
 a value for the transformation
 
EcGeneralMotion m_FrameVelocity
 a value for the frame velocity
 
EcGeneralAcceleration m_FrameAcceleration
 a value for the frame Acceleration
 
EcGeneralMotion m_GMotion0
 First utility EcGeneralMotion.
 
EcGeneralMotion m_GMotion1
 Second utility EcGeneralMotion.
 
EcGeneralMotion m_GMotion2
 Third utility EcGeneralMotion.
 
EcCoordinateSystemTransformation m_XForm0
 First utility EcCoordinateSystemTransformation.
 
EcCoordinateSystemTransformation m_XForm1
 Second utility EcCoordinateSystemTransformation.
 
- Protected Attributes inherited from EcBaseExpressionTreeElement
const EcXmlBaseVariableCompoundTypem_pContainer
 a pointer to the container
 
- 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
 

Additional Inherited Members

- 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 ()
 
- 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 type of joint to rotate and translate at the same time.

A type of joint to rotate and translate at the same time. (i.e., simultaneous rotation about and translation along a single axis).

Definition at line 25 of file ecCustomTypeLink.h.

Member Function Documentation

virtual const EcGeneralAcceleration& EcCustomTypeLink::calculateAcceleration ( EcReal  jointValue,
EcReal  jointVelocity,
EcReal  jointAcceleration 
) const
virtual

get the general acceleration of the frame (locally represented).

The default frame velocity calculation. The acceleration is the relative acceleration of the current frame to the parent frame represented in the current frame. The default method will do a differentiation of the velocity, which is not as accurate if the close form solution of the frame acceleration can be implemented in the child class.

Parameters
[in]jointValueThe joint value.
[in]jointVelocityThe joint velocity.
[in]jointAccelerationThe joint acceleration.

Reimplemented from EcLinkKinematics.

virtual const EcGeneralMotion& EcCustomTypeLink::calculateVelocity ( EcReal  jointValue,
EcReal  jointVelocity 
) const
virtual

get the general motion of the frame (locally represented).

The default frame velocity calculation. The velocity is the relative speed of the current frame to the parent frame represented in the current frame. The default method will do a differentiation of the transformation, which is not as accurate if the close form solution of the frame velocity can be implemented in the child class.

Parameters
[in]jointValueThe joint value.
[in]jointVelocityThe joint velocity.

Reimplemented from EcLinkKinematics.

virtual void EcCustomTypeLink::getUnitFrameMotion ( EcGeneralMotion frameVelocity,
EcReal  jointValue 
) const
virtual

get the general motion of the DH frame due to unit joint motion this motion is locally represented.

virtual EcReal EcCustomTypeLink::jointParameterScalability ( ) const
virtual

return the scale factor for the joint parameter (=1 for a distance-based parameter, 0 for non-distance-based)

Implements EcLinkKinematics.

virtual void EcCustomTypeLink::scaleBy ( EcReal  scaleFactor)
virtual

scale the kinematics by the specified distance-scale value (scaleFactor=1.0 does not change the object)

Implements EcLinkKinematics.

virtual void EcCustomTypeLink::transformBy ( EcCoordinateSystemTransformation xform,
EcReal  jointValue 
) const
virtual

transform an inboard transformation to the link's DH frame The output is xform*DH(jointValue).

Implements EcLinkKinematics.

virtual void EcCustomTypeLink::transformBy ( const EcCoordinateSystemTransformation xform)
virtual

transform this by a general coordinate system transformation. This transformation is inserted before the link placement. For precursor P, this gives P=XForm*P;

Implements EcLinkKinematics.

virtual EcU32 EcCustomTypeLink::unitType ( ) const
virtual

return the unit type of the link kinematics (joint).

Implements EcLinkKinematics.


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.