ocra-wbi-plugins
Doxygen documentation for the ocra-wbi-plugins repository
IcubControllerServer Class Reference

#include <IcubControllerServer.h>

List of all members.

Public Member Functions

 IcubControllerServer (std::shared_ptr< wbi::wholeBodyInterface > robot, std::string icubName, const bool usingFloatingBase, const ocra_recipes::CONTROLLER_TYPE ctrlType=ocra_recipes::WOCRA_CONTROLLER, const ocra_recipes::SOLVER_TYPE solver=ocra_recipes::QUADPROG, const bool usingInterprocessCommunication=true, const bool useOdometry=false)
virtual ~IcubControllerServer ()
virtual ocra::Model::Ptr loadRobotModel ()
virtual void getRobotState (Eigen::VectorXd &q, Eigen::VectorXd &qd, Eigen::Displacementd &H_root, Eigen::Twistd &T_root)
bool initializeOdometry (std::string model_file, std::string initialFixedFrame)
std::vector< std::string > getCanonical_iCubJoints ()
void rootFrameVelocity (Eigen::VectorXd &q, Eigen::VectorXd &qd, iDynTree::Transform &wbi_H_root_Transform, double regularization, int LEFT_FOOT_CONTACT, int RIGHT_FOOT_CONTACT, Eigen::VectorXd &twist)
void rootFrameVelocityPivLU (Eigen::VectorXd &q, Eigen::VectorXd &qd, iDynTree::Transform &wbi_H_root_Transform, Eigen::VectorXd &twist)
void rootFrameVelocityPivLU (Eigen::VectorXd &q, Eigen::VectorXd &qd, iDynTree::Transform &wbi_H_root_Transform, int LEFT_FOOT_CONTACT, int RIGHT_FOOT_CONTACT, Eigen::VectorXd &twist)
void pinv (Eigen::MatrixXd mat, Eigen::MatrixXd &pinvmat, double pinvtoler=1.0e-6) const
void velocityError (Eigen::MatrixXd A, Eigen::MatrixXd B, Eigen::MatrixXd X)

Private Attributes

std::shared_ptr
< wbi::wholeBodyInterface > 
wbi
std::string robotName
bool isFloatingBase
bool useOdometry
int nDoF
Eigen::VectorXd wbi_H_root_Vector
Eigen::VectorXd wbi_T_root_Vector
wbi::Frame wbi_H_root
iDynTree::SimpleLeggedOdometry odometry

Static Private Attributes

static constexpr double ALL_JOINTS = -1.0

Constructor & Destructor Documentation

IcubControllerServer::IcubControllerServer ( std::shared_ptr< wbi::wholeBodyInterface >  robot,
std::string  icubName,
const bool  usingFloatingBase,
const ocra_recipes::CONTROLLER_TYPE  ctrlType = ocra_recipes::WOCRA_CONTROLLER,
const ocra_recipes::SOLVER_TYPE  solver = ocra_recipes::QUADPROG,
const bool  usingInterprocessCommunication = true,
const bool  useOdometry = false 
)

Member Function Documentation

std::vector< std::string > IcubControllerServer::getCanonical_iCubJoints ( )
void IcubControllerServer::getRobotState ( Eigen::VectorXd &  q,
Eigen::VectorXd &  qd,
Eigen::Displacementd &  H_root,
Eigen::Twistd &  T_root 
) [virtual]
bool IcubControllerServer::initializeOdometry ( std::string  model_file,
std::string  initialFixedFrame 
)
ocra::Model::Ptr IcubControllerServer::loadRobotModel ( ) [virtual]
void IcubControllerServer::pinv ( Eigen::MatrixXd  mat,
Eigen::MatrixXd &  pinvmat,
double  pinvtoler = 1.0e-6 
) const
void IcubControllerServer::rootFrameVelocity ( Eigen::VectorXd &  q,
Eigen::VectorXd &  qd,
iDynTree::Transform &  wbi_H_root_Transform,
double  regularization,
int  LEFT_FOOT_CONTACT,
int  RIGHT_FOOT_CONTACT,
Eigen::VectorXd &  twist 
)
void IcubControllerServer::rootFrameVelocityPivLU ( Eigen::VectorXd &  q,
Eigen::VectorXd &  qd,
iDynTree::Transform &  wbi_H_root_Transform,
Eigen::VectorXd &  twist 
)
void IcubControllerServer::rootFrameVelocityPivLU ( Eigen::VectorXd &  q,
Eigen::VectorXd &  qd,
iDynTree::Transform &  wbi_H_root_Transform,
int  LEFT_FOOT_CONTACT,
int  RIGHT_FOOT_CONTACT,
Eigen::VectorXd &  twist 
)
void IcubControllerServer::velocityError ( Eigen::MatrixXd  A,
Eigen::MatrixXd  B,
Eigen::MatrixXd  X 
)

Member Data Documentation

constexpr double IcubControllerServer::ALL_JOINTS = -1.0 [static, private]
iDynTree::SimpleLeggedOdometry IcubControllerServer::odometry [private]
std::string IcubControllerServer::robotName [private]
std::shared_ptr<wbi::wholeBodyInterface> IcubControllerServer::wbi [private]

The WBI used to talk to the robot.

wbi::Frame IcubControllerServer::wbi_H_root [private]
Eigen::VectorXd IcubControllerServer::wbi_H_root_Vector [private]
Eigen::VectorXd IcubControllerServer::wbi_T_root_Vector [private]

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines