Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
grl::vrep::VrepRobotArmDriver Class Reference

C++ interface for any open chain V-REP robot arm. More...

#include <VrepRobotArmDriver.hpp>

+ Inheritance diagram for grl::vrep::VrepRobotArmDriver:
+ Collaboration diagram for grl::vrep::VrepRobotArmDriver:

Classes

struct  JointStateTag
 

Public Types

typedef std::vector< float > JointScalar
 
enum  JointStateIndex {
  JointPosition, JointForce, JointTargetPosition, JointLowerPositionLimit,
  JointUpperPositionLimit, JointMatrix, JointStateTagIndex, ExternalTorque
}
 
enum  ParamIndex {
  JointNames, RobotFlangeTipName, RobotTipName, RobotTargetName,
  RobotTargetBaseName, RobotIkGroup
}
 
typedef std::tuple< std::vector< std::string >, std::string, std::string, std::string, std::string, std::string > Params
 
typedef std::tuple< JointScalar, JointScalar, JointScalar, JointScalar, JointScalar, TransformationMatrices, JointStateTag, JointScalarState
 
typedef std::vector< TransformationMatrixTransformationMatrices
 
typedef std::array< float, 12 > TransformationMatrix
 
typedef std::tuple< std::vector< int >, int, int, int, int, int > VrepHandleParams
 

Public Member Functions

void construct ()
 
const std::vector< int > & getJointHandles ()
 
const std::vector< std::string > & getJointNames ()
 
const std::vector< int > & getLinkHandles ()
 
const std::vector< std::string > & getLinkNames ()
 
const std::vector< int > & getLinkRespondableHandles ()
 
const std::vector< std::string > & getLinkRespondableNames ()
 
const ParamsgetParams ()
 
bool getState (State &state)
 
const VrepHandleParamsgetVrepHandleParams ()
 
bool setState (State &state)
 
 VrepRobotArmDriver (Params params=defaultParams())
 

Static Public Member Functions

static const Params defaultParams ()
 
static const Params measuredArmParams ()
 

Detailed Description

C++ interface for any open chain V-REP robot arm.

VrepRobotArmDriver makes it easy to specify and interact with the joints in a V-REP defined robot arm in a consistent manner.

Todo:

add support for links, particularly the respondable aspects, see LBR_iiwa_14_R820_joint1_resp in RoboneSimulation.ttt

write generic getters and setters for this object like in KukaFRIalgorithm.hpp and the member functions of KukaFRIdriver, KukaJAVAdriver

Definition at line 73 of file VrepRobotArmDriver.hpp.

Member Typedef Documentation

§ JointScalar

typedef std::vector<float> grl::vrep::VrepRobotArmDriver::JointScalar

Definition at line 164 of file VrepRobotArmDriver.hpp.

§ Params

typedef std::tuple< std::vector<std::string>, std::string, std::string, std::string, std::string, std::string > grl::vrep::VrepRobotArmDriver::Params

Definition at line 92 of file VrepRobotArmDriver.hpp.

§ State

Definition at line 180 of file VrepRobotArmDriver.hpp.

§ TransformationMatrices

Definition at line 168 of file VrepRobotArmDriver.hpp.

§ TransformationMatrix

§ VrepHandleParams

typedef std::tuple< std::vector<int>, int, int, int, int, int > grl::vrep::VrepRobotArmDriver::VrepHandleParams

Definition at line 101 of file VrepRobotArmDriver.hpp.

Member Enumeration Documentation

§ JointStateIndex

Enumerator
JointPosition 
JointForce 
JointTargetPosition 
JointLowerPositionLimit 
JointUpperPositionLimit 
JointMatrix 
JointStateTagIndex 
ExternalTorque 

Definition at line 152 of file VrepRobotArmDriver.hpp.

§ ParamIndex

Enumerator
JointNames 
RobotFlangeTipName 
RobotTipName 
RobotTargetName 
RobotTargetBaseName 
RobotIkGroup 

Definition at line 76 of file VrepRobotArmDriver.hpp.

Constructor & Destructor Documentation

§ VrepRobotArmDriver()

grl::vrep::VrepRobotArmDriver::VrepRobotArmDriver ( Params  params = defaultParams())
inline

Definition at line 183 of file VrepRobotArmDriver.hpp.

Member Function Documentation

§ construct()

void grl::vrep::VrepRobotArmDriver::construct ( )
inline
Todo:
create a function that calls simGetObjectHandle and throws an exception when it fails
Warning
getting the ik group is optional, so it does not throw an exception
Todo:
TODO(ahundt) move these functions/member variables into params_ object, take as parameters from lua!

Definition at line 190 of file VrepRobotArmDriver.hpp.

§ defaultParams()

static const Params grl::vrep::VrepRobotArmDriver::defaultParams ( )
inlinestatic

Definition at line 103 of file VrepRobotArmDriver.hpp.

§ getJointHandles()

const std::vector<int>& grl::vrep::VrepRobotArmDriver::getJointHandles ( )
inline
Todo:
deal with !allHandlesSet()

Definition at line 339 of file VrepRobotArmDriver.hpp.

§ getJointNames()

const std::vector<std::string>& grl::vrep::VrepRobotArmDriver::getJointNames ( )
inline

Definition at line 344 of file VrepRobotArmDriver.hpp.

§ getLinkHandles()

const std::vector<int>& grl::vrep::VrepRobotArmDriver::getLinkHandles ( )
inline
Todo:
deal with !allHandlesSet()

Definition at line 351 of file VrepRobotArmDriver.hpp.

§ getLinkNames()

const std::vector<std::string>& grl::vrep::VrepRobotArmDriver::getLinkNames ( )
inline

Definition at line 356 of file VrepRobotArmDriver.hpp.

§ getLinkRespondableHandles()

const std::vector<int>& grl::vrep::VrepRobotArmDriver::getLinkRespondableHandles ( )
inline
Todo:
deal with !allHandlesSet()

Definition at line 363 of file VrepRobotArmDriver.hpp.

§ getLinkRespondableNames()

const std::vector<std::string>& grl::vrep::VrepRobotArmDriver::getLinkRespondableNames ( )
inline

Definition at line 368 of file VrepRobotArmDriver.hpp.

§ getParams()

const Params& grl::vrep::VrepRobotArmDriver::getParams ( )
inline

Definition at line 375 of file VrepRobotArmDriver.hpp.

§ getState()

bool grl::vrep::VrepRobotArmDriver::getState ( State state)
inline
Returns
0 if ok 1 if problem
Todo:
handle cyclic joints (see isCyclic below & simGetJointInterval)
Todo:
TODO(ahundt) is always setting infinity if it is cyclic the right thing to do?

Definition at line 217 of file VrepRobotArmDriver.hpp.

§ getVrepHandleParams()

const VrepHandleParams& grl::vrep::VrepRobotArmDriver::getVrepHandleParams ( )
inline

Definition at line 379 of file VrepRobotArmDriver.hpp.

§ measuredArmParams()

static const Params grl::vrep::VrepRobotArmDriver::measuredArmParams ( )
inlinestatic

Definition at line 125 of file VrepRobotArmDriver.hpp.

§ setState()

bool grl::vrep::VrepRobotArmDriver::setState ( State state)
inline

Definition at line 285 of file VrepRobotArmDriver.hpp.


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