Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

ArticulatedLink Class Reference

#include <ArticulatedLink.h>

Inheritance diagram for ArticulatedLink:

ArticulatedComponent ComposedPhysicalObject PhysicalObject GraphicalObject List of all members.

Public Member Functions

Public Attributes


Detailed Description

A link that composes an articulated agent. A link has an articulation on which the agent can produce a torque.

Definition at line 24 of file ArticulatedLink.h.


Constructor & Destructor Documentation

ArticulatedLink::ArticulatedLink const std::string &  label  ) 
 

Definition at line 14 of file ArticulatedLink.cpp.

References deltaThetaMax, eta, k, motorTorque, parentLink, theta, theta0, theta0Max, theta0Min, thetaD, thetaDD, and torqueContact.

ArticulatedLink::~ArticulatedLink  )  [virtual]
 

Definition at line 30 of file ArticulatedLink.cpp.


Member Function Documentation

void ArticulatedLink::computeForceQuasistatic GlobalContactInfoVector globalContacts  ) 
 

Computes the torque and force that acts on the link (from IStar and betaStar), for the quasistatical physics case.

Definition at line 69 of file ArticulatedLink.cpp.

References force, Matrix3::getElement(), Vector2::rotate(), Vector2::setToZero(), Vector3::x, Vector2::x, Vector2::y, Vector3::y, and Vector3::z.

Referenced by ArticulatedAgentQuasistatic::computeForces(), and ArticulatedAgentQuasistatic::computeTotalForces().

void ArticulatedLink::computeMotorTorque  ) 
 

Computes the motor torque, given theta and (target theta) theta0, as an elastic torque.

Definition at line 45 of file ArticulatedLink.cpp.

References k, motorTorque, and theta.

Referenced by ArticulatedAgentQuasistatic::forwardKinematics().

void ArticulatedLink::computeSinCos  ) 
 

Updates the values of sin, cos, sin2, cos2, sinCos as a function of theta

Definition at line 53 of file ArticulatedLink.cpp.

References cos2, cosTheta, sin2, sinCos, sinTheta, and theta.

Referenced by ArticulatedLimb::addOneObjectLink(), and ArticulatedAgentQuasistatic::forwardKinematics().

void ArticulatedLink::deleteContacts  )  [inline, virtual]
 

Delete the contacts of the object.

Reimplemented from PhysicalObject.

Definition at line 65 of file ArticulatedLink.h.

References PhysicalObject::deleteContacts(), force, Vector2::setToZero(), and torqueContact.

void ArticulatedLink::detectTorqueContact GlobalContactInfoVector contacts  ) 
 

Definition at line 98 of file ArticulatedLink.cpp.

References real, theta, theta0Max, and torqueContact.

void ArticulatedLink::draw GUI gui  )  [virtual]
 

Calls the draw method for the member objects.

Reimplemented from ComposedPhysicalObject.

Definition at line 106 of file ArticulatedLink.cpp.

References ComposedPhysicalObject::draw(), GUI::drawCircle(), real, GUI::setPenColor(), Vector2::x, and Vector2::y.

Referenced by ArticulatedLimb::draw().

void ArticulatedLink::fillContactMatrix ContactSolver contactSolver,
ContactInfo contactInfo
[inline, virtual]
 

Does nothing. The contact matrix filling for links is performed in ArticulatedAgent::forwardAccelerations.

Reimplemented from PhysicalObject.

Definition at line 61 of file ArticulatedLink.h.

void ArticulatedLink::integrate const Integrator integrator  )  [virtual]
 

Advances the time to the next timestep. A further call to forward kinematics is needed for updating the global coordinates.

Reimplemented from ComposedPhysicalObject.

Definition at line 33 of file ArticulatedLink.cpp.

References Integrator::integrate(), theta, thetaD, and thetaOld.

Referenced by ArticulatedAgentQuasistatic::integrate().

void ArticulatedLink::normalizeTheta  ) 
 

Normalizes theta to the interval (-Pi,Pi) around theta0

Definition at line 38 of file ArticulatedLink.cpp.

References theta, and theta0.

void ArticulatedLink::rollback  )  [inline, virtual]
 

Rolls back the time to the previous timestep.

Reimplemented from ComposedPhysicalObject.

Definition at line 44 of file ArticulatedLink.h.

References ComposedPhysicalObject::rollback(), and theta.

Referenced by ArticulatedAgentQuasistatic::rollback().

void ArticulatedLink::setParentLink ArticulatedLink parentLink  ) 
 

Definition at line 61 of file ArticulatedLink.cpp.

References childLinks.

Referenced by ArticulatedLimb::addOneObjectLink().


Member Data Documentation

ArticulatedLinkPVector ArticulatedLink::childLinks
 

A list of child links. The list does NOT own the links. It should NOT delete the child links on destruction.

Definition at line 125 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::backwardDynamics(), ArticulatedAgentQuasistatic::computeTotalForces(), and setParentLink().

Vector3 ArticulatedLink::coriolis
 

The Coriolis force.

Definition at line 96 of file ArticulatedLink.h.

real ArticulatedLink::cos2
 

Functions of theta

Definition at line 93 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::backwardDynamics(), and computeSinCos().

real ArticulatedLink::cosTheta
 

Functions of theta

Definition at line 93 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::backwardDynamics(), computeSinCos(), ArticulatedAgentQuasistatic::computeTotalForces(), and ArticulatedAgentQuasistatic::forwardAccelerations().

real ArticulatedLink::deltaThetaMax
 

The maximum permitted displacement relative to the equilibrium position of the link

Definition at line 108 of file ArticulatedLink.h.

Referenced by ArticulatedLink().

real ArticulatedLink::eta
 

Damping factor of the link articulation

Definition at line 115 of file ArticulatedLink.h.

Referenced by ArticulatedLink().

Vector2 ArticulatedLink::force
 

The force that is exercited on the link by its parent link, in laboratory reference system.

Definition at line 81 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::computeBodyDerivatives(), ArticulatedAgentQuasistatic::computeDerivatives(), computeForceQuasistatic(), ArticulatedAgentQuasistatic::computeTotalForces(), and deleteContacts().

Vector2 ArticulatedLink::forceLocal
 

The force that is exercited on the link by its parent link, in link reference system.

Definition at line 83 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::computeTotalForces().

bool ArticulatedLink::hasElasticTorque
 

Determines whether the torque should be computed as an elastic torque given by theta and theta0 (if true) or whether the torque is given at each timestep (if false)

Definition at line 52 of file ArticulatedLink.h.

Referenced by ArticulatedLimb::addOneObjectLink().

real ArticulatedLink::k
 

Elastic constant of the link articulation

Definition at line 113 of file ArticulatedLink.h.

Referenced by ArticulatedLink(), Iunctus::build(), and computeMotorTorque().

real ArticulatedLink::l
 

Length of the link along its x axis

Definition at line 118 of file ArticulatedLink.h.

Referenced by ArticulatedLimb::addOneObjectLink(), ArticulatedAgentQuasistatic::backwardDynamics(), ArticulatedAgentQuasistatic::computeTotalForces(), ArticulatedAgentQuasistatic::forwardAccelerations(), and ArticulatedAgentQuasistatic::forwardKinematics().

real ArticulatedLink::motorTorque
 

The motor torque applied at the link joint

Definition at line 110 of file ArticulatedLink.h.

Referenced by ArticulatedLink(), ArticulatedAgentQuasistatic::backwardDynamics(), computeMotorTorque(), ArticulatedAgentQuasistatic::computeTotalForces(), and ArticulatedAgentQuasistatic::forwardAccelerations().

ArticulatedLink* ArticulatedLink::parentLink
 

The parent link.

Definition at line 121 of file ArticulatedLink.h.

Referenced by ArticulatedLink(), ArticulatedAgentQuasistatic::forwardAccelerations(), and ArticulatedAgentQuasistatic::forwardKinematics().

real ArticulatedLink::sin2
 

Functions of theta

Definition at line 93 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::backwardDynamics(), and computeSinCos().

real ArticulatedLink::sinCos
 

Functions of theta

Definition at line 93 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::backwardDynamics(), and computeSinCos().

real ArticulatedLink::sinTheta
 

Functions of theta

Definition at line 93 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::backwardDynamics(), computeSinCos(), ArticulatedAgentQuasistatic::computeTotalForces(), and ArticulatedAgentQuasistatic::forwardAccelerations().

real ArticulatedLink::theta
 

The rotation angle of the link relative to the coordinate system of the predecessor link. It is the generalized coordinate of the link.

Definition at line 89 of file ArticulatedLink.h.

Referenced by ArticulatedLimb::addOneObjectLink(), ArticulatedLink(), computeMotorTorque(), computeSinCos(), detectTorqueContact(), ArticulatedAgentQuasistatic::forwardKinematics(), integrate(), normalizeTheta(), Iunctus::proprioception(), and rollback().

real ArticulatedLink::theta0
 

The equilibrium position of the link, commanded by the motor neurons

Definition at line 104 of file ArticulatedLink.h.

Referenced by ArticulatedLimb::addOneObjectLink(), ArticulatedLink(), Iunctus::build(), Iunctus::controll(), and normalizeTheta().

real ArticulatedLink::theta0Max
 

Minimum and maximum values of theta0

Definition at line 106 of file ArticulatedLink.h.

Referenced by ArticulatedLink(), Iunctus::build(), Iunctus::controll(), detectTorqueContact(), and Iunctus::proprioception().

real ArticulatedLink::theta0Min
 

Minimum and maximum values of theta0

Definition at line 106 of file ArticulatedLink.h.

Referenced by ArticulatedLink(), Iunctus::build(), Iunctus::controll(), and Iunctus::proprioception().

real ArticulatedLink::thetaD
 

Temporal derivate of theta

Definition at line 99 of file ArticulatedLink.h.

Referenced by ArticulatedLink(), ArticulatedAgentQuasistatic::computeDerivatives(), ArticulatedAgentQuasistatic::forwardAccelerations(), and integrate().

real ArticulatedLink::thetaDD
 

Definition at line 101 of file ArticulatedLink.h.

Referenced by ArticulatedLink().

real ArticulatedLink::thetaOld
 

Definition at line 90 of file ArticulatedLink.h.

Referenced by integrate().

ContactInfo* ArticulatedLink::torqueContact
 

Definition at line 64 of file ArticulatedLink.h.

Referenced by ArticulatedLink(), ArticulatedAgentQuasistatic::backwardDynamics(), deleteContacts(), detectTorqueContact(), and ArticulatedAgentQuasistatic::forwardAccelerations().

Vector2 ArticulatedLink::totalForce
 

The total force that is exercited on the link, in laboratory reference system.

Definition at line 85 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::computeTotalForces().

real ArticulatedLink::totalTorque
 

The total torque that acts on the link, relative to its reference point.

Definition at line 79 of file ArticulatedLink.h.

Referenced by ArticulatedAgentQuasistatic::computeTotalForces().


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

Thyrix homepageUsers' guide

(C) Arxia 2004-2005