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

robot::Robot Class Reference

Inheritance diagram for robot::Robot:

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

Collaboration graph
[legend]
List of all members.

Public Types

enum  CoordFrame {
  UnknownFrame, EndEffectorFrame, EndEffectorBaseFrame, BaseFrame,
  MountFrame, PlatformFrame, WorldFrame
}

Public Member Functions

virtual array< std::pair<
String, String > > 
controlInterfaces () const
virtual ref< ControlInterfacegetControlInterface (String interfaceName="")=0 throw (std::invalid_argument)
 get a ControlInterface by name (or throw if the name isn't a valid interface)

virtual bool isDescriptionProvided () const
 is there a description of this robot available?

virtual ref< const RobotDescriptiongetRobotDescription () const throw (std::logic_error)
 get a description of the robot, if provided. Throws an exception if no description can be provided.

virtual ref< RobotDescriptionnewRobotDescription () const
virtual ref< PlatformDescriptionnewPlatformDescription () const
virtual ref< ManipulatorDescriptionnewManipulatorDescription () const
virtual ref< ToolDescriptionnewToolDescription () const
base::Matrix4 coordFrameTransform (CoordFrame from, CoordFrame to=PlatformFrame, Int manipulatorIndex=0, const base::Matrix4 &T=base::Matrix4(), const base::Point3 &platformPosition=base::Point3(), const base::Orient &platformOrientation=base::Orient()) const
virtual bool isSameKindAs (const ReferencedObject &) const
virtual bool isSameKindAs (const Object &) const
virtual String className () const=0
void reference () const
bool unreference () const
const int referenceCount () const
void enableOnUnreferenceCall (bool enabled)
virtual void onUnreference () const

Static Public Member Functions

CoordFrame coordFrame (const String &frameString)
 convert String coord. frame specifier to CoordFrame

String coordFrame (CoordFrame coordFrame)
 convert coord. frame specifier to String


Protected Member Functions

 Robot ()
 Robot (const Robot &r)
void setRobotDescription (ref< const RobotDescription > robotDescription)

Protected Attributes

int _refCount
bool onUnreferenceEnabled

Detailed Description

An abstract Robot

Definition at line 42 of file Robot.


Member Enumeration Documentation

enum robot::Robot::CoordFrame
 

Enumeration values:
UnknownFrame 
EndEffectorFrame 
EndEffectorBaseFrame 
BaseFrame 
MountFrame 
PlatformFrame 
WorldFrame 

Definition at line 81 of file Robot.


Constructor & Destructor Documentation

robot::Robot::Robot  )  [inline, protected]
 

Definition at line 111 of file Robot.

robot::Robot::Robot const Robot r  )  [inline, protected]
 

Definition at line 112 of file Robot.


Member Function Documentation

virtual String base::Object::className  )  const [pure virtual, inherited]
 

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

Implemented in base::Application, base::BinarySerializer, base::Cache, base::CacheDirectory, base::CacheFile, base::ConstantExpression, base::CosExpression, base::DifferenceExpression, base::Directory, base::Expression, base::Externalizer, base::File, base::LineSegPathRep, base::LineSegTrajectoryRep, base::Math, base::NegateExpression, base::ParametricPathRep, base::ParametricTrajectoryRep, base::Path, base::PathComponent, base::PathName, base::ProductExpression, base::QuotientExpression, base::SimpleXMLSerializer, base::SinExpression, base::StdFileSystem, base::SumExpression, base::Time, base::Trajectory, base::Universe, base::VariableExpression, base::VDirectory, base::WaypointPathRep, base::WaypointTrajectoryRep, base::World, gfx::IndexedPoint3Array, gfx::OSGWorld, gfx::TriangleIterator, gfx::VisualPath, gfx::VisualTriangles, gfx::VisualTriangles::TriangleArrayIteratorState, physics::Body, physics::Box, physics::Capsule, physics::CollidableGroup, physics::CollisionModel::ModelState, physics::CollisionState, physics::Cone, physics::Cylinder, physics::DynamicSpatial, physics::GJKCollisionDetector, physics::GJKCollisionDetector::GJKCollisionState, physics::GJKCollisionModel, physics::HeightField, physics::LODTerrain, physics::MassProperties, physics::Material, physics::NullCollisionResponseHandler, physics::OBBCollisionDetector, physics::OBBCollisionDetector::OBBCollisionState, physics::OBBCollisionModel, physics::ODEBallJoint, physics::ODECollidableBody, physics::ODECollidableBody::BodyState, physics::ODECollidableGroup, physics::ODECollisionCuller, physics::ODECollisionDetector, physics::ODECollisionDetector::ODECollisionState, physics::ODECollisionModel, physics::ODECollisionResponseHandler, physics::ODEConstraintGroup, physics::ODEContactConstraint, physics::ODEDoubleHingeJoint, physics::ODEFixedConstraint, physics::ODEHingeJoint, physics::ODEMotor, physics::ODESliderJoint, physics::ODESolid, physics::ODESolidConnectedCollidableBody, physics::ODESolidSystem, physics::ODEUniversalJoint, physics::Polyhedron, physics::Polyhedron::Vertex, physics::Polyhedron::Edge, physics::Polyhedron::Polygon, physics::SimpleCollisionCuller, physics::SimpleTerrain, physics::Solid, physics::SOLIDCollisionDetector, physics::SOLIDCollisionDetector::SOLIDCollisionState, physics::SOLIDCollisionModel, physics::SolidCollisionResponseHandler, physics::SpatialGroup, physics::SpatialTransform, physics::Sphere, physics::Torus, physics::VisualDebugUtil, robot::AggregateControlInterface, robot::control::ControllableAdaptor, robot::control::ControllableAdaptor::AdaptorControlInterface, robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer, robot::control::kinematics::AnalyticLagrangianNullSpaceBetaOptimizer, robot::control::kinematics::BetaFormConstraints::BetaFormConstraint, robot::control::kinematics::BetaFormConstraints, robot::control::kinematics::IKOR, robot::control::kinematics::IKOR::JointLimitBetaConstraint, robot::control::kinematics::IKOR::PushAwayBetaConstraint, robot::control::kinematics::IKOR::RankLossBetaConstraint, robot::control::kinematics::IKORController, robot::control::kinematics::IKORController::EEPositionControlInterface, robot::control::kinematics::IKORController::LinkPositionsControlInterface, robot::control::kinematics::IKORFullSpaceSolver, robot::control::kinematics::LeastNormIKSolver, robot::control::kinematics::MPPseudoInvSolver, robot::control::kinematics::OldIKOR, robot::control::kinematics::ReferenceOpVectorFormObjective, robot::control::kinematics::SVDFullSpaceSolver, robot::control::ManipulatorPIDPositionController, robot::control::ManipulatorPIDPositionController::PositionInterface, robot::JFKengine, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::ManipulatorJointTrajectory, robot::NumericKinematicEvaluator, robot::PlatformDescription, robot::RobotDescription, robot::sim::BasicEnvironment, robot::sim::BasicEnvironment::Tool, robot::sim::BasicEnvironment::Obstacle, robot::sim::Environment, robot::sim::IKORTest, robot::sim::IKORTest::Test, robot::sim::IKORTester, robot::sim::SimulatedBasicEnvironment, robot::sim::SimulatedKinematicChain::ProximityCollisionResponseHandler, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedRobot::ManipulatorControlInterface, robot::sim::SimulatedRobot::ToolControlInterface, robot::sim::SimulatedRobot::PlatformControlInterface, robot::sim::SimulatedRobot::ProximitySensorInterface, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, robot::sim::TestBasicEnvironment, robot::sim::VisualIKORTest, robot::TestRobot, robot::TestRobot::ManipulatorControlInterface, robot::TestRobot::ToolControlInterface, robot::TestRobot::PlatformControlInterface, robot::TestRobot::ProximitySensorInterface, and robot::ToolDescription.

virtual array<std::pair<String,String> > robot::Robot::controlInterfaces  )  const [virtual]
 

A Robot provides a number of ControlInterfaces for various parts, such as its drive platform, manipulators and other sensors etc. Refer to documentation for specific concrete Robot implementation for specific ControlInterface names and descriptions. This method enumerates the ControlInterface names and their types. The interfaces can be obtained by passing the name to the getControlInterface() method.

Reimplemented in robot::sim::SimulatedRobot, and robot::TestRobot.

String robot::Robot::coordFrame CoordFrame  coordFrame  )  [static]
 

convert coord. frame specifier to String

CoordFrame robot::Robot::coordFrame const String &  frameString  )  [static]
 

convert String coord. frame specifier to CoordFrame

base::Matrix4 robot::Robot::coordFrameTransform CoordFrame  from,
CoordFrame  to = PlatformFrame,
Int  manipulatorIndex = 0,
const base::Matrix4 T = base::Matrix4(),
const base::Point3 platformPosition = base::Point3(),
const base::Orient platformOrientation = base::Orient()
const
 

Obtain transformation that will transform between coordinate frames Some transformations will require further information, such as specifying the forward kinematics transform from the base frame to the end-effector frame, or which manipulator (EndEffector[Base]Frame, BaseFrame & MountFrame) Transformations involving the WorldFrame require the platform position and orientation.

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::Robot::getControlInterface String  interfaceName = ""  )  throw (std::invalid_argument) [pure virtual]
 

get a ControlInterface by name (or throw if the name isn't a valid interface)

Implements robot::Controllable.

Implemented in robot::sim::SimulatedRobot, and robot::TestRobot.

virtual ref<const RobotDescription> robot::Robot::getRobotDescription  )  const throw (std::logic_error) [inline, virtual]
 

get a description of the robot, if provided. Throws an exception if no description can be provided.

Definition at line 64 of file Robot.

References Exception, and isDescriptionProvided().

virtual bool robot::Robot::isDescriptionProvided  )  const [inline, virtual]
 

is there a description of this robot available?

Reimplemented in robot::sim::SimulatedRobot, and robot::TestRobot.

Definition at line 61 of file Robot.

Referenced by getRobotDescription().

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 ref<ManipulatorDescription> robot::Robot::newManipulatorDescription  )  const [inline, virtual]
 

Reimplemented in robot::sim::SimulatedRobot.

Definition at line 76 of file Robot.

References NewObj.

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

Reimplemented in robot::sim::SimulatedRobot.

Definition at line 75 of file Robot.

References NewObj.

virtual ref<RobotDescription> robot::Robot::newRobotDescription  )  const [inline, virtual]
 

Definition at line 74 of file Robot.

References NewObj.

virtual ref<ToolDescription> robot::Robot::newToolDescription  )  const [inline, virtual]
 

Definition at line 77 of file Robot.

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

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::Robot::setRobotDescription ref< const RobotDescription robotDescription  )  [inline, protected]
 

Definition at line 115 of file Robot.

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

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