Klamp't  0.8.1
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ODERobot Class Reference

A robot simulated in an ODE "world". More...

#include <ODERobot.h>

Public Member Functions

 ODERobot (Robot &robot)
void Create (int index, dWorldID worldID, bool useBoundaryLayer=true)
void Clear ()
void EnableSelfCollisions (bool enabled)
bool SelfCollisionsEnabled () const
void SetConfig (const Config &q)
void GetConfig (Config &q) const
void SetVelocities (const Config &dq)
void GetVelocities (Config &dq) const
void AddTorques (const Vector &t)
Real GetJointAngle (int joint) const
Real GetJointVelocity (int joint) const
void AddJointTorque (int joint, Real t)
void SetJointDryFriction (int joint, Real coeff)
void SetJointFixedVelocity (int joint, Real vel, Real tmax)
Real GetLinkAngle (int link) const
Real GetLinkVelocity (int link) const
void AddLinkTorque (int link, Real t)
void SetLinkDryFriction (int link, Real coeff)
void SetLinkFixedVelocity (int link, Real vel, Real tmax)
Real GetDriverValue (int driver) const
Real GetDriverVelocity (int driver) const
void AddDriverTorques (const Vector &t)
void AddDriverTorque (int driver, Real t)
void SetDriverFixedVelocity (int driver, Real vel, Real tmax)
void SetLinkTransform (int link, const RigidTransform &T)
void GetLinkTransform (int link, RigidTransform &T) const
void SetLinkVelocity (int link, const Vector3 &w, const Vector3 &v)
void GetLinkVelocity (int link, Vector3 &w, Vector3 &v) const
Real GetKineticEnergy () const
Real GetKineticEnergy (int link) const
bool ReadState (File &f)
bool WriteState (File &f) const
dSpaceID space () const
dBodyID body (int link) const
dGeomID geom (int link) const
dJointID joint (int link) const
ODEGeometrytriMesh (int link) const
dBodyID baseBody (int link) const
dJointFeedback feedback (int link) const

Public Attributes


Static Public Attributes

static double defaultPadding
static ODESurfaceProperties defaultSurface

Detailed Description

A robot simulated in an ODE "world".

Collision detection geom is a list of ODEGeometry objects. The ODE "geom" of geom[i] contains user data = (void*)body_index. This can be used for collision identification. spaceID is a pointer to an ODE "space" containing all the robot's geometry.

If self-collisions should be tested, the EnableSelfCollisions function must be called first. It appears that the space has to be a dSimpleSpace which is somewhat less efficient than the default dHashSpace.

Note: if you manually set the robot's velocities, make sure to disable instability correction in the simulator for that time step.

The documentation for this class was generated from the following file: