Class AngularMomentum

Inheritance Relationships

Base Type

Class Documentation

class AngularMomentum : public OpenSoT::Task<Eigen::MatrixXd, Eigen::VectorXd>

The AngularMomentum class implement the tracking of a desired angular momentum:

          \f$ \mathbf{A} \Delta \mathbf{q} = \mathbf{h}_d \text{dT}  \f$
where \( \mathbf{h}_d \) is the desired angular momentum at the CoM

Public Types

typedef std::shared_ptr<AngularMomentum> Ptr

Public Functions

AngularMomentum(XBot::ModelInterface &robot)

AngularMomentum constructor.

Parameters
  • x – joint states

  • robot – reference to a model

~AngularMomentum()
void setReference(const Eigen::Vector3d &desiredAngularMomentum)

setReference set a desired angular momentum at CoM

Parameters

desiredAngularMomentum – vector 3x1 NOTE: the input desired angular momentum has to be multiplied by \( \text{dT} \)!

void setReference(const KDL::Vector &desiredAngularMomentum)
void getReference(Eigen::Vector3d &desiredAngularMomentum) const

getReference get the desired angular momentum at CoM

Parameters

desiredAngularMomentum – vector 3x1

void getReference(KDL::Vector &desiredAngularMomentum) const
const Eigen::Vector3d &getReference() const
const std::string &getBaseLink() const

getBaseLink

Returns

“world”

const std::string &getDistalLink() const

getDistalLink

Returns

“CoM”

Public Static Functions

static bool isAngularMomentum(OpenSoT::Task<Eigen::MatrixXd, Eigen::VectorXd>::TaskPtr task)

isAngularMomentum

Parameters

task – a pointer to a Task

Returns

true if the task is AngularMomentum

static OpenSoT::tasks::velocity::AngularMomentum::Ptr asAngularMomentum(OpenSoT::Task<Eigen::MatrixXd, Eigen::VectorXd>::TaskPtr task)

asAngularMomentum

Parameters

task – a pointer to a Task

Returns

a pointer to an AngularMomentum Task