Experimental classes, for which the interface is currently under active development and is not stable. module

The classes and function contained in this group are in active development and are expected to change between different iDynTree releases without any support for backward compatibility.

Classes

struct iDynTree::BerdyOptions
Options of the BerdyHelper class.
struct iDynTree::BerdySensor
Structure which describes the essential information about a sensor used in berdy A sensor is identified by the pair (type, id)
class iDynTree::BerdyHelper
Helper class for computing Berdy matrices.
class iDynTree::BerdySparseMAPSolver
class iDynTree::optimalcontrol::Constraint
The Constraint virtual class definition.
class iDynTree::optimalcontrol::ConstraintsGroup
Class grouping constraints associated with a TimeRange.
class iDynTree::optimalcontrol::ControlledDynamicalSystem
The ControlledDynamicalSystem class allows to easily connect a DynamicalSystem with a Controller.
class iDynTree::optimalcontrol::Controller
Class describing a generic controller.
class iDynTree::optimalcontrol::Cost
The Cost virtual class definition.
class iDynTree::optimalcontrol::DynamicalSystem
DynamicalSystem base class.
class iDynTree::optimalcontrol::integrators::SolutionElement
Output of the integrator at a specific time.
class iDynTree::optimalcontrol::integrators::IntegratorInfo
Class containing infos about the implemented integrator.
class iDynTree::optimalcontrol::integrators::Integrator
The Integrator base class.
class iDynTree::optimalcontrol::integrators::FixedStepIntegrator
class iDynTree::optimalcontrol::integrators::ForwardEuler
class iDynTree::optimalcontrol::integrators::ImplicitTrapezoidal
class iDynTree::optimalcontrol::integrators::RK4
class iDynTree::optimalcontrol::L2NormCost
class iDynTree::optimalcontrol::LinearConstraint
class iDynTree::optimalcontrol::LinearCost
class iDynTree::optimalcontrol::LinearMPC
class iDynTree::optimalcontrol::LinearSystem
class iDynTree::optimalcontrol::MPC
class iDynTree::optimalcontrol::MultiBodySystem
class iDynTree::optimalcontrol::MultipleShootingSolver
class iDynTree::optimalcontrol::OptimalControlProblem
class iDynTree::optimalcontrol::OptimalControlSolver
class iDynTree::optimization::OptimizationProblemInfoData
class iDynTree::optimization::Optimizer
class iDynTree::optimization::AlglibInterface
class iDynTree::optimization::IpoptInterface
struct iDynTree::optimization::OsqpSettings
class iDynTree::optimization::WorhpInterface
class iDynTree::optimalcontrol::QuadraticCost
class iDynTree::optimalcontrol::QuadraticLikeCost
class iDynTree::optimalcontrol::SystemLineariser
class iDynTree::optimalcontrol::TimeRange
template<typename Object>
class iDynTree::optimalcontrol::TimeVaryingObject
template<typename Object>
class iDynTree::optimalcontrol::TimeInvariantObject
class iDynTree::InverseKinematics
NLP-based Inverse kinematics.

Enums

enum BerdyVariants { ORIGINAL_BERDY_FIXED_BASE = 0, BERDY_FLOATING_BASE = 1, BERDY_FLOATING_BASE_NON_COLLOCATED_EXT_WRENCHES = 2 }
Enumeration of the Berdy variants implemented in this class.
enum BerdyDynamicVariablesTypes { LINK_BODY_PROPER_ACCELERATION, NET_INT_AND_EXT_WRENCHES_ON_LINK_WITHOUT_GRAV, JOINT_WRENCH, DOF_TORQUE, NET_EXT_WRENCH, DOF_ACCELERATION, LINK_BODY_PROPER_CLASSICAL_ACCELERATION }
Enumeration describing the dynamic variables types (link acceleration, net wrenches, joint wrenches, joint torques, joint acceleration) used in Berdy.
enum BerdySensorTypes { SIX_AXIS_FORCE_TORQUE_SENSOR = SIX_AXIS_FORCE_TORQUE, ACCELEROMETER_SENSOR = ACCELEROMETER, GYROSCOPE_SENSOR = GYROSCOPE, THREE_AXIS_ANGULAR_ACCELEROMETER_SENSOR = THREE_AXIS_ANGULAR_ACCELEROMETER, THREE_AXIS_FORCE_TORQUE_CONTACT_SENSOR = THREE_AXIS_FORCE_TORQUE_CONTACT, DOF_ACCELERATION_SENSOR = 1000, DOF_TORQUE_SENSOR = 1001, NET_EXT_WRENCH_SENSOR = 1002, JOINT_WRENCH_SENSOR = 1003, RCM_SENSOR = 1004 }
Enumeration describing the possible sensor types implemented in Berdy.

Enum documentation

enum BerdyVariants

Enumeration of the Berdy variants implemented in this class.

Enumerators
ORIGINAL_BERDY_FIXED_BASE

Original version of Berdy, as described in:

Latella, C.; Kuppuswamy, N.; Romano, F.; Traversaro, S.; Nori, F. Whole-Body Human Inverse Dynamics with Distributed Micro-Accelerometers, Gyros and Force Sensing. Sensors 2016, 16, 727. http://www.mdpi.com/1424-8220/16/5/727

The original version of Berdy is assuming that the joint numbering is a regular ordering of links and joints. For this reason the serialization of link/joints quantities follows the one defined in the traversal.

Furthremore, this version assumes that all joints have 1 Degree of freedom, so it does not work for models with fixed joints.

BERDY_FLOATING_BASE

Modified version of Berdy for accounting for free floating dynamics and removing the NET_INT_AND_EXT_WRENCHES_ON_LINK_WITHOUT_GRAV from the dynamic variables.

BERDY_FLOATING_BASE_NON_COLLOCATED_EXT_WRENCHES

Modified version of floating base Berdy for accounting centroidal dynamics constraints towards estimating the external link wrench independently of the internal joint torque estimates.

enum BerdyDynamicVariablesTypes

Enumeration describing the dynamic variables types (link acceleration, net wrenches, joint wrenches, joint torques, joint acceleration) used in Berdy.

Enumerators
LINK_BODY_PROPER_ACCELERATION

$ a_i $ Note that is is the spatial proper acceleration expressed, i.e. the time derivative of the left-trivialized velocity minus the gravity expressed in body frame. $ f^B_i $

NET_INT_AND_EXT_WRENCHES_ON_LINK_WITHOUT_GRAV

$ f_i $

JOINT_WRENCH

$ \tau_i $

DOF_TORQUE

$ f^x_i $

NET_EXT_WRENCH

$ \ddot{q}_i $

DOF_ACCELERATION

This is the classical proper acceleration, i.e. the time derivative of the mixed velocity of the body frame minus the gravity expressed in body frame. In Traversaro's PhD thesis this is called sensor proper acceleration. This is the necessary for avoiding dependencies on the linear velocity of the base in the floating variant of Berdy.

LINK_BODY_PROPER_CLASSICAL_ACCELERATION

enum BerdySensorTypes

Enumeration describing the possible sensor types implemented in Berdy.

Note that the concept of "sensor" in Berdy estimation is more general that just a physical sensor mounted on the robot: for example it can include the information that a link is fixed to the ground (i.e. its angular velocity, angular and linear acceleration are zero) even if this information is not coming from an actual physical sensors. For this reason we do not use directly the iDynTree::SensorTypes enum, even if we reserve the first 1000 elements o of this enum to be compatibile with the iDynTree::SensorTypes enum. Enum values duplicates between BerdySensorTypes and SensorTypes are append a _SENSOR suffix to avoid problems when wrapping such enum wit SWIG.

Enumerators
SIX_AXIS_FORCE_TORQUE_SENSOR

ACCELEROMETER_SENSOR

GYROSCOPE_SENSOR

THREE_AXIS_ANGULAR_ACCELEROMETER_SENSOR

THREE_AXIS_FORCE_TORQUE_CONTACT_SENSOR

DOF_ACCELERATION_SENSOR

DOF_TORQUE_SENSOR

NET_EXT_WRENCH_SENSOR

JOINT_WRENCH_SENSOR

Non-physical sensor that measures the wrench trasmitted by a joint.

RCM_SENSOR

Non-physical sensor that holds the value of Rate of Change of Momentum (RCM) of the system for centroidal dynamics constraint.