Public Types | |
typedef std::bitset< sizeof(Int)*8 | CollidableFlags ) |
typedef Int | CollidableFlag |
enum | ExternalizationType { Input = 1, Output = 2, IO = 3 } |
Public Member Functions | |
SimulatedPlatform () | |
SimulatedPlatform (ref< const robot::PlatformDescription > platformDescription, ref< physics::SolidSystem > solidSystem=ref< physics::SolidSystem >(0), bool dynamic=true) | |
virtual | ~SimulatedPlatform () |
virtual String | className () const |
virtual void | setDynamic (bool enabled) |
void | setSolidSystem (ref< physics::SolidSystem > solidSystem) |
ref< const robot::PlatformDescription > | getPlatformDescription () const |
void | construct (const base::Point3 &initialPosition, const base::Orient &initialOrientation) |
ref< physics::Solid > | getPlatformSolid () const |
void | setLeftBackWheelTorque (Real t) |
Nonholonomic platform - set the torque applied to the left back drive wheel. | |
void | setLeftBackWheelVel (Real v, Real maxTorque=10.0) |
Nonholonomic platform - set the velocity of the left back drive wheel. | |
Real | getLeftBackWheelVel () const |
Nonholonomic platform - get angular velocity of the left back drive wheel. | |
void | setRightBackWheelTorque (Real t) |
Nonholonomic platform - set the torque applied to the right back drive wheel. | |
void | setRightBackWheelVel (Real v, Real maxTorque=10.0) |
Nonholonomic platform - set the angular velocity of the right back drive wheel. | |
Real | getRightBackWheelVel () const |
Nonholonomic platform - get angular velocity of the right back drive wheel. | |
void | setSteeringTorque (Real t) |
Nonholonomic platform - set the torque applied by the front steering motor. | |
void | setSteeringVel (Real v, Real maxTorque=10.0) |
Nonholonomic platform - set the angular velocity of the front steering motor. | |
Real | getSteeringAngle () const |
Nonholonomic platform - get angle of the steering wheels. | |
virtual void | setPosition (const Point3 &pos) |
virtual Point3 | getPosition () const |
virtual void | setOrientation (const Orient &orient) |
virtual Orient | getOrientation () const |
virtual void | setConfiguration (const base::Transform &configuration) |
virtual base::Transform | getConfiguration () const |
virtual ref< physics::Collidable > | createCollidable (CollidableFlags flags=0) |
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, const String format="", Real version=1.0) |
read or write object state to Externalizer | |
virtual void | setPositionOrientation (const Point3 &pos, const Orient &orient) |
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 const String & | getName () const |
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 |
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) |
Protected Types | |
enum | PlatformSolids { Platform, LeftFrontWheel, RightFrontWheel, LeftBackWheel, RightBackWheel, LeftFrontWheelMount, RightFrontWheelMount, Crossbar, MaxPlatformSolids } |
Protected Member Functions | |
void | updateGroupConfigurationFromPlatformSolid () const |
void | disableCollisions (const array< ref< physics::Collidable > > &collidables) |
virtual void | setName (const String &name) |
Protected Attributes | |
ref< physics::SolidSystem > | solidSystem |
ref< const robot::PlatformDescription > | platformDescr |
bool | dynamic |
if true, full physics is simulated; if false, the Solids that comprise the Platform aren't connected together (& only their pos/orient is significant) | |
array< ref< physics::Solid > > | platformSolids |
Solids that comprise the platform, indexed by PlatformSolids enum. | |
ref< physics::SpatialGroup > | spatialGroup |
all the Spatials that comprise the platform (e.g. the Solids) | |
ref< physics::ConstraintGroup > | wheelConstraintGroup |
ref< physics::HingeJoint > | leftDriveHingeJoint |
ref< physics::HingeJoint > | rightDriveHingeJoint |
ref< physics::HingeJoint > | steeringHingeJoint |
ref< physics::Motor > | leftDriveMotor |
drive motor for left back wheel of non-holonomic mobile base | |
ref< physics::Motor > | rightDriveMotor |
drive motor for right back wheel of non-holonomic mobile base | |
ref< physics::Motor > | steeringMotor |
steering motor for front wheels of non-holonomic mobile base | |
int | _refCount |
bool | onUnreferenceEnabled |
Definition at line 49 of file SimulatedPlatform.
|
Definition at line 45 of file CollidableProvider. |
|
Definition at line 44 of file CollidableProvider. |
|
Definition at line 40 of file Externalizable. |
|
Definition at line 113 of file SimulatedPlatform. |
|
|
|
|
|
|
|
return the name of the object's class type. Must be defined by derived classes. Implements base::Object. Definition at line 56 of file SimulatedPlatform. |
|
|
|
Implements physics::CollidableProvider. |
|
|
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
|
read or write object state to Externalizer
Implements base::Externalizable. |
|
query if specific format is supported (for input, output or both)
Implements base::Externalizable. |
|
Reimplemented from physics::PositionableOrientable. |
|
Nonholonomic platform - get angular velocity of the left back drive wheel.
|
|
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==(). |
|
Implements physics::Orientable. |
|
get the 2D angle theta (rot. angle about Z-axis)
|
|
Definition at line 62 of file SimulatedPlatform. |
|
Definition at line 66 of file SimulatedPlatform. References platformSolids. |
|
Implements physics::Positionable. |
|
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. |
|
Nonholonomic platform - get angular velocity of the right back drive wheel.
|
|
Nonholonomic platform - get angle of the steering wheels.
|
|
|
|
Definition at line 52 of file ReferencedObject. |
|
|
|
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(). |
|
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. |
|
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(). |
|
|
|
Reimplemented from physics::PositionableOrientable. |
|
Definition at line 58 of file SimulatedPlatform. |
|
Nonholonomic platform - set the torque applied to the left back drive wheel.
|
|
Nonholonomic platform - set the velocity of the left back drive wheel.
|
|
|
Implements physics::Orientable. |
|
Implements physics::Positionable. |
|
set the 2D (x,y,theta) position (theta is rot. angle about Z-axis)
|
|
Definition at line 48 of file PositionableOrientable. References base::Point3, and physics::PositionableOrientable::setConfiguration(). |
|
Nonholonomic platform - set the torque applied to the right back drive wheel.
|
|
Nonholonomic platform - set the angular velocity of the right back drive wheel.
|
|
Definition at line 60 of file SimulatedPlatform. |
|
Nonholonomic platform - set the torque applied by the front steering motor.
|
|
Nonholonomic platform - set the angular velocity of the front steering motor.
|
|
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. |
|
|
|
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(). |
|
if true, full physics is simulated; if false, the Solids that comprise the Platform aren't connected together (& only their pos/orient is significant)
Definition at line 111 of file SimulatedPlatform. |
|
Definition at line 129 of file SimulatedPlatform. |
|
drive motor for left back wheel of non-holonomic mobile base
Definition at line 132 of file SimulatedPlatform. |
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
Definition at line 108 of file SimulatedPlatform. |
|
Solids that comprise the platform, indexed by PlatformSolids enum.
Definition at line 120 of file SimulatedPlatform. Referenced by getPlatformSolid(). |
|
Definition at line 130 of file SimulatedPlatform. |
|
drive motor for right back wheel of non-holonomic mobile base
Definition at line 133 of file SimulatedPlatform. |
|
Definition at line 107 of file SimulatedPlatform. |
|
all the Spatials that comprise the platform (e.g. the Solids)
Definition at line 122 of file SimulatedPlatform. |
|
Definition at line 131 of file SimulatedPlatform. |
|
steering motor for front wheels of non-holonomic mobile base
Definition at line 134 of file SimulatedPlatform. |
|
Definition at line 128 of file SimulatedPlatform. |