Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

robot::control::ManipulatorPIDPositionController Class Reference

Inheritance diagram for robot::control::ManipulatorPIDPositionController:

Inheritance graph
[legend]
Collaboration diagram for robot::control::ManipulatorPIDPositionController:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ManipulatorPIDPositionController (const robot::KinematicChain &chain)
 ManipulatorPIDPositionController (const ManipulatorPIDPositionController &c)
virtual String className () const
virtual Object & clone () const
virtual void setControlInterface (ref< ControlInterface > controlInterface)
virtual bool isConnected () const
virtual bool iterate (const base::Time &time)
virtual ref< ControlInterfacegetControlInterface (String interfaceName="") throw (std::invalid_argument)
 Provide ControlInterface for named interface (or default/possibly-only interface).

void setCoeffs (Real Kp, Real Ki=0, Real Kd=0)
virtual bool isSameKindAs (const ReferencedObject &) const
virtual bool isSameKindAs (const Object &) const
void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const

Protected Attributes

robot::KinematicChain chain
 kinematic chain of the manipulator we're controlling

ref< robot::ControlInterfacemanipInterface
 interface for joint control of manipulator

ref< PositionInterfacepositionInterface
 interface we return for joint position control

Int lastInputSize
 size of input on previous iteration

Int lastOutputSize
 size of output on previous iteration

Real Kp
Real Ki
Real Kd
Vector R
Vector pe
Vector s
int _refCount
bool onUnreferenceEnabled

Detailed Description

Controls the inputs of a Robot's serial manipulator to maintain a reference position.

Requires the following ControlInterface (:type)

:JointVelocityControl

Provides the following ControlInterface (name:type)

manipulatorPosition:JointPositionControl

Todo:
later this should be changed to require :JointForceControl instead.

Definition at line 56 of file ManipulatorPIDPositionController.


Constructor & Destructor Documentation

robot::control::ManipulatorPIDPositionController::ManipulatorPIDPositionController const robot::KinematicChain chain  ) 
 

Referenced by clone().

robot::control::ManipulatorPIDPositionController::ManipulatorPIDPositionController const ManipulatorPIDPositionController c  )  [inline]
 

Definition at line 60 of file ManipulatorPIDPositionController.

References manipInterface, and positionInterface.


Member Function Documentation

virtual String robot::control::ManipulatorPIDPositionController::className  )  const [inline, virtual]
 

return the name of the object's class type. Must be defined by derived classes.

Implements base::Object.

Definition at line 64 of file ManipulatorPIDPositionController.

virtual Object& robot::control::ManipulatorPIDPositionController::clone  )  const [inline, virtual]
 

Definition at line 65 of file ManipulatorPIDPositionController.

References ManipulatorPIDPositionController(), and NewObj.

void base::Referenced::enableOnUnreferenceCall bool  enabled  )  [inline, inherited]
 

If enabled, each call to unreference() will also call virtual method onUnreference()

Definition at line 115 of file Referenced.

References base::Referenced::onUnreferenceEnabled.

virtual ref<ControlInterface> robot::control::ManipulatorPIDPositionController::getControlInterface String  interfaceName = ""  )  throw (std::invalid_argument) [virtual]
 

Provide ControlInterface for named interface (or default/possibly-only interface).

Exceptions:
std::invalid_argument if the specified interface name is unknown.

Implements robot::Controllable.

virtual bool robot::control::ManipulatorPIDPositionController::isConnected  )  const [virtual]
 

Query if the Controller has been passed all the ControlInterfaces it needs via setControlInterface()

Reimplemented from robot::Controller.

virtual bool base::Object::isSameKindAs const Object  )  const [inline, virtual, inherited]
 

Definition at line 47 of file Object.

virtual bool base::ReferencedObject::isSameKindAs const ReferencedObject  )  const [inline, virtual, inherited]
 

Definition at line 52 of file ReferencedObject.

virtual bool robot::control::ManipulatorPIDPositionController::iterate const base::Time time  )  [virtual]
 

Execute an iteration of the control loop. returns true if it wants to quit the loop - however this may be ignored by the user/caller.

Implements robot::Controller.

virtual void base::Referenced::onUnreference  )  const [inline, virtual, inherited]
 

Called by unreference() if enabled via enableOnUnreferenceCall(true). Typically overridden in subclasses that wish to know about unreference() calls - for example to handle manually breaking cyclic references

Reimplemented in robot::control::ControllableAdaptor::AdaptorControlInterface, and robot::control::ControllableAdaptor.

Definition at line 121 of file Referenced.

Referenced by base::Referenced::unreference().

void base::Referenced::reference  )  const [inline, inherited]
 

Increment the reference count by one, indicating that this object has another pointer which is referencing it.

Definition at line 65 of file Referenced.

References base::Referenced::_refCount.

const int base::Referenced::referenceCount  )  const [inline, inherited]
 

Return the number pointers currently referencing this object.

Definition at line 112 of file Referenced.

References base::Referenced::_refCount.

Referenced by robot::control::ControllableAdaptor::AdaptorControlInterface::onUnreference().

void robot::control::ManipulatorPIDPositionController::setCoeffs Real  Kp,
Real  Ki = 0,
Real  Kd = 0
[inline]
 

Definition at line 77 of file ManipulatorPIDPositionController.

virtual void robot::control::ManipulatorPIDPositionController::setControlInterface ref< ControlInterface controlInterface  )  [virtual]
 

Provide ControlInterface through which Controller may control. Can be called multiple times to pass multiple ControlInterfaces. Unknown ControlInterface types will be ignored.

Implements robot::Controller.

bool base::Referenced::unreference  )  const [inline, inherited]
 

Decrement the reference count by one, indicating that a pointer to this object is referencing it. If the refence count goes to zero, it is assumed that this object is nolonger referenced and is automatically deleted.

Definition at line 81 of file Referenced.

References base::Referenced::_refCount, Exception, base::Referenced::onUnreference(), and base::Referenced::onUnreferenceEnabled.


Member Data Documentation

int base::Referenced::_refCount [mutable, protected, inherited]
 

Definition at line 136 of file Referenced.

Referenced by base::Referenced::reference(), base::Referenced::referenceCount(), base::Referenced::Referenced(), base::Referenced::unreference(), and base::Referenced::~Referenced().

robot::KinematicChain robot::control::ManipulatorPIDPositionController::chain [protected]
 

kinematic chain of the manipulator we're controlling

Definition at line 108 of file ManipulatorPIDPositionController.

Real robot::control::ManipulatorPIDPositionController::Kd [protected]
 

Definition at line 118 of file ManipulatorPIDPositionController.

Real robot::control::ManipulatorPIDPositionController::Ki [protected]
 

Definition at line 117 of file ManipulatorPIDPositionController.

Real robot::control::ManipulatorPIDPositionController::Kp [protected]
 

Definition at line 116 of file ManipulatorPIDPositionController.

Int robot::control::ManipulatorPIDPositionController::lastInputSize [protected]
 

size of input on previous iteration

Definition at line 113 of file ManipulatorPIDPositionController.

Int robot::control::ManipulatorPIDPositionController::lastOutputSize [protected]
 

size of output on previous iteration

Definition at line 114 of file ManipulatorPIDPositionController.

ref<robot::ControlInterface> robot::control::ManipulatorPIDPositionController::manipInterface [protected]
 

interface for joint control of manipulator

Definition at line 110 of file ManipulatorPIDPositionController.

Referenced by ManipulatorPIDPositionController().

bool base::Referenced::onUnreferenceEnabled [protected, inherited]
 

Definition at line 137 of file Referenced.

Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference().

Vector robot::control::ManipulatorPIDPositionController::pe [protected]
 

Definition at line 121 of file ManipulatorPIDPositionController.

ref<PositionInterface> robot::control::ManipulatorPIDPositionController::positionInterface [protected]
 

interface we return for joint position control

Definition at line 111 of file ManipulatorPIDPositionController.

Referenced by ManipulatorPIDPositionController().

Vector robot::control::ManipulatorPIDPositionController::R [protected]
 

Definition at line 120 of file ManipulatorPIDPositionController.

Vector robot::control::ManipulatorPIDPositionController::s [protected]
 

Definition at line 122 of file ManipulatorPIDPositionController.


The documentation for this class was generated from the following file:
Generated on Thu Jul 29 16:42:18 2004 for OpenSim by doxygen 1.3.6