iDynTree namespace

Namespaces

namespace details
namespace MatrixViewInternal
namespace optimalcontrol
namespace optimization
namespace SpanUtils

Classes

struct ApproximateSolidShapesWithPrimitiveShapeOptions
class KinDynComputations
High level stateful class wrapping several kinematics and dynamics algorithms.
class ArticulatedBodyInertia
Class representing an Articulated Body Inertia.
class Axis
Class representing an axis (a directed line) in space.
class ClassicalAcc
Class representing a classical 6D acceleration, i.e.
class CubicSpline
class Direction
Class representing the coordinates of a direction in the 3D space.
template<typename>
struct is_sparsematrix
template<iDynTree::MatrixStorageOrdering ordering>
struct is_sparsematrix<iDynTree::SparseMatrix<ordering>>
class GeomVector3
class RigidBodyInertiaNonLinearParametrization
class MatrixDynSize
Class providing a simple form of matrix with dynamic size.
template<unsigned int nRows, unsigned int nCols>
class MatrixFixSize
Class providing a simple form of matrix with dynamic size.
template<class ElementType>
class MatrixView
MatrixView implements a view interface of Matrices.
class Position
Class representation the coordinates of the Position of a point with respect to another point.
class Rotation
Class representation the rotation of an orientation frame with respect to a reference orientation frame, expressed as a Rotation matrix.
class RotationalInertia
Class providing the coordinates for a 3d inertia matrix.
struct GeodesicL2MeanOptions
Struct containing the options for geodesicL2MeanRotation and geodesicL2WeightedMeanRotation.
template<class ElementType, std::ptrdiff_t Extent>
class Span
template<iDynTree::MatrixStorageOrdering ordering>
class SparseMatrix
Sparse Matrix class.
class SpatialAcc
Class representing a spatial acceleration, i.e.
class SpatialForceVector
Class providing the raw coordinates for any spatial force vector, (i.e.
class SpatialInertia
Class representing a six dimensional inertia.
class SpatialMomentum
Class representing a spatial momentum, i.e.
class Dummy
class SpatialMotionVector
Class providing the coordinates for any motion spatial vector (i.e.
template<class SpatialMotionForceVectorT>
class SpatialMotionForceVectorT_traits
Traits class for SpatialMotionVector and SpatialForceVector classes.
template<>
class SpatialMotionForceVectorT_traits<SpatialMotionVector>
template<>
class SpatialMotionForceVectorT_traits<SpatialForceVector>
template<class SpatialVectorT>
struct DualSpace
Helper structure for dual space definition.
template<>
struct DualSpace<SpatialMotionVector>
template<>
struct DualSpace<SpatialForceVector>
class SpatialVector
struct TestMatrixMismatch
class Transform
Class representation the relative displacement between two different frames.
class TransformDerivative
Class representing the derivative of Transform object.
class Triplet
class Triplets
class Twist
Class representing a twist, i.e.
struct IndexRange
Simple structure describing a range of rows or columns in a vector or a matrix.
class VectorDynSize
Class providing a simple form of vector with dynamic size.
template<unsigned int VecSize>
class VectorFixSize
Class providing a simple vector of N elements.
class Wrench
Class representing a wrench, i.e.
class BoundingBoxProjectionConstraint
BoundingBoxProjectionConstraint helper.
class Polygon
Class representing a 2D Polygon expressed in the 3D space.
class Polygon2D
Class representing a 2D Polygon expressed in the 2D space.
class ConvexHullProjectionConstraint
ConvexHullProjectionConstraint helper.
class InverseKinematics
NLP-based Inverse kinematics.
class MeshcatVisualizer
MeshcatVisualizer is an iDynTree-based wrapper to the meshcat-cpp visualizer.
class ICameraAnimator
Interface to animate the camera and control it via the mouse.
class ICamera
Interface to manipulate the camera parameters.
class ColorViz
Basic structure to encode color information.
class PixelViz
Basic structure to encode pixel information.
class ILight
Interface to a light visualization.
class IEnvironment
Interface to manipulate the elements in the enviroment (background, root frame, reference lines)
class IJetsVisualization
Interface to the visualization of jets attached to a model.
class ILabel
The interface to add a label in the visualizer.
class IVectorsVisualization
Interface to the visualization of vectors.
class IFrameVisualization
Interface to the visualization of frames.
class IShapeVisualization
Interface to the visualization of generic solid shapes.
class IModelVisualization
Interface to the visualization of a model istance.
class ITexture
The interface for an object that can be used as an additional target for the renderer.
struct VisualizerOptions
Visualizer options.
class ITexturesHandler
class Visualizer
Class to visualize a set of iDynTree models.
class iKinLimbImported
iKinLimb class to extract a iKinLimb from iDynTree structures.
class skinDynLibLinkID
Identifier for a link and a body frame in skinDynLib.
class iDynTreeLinkAndFrame
Identifier for a link and frame couple in an iDynTree model.
class skinDynLibConversionsHelper
Helper for conversion between iDynTree data structures and skinDynLib data structures.
class ModelCalibrationHelper
Helper class to load a model, modify its parameters based on calibration, and save it again to file.
struct ModelExporterOptions
Options for the iDynTree exporter.
class ModelExporter
Helper class to export a model to the supported textual formats.
struct ModelParserOptions
Options for the iDynTree parser.
class ModelLoader
Helper class to load a model from a generic format.
class ForceTorqueSensorElement
class ForceTorqueSensorHelper
class GeometryElement
class InertialElement
class JointElement
class LinkElement
class MaterialElement
class OriginElement
class RobotElement
class SensorElement
class SensorHelper
class AccelerometerSensorHelper
class GyroscopeSensorHelper
class URDFDocument
class VisualElement
class XMLAttribute
class XMLDocument
class XMLElement
Class representing an XML element.
class XMLParser
XML Parser class.
class XMLParserState
class AccelerometerSensor
Interface to the Accelerometer class.
class ContactWrench
A wrench excerted on a link due to an external contact.
class LinkContactWrenches
A set of ContactWrench for each link, representing all the contacts between the model and the external environment.
struct DHLink
Structure representing the four DH parameters of a link in a Chain.
class DHChain
Simple representation of a chain described with Denavit-Hartenberg Parameters.
struct ArticulatedBodyAlgorithmInternalBuffers
Structure of buffers required by ArticulatedBodyAlgorithm.
struct ForwardDynamicsLinearizationInternalBuffers
Structure containing the internal buffers used by the ForwardDynamicsLinearization function.
class FreeFloatingStateLinearization
class SpatialMotionWrtMotionDerivative
Class representing the derivative of a spatial motion vector with respect to another spatial motion vector.
class SpatialForceWrtMotionDerivative
Class representing the derivative of a spatial force vector with respect to a spatial motion vector.
class FixedJoint
Class representing a fixed joint, i.e.
class FrameFreeFloatingJacobian
Jacobian of the 6D frame velocity.
class MomentumFreeFloatingJacobian
Jacobian of the 6D momentum.
class FreeFloatingMassMatrix
Class representing the mass matrix of a Free Floating robot.
class FreeFloatingPos
Class representing the position of a Free Floating robot.
class FreeFloatingGeneralizedTorques
class FreeFloatingVel
class FreeFloatingAcc
Class representing the accelerations of a Free Floating robot.
class GyroscopeSensor
Interface to the Gyroscope class.
class IJoint
Interface (i.e.
class JointPosDoubleArray
Class for storing a vector of scalar values, one for each internal position coordinate in a model.
class JointDOFsDoubleArray
Class for storing a vector of scalar values, one for each internal coordinate in a model.
class DOFSpatialForceArray
Class for storing a vector of spatial force vectors, one for each dof in a model.
class DOFSpatialMotionArray
Class for storing a vector of spatial motion vectors, one for each (internal) dof in a model.
class Link
Class that represents a link.
class LinkPositions
class LinkWrenches
Vector of wrenches connected in some way to the link of a model.
class LinkInertias
Class for storing a vector of SpatialInertia objects , one for each link in a model.
class LinkArticulatedBodyInertias
Class for storing a vector of ArticulatedBodyInertias objects , one for each link in a model.
class LinkVelArray
Class for storing a vector of twists, one for each link in a model.
class LinkAccArray
Class for storing a vector of spatial accelerations, one for each link in a model.
class LinkTraversalsCache
Link traversal cache, store a traversal for each link in the model.
struct Neighbor
class Model
Class that represents a generic multibody model.
template<unsigned int nrOfPosCoords, unsigned int nrOfDOFs>
class MovableJointImpl
Base template for implementation of non-fixed joints.
class PrismaticJoint
Class representing a prismatic joint, i.e.
class RevoluteJoint
Class representing a revolute joint, i.e.
class Sensor
Interface for Sensor classes in iDynTree .
class JointSensor
Interface for Sensor that are associated to a Joint.
class LinkSensor
Interface for Sensor that are associated to a Link.
class SensorsList
Structure representing a group of sensors associated with an UndirectedTree.
class SensorsMeasurements
A list of measurements associated with a SensorsList .
class SixAxisForceTorqueSensor
A six axis force torque sensor class implementation of the Sensor.
class Material
class SolidShape
class Sphere
class Box
Box, i.e.
class Cylinder
class ExternalMesh
class ModelSolidShapes
class SubModelDecomposition
Class representing the decomposition in one model in several submodels.
class ThreeAxisAngularAccelerometerSensor
Class representing a three axis angular accelerometer, i.e.
class ThreeAxisForceTorqueContactSensor
Class representing a three axis force-torque contact sensor.
class Traversal
Class that represents a traversal of a set of links of a Model.
struct AttitudeEstimatorState
class IAttitudeEstimator
for attitude estimator classes
struct AttitudeMahonyFilterParameters
set up the quaternion EKF
class AttitudeMahonyFilter
explicit passive complementary filter on quaternion groups described in the paper Non-linear complementary filters on SO3 groups
struct AttitudeQuaternionEKFParameters
set up the quaternion EKF
class AttitudeQuaternionEKF
Quaternion based Discrete Extended Kalman Filter fusing IMU measurements, to give estimates of orientation, angular velocity and gyroscope bias.
struct BerdyOptions
Options of the BerdyHelper class.
struct BerdySensor
Structure which describes the essential information about a sensor used in berdy A sensor is identified by the pair (type, id)
struct BerdyDynamicVariable
class BerdyHelper
Helper class for computing Berdy matrices.
class BerdySparseMAPSolver
class BipedFootContactClassifier
struct SchmittParams
struct to hold schmitt trigger device parameters
class ContactStateMachine
Contact State Machine class for binary contact state detection Contains a Schmitt Trigger device for updating the contact states using the contact normal force acting on the contact link and Determines contact transitions using simple binary switching logic.
class DiscreteExtendedKalmanFilterHelper
class implementation of discrete EKF with additive Gaussian noise
struct UnknownWrenchContact
A contact whose wrench is unknown.
class LinkUnknownWrenchContacts
A set of UnknownWrenchContact for each link, representing all the contacts between the model and the external environment whose wrench is unkwnon.
struct estimateExternalWrenchesBuffers
class ExtWrenchesAndJointTorquesEstimator
Estimator for external wrenches and joint torques using internal F/T sensors.
class GravityCompensationHelper
Class computing the gravity compensation torques using accelerometer measurements.
class DiscreteKalmanFilterHelper
Discrete Kalman Filter with additive Gaussian noise.
class SchmittTrigger
Schmitt Trigger class for binary state detection This device is used to obtain a binary state (ON/OFF) at some time instant depending on a value inputted to the device.
class SimpleLeggedOdometry
A simple legged odometry for a legged robot.

Enums

enum class ApproximateSolidShapesWithPrimitiveShapeConversionType { ConvertSolidShapesWithEnclosingAxisAlignedBoundingBoxes }
enum class ApproximateSolidShapesWithPrimitiveShapeShapesToApproximate { VisualShapes, CollisionShapes, BothShapes }
Enum class representing which shape should be approximated.
enum MatrixStorageOrdering { RowMajor, ColumnMajor }
Enum describing the possible matrix storage ordering.
enum InverseKinematicsRotationParametrization { InverseKinematicsRotationParametrizationQuaternion, InverseKinematicsRotationParametrizationRollPitchYaw }
type of parametrization for the rotation (SO3) element
enum InverseKinematicsTreatTargetAsConstraint { InverseKinematicsTreatTargetAsConstraintNone = 0, InverseKinematicsTreatTargetAsConstraintPositionOnly = 1, InverseKinematicsTreatTargetAsConstraintRotationOnly = 1 << 1, InverseKinematicsTreatTargetAsConstraintFull = InverseKinematicsTreatTargetAsConstraintPositionOnly | InverseKinematicsTreatTargetAsConstraintRotationOnly }
Specify how to solve for the desired target.
enum LightType { POINT_LIGHT, DIRECTIONAL_LIGHT }
enum FrameVelocityRepresentation { INERTIAL_FIXED_REPRESENTATION, BODY_FIXED_REPRESENTATION, MIXED_REPRESENTATION }
Possible frame velocity representation convention.
enum JointDynamicsType { NoJointDynamics = 0, URDFJointDynamics = 1 }
enum SensorType { SIX_AXIS_FORCE_TORQUE = 0, ACCELEROMETER = 1, GYROSCOPE = 2, THREE_AXIS_ANGULAR_ACCELEROMETER = 3, THREE_AXIS_FORCE_TORQUE_CONTACT = 4 }
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 SwitchingPattern { ALTERNATE_CONTACT, LATEST_ACTIVE_CONTACT, DEFAULT_CONTACT }
Enumeration of switching pattern.
enum UnknownWrenchContactType { FULL_WRENCH, PURE_FORCE, PURE_FORCE_WITH_KNOWN_DIRECTION, NO_UNKNOWNS }
Type of a UnknownWrenchContact.

Typedefs

using iDynTreeEigenVector = Eigen::Map<Eigen::VectorXd>
using iDynTreeEigenConstVector = Eigen::Map<const Eigen::VectorXd>
using iDynTreeEigenMatrix = Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
using iDynTreeEigenConstMatrix = const Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>
using iDynTreeEigenMatrixMap = Eigen::Map<iDynTreeEigenMatrix>
using iDynTreeEigenConstMatrixMap = Eigen::Map<iDynTreeEigenConstMatrix>
using LinearMotionVector3 = GeomVector3
using LinVelocity = LinearMotionVector3
using LinAcceleration = LinearMotionVector3
using AngularMotionVector3 = GeomVector3
using AngVelocity = AngularMotionVector3
using AngAcceleration = AngularMotionVector3
using LinearForceVector3 = GeomVector3
using LinMomentum = LinearForceVector3
using Force = LinearForceVector3
using AngularForceVector3 = GeomVector3
using AngMomentum = AngularForceVector3
using Torque = AngularForceVector3
using MotionVector3 = GeomVector3
using Matrix1x6 = MatrixFixSize<1, 6>
using Matrix2x3 = MatrixFixSize<2, 3>
using Matrix3x3 = MatrixFixSize<3, 3>
using Matrix4x4 = MatrixFixSize<4, 4>
using Matrix6x1 = MatrixFixSize<6, 1>
using Matrix6x6 = MatrixFixSize<6, 6>
using Matrix6x10 = MatrixFixSize<6, 10>
using Matrix10x16 = MatrixFixSize<10, 16>
using Vector2 = VectorFixSize<2>
using Vector3 = VectorFixSize<3>
using Vector4 = VectorFixSize<4>
using Vector6 = VectorFixSize<6>
using Vector10 = VectorFixSize<10>
using Vector16 = VectorFixSize<16>
using IJointPtr = IJoint*
using IJointConstPtr = const IJoint*
using LinkIndex = std::ptrdiff_t
using JointIndex = std::ptrdiff_t
using DOFIndex = std::ptrdiff_t
using FrameIndex = std::ptrdiff_t
using TraversalIndex = std::ptrdiff_t
using LinkPtr = Link*
using LinkConstPtr = const Link*
using LinkNetExternalWrenches = LinkWrenches
Vector of the sum of all the external wrenches excerted on each link.
using LinkInternalWrenches = LinkWrenches
Vector of the wrenches acting that a link excert on his parent, given a Traversal.
using LinkNetTotalWrenchesWithoutGravity = LinkWrenches
Vector of the sum of all the wrenches (both internal and external, excluding gravity) acting on link i, expressed (both orientation and point) with respect to the reference frame of link i.
using LinkCompositeRigidBodyInertias = LinkInertias
using LinkProperAccArray = LinkAccArray
Typedef used when the vector is meant to be a vector of link proper accelerations.
using MovableJointImpl1 = MovableJointImpl<1, 1>
using MovableJointImpl2 = MovableJointImpl<2, 2>
using MovableJointImpl3 = MovableJointImpl<3, 3>
using MovableJointImpl4 = MovableJointImpl<4, 4>
using MovableJointImpl5 = MovableJointImpl<5, 5>
using MovableJointImpl6 = MovableJointImpl<6, 6>
using LinearAccelerometerMeasurements = iDynTree::Vector3
using GyroscopeMeasurements = iDynTree::Vector3
using MagnetometerMeasurements = iDynTree::Vector3
using UnitQuaternion = iDynTree::Vector4
using RPY = iDynTree::Vector3

Functions

auto parseRotationMatrix(const yarp::os::Searchable& rf, const std::string& key, iDynTree::Rotation& rotation) -> bool
Takes a rotation matrix from configuration file.
auto toiDynTree(const yarp::sig::Vector& yarpVector, iDynTree::Wrench& iDynTreeWrench) -> bool
Convert a yarp::sig::Vector to a iDynTree::Wrench.
auto toYarp(const iDynTree::Wrench& iDynTreeWrench, yarp::sig::Vector& yarpVector) -> bool
Convert a iDynTree::Wrench to a yarp::sig::Vector.
auto toiDynTree(const yarp::sig::Vector& yarpVector, iDynTree::Position& iDynTreePosition) -> bool
Convert a yarp::sig::Vector to a iDynTree::Position.
auto toiDynTree(const yarp::sig::Vector& yarpVector, iDynTree::Vector3& iDynTreeVector3) -> bool
Convert a yarp::sig::Vector to a iDynTree::Vector3.
auto toYarp(const iDynTree::Position& iDynTreePosition, yarp::sig::Vector& yarpVector) -> bool
Convert a iDynTree::Position to a yarp::sig::Vector of 3 elements.
auto toiDynTree(const yarp::sig::Vector& yarpVector, iDynTree::Direction& iDynTreeDirection) -> bool
Convert a yarp::sig::Vector of 3 elements to a iDynTree::Direction.
auto toYarp(const iDynTree::Vector3& iDynTreeDirection, yarp::sig::Vector& yarpVector) -> bool
Convert a iDynTree::Direction to a yarp::sig::Vector of 3 elements.
auto toiDynTree(const yarp::sig::Matrix& yarpHomogeneousMatrix, iDynTree::Transform& iDynTreeTransform) -> bool
Convert a 4x4 yarp::sig::Matrix representing an homegeneous matrix to a iDynTree::Transform.
auto toYarp(const iDynTree::Transform& iDynTreeTransform, yarp::sig::Matrix& yarpHomogeneousMatrix) -> bool
Convert a iDynTree::Transform to a 4x4 yarp::sig::Matrix representing an homegeneous matrix.
auto toiDynTree(const yarp::sig::Vector& yarpVector, iDynTree::VectorDynSize& iDynTreeVector) -> bool
Convert a yarp::sig::Vector to a iDynTree::VectorDynSize.
template<typename VectorType>
void toYarp(const VectorType& iDynTreeVector, yarp::sig::Vector& yarpVector)
Convert a iDynTree::VectorFixSize to a yarp::sig::Vector.
template<typename MatrixType>
void toYarp(const MatrixType& iDynTreeMatrix, yarp::sig::Matrix& yarpMatrix)
Convert a iDynTree::MatrixFixSize to a yarp::sig::Matrix.
template<typename VectorType>
auto toiDynTree(const yarp::sig::Vector& yarpVector, VectorType& iDynTreeVector) -> bool
Convert a yarp::sig::Vector to a iDynTree::VectorFixSize.
template<typename MatrixType>
auto toiDynTree(const yarp::sig::Matrix& yarpMatrix, MatrixType& iDynTreeMatrix) -> bool
Convert a yarp::sig::Matrix to a iDynTree::MatrixFixSize.
auto toEigen(yarp::sig::Vector& yarpVector) -> Eigen::Map<Eigen::VectorXd>
Convert a yarp::sig::Vector to a Eigen::Map<Eigen::VectorXd> object.
auto toEigen(yarp::sig::Matrix& yarpMatrix) -> Eigen::Map<Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>>
Convert a yarp::sig::Matrix to a Eigen::Map< Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> > object.
auto toEigen(const yarp::sig::Vector& yarpVector) -> Eigen::Map<const Eigen::VectorXd>
Convert a const yarp::sig::Vector to a Eigen::Map<const Eigen::VectorXd> object.
auto toEigen(const yarp::sig::Matrix& yarpMatrix) -> Eigen::Map<const Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>>
Convert a const yarp::sig::Matrix to a Eigen::Map< const Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic,Eigen::RowMajor> > object.
auto estimateInertialParametersFromLinkBoundingBoxesAndTotalMass(const double totalMass, iDynTree::Model& model, VectorDynSize& estimatedInertialParams) -> bool
Estimate the inertial parameters of a model using link bounding boxes and the total mass.
auto computeBoundingBoxFromShape(const SolidShape& geom, Box& box) -> bool
Compute bounding box from a solid shape object.
auto computeBoxVertices(const Box box) -> std::vector<Position>
Get the bounding box vertices in the link frame.
auto approximateSolidShapesWithPrimitiveShape(const Model& inputModel, Model& outputModel, ApproximateSolidShapesWithPrimitiveShapeOptions options = ApproximateSolidShapesWithPrimitiveShapeOptions()) -> bool
\function Approximate solid shapes of the input model with some primitive shapes.
auto toEigen(VectorDynSize& vec) -> Eigen::Map<Eigen::VectorXd>
auto toEigen(MatrixDynSize& mat) -> Eigen::Map<Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>>
auto toEigen(const VectorDynSize& vec) -> Eigen::Map<const Eigen::VectorXd>
auto toEigen(Span<const double> vec) -> Eigen::Map<const Eigen::VectorXd>
auto toEigen(const MatrixView<const double>& mat) -> Eigen::Map<const Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>, 0, Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic>>
auto toEigen(const MatrixView<double>& mat) -> Eigen::Map<Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>, 0, Eigen::Stride<Eigen::Dynamic, Eigen::Dynamic>>
auto toEigen(const MatrixDynSize& mat) -> Eigen::Map<const Eigen::Matrix<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>>
template<unsigned int VecSize>
auto toEigen(VectorFixSize<VecSize>& vec) -> Eigen::Map<Eigen::Matrix<double, VecSize, 1>>
template<unsigned int VecSize>
auto toEigen(const VectorFixSize<VecSize>& vec) -> Eigen::Map<const Eigen::Matrix<double, VecSize, 1>>
template<unsigned int nRows, unsigned int nCols>
auto toEigen(MatrixFixSize<nRows, nCols>& mat) -> Eigen::Map<Eigen::Matrix<double, nRows, nCols, Eigen::RowMajor>>
template<unsigned int nRows>
auto toEigen(MatrixFixSize<nRows, 1>& mat) -> Eigen::Map<Eigen::Matrix<double, nRows, 1>>
template<unsigned int nCols>
auto toEigen(MatrixFixSize<1, nCols>& mat) -> Eigen::Map<Eigen::Matrix<double, 1, nCols>>
template<unsigned int nRows, unsigned int nCols>
auto toEigen(const MatrixFixSize<nRows, nCols>& mat) -> Eigen::Map<const Eigen::Matrix<double, nRows, nCols, Eigen::RowMajor>>
auto toEigen(const SpatialMotionVector& vec) -> const Eigen::Matrix<double, 6, 1>
auto toEigen(const SpatialForceVector& vec) -> const Eigen::Matrix<double, 6, 1>
void fromEigen(SpatialMotionVector& vec, const Eigen::Matrix<double, 6, 1>& eigVec)
void fromEigen(SpatialForceVector& vec, const Eigen::Matrix<double, 6, 1>& eigVec)
void fromEigen(Transform& trans, const Eigen::Matrix4d& eigMat)
template<class Derived>
auto skew(const Eigen::MatrixBase<Derived>& vec) -> Eigen::Matrix<typename Derived::Scalar, 3, 3, Eigen::RowMajor>
template<class Derived>
auto unskew(const Eigen::MatrixBase<Derived>& mat) -> Eigen::Matrix<typename Derived::Scalar, 3, 1>
template<unsigned int nRows, unsigned int nCols, typename iDynTreeMatrixType>
void setSubMatrix(iDynTreeMatrixType& mat, const IndexRange rowRange, const IndexRange colRange, const MatrixFixSize<nRows, nCols>& subMat)
Submatrix helpers.
template<typename iDynTreeMatrixType, typename EigMatType>
void setSubMatrix(iDynTreeMatrixType& mat, const IndexRange rowRange, const IndexRange colRange, const EigMatType& subMat)
template<typename iDynTreeMatrixType>
void setSubMatrix(iDynTreeMatrixType& mat, const IndexRange rowRange, const IndexRange colRange, const double subMat)
template<typename iDynTreeMatrixType>
void setSubMatrixToIdentity(iDynTreeMatrixType& mat, const IndexRange rowRange, const IndexRange colRange)
template<typename iDynTreeMatrixType>
void setSubMatrixToMinusIdentity(iDynTreeMatrixType& mat, const IndexRange rowRange, const IndexRange colRange)
template<unsigned int size>
void setSubVector(VectorDynSize& vec, const IndexRange range, const VectorFixSize<size>& subVec)
void setSubVector(VectorDynSize& vec, const IndexRange range, double subVec)
void setSubVector(VectorDynSize& vec, const IndexRange range, const SpatialMotionVector& twist)
void setSubVector(VectorDynSize& vec, const IndexRange range, const SpatialForceVector& wrench)
template<typename T>
void setSubVector(VectorDynSize& vec, const IndexRange range, const T& subVec)
template<typename MapType>
void pseudoInverse_helper2(const MapType& A, Eigen::JacobiSVD<Eigen::MatrixXd>& svdDecomposition, MapType& Apinv, double tolerance, unsigned int computationOptions = Eigen::ComputeThinU|Eigen::ComputeThinV)
template<typename MapType>
void pseudoInverse_helper1(const MapType& A, Eigen::JacobiSVD<Eigen::MatrixXd>& svdDecomposition, MapType& Apinv, double tolerance, unsigned int computationOptions = Eigen::ComputeThinU|Eigen::ComputeThinV)
template<typename MapType>
void pseudoInverse(const MapType A, MapType Apinv, double tolerance, unsigned int computationOptions = Eigen::ComputeThinU|Eigen::ComputeThinV)
auto toEigen(iDynTree::SparseMatrix<iDynTree::RowMajor>& mat) -> Eigen::Map<Eigen::SparseMatrix<double, Eigen::RowMajor>>
auto toEigen(const iDynTree::SparseMatrix<iDynTree::RowMajor>& mat) -> Eigen::Map<const Eigen::SparseMatrix<double, Eigen::RowMajor>>
auto toEigen(iDynTree::SparseMatrix<iDynTree::ColumnMajor>& mat) -> Eigen::Map<Eigen::SparseMatrix<double, Eigen::ColMajor>>
auto toEigen(const iDynTree::SparseMatrix<iDynTree::ColumnMajor>& mat) -> Eigen::Map<const Eigen::SparseMatrix<double, Eigen::ColMajor>>
template<class ElementType>
auto make_matrix_view(ElementType* ptr, typename MatrixView<ElementType>::index_type rows, typename MatrixView<ElementType>::index_type cols, const MatrixStorageOrdering& order = MatrixStorageOrdering::RowMajor) -> IDYNTREE_CONSTEXPR MatrixView<ElementType>
template<class Container, std::enable_if_t<MatrixViewInternal::has_IsRowMajor<Container>::value||std::is_same<MatrixView<typename Container::value_type>, Container>::value, int> = 0>
auto make_matrix_view(Container& cont) -> IDYNTREE_CONSTEXPR MatrixView<typename Container::value_type>
template<class Container, std::enable_if_t<MatrixViewInternal::has_IsRowMajor<Container>::value||std::is_same<MatrixView<const typename Container::value_type>, Container>::value, int> = 0>
auto make_matrix_view(const Container& cont) -> IDYNTREE_CONSTEXPR MatrixView<const typename Container::value_type>
template<class Container, std::enable_if_t<!MatrixViewInternal::has_IsRowMajor<Container>::value && !std::is_same<MatrixView<typename Container::value_type>, Container>::value, int> = 0>
auto make_matrix_view(Container& cont, const MatrixStorageOrdering& order = MatrixStorageOrdering::RowMajor) -> IDYNTREE_CONSTEXPR MatrixView<typename Container::value_type>
template<class Container, std::enable_if_t<!MatrixViewInternal::has_IsRowMajor<Container>::value && !std::is_same<MatrixView<typename Container::value_type>, Container>::value, int> = 0>
auto make_matrix_view(const Container& cont, const MatrixStorageOrdering& order = MatrixStorageOrdering::RowMajor) -> IDYNTREE_CONSTEXPR MatrixView<const typename Container::value_type>
IDYNTREE_DEPRECATED_WITH_MSG("iDynTree::PositionRaw is deprecated, use iDynTree::Position") typedef Position PositionRaw
auto squareCrossProductMatrix(const Eigen::Vector3d& v) -> Eigen::Matrix3d
Maps a 3d vector to the square of the cross product matrix: v --> (v\times)^2 or, if you prefer another notation: v --> S^2(v)
auto skew(const Eigen::Vector3d& vec) -> Eigen::Matrix3d
Maps a 3d vector to the cross product matrix: v --> (v\times) or, if you prefer another notation: v --> S(v)
template<typename vector6d>
void efficient6dCopy(vector6d* pthis, const vector6d& other)
Efficient version of the copy from one 6D vector to another.
template<typename vector6d>
auto efficient6dSum(const vector6d& op1, const vector6d& op2) -> vector6d
Efficient version of the sum of two 6D vectors.
template<typename vector6d>
auto efficient6ddifference(const vector6d& op1, const vector6d& op2) -> vector6d
Efficient version of the different of two 6D vectors.
template<typename twistType, typename motionVectorType, typename resultType>
auto efficientTwistCrossTwist(const twistType& op1, const motionVectorType& op2) -> resultType
Efficient version of the cross product between a twist and a spatial motion vector (another twist, acceleration, ..)
template<typename twistType, typename momentumVectorType, typename resultType>
auto efficientTwistCrossMomentum(const twistType& op1, const momentumVectorType& op2) -> resultType
Efficient version of the cross product between a twist and a spatial force vector (momentum, wrench, ..)
IDYNTREE_DEPRECATED_WITH_MSG("iDynTree::RotationRaw is deprecated, use iDynTree::Rotation") typedef Rotation RotationRaw
IDYNTREE_DEPRECATED_WITH_MSG("iDynTree::RotationalInertiaRaw is deprecated, use iDynTree::RotationalInertia") typedef RotationalInertia RotationalInertiaRaw
auto isValidRotationMatrix(const iDynTree::Rotation& r) -> bool
Check if the rotation matrix is valid.
auto geodesicL2Distance(const iDynTree::Rotation& rotation1, const iDynTree::Rotation& rotation2) -> double
Computes the geodesic distance between two rotation matrices.
auto geodesicL2MeanRotation(const std::vector<iDynTree::Rotation>& inputRotations, iDynTree::Rotation& meanRotation, const GeodesicL2MeanOptions& options = GeodesicL2MeanOptions()) -> bool
Computes the geodesic mean amongst the provided rotations.
auto geodesicL2WeightedMeanRotation(const std::vector<iDynTree::Rotation>& inputRotations, const std::vector<double>& weights, iDynTree::Rotation& meanRotation, const GeodesicL2MeanOptions& options = GeodesicL2MeanOptions()) -> bool
Computes the weighted geodesic mean amongst the provided rotations.
template<class ElementType, std::ptrdiff_t FirstExtent, std::ptrdiff_t SecondExtent>
auto operator==(Span<ElementType, FirstExtent> l, Span<ElementType, SecondExtent> r) -> IDYNTREE_CONSTEXPR bool
template<class ElementType, std::ptrdiff_t Extent>
auto operator!=(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
template<class ElementType, std::ptrdiff_t Extent>
auto operator<(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
template<class ElementType, std::ptrdiff_t Extent>
auto operator<=(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
template<class ElementType, std::ptrdiff_t Extent>
auto operator>(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
template<class ElementType, std::ptrdiff_t Extent>
auto operator>=(Span<ElementType, Extent> l, Span<ElementType, Extent> r) -> IDYNTREE_CONSTEXPR bool
template<class ElementType>
auto make_span(ElementType* ptr, typename Span<ElementType>::index_type count) -> IDYNTREE_CONSTEXPR Span<ElementType>
template<class ElementType>
auto make_span(ElementType* firstElem, ElementType* lastElem) -> IDYNTREE_CONSTEXPR Span<ElementType>
template<class ElementType, std::size_t N>
auto make_span(ElementType(&arr)[N]) -> IDYNTREE_CONSTEXPR Span<ElementType, N> noexcept
template<class Container>
auto make_span(Container& cont) -> IDYNTREE_CONSTEXPR Span<typename Container::value_type>
template<class Container, typename = typename std::enable_if<SpanUtils::is_value_defined<Container>::value>::type>
auto make_span(const Container& cont) -> IDYNTREE_CONSTEXPR Span<const typename Container::value_type>
template<class Ptr>
auto make_span(Ptr& cont, std::ptrdiff_t count) -> IDYNTREE_CONSTEXPR Span<typename Ptr::element_type>
template<class Ptr, typename = typename std::enable_if<!SpanUtils::is_value_defined<Ptr>::value&& SpanUtils::is_element_defined<Ptr>::value>::type>
auto make_span(Ptr& cont) -> IDYNTREE_CONSTEXPR Span<typename Ptr::element_type>
template<class Container, typename = typename std::enable_if<!SpanUtils::is_value_defined<Container>::value&& !SpanUtils::is_element_defined<Container>::value&& SpanUtils::has_data_method<Container>::value>::type>
auto make_span(Container& cont) -> IDYNTREE_CONSTEXPR Span<typename std::remove_pointer<decltype(std::declval<Container>).data())>::type>
void assertStringAreEqual(const std::string& val1, const std::string& val2, double tol = DEFAULT_TOL, std::string file = "", int line = -1)
void assertDoubleAreEqual(const double& val1, const double& val2, double tol = DEFAULT_TOL, std::string file = "", int line = -1)
void assertTransformsAreEqual(const Transform& trans1, const Transform& trans2, double tol = DEFAULT_TOL, std::string file = "", int line = -1)
Assert that two transforms are equal, and exit with EXIT_FAILURE if they are not.
void assertSpatialMotionAreEqual(const SpatialMotionVector& t1, const SpatialMotionVector& t2, double tol = DEFAULT_TOL, std::string file = "", int line = -1)
Assert that two spatial motion vectors are equal, and exit with EXIT_FAILURE if they are not.
void assertSpatialForceAreEqual(const SpatialForceVector& f1, const SpatialForceVector& f2, double tol = DEFAULT_TOL, std::string file = "", int line = -1)
Assert that two spatial force vectors are equal, and exit with EXIT_FAILURE if they are not.
void assertTrue(bool prop, std::string file = "", int line = -1)
auto getRandomBool() -> bool
Get random bool.
auto getRandomDouble(double min = 0.0, double max = 1.0) -> double
Get a random double between min and max .
auto getRandomInteger(int min, int max) -> int
Get a random integer between min and max (included).
template<typename VectorType>
void getRandomVector(VectorType& vec, double min = 0.0, double max = 1.0)
Fill a vector with random double.
template<typename MatrixType>
void getRandomMatrix(MatrixType& mat)
Fill a matrix of random doubles.
auto getRandomPosition() -> Position
Get a random position.
auto getRandomRotation() -> Rotation
Get a random rotation.
auto getRandomTransform() -> Transform
Get a random transform.
auto getRandomAxis() -> Axis
Get a random axis.
auto getRandomInertia() -> SpatialInertia
Get a random (but physically consistent) inertia.
auto getRandomTwist() -> SpatialMotionVector
Get a random twist-like 6D vector.
auto getRandomWrench() -> SpatialForceVector
Get a random wrench-like 6D object.
template<typename VectorType>
void printVector(std::string, const VectorType& vec)
Helper for printing vectors.
template<typename VectorType1, typename VectorType2>
void printVectorDifference(std::string name, const VectorType1& vec1, const VectorType2& vec2)
Helper for printing difference of two vectors.
void printVectorWrongElements(std::string name, std::vector<bool>& correctElems)
Helper for printing the patter of wrong elements in between two vectors.
void printMatrixWrongElements(std::string name, std::vector<std::vector<TestMatrixMismatch>>& correctElems)
Helper for printing the patter of wrong elements in between two matrix.
template<typename MatrixType1, typename MatrixType2>
void printMatrixPercentageError(const MatrixType1& mat1, const MatrixType2& mat2)
Helper for printing the patter of wrong elements in between two matrix.
template<typename VectorType1, typename VectorType2>
void assertVectorAreEqual(const VectorType1& vec1, const VectorType2& vec2, double tol, std::string file, int line)
Assert that two vectors are equal, and exit with EXIT_FAILURE if they are not.
template<typename VectorType1, typename VectorType2>
void assertVectorAreEqualWithRelativeTol(const VectorType1& vec1, const VectorType2& vec2, double relativeTol, double minAbsoluteTol, std::string file, int line)
Assert that two vectors are equal, and exit with EXIT_FAILURE if they are not.
template<typename MatrixType1, typename MatrixType2>
void assertMatrixAreEqual(const MatrixType1& mat1, const MatrixType2& mat2, double tol, std::string file, int line)
Assert that two matrices are equal, and exit with EXIT_FAILURE if they are not.
void assertWoAbort(const char* semCheck, const char* file, const char* func, int line)
Function embedding the semantic checks.
auto checkEqualOrUnknown(const int op1, const int op2) -> bool
Helper class for semantic checking.
void reportError(const char* className, const char* methodName, const char* errorMessage)
Helper function for reporting error if the semantic check fails.
auto reportErrorIf(bool condition, const char* className_methodName, const char* errorMessage) -> bool
Call report error if condition is true.
void reportWarning(const char* className, const char* methodName, const char* errorMessage)
Helper function for reporting warnings in iDynTree.
void reportInfo(const char* className, const char* methodName, const char* message)
Helper function for reporting information messages in iDynTree.
void reportDebug(const char* className, const char* methodName, const char* message)
Helper function for reporting debug messages in iDynTree.
auto deg2rad(const double valueInDeg) -> double
Convert a double from degrees to radians.
auto rad2deg(const double valueInRad) -> double
Convert a double from radians to degree.
auto checkDoublesAreEqual(const double& val1, const double& val2, double tol = DEFAULT_TOL) -> bool
Check whether two doubles are equal given a tolerance tol.
auto sizeOfRotationParametrization(enum InverseKinematicsRotationParametrization rotationParametrization) -> int
auto DHChainFromiKinChain(iCub::iKin::iKinChain& ikinChain, DHChain& out) -> bool
Load a iDynTree::DHChain object from a iCub::iKin::iKinChain .
auto modelFromiKinChain(iCub::iKin::iKinChain& ikinChain, Model& output) -> bool
Load a iDynTree::Model object from a iCub::iKin::iKinChain .
auto iKinLimbFromModel(const Model& model, const std::string& baseFrame, const std::string& distalFrame, iCub::iKin::iKinLimb& ikinLimb) -> bool
Extract an iCub::iKin::iKinLimb from an iDynTree::Model .
auto iKinLimbFromDHChain(const DHChain& dhChain, iCub::iKin::iKinLimb& ikinLimb) -> bool
Create a iCub::iKin::iKinLimb from an iDynTree::DHChain.
auto iKinLink2DHLink(const iCub::iKin::iKinLink& ikinlink) -> DHLink
auto DHLink2iKinLink(const DHLink& dhLink) -> iCub::iKin::iKinLink
template<class contactsList>
auto fromSkinDynLibToiDynTreeHelper(const Model& model, const contactsList& dynList, LinkUnknownWrenchContacts& unknowns, const skinDynLibConversionsHelper& conversionHelper) -> bool
Templated version of fromSkinDynLibToiDynTree, useful to implement the exact same function for dynContactList and skinContactList, that have exactly the same interface, but they don't have any common ancestor in the class structure.
auto dofsListFromURDF(const std::string& urdf_filename, std::vector<std::string>& dofs) -> bool
Load a list of dofs names from a URDF file.
auto dofsListFromURDFString(const std::string& urdf_string, std::vector<std::string>& dofs) -> bool
Load a list of dofs object from a URDF string.
auto URDFFromModel(const iDynTree::Model& model, const std::string& urdf_filename, const ModelExporterOptions options = ModelExporterOptions()) -> bool
Export a iDynTree::Model object to a URDF file.
auto URDFStringFromModel(const iDynTree::Model& output, std::string& urdf_string, const ModelExporterOptions options = ModelExporterOptions()) -> bool
Export a iDynTree::Model object to a URDF string.
auto stringToDoubleWithClassicLocale(const std::string& inStr, double& outDouble) -> bool
auto stringToIntWithClassicLocale(const std::string& inStr, int& outInt) -> bool
auto stringToUnsignedIntWithClassicLocale(const std::string& inStr, unsigned int& outInt) -> bool
auto doubleToStringWithClassicLocale(const double& inDouble, std::string& outStr) -> bool
auto intToString(const int inInt) -> std::string
auto intToString(const size_t inInt) -> std::string
auto splitString(const std::string& inStr, std::vector<std::string>& pieces) -> bool
Split string along spaces.
auto vector3FromString(const std::string& vector_str, Vector3& out) -> bool
template<typename iDynTreeVectorType>
auto vectorToString(const iDynTreeVectorType& in, std::string& out_str) -> bool
auto vector4FromString(const std::string& vector_str, Vector4& out) -> bool
auto TransformFromDHCraig1989(double a, double alpha, double d, double theta) -> Transform
auto TransformFromDH(double a, double alpha, double d, double theta) -> Transform
DH : constructs a transformationmatrix T_link(i-1)_link(i) with the Denavit-Hartenberg convention as described in the original publictation: Denavit, J.
auto ExtractDHChainFromModel(const iDynTree::Model& model, const std::string baseFrame, const std::string eeFrame, DHChain& outputChain, double tolerance = 1e-5) -> bool
Extract a Denavit Hartenberg Chain from a iDynTree::Model.
auto CreateModelFromDHChain(const DHChain& inputChain, Model& outputModel) -> bool
Create an iDynTree::Model from a DHChain.
auto ComputeLinearAndAngularMomentum(const Model& model, const LinkPositions& linkPositions, const LinkVelArray& linkVels, SpatialMomentum& totalMomentum) -> bool
Compute the total linear and angular momentum of a robot, expressed in the world frame.
auto ComputeLinearAndAngularMomentumDerivativeBias(const Model& model, const LinkPositions& linkPositions, const LinkVelArray& linkVel, const LinkAccArray& linkBiasAcc, Wrench& totalMomentumBias) -> bool
Compute the total momentum derivatitive bias, i.e.
auto RNEADynamicPhase(const iDynTree::Model& model, const iDynTree::Traversal& traversal, const iDynTree::JointPosDoubleArray& jointPos, const iDynTree::LinkVelArray& linksVel, const iDynTree::LinkAccArray& linksProperAcc, const iDynTree::LinkNetExternalWrenches& linkExtForces, iDynTree::LinkInternalWrenches& linkIntWrenches, iDynTree::FreeFloatingGeneralizedTorques& baseForceAndJointTorques) -> bool
Compute the inverse dynamics, i.e.
auto CompositeRigidBodyAlgorithm(const Model& model, const Traversal& traversal, const JointPosDoubleArray& jointPos, LinkCompositeRigidBodyInertias& linkCRBs, FreeFloatingMassMatrix& massMatrix) -> bool
Compute the floating base mass matrix, using the composite rigid body algorithm.
auto ArticulatedBodyAlgorithm(const Model& model, const Traversal& traversal, const FreeFloatingPos& robotPos, const FreeFloatingVel& robotVel, const LinkNetExternalWrenches& linkExtWrenches, const JointDOFsDoubleArray& jointTorques, ArticulatedBodyAlgorithmInternalBuffers& buffers, FreeFloatingAcc& robotAcc) -> bool
Compute the floating base acceleration of an unconstrianed robot, using as input the external forces and the joint torques.
auto InverseDynamicsInertialParametersRegressor(const iDynTree::Model& model, const iDynTree::Traversal& traversal, const iDynTree::LinkPositions& referenceFrame_H_link, const iDynTree::LinkVelArray& linksVel, const iDynTree::LinkAccArray& linksAcc, iDynTree::MatrixDynSize& baseForceAndJointTorquesRegressor) -> bool
Compute the inverse dynamics of the model as linear function of the inertial parameters.
auto ForwardDynamicsLinearization(const Model& model, const Traversal& traversal, const FreeFloatingPos& robotPos, const FreeFloatingVel& robotVel, const LinkNetExternalWrenches& linkExtWrenches, const JointDOFsDoubleArray& jointTorques, ForwardDynamicsLinearizationInternalBuffers& bufs, FreeFloatingAcc& robotAcc, FreeFloatingStateLinearization& A) -> bool
auto operator*(const Transform& a_X_b, const SpatialMotionWrtMotionDerivative& op2) -> SpatialMotionWrtMotionDerivative
Equivalent to:
auto operator*(const Transform& a_X_b, const SpatialForceWrtMotionDerivative& op2) -> SpatialForceWrtMotionDerivative
Equivalent to:
biasWrenchVelocityDerivative(SpatialInertia M, SpatialMotionVector V)
Given a rigid body inertia $M$ and spatial motion vector $V$ , the bias wrench $B$ of rigid body is defined as:
auto ForwardPositionKinematics(const Model& model, const Traversal& traversal, const Transform& worldHbase, const VectorDynSize& jointPositions, LinkPositions& linkPositions) -> bool
Given a robot floating base configuration (i.e.
auto ForwardPositionKinematics(const Model& model, const Traversal& traversal, const FreeFloatingPos& jointPos, LinkPositions& linkPos) -> bool
Variant of ForwardPositionKinematics that takes in input a FreeFloatingPos object instead of a separate couple of (worldHbase,jointPositions)
auto ForwardVelAccKinematics(const iDynTree::Model& model, const iDynTree::Traversal& traversal, const iDynTree::FreeFloatingPos& robotPos, const iDynTree::FreeFloatingVel& robotVel, const iDynTree::FreeFloatingAcc& robotAcc, iDynTree::LinkVelArray& linkVel, iDynTree::LinkAccArray& linkAcc) -> bool
Function that compute the links velocities and accelerations given the free floating robot velocities and accelerations.
auto ForwardPosVelAccKinematics(const iDynTree::Model& model, const iDynTree::Traversal& traversal, const iDynTree::FreeFloatingPos& robotPos, const iDynTree::FreeFloatingVel& robotVel, const iDynTree::FreeFloatingAcc& robotAcc, iDynTree::LinkPositions& linkPos, iDynTree::LinkVelArray& linkVel, iDynTree::LinkAccArray& linkAcc) -> bool
Function that compute the links position, velocities and accelerations given the free floating robot position, velocities and accelerations.
auto ForwardPosVelKinematics(const iDynTree::Model& model, const iDynTree::Traversal& traversal, const iDynTree::FreeFloatingPos& robotPos, const iDynTree::FreeFloatingVel& robotVel, iDynTree::LinkPositions& linkPos, iDynTree::LinkVelArray& linkVel) -> bool
Function that compute the links position and velocities and accelerations given the free floating robot position and velocities.
auto ForwardAccKinematics(const Model& model, const Traversal& traversal, const FreeFloatingPos& robotPos, const FreeFloatingVel& robotVel, const FreeFloatingAcc& robotAcc, const LinkVelArray& linkVel, LinkAccArray& linkAcc) -> bool
Function that computes the links accelerations given the free floating robot velocities and accelerations.
auto ForwardBiasAccKinematics(const Model& model, const Traversal& traversal, const FreeFloatingPos& robotPos, const FreeFloatingVel& robotVel, const SpatialAcc& baseBiasAcc, const LinkVelArray& linkVel, LinkAccArray& linkBiasAcc) -> bool
Function that computes the links bias accelerations given the free floating robot velocities.
auto ForwardBiasAccKinematics(const Model& model, const Traversal& traversal, const FreeFloatingPos& robotPos, const FreeFloatingVel& robotVel, const LinkVelArray& linkVel, LinkAccArray& linkBiasAcc) -> bool
Legacy function, will be deprecated, use the variant with an explicit baseBiasAcc value.
auto FreeFloatingJacobianUsingLinkPos(const Model& model, const Traversal& traversal, const JointPosDoubleArray& jointPositions, const LinkPositions& linkPositions, const LinkIndex linkIndex, const Transform& jacobFrame_X_world, const Transform& baseFrame_X_jacobBaseFrame, const MatrixView<double>& jacobian) -> bool
Compute a free floating jacobian.
auto createReducedModelAndSensors(const Model& fullModel, const SensorsList& fullSensors, const std::vector<std::string>& jointsInReducedModel, Model& reducedModel, SensorsList& reducedSensors) -> bool
Variant of createReducedModel function that also process the sensorList .
auto getRandomLink() -> Link
void addRandomLinkToModel(Model& model, std::string parentLink, std::string newLinkName, bool onlyRevoluteJoints = false)
Add a random link with random model.
void addRandomAdditionalFrameToModel(Model& model, std::string parentLink, std::string newFrameName)
Add a random additional frame to a model model.
auto getRandomLinkIndexOfModel(const Model& model) -> LinkIndex
auto getRandomLinkOfModel(const Model& model) -> std::string
auto int2string(int i) -> std::string
auto getRandomModel(unsigned int nrOfJoints, size_t nrOfAdditionalFrames = 10, bool onlyRevoluteJoints = false) -> Model
auto getRandomChain(unsigned int nrOfJoints, size_t nrOfAdditionalFrames = 10, bool onlyRevoluteJoints = false) -> Model
void getRandomJointPositions(VectorDynSize& vec, const Model& model)
Get random joint position consistently with the limits of the model.
auto getRandomInverseDynamicsInputs(FreeFloatingPos& pos, FreeFloatingVel& vel, FreeFloatingAcc& acc, LinkNetExternalWrenches& extWrenches) -> bool
Get random robot positions, velocities and accelerations and external wrenches to be given as an input to InverseDynamics.
auto removeFakeLinks(const Model& modelWithFakeLinks, Model& modelWithoutFakeLinks) -> bool
\function Remove all fake links in the model, transforming them in frames.
auto createReducedModel(const Model& fullModel, const std::vector<std::string>& jointsInReducedModel, Model& reducedModel) -> bool
This function takes in input a iDynTree::Model and an ordered list of joints and returns a model with just the joint specified in the list, with that exact order.
auto createReducedModel(const Model& fullModel, const std::vector<std::string>& jointsInReducedModel, Model& reducedModel, const std::unordered_map<std::string, double>& removedJointPositions) -> bool
This function takes in input a iDynTree::Model and an ordered list of joints and returns a model with just the joint specified in the list, with that exact order.
auto createModelWithNormalizedJointNumbering(const Model& model, const std::string& baseForNormalizedJointNumbering, Model& reducedModel) -> bool
Given a specified base, return a model with a "normalized" joint numbering for that base.
auto extractSubModel(const iDynTree::Model& fullModel, const iDynTree::Traversal& subModelTraversal, iDynTree::Model& outputSubModel) -> bool
Extract sub model from sub model traversal.
auto addValidNamesToAllSolidShapes(const iDynTree::Model& inputModel, iDynTree::Model& outputModel) -> bool
Add automatically generated names to all visual and collision solid shapes of the model.
auto moveLinkFramesToBeCompatibleWithURDFWithGivenBaseLink(const iDynTree::Model& inputModel, iDynTree::Model& outputModel) -> bool
Transform the input model in model that can be exported as URDF with the given base link.
auto predictSensorsMeasurements(const Model& model, const Traversal& traversal, const FreeFloatingPos& robotPos, const FreeFloatingVel& robotVel, const FreeFloatingAcc& robotAcc, const LinAcceleration& gravity, const LinkNetExternalWrenches& externalWrenches, FreeFloatingAcc& buf_properRobotAcc, LinkPositions& buf_linkPos, LinkVelArray& buf_linkVel, LinkAccArray& buf_linkProperAcc, LinkInternalWrenches& buf_internalWrenches, FreeFloatingGeneralizedTorques& buf_outputTorques, SensorsMeasurements& predictedMeasurement) -> bool
Predict the measurement of a set of sensors.
auto predictSensorsMeasurementsFromRawBuffers(const Model& model, const Traversal& traversal, const LinkVelArray& buf_linkVel, const LinkAccArray& buf_linkProperAcc, const LinkInternalWrenches& buf_internalWrenches, SensorsMeasurements& predictedMeasurement) -> bool
Predict the measurement of a set of sensors.
auto predictSensorsMeasurements(const Model& model, const SensorsList& sensorList, const Traversal& traversal, const FreeFloatingPos& robotPos, const FreeFloatingVel& robotVel, const FreeFloatingAcc& robotAcc, const LinAcceleration& gravity, const LinkNetExternalWrenches& externalWrenches, FreeFloatingAcc& buf_properRobotAcc, LinkPositions& buf_linkPos, LinkVelArray& buf_linkVel, LinkAccArray& buf_linkProperAcc, LinkInternalWrenches& buf_internalWrenches, FreeFloatingGeneralizedTorques& buf_outputTorques, SensorsMeasurements& predictedMeasurement) -> bool
Predict the measurement of a set of sensors.
auto predictSensorsMeasurementsFromRawBuffers(const Model& model, const SensorsList& sensorList, const Traversal& traversal, const LinkVelArray& buf_linkVel, const LinkAccArray& buf_linkProperAcc, const LinkInternalWrenches& buf_internalWrenches, SensorsMeasurements& predictedMeasurement) -> bool
Predict the measurement of a set of sensors.
auto isLinkSensor(const SensorType type) -> bool
Short function to check if a SensorType is a LinkSensor.
auto isJointSensor(const SensorType type) -> bool
Short function to check if a SensorType is.
auto getSensorTypeSize(const SensorType type) -> std::size_t
void computeTransformToTraversalBase(const Model& fullModel, const Traversal& traversal, const JointPosDoubleArray& jointPos, LinkPositions& traversalBase_H_link)
Helper loop to compute the position of each link wrt to the frame of the subModel base.
void computeTransformToSubModelBase(const Model& fullModel, const SubModelDecomposition& subModelDecomposition, const JointPosDoubleArray& jointPos, LinkPositions& subModelBase_H_link)
Run the computeTransformToTraversalBase for all the traversal in the subModelDecomposition, and store the results in the linkPos array.
auto isLinkBerdyDynamicVariable(const BerdyDynamicVariablesTypes dynamicVariableType) -> bool
auto isJointBerdyDynamicVariable(const BerdyDynamicVariablesTypes dynamicVariableType) -> bool
auto isDOFBerdyDynamicVariable(const BerdyDynamicVariablesTypes dynamicVariableType) -> bool
auto estimateExternalWrenchesWithoutInternalFT(const Model& model, const Traversal& traversal, const LinkUnknownWrenchContacts& unknownWrenches, const JointPosDoubleArray& jointPos, const LinkVelArray& linkVel, const LinkAccArray& linkProperAcc, estimateExternalWrenchesBuffers& bufs, LinkContactWrenches& outputContactWrenches) -> bool
Estimate the external contact wrenches using the MultiBody Newton-Euler equations.
auto estimateExternalWrenches(const Model& model, const SubModelDecomposition& subModels, const SensorsList& sensors, const LinkUnknownWrenchContacts& unknownWrenches, const JointPosDoubleArray& jointPos, const LinkVelArray& linkVel, const LinkAccArray& linkProperAcc, const SensorsMeasurements& ftSensorsMeasurements, estimateExternalWrenchesBuffers& bufs, LinkContactWrenches& outputContactWrenches) -> bool
Estimate the external wrenches trasmitted by the contacts between the model and the external environment.
auto dynamicsEstimationForwardVelAccKinematics(const Model& model, const Traversal& traversal, const Vector3& base_classicalProperAcc, const Vector3& base_angularVel, const Vector3& base_angularAcc, const JointPosDoubleArray& jointPos, const JointDOFsDoubleArray& jointVel, const JointDOFsDoubleArray& jointAcc, LinkVelArray& linkVel, LinkAccArray& linkProperAcc) -> bool
Modified forward kinematics for torque/force estimation.
auto dynamicsEstimationForwardVelKinematics(const Model& model, const Traversal& traversal, const Vector3& base_angularVel, const JointPosDoubleArray& jointPos, const JointDOFsDoubleArray& jointVel, LinkVelArray& linkVel) -> bool
Modified forward kinematics for floating basedynamics estimation.
auto computeLinkNetWrenchesWithoutGravity(const Model& model, const LinkVelArray& linkVel, const LinkAccArray& linkProperAcc, LinkNetTotalWrenchesWithoutGravity& linkNetWrenchesWithoutGravity) -> bool
Compute the net internal and external wrenches (excluding gravity forces) acting on the links.
auto estimateLinkContactWrenchesFromLinkNetExternalWrenches(const Model& model, const LinkUnknownWrenchContacts& unknownWrenches, const LinkNetExternalWrenches& netExtWrenches, LinkContactWrenches& outputContactWrenches) -> bool
Compute the link contact wrenches from the net external wrenches.

Variables

IDYNTREE_CONSTEXPR const std::ptrdiff_t dynamic_extent
IDYNTREE_CORE_EXPORT int UNKNOWN
IDYNTREE_CORE_EXPORT double DEFAULT_TOL
Default tolerance for methods with a tolerance, setted to 1e-10.
IDYNTREE_MODEL_EXPORT LinkIndex LINK_INVALID_INDEX
IDYNTREE_MODEL_EXPORT std::string LINK_INVALID_NAME
IDYNTREE_MODEL_EXPORT std::ptrdiff_t JOINT_INVALID_INDEX
IDYNTREE_MODEL_EXPORT std::string JOINT_INVALID_NAME
IDYNTREE_MODEL_EXPORT std::ptrdiff_t DOF_INVALID_INDEX
IDYNTREE_MODEL_EXPORT std::string DOF_INVALID_NAME
IDYNTREE_MODEL_EXPORT std::ptrdiff_t FRAME_INVALID_INDEX
IDYNTREE_MODEL_EXPORT std::string FRAME_INVALID_NAME
IDYNTREE_MODEL_EXPORT TraversalIndex TRAVERSAL_INVALID_INDEX
const int NR_OF_SENSOR_TYPES
const unsigned int output_dimensions_with_magnetometer
dimension of $ \mathbb{R}^3 \times \mathbb{R} $ accelerometer measurements and magnetometer yaw measurement
const unsigned int output_dimensions_without_magnetometer
dimension of $ \mathbb{R}^3 $ accelerometer measurements
const unsigned int input_dimensions
dimension of $ \mathbb{R}^3 $ gyroscope measurements