controller that manage multiple controllers, allows users to easily set multiple controllers for one robot. [詳細]
#include <controller.h>
Public メソッド | |
MultiController (EnvironmentBasePtr penv) | |
virtual | ~MultiController () |
virtual bool | Init (RobotBasePtr robot, const std::vector< int > &dofindices, int nControlTransformation) |
removes all controllers. [multi-thread safe] | |
virtual const std::vector< int > & | GetControlDOFIndices () const |
returns the dof indices controlled | |
virtual int | IsControlTransformation () const |
returns non-zero value if base affine transformation is controlled. | |
virtual RobotBasePtr | GetRobot () const |
virtual bool | AttachController (ControllerBasePtr controller, const std::vector< int > &dofindices, int nControlTransformation) |
initializes and adds a controller, must be called after being initialized. [multi-thread safe] | |
virtual void | RemoveController (ControllerBasePtr controller) |
removes a controller from being managed. [multi-thread safe] | |
virtual ControllerBasePtr | GetController (int dof) const |
gets the controller responsible for dof (in the robot). If dof < 0, returns the transform controller. [multi-thread safe] | |
virtual void | Reset (int options=0) |
Resets the current controller trajectories and any other state associated with the robot. | |
virtual bool | SetDesired (const std::vector< dReal > &values, TransformConstPtr trans=TransformConstPtr()) |
go to a specific position in configuration space. [multi-thread safe] | |
virtual bool | SetPath (TrajectoryBaseConstPtr ptraj) |
Follow a path in configuration space, adds to the queue of trajectories already in execution. [multi-thread safe] | |
virtual void | SimulationStep (dReal fTimeElapsed) |
Simulate one step forward for controllers running in the simulation environment. | |
virtual bool | IsDone () |
returns true only if all controllers return true | |
virtual dReal | GetTime () const |
return the maximum time | |
virtual void | GetVelocity (std::vector< dReal > &vel) const |
get velocity of the controlled DOFs | |
virtual void | GetTorque (std::vector< dReal > &torque) const |
![]() | |
ControllerBase (EnvironmentBasePtr penv) | |
virtual | ~ControllerBase () |
![]() | |
InterfaceBase (InterfaceType type, EnvironmentBasePtr penv) | |
virtual | ~InterfaceBase () |
InterfaceType | GetInterfaceType () const |
const std::string & | GetXMLId () const |
const std::string & | GetPluginName () const |
EnvironmentBasePtr | GetEnv () const |
const READERSMAP & | GetReadableInterfaces () const |
Returns the raw map reference, this is not multithread safe and the GetInterfaceMutex should be locked before using. | |
virtual XMLReadablePtr | GetReadableInterface (const std::string &xmltag) const |
Returns the readable interface. [multi-thread safe] | |
virtual XMLReadablePtr | SetReadableInterface (const std::string &xmltag, XMLReadablePtr readable) |
Set a new readable interface and return the previously set interface if it exists. [multi-thread safe] | |
virtual const std::string & | GetDescription () const |
Documentation of the interface in reStructuredText format. See Documenting Interfaces. [multi-thread safe] | |
virtual void | SetDescription (const std::string &description) |
sets a description [multi-thread safe] | |
virtual void | SetUserData (const std::string &key, UserDataPtr data) const |
set user data for a specific key. [multi-thread safe] | |
virtual UserDataPtr | GetUserData (const std::string &key=std::string()) const |
return the user custom data [multi-thread safe] | |
virtual bool | RemoveUserData (const std::string &key) const |
removes a user data pointer. if user data pointer does not exist, then return 0, otherwise 1. [multi-thread safe] | |
virtual void | SetUserData (UserDataPtr data) RAVE_DEPRECATED |
virtual const std::string & | GetURI () const |
the URI used to load the interface (sometimes this is not possible if the definition lies inside an environment file). [multi-thread safe] | |
virtual const std::string & | GetXMLFilename () const |
virtual void | Clone (InterfaceBaseConstPtr preference, int cloningoptions) |
Clone the contents of an interface to the current interface. | |
virtual bool | SendCommand (std::ostream &os, std::istream &is) |
Used to send special commands to the interface and receive output. | |
virtual void | Serialize (BaseXMLWriterPtr writer, int options=0) const |
serializes the interface | |
Protected 変数 | |
RobotBasePtr | _probot |
std::vector< int > | _dofindices |
std::vector< int > | _dofreverseindices |
int | _nControlTransformation |
std::list< ControllerBasePtr > | _listcontrollers |
std::vector< ControllerBasePtr > | _vcontrollersbydofs |
ControllerBasePtr | _ptransformcontroller |
TrajectoryBasePtr | _ptraj |
boost::mutex | _mutex |
Additional Inherited Members | |
![]() | |
typedef std::map< std::string, XMLReadablePtr, CaseInsensitiveCompare > | READERSMAP |
![]() | |
static InterfaceType | GetInterfaceTypeStatic () |
return the static interface type this class points to (used for safe casting) | |
![]() | |
typedef boost::function< bool(std::ostream &, std::istream &)> | InterfaceCommandFn |
The function to be executed for every command. | |
![]() | |
virtual void | RegisterCommand (const std::string &cmdname, InterfaceCommandFn fncmd, const std::string &strhelp) |
Registers a command and its help string. [multi-thread safe] | |
virtual void | UnregisterCommand (const std::string &cmdname) |
Unregisters the command. [multi-thread safe] | |
virtual boost::shared_mutex & | GetInterfaceMutex () const |
controller that manage multiple controllers, allows users to easily set multiple controllers for one robot.
The class also make sure individual controllers do not have colliding DOF. It ignores the
controller.h の 121 行で定義されています。
OpenRAVE::MultiController::MultiController | ( | EnvironmentBasePtr | penv | ) |
controller.cpp の 21 行で定義されています。
|
virtual |
controller.cpp の 25 行で定義されています。
|
virtual |
initializes and adds a controller, must be called after being initialized. [multi-thread safe]
controller | the controller to init |
dofindices | robot dof indices to control |
openrave_exception | if the controller dofs interfere with current set dofs, will throw an exception |
controller.cpp の 63 行で定義されています。
|
virtual |
returns the dof indices controlled
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 53 行で定義されています。
|
virtual |
gets the controller responsible for dof (in the robot). If dof < 0, returns the transform controller. [multi-thread safe]
controller.cpp の 101 行で定義されています。
|
virtual |
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 59 行で定義されています。
|
virtual |
|
virtual |
get torque/current/strain values
torque | [out] - returns the current torque/current/strain exerted by each of the dofs from outside forces. The feedforward and friction terms should be subtracted out already |
OpenRAVE::ControllerBaseを再定義しています。
controller.cpp の 211 行で定義されています。
|
virtual |
get velocity of the controlled DOFs
vel | [out] - current velocity of robot from the dof |
OpenRAVE::ControllerBaseを再定義しています。
controller.cpp の 194 行で定義されています。
|
virtual |
removes all controllers. [multi-thread safe]
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 29 行で定義されています。
|
virtual |
returns non-zero value if base affine transformation is controlled.
Only one controller can modify translation and orientation per robot. For now, the two cannot be divided.
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 56 行で定義されています。
|
virtual |
returns true only if all controllers return true
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 165 行で定義されています。
|
virtual |
removes a controller from being managed. [multi-thread safe]
controller.cpp の 87 行で定義されています。
|
virtual |
Resets the current controller trajectories and any other state associated with the robot.
options | - specific options that can be used to control what to reset |
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 117 行で定義されています。
|
virtual |
go to a specific position in configuration space. [multi-thread safe]
values | the final configuration in the control dofs |
trans | the transformation of the base. If not specified will use the current robot transformation. Ignored if controller does not use it |
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 125 行で定義されています。
|
virtual |
Follow a path in configuration space, adds to the queue of trajectories already in execution. [multi-thread safe]
ptraj | - the trajectory |
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 140 行で定義されています。
|
virtual |
Simulate one step forward for controllers running in the simulation environment.
fTimeElapsed | - time elapsed in simulation environment since last frame |
OpenRAVE::ControllerBaseを実装しています。
controller.cpp の 157 行で定義されています。
|
protected |
controller.h の 166 行で定義されています。
|
protected |
controller.h の 166 行で定義されています。
|
protected |
controller.h の 168 行で定義されています。
|
mutableprotected |
controller.h の 172 行で定義されています。
|
protected |
controller.h の 167 行で定義されています。
|
protected |
controller.h の 165 行で定義されています。
|
protected |
controller.h の 171 行で定義されています。
|
protected |
controller.h の 170 行で定義されています。
|
protected |
controller.h の 169 行で定義されています。