openrave.org

 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義 グループ ページ
Public メソッド | Protected 変数 | すべてのメンバ一覧
クラス OpenRAVE::MultiController

controller that manage multiple controllers, allows users to easily set multiple controllers for one robot. [詳細]

#include <controller.h>

OpenRAVE::MultiControllerに対する継承グラフ
Inheritance graph
[凡例]
OpenRAVE::MultiControllerのコラボレーション図
Collaboration graph
[凡例]

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
 
- Public メソッド inherited from OpenRAVE::ControllerBase
 ControllerBase (EnvironmentBasePtr penv)
 
virtual ~ControllerBase ()
 
- Public メソッド inherited from OpenRAVE::InterfaceBase
 InterfaceBase (InterfaceType type, EnvironmentBasePtr penv)
 
virtual ~InterfaceBase ()
 
InterfaceType GetInterfaceType () const
 
const std::string & GetXMLId () const
 
const std::string & GetPluginName () const
 
EnvironmentBasePtr GetEnv () const
 
const READERSMAPGetReadableInterfaces () 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

- Public 型 inherited from OpenRAVE::InterfaceBase
typedef std::map< std::string,
XMLReadablePtr,
CaseInsensitiveCompare
READERSMAP
 
- Static Public メソッド inherited from OpenRAVE::ControllerBase
static InterfaceType GetInterfaceTypeStatic ()
 return the static interface type this class points to (used for safe casting)
 
- Protected 型 inherited from OpenRAVE::InterfaceBase
typedef boost::function< bool(std::ostream
&, std::istream &)> 
InterfaceCommandFn
 The function to be executed for every command.
 
- Protected メソッド inherited from OpenRAVE::InterfaceBase
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

例:
ormulticontrol.cpp.

controller.h121 行で定義されています。

コンストラクタとデストラクタ

OpenRAVE::MultiController::MultiController ( EnvironmentBasePtr  penv)

controller.cpp21 行で定義されています。

OpenRAVE::MultiController::~MultiController ( )
virtual

controller.cpp25 行で定義されています。

関数

bool OpenRAVE::MultiController::AttachController ( ControllerBasePtr  controller,
const std::vector< int > &  dofindices,
int  nControlTransformation 
)
virtual

initializes and adds a controller, must be called after being initialized. [multi-thread safe]

引数
controllerthe controller to init
dofindicesrobot dof indices to control
例外
openrave_exceptionif the controller dofs interfere with current set dofs, will throw an exception

controller.cpp63 行で定義されています。

const std::vector< int > & OpenRAVE::MultiController::GetControlDOFIndices ( ) const
virtual

returns the dof indices controlled

OpenRAVE::ControllerBaseを実装しています。

controller.cpp53 行で定義されています。

ControllerBasePtr OpenRAVE::MultiController::GetController ( int  dof) const
virtual

gets the controller responsible for dof (in the robot). If dof < 0, returns the transform controller. [multi-thread safe]

controller.cpp101 行で定義されています。

RobotBasePtr OpenRAVE::MultiController::GetRobot ( ) const
virtual

OpenRAVE::ControllerBaseを実装しています。

controller.cpp59 行で定義されています。

dReal OpenRAVE::MultiController::GetTime ( ) const
virtual

return the maximum time

OpenRAVE::ControllerBaseを再定義しています。

controller.cpp175 行で定義されています。

void OpenRAVE::MultiController::GetTorque ( std::vector< dReal > &  torque) const
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.cpp211 行で定義されています。

void OpenRAVE::MultiController::GetVelocity ( std::vector< dReal > &  vel) const
virtual

get velocity of the controlled DOFs

引数
vel[out] - current velocity of robot from the dof

OpenRAVE::ControllerBaseを再定義しています。

controller.cpp194 行で定義されています。

bool OpenRAVE::MultiController::Init ( RobotBasePtr  robot,
const std::vector< int > &  dofindices,
int  nControlTransformation 
)
virtual

removes all controllers. [multi-thread safe]

OpenRAVE::ControllerBaseを実装しています。

controller.cpp29 行で定義されています。

int OpenRAVE::MultiController::IsControlTransformation ( ) const
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.cpp56 行で定義されています。

bool OpenRAVE::MultiController::IsDone ( )
virtual

returns true only if all controllers return true

OpenRAVE::ControllerBaseを実装しています。

controller.cpp165 行で定義されています。

void OpenRAVE::MultiController::RemoveController ( ControllerBasePtr  controller)
virtual

removes a controller from being managed. [multi-thread safe]

controller.cpp87 行で定義されています。

void OpenRAVE::MultiController::Reset ( int  options = 0)
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.cpp117 行で定義されています。

bool OpenRAVE::MultiController::SetDesired ( const std::vector< dReal > &  values,
TransformConstPtr  trans = TransformConstPtr() 
)
virtual

go to a specific position in configuration space. [multi-thread safe]

引数
valuesthe final configuration in the control dofs
transthe transformation of the base. If not specified will use the current robot transformation. Ignored if controller does not use it
戻り値
true if position operation successful.

OpenRAVE::ControllerBaseを実装しています。

controller.cpp125 行で定義されています。

bool OpenRAVE::MultiController::SetPath ( TrajectoryBaseConstPtr  ptraj)
virtual

Follow a path in configuration space, adds to the queue of trajectories already in execution. [multi-thread safe]

引数
ptraj- the trajectory
戻り値
true if trajectory operation successful

OpenRAVE::ControllerBaseを実装しています。

controller.cpp140 行で定義されています。

void OpenRAVE::MultiController::SimulationStep ( dReal  fTimeElapsed)
virtual

Simulate one step forward for controllers running in the simulation environment.

引数
fTimeElapsed- time elapsed in simulation environment since last frame

OpenRAVE::ControllerBaseを実装しています。

controller.cpp157 行で定義されています。

変数

std::vector<int> OpenRAVE::MultiController::_dofindices
protected

controller.h166 行で定義されています。

std::vector<int> OpenRAVE::MultiController::_dofreverseindices
protected

controller.h166 行で定義されています。

std::list<ControllerBasePtr> OpenRAVE::MultiController::_listcontrollers
protected

controller.h168 行で定義されています。

boost::mutex OpenRAVE::MultiController::_mutex
mutableprotected

controller.h172 行で定義されています。

int OpenRAVE::MultiController::_nControlTransformation
protected

controller.h167 行で定義されています。

RobotBasePtr OpenRAVE::MultiController::_probot
protected

controller.h165 行で定義されています。

TrajectoryBasePtr OpenRAVE::MultiController::_ptraj
protected

controller.h171 行で定義されています。

ControllerBasePtr OpenRAVE::MultiController::_ptransformcontroller
protected

controller.h170 行で定義されています。

std::vector<ControllerBasePtr> OpenRAVE::MultiController::_vcontrollersbydofs
protected

controller.h169 行で定義されています。


このクラスの説明は次のファイルから生成されました: