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

The main robot type used in RobotSim. More...

#include <Robot.h>

Inheritance diagram for Robot:

Public Member Functions

virtual std::string LinkName (int i) const
 
int LinkIndex (const char *name) const
 
bool Load (const char *fn)
 
bool LoadRob (const char *fn)
 
bool LoadURDF (const char *fn)
 
bool Save (const char *fn)
 
bool LoadGeometry (int i, const char *file)
 
void SetGeomFiles (const char *geomPrefix="", const char *geomExt="off")
 Sets the geometry file names to geomPrefix+[linkName].[geomExt].
 
void SetGeomFiles (const vector< string > &geomFiles)
 
bool SaveGeometry (const char *prefix="")
 
void InitStandardJoints ()
 
bool CheckValid () const
 
void Mount (int link, const Geometry::AnyGeometry3D &geom, const RigidTransform &T)
 
void Mount (int link, const Robot &subchain, const RigidTransform &T, const char *prefix=NULL)
 
void Merge (const std::vector< Robot * > &robots)
 Creates this into a mega-robot from several other robots.
 
bool DoesJointAffect (int joint, int dof) const
 
void GetJointIndices (int joint, vector< int > &indices) const
 
void SetJointByTransform (int joint, int link, const RigidTransform &T)
 Used for setting configuration of floating and ball-and-socket joints.
 
void SetJointByOrientation (int joint, int link, const Matrix3 &R)
 Used for setting configuration of floating and ball-and-socket joints.
 
void SetJointVelocityByMoment (int joint, int link, const Vector3 &w, const Vector3 &v)
 Used for setting velocity of floating and ball-and-socket joints.
 
bool IsPassiveDOF (int dof) const
 Returns true if the given DOF does not have a driver attached to it.
 
bool DoesDriverAffect (int driver, int dof) const
 
void GetDriverIndices (int driver, vector< int > &indices) const
 
Vector2 GetDriverLimits (int driver) const
 
Real GetDriverValue (int driver) const
 
Real GetDriverVelocity (int driver) const
 
void SetDriverValue (int driver, Real value)
 
void SetDriverVelocity (int driver, Real value)
 
void GetDriverJacobian (int driver, Vector &J)
 Returns a vector J such that the change in dof values is J*v where v is the change in the driver value.
 
void ComputeLipschitzMatrix ()
 

Public Attributes

string name
 
vector< string > geomFiles
 geometry file names (used in saving)
 
vector< ManagedGeometrygeomManagers
 geometry loaders (speeds up loading)
 
Vector accMax
 conservative acceleration limits, used by DynamicPath
 
vector< RobotJointjoints
 
vector< RobotJointDriverdrivers
 
vector< string > linkNames
 
vector< string > driverNames
 
PropertyMap properties
 
Matrix lipschitzMatrix
 A matrix of lipschitz constants (see ComputeLipschitzMatrix)
 

Static Public Attributes

static bool disableGeometryLoading
 

Detailed Description

The main robot type used in RobotSim.

Inherits its main functionality from RobotWithGeometry, but adds extra saving and loading to .rob files, and contains RobotJoint and RobotJointDriver information.

Member Function Documentation

void Robot::ComputeLipschitzMatrix ( )

The lipschitz matrix (i,j) is a bound on the amount that the geometry at link j moves in the workspace in response to a unit change in q(i) It is used by exact collision checkers, and is uninitialized by default.

Member Data Documentation

bool Robot::disableGeometryLoading
static

Set this to true if you want to disable loading of geometry – saves time for some utility programs.

PropertyMap Robot::properties

Any extra properties that might be useful. Currently, we support the following:

  • sensors: an XML string defining the robot's sensors. If an xml filename is given, this string is loaded from disk.
  • controller: an XML string defining the robot's controller. If an xml filename is given, this string is loaded from disk.

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