#include <tsid/formulations/inverse-dynamics-formulation-acc-force.hpp>
Public Types | |
typedef math::Vector | Vector |
typedef math::Matrix | Matrix |
typedef math::ConstRefVector | ConstRefVector |
typedef tasks::TaskBase | TaskBase |
typedef tasks::TaskMotion | TaskMotion |
typedef tasks::TaskContactForce | TaskContactForce |
typedef tasks::TaskActuation | TaskActuation |
typedef solvers::HQPOutput | HQPOutput |
![]() | |
typedef math::Vector | Vector |
typedef math::RefVector | RefVector |
typedef math::ConstRefVector | ConstRefVector |
typedef tasks::TaskMotion | TaskMotion |
typedef tasks::TaskContactForce | TaskContactForce |
typedef tasks::TaskActuation | TaskActuation |
typedef tasks::TaskBase | TaskBase |
typedef contacts::ContactBase | ContactBase |
typedef solvers::HQPData | HQPData |
typedef solvers::HQPOutput | HQPOutput |
typedef robots::RobotWrapper | RobotWrapper |
Public Member Functions | |
InverseDynamicsFormulationAccForce (const std::string &name, RobotWrapper &robot, bool verbose=false) | |
Data & | data () |
unsigned int | nVar () const |
unsigned int | nEq () const |
unsigned int | nIn () const |
bool | addMotionTask (TaskMotion &task, double weight, unsigned int priorityLevel, double transition_duration=0.0) |
bool | addForceTask (TaskContactForce &task, double weight, unsigned int priorityLevel, double transition_duration=0.0) |
bool | addActuationTask (TaskActuation &task, double weight, unsigned int priorityLevel, double transition_duration=0.0) |
bool | updateTaskWeight (const std::string &task_name, double weight) |
bool | addRigidContact (ContactBase &contact, double force_regularization_weight, double motion_weight=1.0, unsigned int motion_priority_level=0) |
Add a rigid contact constraint to the model, introducing the associated reaction forces as problem variables. More... | |
TSID_DEPRECATED bool | addRigidContact (ContactBase &contact) |
bool | updateRigidContactWeights (const std::string &contact_name, double force_regularization_weight, double motion_weight=-1.0) |
Update the weights associated to the specified contact. More... | |
bool | removeTask (const std::string &taskName, double transition_duration=0.0) |
bool | removeRigidContact (const std::string &contactName, double transition_duration=0.0) |
const HQPData & | computeProblemData (double time, ConstRefVector q, ConstRefVector v) |
const Vector & | getActuatorForces (const HQPOutput &sol) |
const Vector & | getAccelerations (const HQPOutput &sol) |
const Vector & | getContactForces (const HQPOutput &sol) |
Vector | getContactForces (const std::string &name, const HQPOutput &sol) |
bool | getContactForces (const std::string &name, const HQPOutput &sol, RefVector f) |
template<class TaskLevelPointer > | |
void | addTask (TaskLevelPointer task, double weight, unsigned int priorityLevel) |
void | resizeHqpData () |
bool | removeFromHqpData (const std::string &name) |
bool | decodeSolution (const HQPOutput &sol) |
![]() | |
InverseDynamicsFormulationBase (const std::string &name, RobotWrapper &robot, bool verbose=false) | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef pinocchio::Data | Data |
Data | m_data |
HQPData | m_hqpData |
std::vector< std::shared_ptr< TaskLevel > > | m_taskMotions |
std::vector< std::shared_ptr< TaskLevelForce > > | m_taskContactForces |
std::vector< std::shared_ptr< TaskLevel > > | m_taskActuations |
std::vector< std::shared_ptr< ContactLevel > > | m_contacts |
double | m_t |
unsigned int | m_k |
time More... | |
unsigned int | m_v |
number of contact-force variables More... | |
unsigned int | m_u |
number of acceleration variables More... | |
unsigned int | m_eq |
number of unactuated DoFs More... | |
unsigned int | m_in |
number of equality constraints More... | |
Matrix | m_Jc |
number of inequality constraints More... | |
std::shared_ptr< math::ConstraintEquality > | m_baseDynamics |
contact force Jacobian More... | |
bool | m_solutionDecoded |
Vector | m_dv |
Vector | m_f |
Vector | m_tau |
std::vector< std::shared_ptr< ContactTransitionInfo > > | m_contactTransitions |
![]() | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef pinocchio::Data | Data |
Additional Inherited Members | |
![]() | |
std::string | m_name |
RobotWrapper | m_robot |
bool | m_verbose |
typedef math::ConstRefVector tsid::InverseDynamicsFormulationAccForce::ConstRefVector |
InverseDynamicsFormulationAccForce::InverseDynamicsFormulationAccForce | ( | const std::string & | name, |
RobotWrapper & | robot, | ||
bool | verbose = false |
||
) |
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Reimplemented from tsid::InverseDynamicsFormulationBase.
|
virtual |
Add a rigid contact constraint to the model, introducing the associated reaction forces as problem variables.
contact | The contact constraint to add |
force_regularization_weight | The weight of the force regularization task |
motion_weight | The weight of the motion task (e.g., zero acceleration of contact points) |
motion_priority_level | Priority level of the motion task |
Implements tsid::InverseDynamicsFormulationBase.
void InverseDynamicsFormulationAccForce::addTask | ( | TaskLevelPointer | task, |
double | weight, | ||
unsigned int | priorityLevel | ||
) |
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
bool InverseDynamicsFormulationAccForce::decodeSolution | ( | const HQPOutput & | sol | ) |
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
Vector InverseDynamicsFormulationAccForce::getContactForces | ( | const std::string & | name, |
const HQPOutput & | sol | ||
) |
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
bool InverseDynamicsFormulationAccForce::removeFromHqpData | ( | const std::string & | name | ) |
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
void InverseDynamicsFormulationAccForce::resizeHqpData | ( | ) |
|
virtual |
Update the weights associated to the specified contact.
contact_name | Name of the contact to update |
force_regularization_weight | Weight of the force regularization task, if negative it is not updated |
motion_weight | Weight of the motion task, if negative it is not update |
Implements tsid::InverseDynamicsFormulationBase.
|
virtual |
Implements tsid::InverseDynamicsFormulationBase.
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef pinocchio::Data tsid::InverseDynamicsFormulationAccForce::Data |
std::shared_ptr<math::ConstraintEquality> tsid::InverseDynamicsFormulationAccForce::m_baseDynamics |
contact force Jacobian
std::vector<std::shared_ptr<ContactLevel> > tsid::InverseDynamicsFormulationAccForce::m_contacts |
std::vector<std::shared_ptr<ContactTransitionInfo> > tsid::InverseDynamicsFormulationAccForce::m_contactTransitions |
Data tsid::InverseDynamicsFormulationAccForce::m_data |
Vector tsid::InverseDynamicsFormulationAccForce::m_dv |
unsigned int tsid::InverseDynamicsFormulationAccForce::m_eq |
number of unactuated DoFs
Vector tsid::InverseDynamicsFormulationAccForce::m_f |
HQPData tsid::InverseDynamicsFormulationAccForce::m_hqpData |
unsigned int tsid::InverseDynamicsFormulationAccForce::m_in |
number of equality constraints
Matrix tsid::InverseDynamicsFormulationAccForce::m_Jc |
number of inequality constraints
unsigned int tsid::InverseDynamicsFormulationAccForce::m_k |
time
bool tsid::InverseDynamicsFormulationAccForce::m_solutionDecoded |
double tsid::InverseDynamicsFormulationAccForce::m_t |
std::vector<std::shared_ptr<TaskLevel> > tsid::InverseDynamicsFormulationAccForce::m_taskActuations |
std::vector<std::shared_ptr<TaskLevelForce> > tsid::InverseDynamicsFormulationAccForce::m_taskContactForces |
std::vector<std::shared_ptr<TaskLevel> > tsid::InverseDynamicsFormulationAccForce::m_taskMotions |
Vector tsid::InverseDynamicsFormulationAccForce::m_tau |
unsigned int tsid::InverseDynamicsFormulationAccForce::m_u |
number of acceleration variables
unsigned int tsid::InverseDynamicsFormulationAccForce::m_v |
number of contact-force variables