#include <IcubControllerServer.h>
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 |
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 |
||
) |
IcubControllerServer::~IcubControllerServer | ( | ) | [virtual] |
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 | ||
) |
constexpr double IcubControllerServer::ALL_JOINTS = -1.0 [static, private] |
bool IcubControllerServer::isFloatingBase [private] |
int IcubControllerServer::nDoF [private] |
iDynTree::SimpleLeggedOdometry IcubControllerServer::odometry [private] |
std::string IcubControllerServer::robotName [private] |
bool IcubControllerServer::useOdometry [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] |