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

robot::RobotDescription Class Reference

Inheritance diagram for robot::RobotDescription:

Inheritance graph
[legend]
Collaboration diagram for robot::RobotDescription:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ExternalizationType { Input = 1, Output = 2, IO = 3 }

Public Member Functions

 RobotDescription ()
 RobotDescription (String name, ref< const PlatformDescription > platformDescription, array< ref< const ManipulatorDescription > > manipulatorDescriptions, array< Vector3 > manipulatorOffsets)
 RobotDescription (const RobotDescription &r)
virtual String className () const
void set (String name, ref< const PlatformDescription > platformDescription, array< ref< const ManipulatorDescription > > manipulatorDescriptions, array< Vector3 > manipulatorOffsets)
virtual ref< PlatformDescriptionnewPlatformDescription () const
virtual ref< ManipulatorDescriptionnewManipulatorDescription () const
RobotDescriptionoperator= (const RobotDescription &r)
virtual ref< const PlatformDescriptionplatform () const
 get description of this robot's platform

virtual const array< ref<
const ManipulatorDescription > > & 
manipulators () const
 get descriptions of this robot's manipulators (if any)

virtual const array< Vector3 > & manipulatorOffsets () const
 get the offset of each manipulator from the platform origin

virtual KinematicChain getKinematicChain (Int platformDOF=0, const base::Matrix4 &platformTransform=base::Matrix4(), Int manipIndex=0, Int manipChainIndex=0) const
virtual bool formatSupported (const String format, Real version=1.0, ExternalizationType type=IO) const
 query if specific format is supported (for input, output or both)

virtual void externalize (base::Externalizer &e, String format="", Real version=1.0)
 read or write object state to Externalizer

virtual void externalize (base::Externalizer &e, String format="", Real version=1.0) const
 write object state to Externalizer (throws if e is in Input)

virtual const String & getName () const
void load (ref< VFile > archive, const String &format="", Real version=1.0)
void save (ref< VFile > archive, const String &format="", Real version=1.0)
virtual bool isSameKindAs (const Object &) const
virtual bool isSameKindAs (const ReferencedObject &) const
void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const

Protected Member Functions

 RobotDescription (const String &name)
void setPlatformDescription (ref< const PlatformDescription > pd)
void setManipulatorDescriptions (const array< ref< const ManipulatorDescription > > &mds)
void setManipulatorOffsets (const array< Vector3 > offsets)
virtual void setName (const String &name)

Protected Attributes

int _refCount
bool onUnreferenceEnabled

Friends

class Robot

Detailed Description

An abstract description of a Robot

Definition at line 45 of file RobotDescription.


Member Enumeration Documentation

enum base::Externalizable::ExternalizationType [inherited]
 

Enumeration values:
Input 
Output 
IO 

Definition at line 40 of file Externalizable.


Constructor & Destructor Documentation

robot::RobotDescription::RobotDescription  )  [inline]
 

Definition at line 48 of file RobotDescription.

robot::RobotDescription::RobotDescription String  name,
ref< const PlatformDescription platformDescription,
array< ref< const ManipulatorDescription > >  manipulatorDescriptions,
array< Vector3 manipulatorOffsets
[inline]
 

Definition at line 49 of file RobotDescription.

robot::RobotDescription::RobotDescription const RobotDescription r  )  [inline]
 

Definition at line 56 of file RobotDescription.

robot::RobotDescription::RobotDescription const String &  name  )  [inline, protected]
 

Definition at line 123 of file RobotDescription.


Member Function Documentation

virtual String robot::RobotDescription::className  )  const [inline, virtual]
 

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

Implements base::Object.

Reimplemented in robot::sim::SimulatedRobotDescription.

Definition at line 62 of file RobotDescription.

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 void robot::RobotDescription::externalize base::Externalizer e,
String  format = "",
Real  version = 1.0
const [inline, virtual]
 

write object state to Externalizer (throws if e is in Input)

Reimplemented from base::Externalizable.

Reimplemented in robot::sim::SimulatedRobotDescription.

Definition at line 118 of file RobotDescription.

virtual void robot::RobotDescription::externalize base::Externalizer e,
String  format = "",
Real  version = 1.0
[virtual]
 

read or write object state to Externalizer

Implements base::Externalizable.

Reimplemented in robot::sim::SimulatedRobotDescription.

virtual bool robot::RobotDescription::formatSupported const String  format,
Real  version = 1.0,
ExternalizationType  type = IO
const [inline, virtual]
 

query if specific format is supported (for input, output or both)

Implements base::Externalizable.

Reimplemented in robot::sim::SimulatedRobotDescription.

Definition at line 115 of file RobotDescription.

virtual KinematicChain robot::RobotDescription::getKinematicChain Int  platformDOF = 0,
const base::Matrix4 platformTransform = base::Matrix4(),
Int  manipIndex = 0,
Int  manipChainIndex = 0
const [virtual]
 

get an equivelent kinematic chain for the robot (from world frame to indicated manipulator end-effector). The platform dof can either be 0, 3 or 6:

  • 0-dof: the first link in the chain is a FixedTransform set to platformTransform (transform from world frame to platform origin)
  • 3-dof: platform position in the 2D (x,y) plane with orientation theta about the Z-axis. The static components of the platform position are taken from platformTransform.
  • 6-dof: platform position in 3D (x,y,z) and EulerRPY (roll, pitch, yaw) orientation. If the platform is not mobile, the platformDOF is considered 0 If the robot has no manipulator, the chain ends at the platform origin.

virtual const String& base::Named::getName  )  const [inline, virtual, inherited]
 

Definition at line 44 of file Named.

References base::String.

Referenced by physics::Collidable::findNamed(), physics::operator<<(), robot::ToolDescription::operator=(), operator=(), robot::PlatformDescription::operator=(), robot::ManipulatorDescription::operator=(), base::Named::operator=(), and robot::ManipulatorDescription::operator==().

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

Definition at line 52 of file ReferencedObject.

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

Definition at line 47 of file Object.

void base::Externalizable::load ref< VFile archive,
const String format = "",
Real  version = 1.0
[inherited]
 

virtual const array<Vector3>& robot::RobotDescription::manipulatorOffsets  )  const [inline, virtual]
 

get the offset of each manipulator from the platform origin

Definition at line 97 of file RobotDescription.

virtual const array<ref<const ManipulatorDescription> >& robot::RobotDescription::manipulators  )  const [inline, virtual]
 

get descriptions of this robot's manipulators (if any)

Definition at line 94 of file RobotDescription.

virtual ref<ManipulatorDescription> robot::RobotDescription::newManipulatorDescription  )  const [inline, virtual]
 

Reimplemented in robot::sim::SimulatedRobotDescription.

Definition at line 78 of file RobotDescription.

References NewObj.

virtual ref<PlatformDescription> robot::RobotDescription::newPlatformDescription  )  const [inline, virtual]
 

Reimplemented in robot::sim::SimulatedRobotDescription.

Definition at line 77 of file RobotDescription.

References NewObj.

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().

RobotDescription& robot::RobotDescription::operator= const RobotDescription r  )  [inline]
 

Definition at line 81 of file RobotDescription.

References base::Named::getName(), manipOffsets, manipulatorDescrs, platformDescr, and base::Named::setName().

virtual ref<const PlatformDescription> robot::RobotDescription::platform  )  const [inline, virtual]
 

get description of this robot's platform

Definition at line 91 of file RobotDescription.

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 base::Externalizable::save ref< VFile archive,
const String format = "",
Real  version = 1.0
[inherited]
 

void robot::RobotDescription::set String  name,
ref< const PlatformDescription platformDescription,
array< ref< const ManipulatorDescription > >  manipulatorDescriptions,
array< Vector3 manipulatorOffsets
[inline]
 

Definition at line 65 of file RobotDescription.

References setManipulatorDescriptions(), setManipulatorOffsets(), base::Named::setName(), and setPlatformDescription().

void robot::RobotDescription::setManipulatorDescriptions const array< ref< const ManipulatorDescription > > &  mds  )  [inline, protected]
 

Definition at line 126 of file RobotDescription.

Referenced by set().

void robot::RobotDescription::setManipulatorOffsets const array< Vector3 offsets  )  [inline, protected]
 

Definition at line 127 of file RobotDescription.

Referenced by set().

virtual void base::Named::setName const String name  )  [inline, protected, virtual, inherited]
 

Reimplemented in physics::Collidable, physics::Solid, and robot::sim::BasicEnvironment::Obstacle.

Definition at line 47 of file Named.

References base::String.

Referenced by robot::control::ControllableAdaptor::AdaptorControlInterface::AdaptorControlInterface(), robot::control::kinematics::BetaFormConstraints::BetaFormConstraint::BetaFormConstraint(), robot::control::kinematics::IKORController::EEPositionControlInterface::EEPositionControlInterface(), robot::control::kinematics::IKOR::JointLimitBetaConstraint::JointLimitBetaConstraint(), robot::control::kinematics::IKORController::LinkPositionsControlInterface::LinkPositionsControlInterface(), robot::ToolDescription::operator=(), operator=(), robot::PlatformDescription::operator=(), robot::ManipulatorDescription::operator=(), base::Named::operator=(), robot::control::ManipulatorPIDPositionController::PositionInterface::PositionInterface(), set(), robot::PlatformDescription::set(), robot::ManipulatorDescription::set(), and physics::Solid::setName().

void robot::RobotDescription::setPlatformDescription ref< const PlatformDescription pd  )  [inline, protected]
 

Definition at line 125 of file RobotDescription.

Referenced by set().

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.


Friends And Related Function Documentation

friend class Robot [friend]
 

Globals.h *

Definition at line 134 of file RobotDescription.


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().

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().


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