AUTh-ARL Core Stack  0.7
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
lwr::robot::Robot Class Reference

#include <lwr_robot.h>

Inheritance diagram for lwr::robot::Robot:
Collaboration diagram for lwr::robot::Robot:

Public Member Functions

 Robot ()
 
 Robot (std::shared_ptr< arl::robot::Model > m, const std::string &name="KUKA LWR4+")
 
 Robot (const std::shared_ptr< arl::robot::Model > &m, const std::shared_ptr< arl::robot::Sensor > &sensor, double t1, double t2)
 Constructor which initializes LWR with an FT sensor. Use this constructor if you want the safety feature for stopping LWR when the F/T measuremets exceeds the given thresholds. More...
 
void stop ()
 
void setMode (arl::robot::Mode mode)
 Sets the mode of the robot. More...
 
void waitNextCycle ()
 Function that blocks the control loop before the next control cycle starts. More...
 
void setJointTrajectory (const KDL::JntArray &input, double duration, const int chain_index=-1)
 Sends joint trajectories to the robot using KDL. More...
 
void setJointTrajectory (const arma::vec &input, double duration, const int chain_index=-1)
 Sends joint trajectories to the robot using Armadillo. More...
 
void setJointTrajectory (const Eigen::VectorXd &input, double duration, const int chain_index=-1)
 Sends joint trajectories to the robot using Eigen. More...
 
template<typename T >
void setJointTrajectoryTemplate (const T &input, double duration, const int chain_index=-1)
 
void setJointPosition (const KDL::JntArray &input, const int chain_index=-1)
 Sends joint positions to the robot using KDL. More...
 
void setJointPosition (const arma::vec &input, const int chain_index=-1)
 Sends joint positions to the robot using Armadillo. More...
 
void setJointPosition (const Eigen::VectorXd &input, const int chain_index=-1)
 Sends joint positions to the robot using Eigen. More...
 
template<typename T >
void setJointPositionTemplate (const T &input, const int chain_index=-1)
 
void setJointVelocity (const KDL::JntArray &input, const int chain_index=-1)
 Sends joint velocities to the robot using KDL. More...
 
void setJointVelocity (const arma::vec &input, const int chain_index=-1)
 Sends joint velocities to the robot using Armadillo. More...
 
void setJointVelocity (const Eigen::VectorXd &input, const int chain_index=-1)
 Sends joint velocities to the robot using Eigen. More...
 
template<typename T >
void setJointVelocityTemplate (const T &input, const int chain_index=-1)
 
void setJointTorque (const KDL::JntArray &input, const int chain_index=-1)
 Sends joint velocities to the robot using KDL. More...
 
void setJointTorque (const arma::vec &input, const int chain_index=-1)
 Sends joint torques to the robot using Armadillo. More...
 
void setJointTorque (const Eigen::VectorXd &input, const int chain_index=-1)
 Sends joint torques to the robot using Eigen. More...
 
template<typename T >
void setJointTorqueTemplate (const T &input, const int chain_index=-1)
 
void getJointPosition (KDL::JntArray &output, const int chain_index=-1)
 Reads the current joint positions to the robot using KDL. More...
 
void getJointPosition (arma::vec &output, const int chain_index=-1)
 Reads the current joint positions from the robot using Armadillo. More...
 
void getJointPosition (Eigen::VectorXd &output, const int chain_index=-1)
 Reads the current joint positions from the robot using Eigen. More...
 
template<typename T >
void getJointPositionTemplate (T &output, const int chain_index=-1)
 
void getJointVelocity (KDL::JntArray &output, const int chain_index=-1)
 Reads the current joint velocities from the robot using KDL. More...
 
void getJointVelocity (arma::vec &output, const int chain_index=-1)
 Reads the current joint velocities from the robot using Armadillo. More...
 
void getJointVelocity (Eigen::VectorXd &output, const int chain_index=-1)
 Reads the current joint velocities from the robot using Eigen. More...
 
template<typename T >
void getJointVelocityTemplate (T &output, const int chain_index=-1)
 
void getJointTorque (KDL::JntArray &output, const int chain_index=-1)
 Reads the current joint torques from the robot using KDL. More...
 
void getJointTorque (arma::vec &output, const int chain_index=-1)
 Reads the current joint torques from the robot using Armadillo. More...
 
void getJointTorque (Eigen::VectorXd &output, const int chain_index=-1)
 Reads the current joint torques from the robot using Eigen. More...
 
template<typename T >
void getJointTorqueTemplate (T &output, const int chain_index=-1)
 
void getJointExternalTorque (KDL::JntArray &output, const int chain_index=-1)
 Reads the current external joint torques from the robot using KDL. More...
 
void getJointExternalTorque (arma::vec &output, const int chain_index=-1)
 Reads the current external joint torques from the robot using Armadillo. More...
 
void getJointExternalTorque (Eigen::VectorXd &output, const int chain_index=-1)
 Reads the current external joint torques from the robot using Eigen. More...
 
template<typename T >
void getJointExternalTorqueTemplate (T &output, const int chain_index=-1)
 
void getJacobian (KDL::Jacobian &output, const unsigned int chain_index=0)
 Reads the current base Jacobian matrix from the robot using KDL. More...
 
void getJacobian (arma::mat &output, const unsigned int chain_index=0)
 Reads the current base Jacobian matrix from the robot using Armadillo. More...
 
void getJacobian (Eigen::MatrixXd &output, const unsigned int chain_index=0)
 Reads the current base Jacobian matrix from the robot using Eigen. More...
 
template<typename T >
void getJacobianTemplate (T &output, const unsigned int chain_index=0)
 
void getMassMatrix (KDL::Frame &output, const unsigned int chain_index=0)
 
void getMassMatrix (arma::mat &output, const unsigned int chain_index=0)
 
void getMassMatrix (Eigen::MatrixXd &output, const unsigned int chain_index=0)
 
template<typename T >
void getMassMatrixTemplate (T &output, const unsigned int chain_index=0)
 
void getTaskPose (KDL::Frame &output, const unsigned int chain_index=0)
 Reads the current Cartesian pose from the robot using KDL. More...
 
void getTaskPose (arma::mat &output, const unsigned int chain_index=0)
 Reads the current Cartesian pose from the robot using Armadillo. More...
 
void getTaskPose (Eigen::MatrixXd &output, const unsigned int chain_index=0)
 Reads the current Cartesian pose from the robot using Eigen. More...
 
template<typename T >
void getTaskPoseTemplate (T &output, const unsigned int chain_index=0)
 
void getTaskPosition (KDL::Vector &output, const unsigned int chain_index=0)
 Reads the current Cartesian Position from the robot using KDL. More...
 
void getTaskPosition (arma::vec &output, const unsigned int chain_index=0)
 Reads the current Cartesian position from the robot using Armadillo. More...
 
void getTaskPosition (Eigen::Vector3d &output, const unsigned int chain_index=0)
 Reads the current joint positions from the robot using Eigen. More...
 
template<typename T >
void getTaskPositionTemplate (T &output, const unsigned int chain_index=0)
 
void getTaskOrientation (KDL::Rotation &output, const unsigned int chain_index=0)
 Reads the current Cartesian orientation (Rotation matrix) from the robot using KDL. More...
 
void getTaskOrientation (arma::mat &output, const unsigned int chain_index=0)
 Reads the current Cartesian orientation (Rotation matrix) from the robot using Armadillo. More...
 
void getTaskOrientation (Eigen::Matrix3d &output, const unsigned int chain_index=0)
 Reads the current Cartesian orientation (Rotation matrix) from the robot using Eigen. More...
 
template<typename T >
void getTaskOrientationTemplate (T &output, const unsigned int chain_index=0)
 
void getTwist (KDL::Twist &output, const unsigned int chain_index=0)
 Reads the current Cartesian velocity from the robot using KDL. More...
 
void getTwist (arma::vec &output, const unsigned int chain_index=0)
 Reads the current Cartesian velocity from the robot using Armadillo. More...
 
void getTwist (Eigen::VectorXd &output, const unsigned int chain_index=0)
 Reads the current Cartesian velocity from the robot using Eigen. More...
 
template<typename T >
void getTwistTemplate (T &output, const unsigned int chain_index=0)
 
void getExternalWrench (KDL::Wrench &output, const unsigned int chain_index=0)
 Reads the current external Cartesian force/torque from the robot using KDL. More...
 
void getExternalWrench (arma::vec &output, const unsigned int chain_index=0)
 Reads the current external Cartesian force/torque from the robot using Armadillo. More...
 
void getExternalWrench (Eigen::VectorXd &output, const unsigned int chain_index=0)
 Reads the current external Cartesian force/torque from the robot using Eigen. More...
 
template<typename T >
void getExternalWrenchTemplate (T &output, const unsigned int chain_index=0)
 
void setWrench (const KDL::Wrench &input, const unsigned int chain_index=0)
 Sends Cartesian velocity to the robot using KDL. More...
 
void setWrench (const arma::vec &input, const unsigned int chain_index=0)
 Sends Cartesian force/torque to the robot using Armadillo. More...
 
void setWrench (const Eigen::VectorXd &input, const unsigned int chain_index=0)
 Sends Cartesian force/torque to the robot using Eigen. More...
 
template<typename T >
void setWrenchTemplate (T &input, const unsigned int chain_index=0)
 
void setTaskPose (const KDL::Frame &input, const unsigned int chain_index=0)
 Sends joint torques to the robot using KDL. More...
 
void setTaskPose (const arma::mat &input, const unsigned int chain_index=0)
 Sends Cartesian pose to the robot using Armadillo. More...
 
void setTaskPose (const Eigen::MatrixXd &input, const unsigned int chain_index=0)
 Sends Cartesian pose to the robot using Eigen. More...
 
template<typename T >
void setTaskPoseTemplate (T &input, const unsigned int chain_index=0)
 
void setCartStiffness (const KDL::Wrench &input, const unsigned int chain_index=0)
 Sends the cartesian stiffness for robots which provide Cartesian Impedance controller. More...
 
void setCartStiffness (const arma::vec &input, const unsigned int chain_index=0)
 Sends the cartesian stiffness for robots which provide Cartesian Impedance controller. More...
 
void setCartStiffness (const Eigen::VectorXd &input, const unsigned int chain_index=0)
 Sends the cartesian stiffness for robots which provide Cartesian Impedance controller. More...
 
template<typename T >
void setCartStiffnessTemplate (T &input, const unsigned int chain_index=0)
 
void setCartDamping (const KDL::Wrench &input, const unsigned int chain_index=0)
 Sends the cartesian damping for robots which provide Cartesian Impedance controller. More...
 
void setCartDamping (const arma::vec &input, const unsigned int chain_index=0)
 Sends the cartesian damping for robots which provide Cartesian Impedance controller. More...
 
void setCartDamping (const Eigen::VectorXd &input, const unsigned int chain_index=0)
 Sends the cartesian damping for robots which provide Cartesian Impedance controller. More...
 
template<typename T >
void setCartDampingTemplate (T &input, const unsigned int chain_index=0)
 Be aware that the input should be ta damping ratio (0 to 1 values) More...
 
bool isOk ()
 Returns if the robot hardware is ok and operable. Should be implemented according to the robot in use. More...
 
- Public Member Functions inherited from arl::robot::Robot
 Robot ()
 Empty constructor. More...
 
 Robot (std::shared_ptr< Model > m, const std::string &name="Unnamed")
 Default constructor. More...
 
virtual void setTwist (const KDL::Twist &input, const unsigned int chain_index=0)
 
virtual void setTwist (const arma::vec &input, const unsigned int chain_index=0)
 Sends Cartesian velocity to the robot using Armadillo. More...
 
virtual void setTwist (const Eigen::VectorXd &input, const unsigned int chain_index=0)
 Sends Cartesian velocity to the robot using Eigen. More...
 
virtual void getJointStiffness (KDL::JntArray &output, const int chain_index=-1)
 Reads the current joint stiffness from the robot using KDL. More...
 
virtual void getJointStiffness (arma::vec &output, const int chain_index=-1)
 Reads the current joint stiffness from the robot using Armadillo. More...
 
virtual void getJointStiffness (Eigen::VectorXd &output, const int chain_index=-1)
 Reads the current joint stiffness from the robot using Eigen. More...
 
virtual void getJointDamping (KDL::JntArray &output, const int chain_index=-1)
 Reads the current joint damping from the robot using KDL. More...
 
virtual void getJointDamping (arma::vec &output, const int chain_index=-1)
 Reads the current joint damping from the robot using Armadillo. More...
 
virtual void getJointDamping (Eigen::VectorXd &output, const int chain_index=-1)
 Reads the current joint damping from the robot using Eigen. More...
 
virtual void getWrench (KDL::Wrench &output, const unsigned int chain_index=0)
 Reads the current Cartesian force/torque from the robot using KDL. More...
 
virtual void getWrench (arma::vec &output, const unsigned int chain_index=0)
 Reads the current Cartesian force/torque from the robot using Armadillo. More...
 
virtual void getWrench (Eigen::VectorXd &output, const unsigned int chain_index=0)
 Reads the current Cartesian force/torque from the robot using Eigen. More...
 
virtual void getTaskStiffness (KDL::JntArray &output, const unsigned int chain_index=0)
 Reads the current Cartesian stiffness from the robot using KDL. More...
 
virtual void getTaskStiffness (arma::vec &output, const unsigned int chain_index=0)
 Reads the current Cartesian stiffness from the robot using Armadillo. More...
 
virtual void getTaskStiffness (Eigen::VectorXd &output, const unsigned int chain_index=0)
 Reads the current Cartesian stiffness from the robot using Eigen. More...
 
virtual void getTaskDamping (KDL::JntArray &output, const unsigned int chain_index=0)
 Reads the current Cartesian damping from the robot using KDL. More...
 
virtual void getTaskDamping (arma::vec &output, const unsigned int chain_index=0)
 Reads the current Cartesian damping rom the robot using Armadillo. More...
 
virtual void getTaskDamping (Eigen::VectorXd &output, const unsigned int chain_index=0)
 Reads the current Cartesian damping from the robot using Eigen. More...
 
virtual void getMassMatrix (KDL::Frame &output, const int chain_index=0)
 Reads the current mass matrix from the robot. More...
 
virtual void getMassMatrix (arma::mat &output, const int chain_index=0)
 Reads the current mass matrix from the robot. More...
 
virtual void getMassMatrix (Eigen::MatrixXd &output, const int chain_index=0)
 Reads the current mass matrix from the robot. More...
 
virtual void measure ()
 
template<typename T >
void getJointVelocityGeneric (T &output, const int chain_index=-1)
 Reads the joint velocity using the derivative of the position (previous and current position) More...
 
template<typename T >
void setJointVelocityGeneric (T &input, const int chain_index=-1)
 Reads the joint velocity by integrating the position (previous and current position) More...
 

Additional Inherited Members

- Public Attributes inherited from arl::robot::Robot
arma::vec joint_pos_prev
 Stores the previous joint position used by arl::robot::setJointPositionGeneric. More...
 
double cycle
 The control cycle of the robot. More...
 
std::shared_ptr< Modelmodel
 A pointer to the Model that this Robot is using. More...
 
std::string robot_name
 The name of the robot. E.g. "KUKA LWR4". More...
 
std::string alias
 The alias of the robot, which is the name in lower case without spaces. E.g. "kuka_lwr4". More...
 
Mode mode
 The current Mode of the robot. More...
 
- Protected Member Functions inherited from arl::robot::Robot
void throwFunctionIsNotImplemented (std::string function_name)
 
- Protected Attributes inherited from arl::robot::Robot
std::vector< Statestate
 The current state of the robot. More...
 

Constructor & Destructor Documentation

lwr::robot::Robot::Robot ( )
lwr::robot::Robot::Robot ( std::shared_ptr< arl::robot::Model m,
const std::string &  name = "KUKA LWR4+" 
)
explicit
lwr::robot::Robot::Robot ( const std::shared_ptr< arl::robot::Model > &  m,
const std::shared_ptr< arl::robot::Sensor > &  sensor,
double  t1,
double  t2 
)

Constructor which initializes LWR with an FT sensor. Use this constructor if you want the safety feature for stopping LWR when the F/T measuremets exceeds the given thresholds.

Parameters
mThe model of the robot
sensorA pointer to the F/T sensor
t1The threhsold for the norm of the forces
t2The threhsold for the norm of the torques

Member Function Documentation

void lwr::robot::Robot::getExternalWrench ( KDL::Wrench &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current external Cartesian force/torque from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getExternalWrench ( arma::vec &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current external Cartesian force/torque from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getExternalWrench ( Eigen::VectorXd &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current external Cartesian force/torque from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getExternalWrenchTemplate ( T &  output,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::getJacobian ( KDL::Jacobian &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current base Jacobian matrix from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJacobian ( arma::mat &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current base Jacobian matrix from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJacobian ( Eigen::MatrixXd &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current base Jacobian matrix from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getJacobianTemplate ( T &  output,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::getJointExternalTorque ( KDL::JntArray &  output,
const int  chain_index = -1 
)
virtual

Reads the current external joint torques from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJointExternalTorque ( arma::vec &  output,
const int  chain_index = -1 
)
virtual

Reads the current external joint torques from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJointExternalTorque ( Eigen::VectorXd &  output,
const int  chain_index = -1 
)
virtual

Reads the current external joint torques from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getJointExternalTorqueTemplate ( T &  output,
const int  chain_index = -1 
)
inline
void lwr::robot::Robot::getJointPosition ( KDL::JntArray &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint positions to the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJointPosition ( arma::vec &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint positions from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJointPosition ( Eigen::VectorXd &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint positions from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getJointPositionTemplate ( T &  output,
const int  chain_index = -1 
)
inline
void lwr::robot::Robot::getJointTorque ( KDL::JntArray &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint torques from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJointTorque ( arma::vec &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint torques from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJointTorque ( Eigen::VectorXd &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint torques from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getJointTorqueTemplate ( T &  output,
const int  chain_index = -1 
)
inline
void lwr::robot::Robot::getJointVelocity ( KDL::JntArray &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint velocities from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJointVelocity ( arma::vec &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint velocities from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getJointVelocity ( Eigen::VectorXd &  output,
const int  chain_index = -1 
)
virtual

Reads the current joint velocities from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getJointVelocityTemplate ( T &  output,
const int  chain_index = -1 
)
inline
void lwr::robot::Robot::getMassMatrix ( KDL::Frame &  output,
const unsigned int  chain_index = 0 
)
void lwr::robot::Robot::getMassMatrix ( arma::mat &  output,
const unsigned int  chain_index = 0 
)

Here is the call graph for this function:

void lwr::robot::Robot::getMassMatrix ( Eigen::MatrixXd &  output,
const unsigned int  chain_index = 0 
)

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getMassMatrixTemplate ( T &  output,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::getTaskOrientation ( KDL::Rotation &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian orientation (Rotation matrix) from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getTaskOrientation ( arma::mat &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian orientation (Rotation matrix) from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getTaskOrientation ( Eigen::Matrix3d &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian orientation (Rotation matrix) from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getTaskOrientationTemplate ( T &  output,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::getTaskPose ( KDL::Frame &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian pose from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

void lwr::robot::Robot::getTaskPose ( arma::mat &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian pose from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getTaskPose ( Eigen::MatrixXd &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian pose from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getTaskPoseTemplate ( T &  output,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::getTaskPosition ( KDL::Vector &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian Position from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getTaskPosition ( arma::vec &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian position from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getTaskPosition ( Eigen::Vector3d &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current joint positions from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getTaskPositionTemplate ( T &  output,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::getTwist ( KDL::Twist &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian velocity from the robot using KDL.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getTwist ( arma::vec &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian velocity from the robot using Armadillo.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::getTwist ( Eigen::VectorXd &  output,
const unsigned int  chain_index = 0 
)
virtual

Reads the current Cartesian velocity from the robot using Eigen.

Parameters
outputThe output given by the robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::getTwistTemplate ( T &  output,
const unsigned int  chain_index = 0 
)
inline

Here is the call graph for this function:

bool lwr::robot::Robot::isOk ( )
virtual

Returns if the robot hardware is ok and operable. Should be implemented according to the robot in use.

Returns
True if the robot haven't returns any errors. False otherwise.

Implements arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setCartDamping ( const KDL::Wrench &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends the cartesian damping for robots which provide Cartesian Impedance controller.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setCartDamping ( const arma::vec &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends the cartesian damping for robots which provide Cartesian Impedance controller.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setCartDamping ( const Eigen::VectorXd &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends the cartesian damping for robots which provide Cartesian Impedance controller.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::setCartDampingTemplate ( T &  input,
const unsigned int  chain_index = 0 
)
inline

Be aware that the input should be ta damping ratio (0 to 1 values)

void lwr::robot::Robot::setCartStiffness ( const KDL::Wrench &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends the cartesian stiffness for robots which provide Cartesian Impedance controller.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setCartStiffness ( const arma::vec &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends the cartesian stiffness for robots which provide Cartesian Impedance controller.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setCartStiffness ( const Eigen::VectorXd &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends the cartesian stiffness for robots which provide Cartesian Impedance controller.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::setCartStiffnessTemplate ( T &  input,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::setJointPosition ( const KDL::JntArray &  input,
const int  chain_index = -1 
)
virtual

Sends joint positions to the robot using KDL.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setJointPosition ( const arma::vec &  input,
const int  chain_index = -1 
)
virtual

Sends joint positions to the robot using Armadillo.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setJointPosition ( const Eigen::VectorXd &  input,
const int  chain_index = -1 
)
virtual

Sends joint positions to the robot using Eigen.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::setJointPositionTemplate ( const T &  input,
const int  chain_index = -1 
)
inline
void lwr::robot::Robot::setJointTorque ( const KDL::JntArray &  input,
const int  chain_index = -1 
)
virtual

Sends joint velocities to the robot using KDL.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setJointTorque ( const arma::vec &  input,
const int  chain_index = -1 
)
virtual

Sends joint torques to the robot using Armadillo.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setJointTorque ( const Eigen::VectorXd &  input,
const int  chain_index = -1 
)
virtual

Sends joint torques to the robot using Eigen.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::setJointTorqueTemplate ( const T &  input,
const int  chain_index = -1 
)
inline
void lwr::robot::Robot::setJointTrajectory ( const KDL::JntArray &  input,
double  duration,
const int  chain_index = -1 
)
virtual

Sends joint trajectories to the robot using KDL.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setJointTrajectory ( const arma::vec &  input,
double  duration,
const int  chain_index = -1 
)
virtual

Sends joint trajectories to the robot using Armadillo.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setJointTrajectory ( const Eigen::VectorXd &  input,
double  duration,
const int  chain_index = -1 
)
virtual

Sends joint trajectories to the robot using Eigen.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::setJointTrajectoryTemplate ( const T &  input,
double  duration,
const int  chain_index = -1 
)
inline

Here is the call graph for this function:

void lwr::robot::Robot::setJointVelocity ( const KDL::JntArray &  input,
const int  chain_index = -1 
)
virtual

Sends joint velocities to the robot using KDL.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setJointVelocity ( const arma::vec &  input,
const int  chain_index = -1 
)
virtual

Sends joint velocities to the robot using Armadillo.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setJointVelocity ( const Eigen::VectorXd &  input,
const int  chain_index = -1 
)
virtual

Sends joint velocities to the robot using Eigen.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::setJointVelocityTemplate ( const T &  input,
const int  chain_index = -1 
)
inline
void lwr::robot::Robot::setMode ( arl::robot::Mode  mode)
virtual

Sets the mode of the robot.

Parameters
modeThe desired Mode of the Robot.
chain_indexThe chain that will change mode. Defaults to zero.

Reimplemented from arl::robot::Robot.

void lwr::robot::Robot::setTaskPose ( const KDL::Frame &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends joint torques to the robot using KDL.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setTaskPose ( const arma::mat &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends Cartesian pose to the robot using Armadillo.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setTaskPose ( const Eigen::MatrixXd &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends Cartesian pose to the robot using Eigen.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::setTaskPoseTemplate ( T &  input,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::setWrench ( const KDL::Wrench &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends Cartesian velocity to the robot using KDL.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setWrench ( const arma::vec &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends Cartesian force/torque to the robot using Armadillo.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

void lwr::robot::Robot::setWrench ( const Eigen::VectorXd &  input,
const unsigned int  chain_index = 0 
)
virtual

Sends Cartesian force/torque to the robot using Eigen.

Parameters
inputThe input for sending to robot
chain_indexThe index of the robots chain. Defaults to 0.

Reimplemented from arl::robot::Robot.

Here is the call graph for this function:

template<typename T >
void lwr::robot::Robot::setWrenchTemplate ( T &  input,
const unsigned int  chain_index = 0 
)
inline
void lwr::robot::Robot::stop ( )
virtual

Reimplemented from arl::robot::Robot.

void lwr::robot::Robot::waitNextCycle ( )
virtual

Function that blocks the control loop before the next control cycle starts.

Can be implemented by sleeping or waiting for a signal from the robot. The function is not const in case in some implementations you want to change variable (e.g. a flag for reading the velocity by differentiating the position).

Implements arl::robot::Robot.