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

robot::sim::SimulatedKinematicChain Class Reference

Inheritance diagram for robot::sim::SimulatedKinematicChain:

Inheritance graph
[legend]
Collaboration diagram for robot::sim::SimulatedKinematicChain:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::bitset< sizeof(Int)*8 CollidableFlags )
typedef Int CollidableFlag
enum  ExternalizationType { Input = 1, Output = 2, IO = 3 }

Public Member Functions

 SimulatedKinematicChain (bool dynamic=true)
 SimulatedKinematicChain (ref< physics::SolidSystem > solidSystem, bool dynamic=true)
virtual void setDynamic (bool enabled)
virtual void setSolidSystem (ref< physics::SolidSystem > solidSystem)
virtual void setJointForce (Int j, Real f)=0
 Set the force (torque for revolute joints) of joint j (first joint j=1).

virtual void setJointVel (Int j, Real v, Real maxForce=10.0)=0
 Set the velocity (ang. velocity for revolute joints) of joint j (first joint j=1).

virtual void setJointPos (Int j, Real p)=0
 Set the position (angle for revolute joints) of joint j (first joint j=1).

virtual Real getJointPos (Int j) const=0
 Get the current theta* angle (revolute) or position d (prismatic) of the joint.

virtual Real getJointVel (Int j) const=0
 Get the current joint velocity (ang. velocity for revolute joints).

virtual Real getClosestObjectDistance (Int link) const=0
 get distance to closest object detected by proximity sensors on the link

virtual Vector3 getClosestObjectDirection (Int link) const=0
 get the direction vector to the closest object detected by proximity sensors on the link

virtual Real getClosestObjectSensorPosition (Int link) const=0
 get the distance along the link x-axis of the proximity sensor that detected the closest object to the link

virtual void setPositionOrientation (const Point3 &pos, const Orient &orient)
virtual void setConfiguration (const base::Transform &configuration)
virtual base::Transform getConfiguration () const
virtual void setPosition2D (const base::Point2 &p, Real theta)
 set the 2D (x,y,theta) position (theta is rot. angle about Z-axis)

virtual base::Point2 getPosition2D () const
 get the 2D (x,y) position

Real getOrientation2D () const
 get the 2D angle theta (rot. angle about Z-axis)

virtual void setPosition (const Point3 &pos)=0
virtual Point3 getPosition () const=0
virtual void setOrientation (const Orient &orient)=0
virtual Orient getOrientation () const=0
virtual const String & getName () 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
virtual ref< Collidable > createCollidable (CollidableFlags flags=0)=0
virtual bool formatSupported (String format, Real version=1.0, ExternalizationType type=IO) const=0
 query if specific format is supported (for input, output or both)

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

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

void load (ref< VFile > archive, const String &format="", Real version=1.0)
void save (ref< VFile > archive, const String &format="", Real version=1.0)

Static Public Attributes

const Real maxDist

Protected Types

enum  CollidableClasses { SensorCollidableClass = 1 }

Protected Member Functions

 SimulatedKinematicChain (const SimulatedKinematicChain &kc)
virtual void construct (const base::Point3 &initialPosition, const base::Orient &initialOrientation)=0
 construct an approximation of the manipulator from the D-H parameters (best we can do)

virtual array< base::Dimension3computeLinkDimensions (const array< Real > &linkRadii)
virtual void createLinks (const array< base::Dimension3 > &linkDims)=0
 create the Solids for each link and assemble them into a Spatial tree (and add them to solidSystem)

virtual void positionLinks (const TransformInfo &transformInfo)=0
 position the links

virtual void disableCollisions (const array< ref< physics::Collidable > > &collidables, const array< ref< physics::Collidable > > &proximityCollidables)=0
virtual void attachJoints (const TransformInfo &transformInfo)=0
virtual void handleCollision (ref< physics::CollisionState > collisionState)=0
 called from ProximityCollisionResponseHandler::handleCollision()

virtual void setName (const String &name)

Protected Attributes

KinematicChain chain
ref< physics::SolidSystemsolidSystem
bool dynamic
 true for a dynamic simulation, fasle for static (no force/torque or velocity control, just position control)

array< ref< physics::SpatialGroup > > linkGroups
 a group for each link (which contains the link Solid and the group for the next link)

array< ref< physics::Solid > > links
 Solids for each link.

array< ref< physics::Joint > > joints
 Joint attaching each pair of consecutive links (dynamic simulation only).

array< Real > linkLengths
 Length of each link corresponding with links[].

array< ref< physics::Collidable > > collidables
 collidables for each link Solid

array< ref< physics::Collidable > > proximityCollidables
 collidables for each link's proximity sensor

base::Vector q
 current joint parameters (static simulation only)

ref< physics::CollidableGroupproximityCollidableGroup
array< ProximityDatalinkProximity
array< Real > linkProximitySurfPosition
 dist from link axis of proximity sensor (i.e. on link sufrace)

int _refCount
bool onUnreferenceEnabled

Friends

class SimulatedRobot
class ProximityCollisionResponseHandler

Detailed Description

Base for concrete classes that simulate kinematic chains

Definition at line 51 of file SimulatedKinematicChain.


Member Typedef Documentation

typedef Int physics::CollidableProvider::CollidableFlag [inherited]
 

Definition at line 45 of file CollidableProvider.

typedef std::bitset<sizeof(Int)*8 physics::CollidableProvider::CollidableFlags) [inherited]
 

Definition at line 44 of file CollidableProvider.


Member Enumeration Documentation

enum robot::sim::SimulatedKinematicChain::CollidableClasses [protected]
 

Enumeration values:
SensorCollidableClass 

Definition at line 177 of file SimulatedKinematicChain.

enum base::Externalizable::ExternalizationType [inherited]
 

Enumeration values:
Input 
Output 
IO 

Definition at line 40 of file Externalizable.


Constructor & Destructor Documentation

robot::sim::SimulatedKinematicChain::SimulatedKinematicChain bool  dynamic = true  )  [inline]
 

Definition at line 54 of file SimulatedKinematicChain.

robot::sim::SimulatedKinematicChain::SimulatedKinematicChain ref< physics::SolidSystem solidSystem,
bool  dynamic = true
[inline]
 

Definition at line 56 of file SimulatedKinematicChain.

robot::sim::SimulatedKinematicChain::SimulatedKinematicChain const SimulatedKinematicChain kc  )  [inline, protected]
 

Definition at line 107 of file SimulatedKinematicChain.

References Unimplemented.


Member Function Documentation

virtual void robot::sim::SimulatedKinematicChain::attachJoints const TransformInfo transformInfo  )  [protected, pure virtual]
 

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

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<base::Dimension3> robot::sim::SimulatedKinematicChain::computeLinkDimensions const array< Real > &  linkRadii  )  [protected, virtual]
 

compute the dimensions of each link's Solid based on the KinematicChain and fill in linkLengths[1..dof]

Reimplemented in robot::sim::SimulatedSerialManipulator.

virtual void robot::sim::SimulatedKinematicChain::construct const base::Point3 initialPosition,
const base::Orient initialOrientation
[protected, pure virtual]
 

construct an approximation of the manipulator from the D-H parameters (best we can do)

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual ref<Collidable> physics::CollidableProvider::createCollidable CollidableFlags  flags = 0  )  [pure virtual, inherited]
 

Implemented in physics::ODESolidSystem, physics::Solid, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual void robot::sim::SimulatedKinematicChain::createLinks const array< base::Dimension3 > &  linkDims  )  [protected, pure virtual]
 

create the Solids for each link and assemble them into a Spatial tree (and add them to solidSystem)

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual void robot::sim::SimulatedKinematicChain::disableCollisions const array< ref< physics::Collidable > > &  collidables,
const array< ref< physics::Collidable > > &  proximityCollidables
[protected, pure virtual]
 

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

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

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

Reimplemented in physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Polyhedron, physics::Sphere, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::PlatformDescription, robot::RobotDescription, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, and robot::ToolDescription.

virtual void base::Externalizable::externalize Externalizer e,
String  format = "",
Real  version = 1.0
[pure virtual, inherited]
 

read or write object state to Externalizer

Implemented in base::Path, base::Trajectory, physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Material, physics::Polyhedron, physics::Sphere, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::ManipulatorJointTrajectory, robot::PlatformDescription, robot::RobotDescription, robot::sim::IKORTest::Test, robot::sim::IKORTest, robot::sim::SimulatedBasicEnvironment, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, robot::sim::TestBasicEnvironment, robot::sim::VisualIKORTest, and robot::ToolDescription.

virtual bool base::Externalizable::formatSupported String  format,
Real  version = 1.0,
ExternalizationType  type = IO
const [pure virtual, inherited]
 

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

Implemented in base::Path, base::Trajectory, physics::Box, physics::Capsule, physics::Cone, physics::Cylinder, physics::LODTerrain, physics::Material, physics::Polyhedron, physics::Sphere, robot::KinematicChain::Link, robot::KinematicChain, robot::ManipulatorDescription, robot::ManipulatorJointTrajectory, robot::PlatformDescription, robot::RobotDescription, robot::sim::IKORTest::Test, robot::sim::IKORTest, robot::sim::SimulatedBasicEnvironment, robot::sim::SimulatedManipulatorDescription, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedRobotDescription, robot::sim::SimulatedSerialManipulator, robot::sim::SimulatedTool, robot::sim::TestBasicEnvironment, robot::sim::VisualIKORTest, and robot::ToolDescription.

virtual Vector3 robot::sim::SimulatedKinematicChain::getClosestObjectDirection Int  link  )  const [pure virtual]
 

get the direction vector to the closest object detected by proximity sensors on the link

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual Real robot::sim::SimulatedKinematicChain::getClosestObjectDistance Int  link  )  const [pure virtual]
 

get distance to closest object detected by proximity sensors on the link

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual Real robot::sim::SimulatedKinematicChain::getClosestObjectSensorPosition Int  link  )  const [pure virtual]
 

get the distance along the link x-axis of the proximity sensor that detected the closest object to the link

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual base::Transform physics::PositionableOrientable::getConfiguration  )  const [inline, virtual, inherited]
 

Reimplemented in physics::SpatialTransform, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Definition at line 60 of file PositionableOrientable.

References physics::Orientable::getOrientation(), and physics::Positionable::getPosition().

Referenced by physics::CollidableBody::getBoundingBox(), physics::DynamicSpatial::getGlobalPointRelPos(), physics::DynamicSpatial::getRelPointPos(), physics::PositionableOrientable::operator=(), and physics::PositionableOrientable::PositionableOrientable().

virtual Real robot::sim::SimulatedKinematicChain::getJointPos Int  j  )  const [pure virtual]
 

Get the current theta* angle (revolute) or position d (prismatic) of the joint.

*NB: the angle is relative to the theta home position.

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual Real robot::sim::SimulatedKinematicChain::getJointVel Int  j  )  const [pure virtual]
 

Get the current joint velocity (ang. velocity for revolute joints).

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

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

virtual Orient physics::Orientable::getOrientation  )  const [pure virtual, inherited]
 

Implemented in physics::DynamicSpatial, physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, physics::SolidConnectedCollidableBody, physics::SpatialGroup, physics::SpatialTransform, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Referenced by physics::PositionableOrientable::getConfiguration(), and physics::Orientable::operator=().

Real physics::PositionableOrientable::getOrientation2D  )  const [inherited]
 

get the 2D angle theta (rot. angle about Z-axis)

virtual Point3 physics::Positionable::getPosition  )  const [pure virtual, inherited]
 

Implemented in physics::DynamicSpatial, physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, physics::SolidConnectedCollidableBody, physics::SpatialGroup, physics::SpatialTransform, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Referenced by physics::PositionableOrientable::getConfiguration(), physics::PositionableOrientable::getPosition2D(), and physics::Positionable::operator=().

virtual base::Point2 physics::PositionableOrientable::getPosition2D  )  const [inline, virtual, inherited]
 

get the 2D (x,y) position

Definition at line 72 of file PositionableOrientable.

References physics::Positionable::getPosition(), base::Point2, base::Point3, base::Vector3::x, and base::Vector3::y.

virtual void robot::sim::SimulatedKinematicChain::handleCollision ref< physics::CollisionState collisionState  )  [protected, pure virtual]
 

called from ProximityCollisionResponseHandler::handleCollision()

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

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.

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

virtual void robot::sim::SimulatedKinematicChain::positionLinks const TransformInfo transformInfo  )  [protected, pure virtual]
 

position the links

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

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]
 

virtual void physics::PositionableOrientable::setConfiguration const base::Transform configuration  )  [inline, virtual, inherited]
 

Reimplemented in physics::SpatialGroup, physics::SpatialTransform, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Definition at line 53 of file PositionableOrientable.

References base::Transform::getRotation(), base::Transform::getTranslation(), physics::Orientable::setOrientation(), and physics::Positionable::setPosition().

Referenced by physics::PositionableOrientable::operator=(), physics::PositionableOrientable::PositionableOrientable(), and physics::PositionableOrientable::setPositionOrientation().

virtual void robot::sim::SimulatedKinematicChain::setDynamic bool  enabled  )  [inline, virtual]
 

Reimplemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Definition at line 60 of file SimulatedKinematicChain.

virtual void robot::sim::SimulatedKinematicChain::setJointForce Int  j,
Real  f
[pure virtual]
 

Set the force (torque for revolute joints) of joint j (first joint j=1).

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual void robot::sim::SimulatedKinematicChain::setJointPos Int  j,
Real  p
[pure virtual]
 

Set the position (angle for revolute joints) of joint j (first joint j=1).

NB: This will instantaneously move the joint to the specified angle - which obviously is not physically realistic. Consequently, for dynamic simulations, this can cause large forces in the system and possibly numerical instability in the simulation. It is intended for non-dynamic simulations. NB: the angle is relative to the theta home position.

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

virtual void robot::sim::SimulatedKinematicChain::setJointVel Int  j,
Real  v,
Real  maxForce = 10.0
[pure virtual]
 

Set the velocity (ang. velocity for revolute joints) of joint j (first joint j=1).

NB: As the simulation is force controlled, this will set the target velocity

Implemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

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

virtual void physics::Orientable::setOrientation const Orient orient  )  [pure virtual, inherited]
 

Implemented in physics::DynamicSpatial, physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, physics::SolidConnectedCollidableBody, physics::SpatialGroup, physics::SpatialTransform, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Referenced by physics::Orientable::operator=(), and physics::PositionableOrientable::setConfiguration().

virtual void physics::Positionable::setPosition const Point3 pos  )  [pure virtual, inherited]
 

Implemented in physics::DynamicSpatial, physics::ODECollidableBody, physics::ODESolid, physics::ODESolidConnectedCollidableBody, physics::SolidConnectedCollidableBody, physics::SpatialGroup, physics::SpatialTransform, robot::sim::SimulatedPlatform, robot::sim::SimulatedRobot, robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Referenced by physics::Positionable::operator=(), and physics::PositionableOrientable::setConfiguration().

virtual void physics::PositionableOrientable::setPosition2D const base::Point2 p,
Real  theta
[virtual, inherited]
 

set the 2D (x,y,theta) position (theta is rot. angle about Z-axis)

virtual void physics::PositionableOrientable::setPositionOrientation const Point3 pos,
const Orient orient
[inline, virtual, inherited]
 

Definition at line 48 of file PositionableOrientable.

References base::Point3, and physics::PositionableOrientable::setConfiguration().

virtual void robot::sim::SimulatedKinematicChain::setSolidSystem ref< physics::SolidSystem solidSystem  )  [inline, virtual]
 

Reimplemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Definition at line 62 of file SimulatedKinematicChain.

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 ProximityCollisionResponseHandler [friend]
 

Reimplemented in robot::sim::SimulatedSerialManipulator.

Definition at line 196 of file SimulatedKinematicChain.

friend class SimulatedRobot [friend]
 

Reimplemented in robot::sim::SimulatedSerialManipulator, and robot::sim::SimulatedTool.

Definition at line 195 of file SimulatedKinematicChain.


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

KinematicChain robot::sim::SimulatedKinematicChain::chain [protected]
 

Definition at line 109 of file SimulatedKinematicChain.

array<ref<physics::Collidable> > robot::sim::SimulatedKinematicChain::collidables [protected]
 

collidables for each link Solid

Definition at line 150 of file SimulatedKinematicChain.

bool robot::sim::SimulatedKinematicChain::dynamic [protected]
 

true for a dynamic simulation, fasle for static (no force/torque or velocity control, just position control)

Definition at line 113 of file SimulatedKinematicChain.

array<ref<physics::Joint> > robot::sim::SimulatedKinematicChain::joints [protected]
 

Joint attaching each pair of consecutive links (dynamic simulation only).

Definition at line 148 of file SimulatedKinematicChain.

array<ref<physics::SpatialGroup> > robot::sim::SimulatedKinematicChain::linkGroups [protected]
 

a group for each link (which contains the link Solid and the group for the next link)

Reimplemented in robot::sim::SimulatedSerialManipulator.

Definition at line 145 of file SimulatedKinematicChain.

array<Real> robot::sim::SimulatedKinematicChain::linkLengths [protected]
 

Length of each link corresponding with links[].

Definition at line 149 of file SimulatedKinematicChain.

array< ProximityData > robot::sim::SimulatedKinematicChain::linkProximity [protected]
 

Definition at line 191 of file SimulatedKinematicChain.

array< Real > robot::sim::SimulatedKinematicChain::linkProximitySurfPosition [protected]
 

dist from link axis of proximity sensor (i.e. on link sufrace)

Definition at line 193 of file SimulatedKinematicChain.

array<ref<physics::Solid> > robot::sim::SimulatedKinematicChain::links [protected]
 

Solids for each link.

Definition at line 147 of file SimulatedKinematicChain.

const Real robot::sim::SimulatedKinematicChain::maxDist [static]
 

Definition at line 94 of file SimulatedKinematicChain.

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

ref<physics::CollidableGroup> robot::sim::SimulatedKinematicChain::proximityCollidableGroup [protected]
 

Definition at line 179 of file SimulatedKinematicChain.

array<ref<physics::Collidable> > robot::sim::SimulatedKinematicChain::proximityCollidables [protected]
 

collidables for each link's proximity sensor

Definition at line 151 of file SimulatedKinematicChain.

base::Vector robot::sim::SimulatedKinematicChain::q [mutable, protected]
 

current joint parameters (static simulation only)

Definition at line 153 of file SimulatedKinematicChain.

ref<physics::SolidSystem> robot::sim::SimulatedKinematicChain::solidSystem [protected]
 

Definition at line 110 of file SimulatedKinematicChain.


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