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

robot::PlatformDescription Class Reference

Inheritance diagram for robot::PlatformDescription:

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

Collaboration graph
[legend]
List of all members.

Public Types

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

Public Member Functions

 PlatformDescription ()
 PlatformDescription (String name, const base::Dimension3 &dimensions, const base::Vector3 &originOffset, bool mobile, bool holonomic=true, Real L=1, Real W=2)
 PlatformDescription (const PlatformDescription &p)
PlatformDescriptionoperator= (const PlatformDescription &p)
void set (String name, const base::Dimension3 &dimensions, const base::Vector3 &originOffset, bool mobile, bool holonomic=true, Real L=1, Real W=2)
virtual String className () const
virtual bool isMobile () const
 < is the robot mobile, or fixed (e.g. to the floor)?

virtual bool isHolonomic () const
 < if mobile, is the platform capable of holonomic movement

virtual base::Dimension3 dimensions () const
 < physical platform bounding dimensions (Length, Width, Thickness)

virtual base::Vector3 originOffset () const
 < offset of platfom/robot origin from platform shape's origin

virtual Real L () const
 < distance of nonholonomic platform drive axle back from platform origin

virtual Real W () const
 < distance between nonholonomic platform steering axle and drive axle

virtual KinematicChain getKinematicChain (Int platformDOF=0, const base::Matrix4 &platformTransform=base::Matrix4()) const
virtual Real requiredSteeringAngle (const Vector &q, const Vector &qp) 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

 PlatformDescription (String name)
void setMobile (bool mobile)
void setHolonomic (bool holonomic)
void setDimensions (base::Dimension3 dimensions)
void setOriginOffset (base::Vector3 originOffset)
void setL (Real L)
void setW (Real W)
virtual void setName (const String &name)

Protected Attributes

int _refCount
bool onUnreferenceEnabled

Friends

class Robot

Detailed Description

An abstract description of a Robot's platform (typically the mobile base)

Definition at line 44 of file PlatformDescription.


Member Enumeration Documentation

enum base::Externalizable::ExternalizationType [inherited]
 

Enumeration values:
Input 
Output 
IO 

Definition at line 40 of file Externalizable.


Constructor & Destructor Documentation

robot::PlatformDescription::PlatformDescription  )  [inline]
 

Definition at line 47 of file PlatformDescription.

References base, and base::Dimension3.

robot::PlatformDescription::PlatformDescription String  name,
const base::Dimension3 dimensions,
const base::Vector3 originOffset,
bool  mobile,
bool  holonomic = true,
Real  L = 1,
Real  W = 2
[inline]
 

Definition at line 52 of file PlatformDescription.

References base::Dimension3.

robot::PlatformDescription::PlatformDescription const PlatformDescription p  )  [inline]
 

Definition at line 58 of file PlatformDescription.

robot::PlatformDescription::PlatformDescription String  name  )  [inline, protected]
 

Definition at line 137 of file PlatformDescription.


Member Function Documentation

virtual String robot::PlatformDescription::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 89 of file PlatformDescription.

virtual base::Dimension3 robot::PlatformDescription::dimensions  )  const [inline, virtual]
 

< physical platform bounding dimensions (Length, Width, Thickness)

Definition at line 96 of file PlatformDescription.

References base::Dimension3.

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::PlatformDescription::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.

Definition at line 133 of file PlatformDescription.

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

read or write object state to Externalizer

Implements base::Externalizable.

virtual bool robot::PlatformDescription::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.

Definition at line 130 of file PlatformDescription.

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

get an equivelent kinematic chain for this platform. The platform dof can either be 0, 3 or 6:

  • 0-dof: the chain consists of a single link; 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, platformDOF is considered 0

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=(), robot::RobotDescription::operator=(), operator=(), robot::ManipulatorDescription::operator=(), base::Named::operator=(), and robot::ManipulatorDescription::operator==().

virtual bool robot::PlatformDescription::isHolonomic  )  const [inline, virtual]
 

< if mobile, is the platform capable of holonomic movement

Definition at line 93 of file PlatformDescription.

virtual bool robot::PlatformDescription::isMobile  )  const [inline, virtual]
 

< is the robot mobile, or fixed (e.g. to the floor)?

Definition at line 91 of file PlatformDescription.

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.

virtual Real robot::PlatformDescription::L  )  const [inline, virtual]
 

< distance of nonholonomic platform drive axle back from platform origin

Definition at line 102 of file PlatformDescription.

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

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

PlatformDescription& robot::PlatformDescription::operator= const PlatformDescription p  )  [inline]
 

Definition at line 63 of file PlatformDescription.

References dims, base::Named::getName(), holonomic, mobile, nhL, nhW, offset, and base::Named::setName().

virtual base::Vector3 robot::PlatformDescription::originOffset  )  const [inline, virtual]
 

< offset of platfom/robot origin from platform shape's origin

Definition at line 99 of file PlatformDescription.

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

virtual Real robot::PlatformDescription::requiredSteeringAngle const Vector q,
const Vector qp
const [virtual]
 

utility method to compute the steering angle needed to move the non-holonomic platform from state q to qp. The dimension of q determines the platform DOF assumed (see getKinematicChain) - must be 0, 3 or 6. (since a 0-dof platform can't be controlled, 0 is returned)

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

void robot::PlatformDescription::set String  name,
const base::Dimension3 dimensions,
const base::Vector3 originOffset,
bool  mobile,
bool  holonomic = true,
Real  L = 1,
Real  W = 2
[inline]
 

Definition at line 75 of file PlatformDescription.

References base::Dimension3, setDimensions(), setHolonomic(), setL(), setMobile(), base::Named::setName(), setOriginOffset(), and setW().

void robot::PlatformDescription::setDimensions base::Dimension3  dimensions  )  [inline, protected]
 

Definition at line 141 of file PlatformDescription.

References base::Dimension3.

Referenced by set().

void robot::PlatformDescription::setHolonomic bool  holonomic  )  [inline, protected]
 

Definition at line 140 of file PlatformDescription.

Referenced by set().

void robot::PlatformDescription::setL Real  L  )  [inline, protected]
 

Definition at line 143 of file PlatformDescription.

Referenced by set().

void robot::PlatformDescription::setMobile bool  mobile  )  [inline, protected]
 

Definition at line 139 of file PlatformDescription.

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=(), robot::RobotDescription::operator=(), operator=(), robot::ManipulatorDescription::operator=(), base::Named::operator=(), robot::control::ManipulatorPIDPositionController::PositionInterface::PositionInterface(), robot::RobotDescription::set(), set(), robot::ManipulatorDescription::set(), and physics::Solid::setName().

void robot::PlatformDescription::setOriginOffset base::Vector3  originOffset  )  [inline, protected]
 

Definition at line 142 of file PlatformDescription.

Referenced by set().

void robot::PlatformDescription::setW Real  W  )  [inline, protected]
 

Definition at line 144 of file PlatformDescription.

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.

virtual Real robot::PlatformDescription::W  )  const [inline, virtual]
 

< distance between nonholonomic platform steering axle and drive axle

Definition at line 105 of file PlatformDescription.


Friends And Related Function Documentation

friend class Robot [friend]
 

Globals.h *

Definition at line 157 of file PlatformDescription.


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:41:59 2004 for OpenSim by doxygen 1.3.6