DART
6.10.1
|
MetaSkeleton is a pure abstract base class that provides a common interface for obtaining data (such as Jacobians and Mass Matrices) from groups of BodyNodes. More...
#include <MetaSkeleton.hpp>
Public Types | |
using | NameChangedSignal = common::Signal< void(std::shared_ptr< const MetaSkeleton > _skeleton, const std::string &_oldName, const std::string &_newName)> |
Public Member Functions | |
MetaSkeleton (const MetaSkeleton &)=delete | |
virtual | ~MetaSkeleton ()=default |
Default destructor. More... | |
virtual MetaSkeletonPtr | cloneMetaSkeleton (const std::string &cloneName) const =0 |
Creates an identical clone of this MetaSkeleton. More... | |
MetaSkeletonPtr | cloneMetaSkeleton () const |
Creates an identical clone of this MetaSkeleton. More... | |
virtual std::unique_ptr< common::LockableReference > | getLockableReference () const =0 |
Returns mutex. More... | |
Name | |
virtual const std::string & | setName (const std::string &_name)=0 |
Set the name of this MetaSkeleton. More... | |
virtual const std::string & | getName () const =0 |
Get the name of this MetaSkeleton. More... | |
Structural Properties | |
virtual std::size_t | getNumBodyNodes () const =0 |
Get number of body nodes. More... | |
virtual BodyNode * | getBodyNode (std::size_t _idx)=0 |
Get BodyNode whose index is _idx. More... | |
virtual const BodyNode * | getBodyNode (std::size_t _idx) const =0 |
Get const BodyNode whose index is _idx. More... | |
virtual BodyNode * | getBodyNode (const std::string &name)=0 |
Returns the BodyNode of given name. More... | |
virtual const BodyNode * | getBodyNode (const std::string &name) const =0 |
Returns the BodyNode of given name. More... | |
virtual const std::vector< BodyNode * > & | getBodyNodes ()=0 |
Get all the BodyNodes that are held by this MetaSkeleton. More... | |
virtual const std::vector< const BodyNode * > & | getBodyNodes () const =0 |
Get all the BodyNodes that are held by this MetaSkeleton. More... | |
virtual std::vector< BodyNode * > | getBodyNodes (const std::string &name)=0 |
Returns all the BodyNodes of given name. More... | |
virtual std::vector< const BodyNode * > | getBodyNodes (const std::string &name) const =0 |
Returns all the BodyNodes of given name. More... | |
virtual bool | hasBodyNode (const BodyNode *bodyNode) const =0 |
Returns whether this Skeleton contains bodyNode . More... | |
virtual std::size_t | getIndexOf (const BodyNode *_bn, bool _warning=true) const =0 |
Get the index of a specific BodyNode within this ReferentialSkeleton. More... | |
virtual std::size_t | getNumJoints () const =0 |
Get number of Joints. More... | |
virtual Joint * | getJoint (std::size_t _idx)=0 |
Get Joint whose index is _idx. More... | |
virtual const Joint * | getJoint (std::size_t _idx) const =0 |
Get const Joint whose index is _idx. More... | |
virtual Joint * | getJoint (const std::string &name)=0 |
Returns the Joint of given name. More... | |
virtual const Joint * | getJoint (const std::string &name) const =0 |
Returns the joint of given name. More... | |
virtual std::vector< Joint * > | getJoints ()=0 |
Returns all the joints that are held by this MetaSkeleton. More... | |
virtual std::vector< const Joint * > | getJoints () const =0 |
Returns all the joints that are held by this MetaSkeleton. More... | |
virtual std::vector< Joint * > | getJoints (const std::string &name)=0 |
Returns all the Joint of given name. More... | |
virtual std::vector< const Joint * > | getJoints (const std::string &name) const =0 |
Returns all the Joint of given name. More... | |
virtual bool | hasJoint (const Joint *joint) const =0 |
Returns whether this Skeleton contains join . More... | |
virtual std::size_t | getIndexOf (const Joint *_joint, bool _warning=true) const =0 |
Get the index of a specific Joint within this ReferentialSkeleton. More... | |
virtual std::size_t | getNumDofs () const =0 |
Return the number of degrees of freedom in this skeleton. More... | |
virtual DegreeOfFreedom * | getDof (std::size_t _idx)=0 |
Get degree of freedom (aka generalized coordinate) whose index is _idx. More... | |
virtual const DegreeOfFreedom * | getDof (std::size_t _idx) const =0 |
Get degree of freedom (aka generalized coordinate) whose index is _idx. More... | |
virtual const std::vector< DegreeOfFreedom * > & | getDofs ()=0 |
Get the vector of DegreesOfFreedom for this MetaSkeleton. More... | |
virtual std::vector< const DegreeOfFreedom * > | getDofs () const =0 |
Get a vector of const DegreesOfFreedom for this MetaSkeleton. More... | |
virtual std::size_t | getIndexOf (const DegreeOfFreedom *_dof, bool _warning=true) const =0 |
Get the index of a specific DegreeOfFreedom within this ReferentialSkeleton. More... | |
Command | |
void | setCommand (std::size_t _index, double _command) |
Set a single command. More... | |
double | getCommand (std::size_t _index) const |
Get a single command. More... | |
void | setCommands (const Eigen::VectorXd &_commands) |
Set commands for all generalized coordinates. More... | |
void | setCommands (const std::vector< std::size_t > &_indices, const Eigen::VectorXd &_commands) |
Set commands for a subset of the generalized coordinates. More... | |
Eigen::VectorXd | getCommands () const |
Get commands for all generalized coordinates. More... | |
Eigen::VectorXd | getCommands (const std::vector< std::size_t > &_indices) const |
Get commands for a subset of the generalized coordinates. More... | |
void | resetCommands () |
Set all commands to zero. More... | |
Position | |
void | setPosition (std::size_t index, double _position) |
Set the position of a single generalized coordinate. More... | |
double | getPosition (std::size_t _index) const |
Get the position of a single generalized coordinate. More... | |
void | setPositions (const Eigen::VectorXd &_positions) |
Set the positions for all generalized coordinates. More... | |
void | setPositions (const std::vector< std::size_t > &_indices, const Eigen::VectorXd &_positions) |
Set the positions for a subset of the generalized coordinates. More... | |
Eigen::VectorXd | getPositions () const |
Get the positions for all generalized coordinates. More... | |
Eigen::VectorXd | getPositions (const std::vector< std::size_t > &_indices) const |
Get the positions for a subset of the generalized coordinates. More... | |
void | resetPositions () |
Set all positions to zero. More... | |
void | setPositionLowerLimit (std::size_t _index, double _position) |
Set the lower limit of a generalized coordinate's position. More... | |
void | setPositionLowerLimits (const Eigen::VectorXd &positions) |
Set the lower limits for all generalized coordinates. More... | |
void | setPositionLowerLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &positions) |
Set the lower limits for a subset of the generalized coordinates. More... | |
double | getPositionLowerLimit (std::size_t _index) const |
Get the lower limit of a generalized coordinate's position. More... | |
Eigen::VectorXd | getPositionLowerLimits () const |
Get the lower limits for all generalized coordinates. More... | |
Eigen::VectorXd | getPositionLowerLimits (const std::vector< std::size_t > &indices) const |
Get the lower limits for a subset of the generalized coordinates. More... | |
void | setPositionUpperLimit (std::size_t _index, double _position) |
Set the upper limit of a generalized coordainte's position. More... | |
void | setPositionUpperLimits (const Eigen::VectorXd &positions) |
Set the upper limits for all generalized coordinates. More... | |
void | setPositionUpperLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &positions) |
Set the upper limits for a subset of the generalized coordinates. More... | |
double | getPositionUpperLimit (std::size_t _index) const |
Get the upper limit of a generalized coordinate's position. More... | |
Eigen::VectorXd | getPositionUpperLimits () const |
Get the upper limits for all generalized coordinates. More... | |
Eigen::VectorXd | getPositionUpperLimits (const std::vector< std::size_t > &indices) const |
Get the upper limits for a subset of the generalized coordinates. More... | |
Velocity | |
void | setVelocity (std::size_t _index, double _velocity) |
Set the velocity of a single generalized coordinate. More... | |
double | getVelocity (std::size_t _index) const |
Get the velocity of a single generalized coordinate. More... | |
void | setVelocities (const Eigen::VectorXd &_velocities) |
Set the velocities of all generalized coordinates. More... | |
void | setVelocities (const std::vector< std::size_t > &_indices, const Eigen::VectorXd &_velocities) |
Set the velocities of a subset of the generalized coordinates. More... | |
Eigen::VectorXd | getVelocities () const |
Get the velocities for all generalized coordinates. More... | |
Eigen::VectorXd | getVelocities (const std::vector< std::size_t > &_indices) const |
Get the velocities for a subset of the generalized coordinates. More... | |
void | resetVelocities () |
Set all velocities to zero. More... | |
void | setVelocityLowerLimit (std::size_t _index, double _velocity) |
Set the lower limit of a generalized coordinate's velocity. More... | |
void | setVelocityLowerLimits (const Eigen::VectorXd &velocities) |
Set the lower limits for all generalized coordinates's velocity. More... | |
void | setVelocityLowerLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &velocities) |
Set the lower limits for a subset of the generalized coordinates's velocity. More... | |
double | getVelocityLowerLimit (std::size_t _index) |
Get the lower limit of a generalized coordinate's velocity. More... | |
Eigen::VectorXd | getVelocityLowerLimits () const |
Get the lower limits for all generalized coordinates's velocity. More... | |
Eigen::VectorXd | getVelocityLowerLimits (const std::vector< std::size_t > &indices) const |
Get the lower limits for a subset of the generalized coordinates's velocity. More... | |
void | setVelocityUpperLimit (std::size_t _index, double _velocity) |
Set the upper limit of a generalized coordinate's velocity. More... | |
void | setVelocityUpperLimits (const Eigen::VectorXd &velocities) |
Set the upper limits for all generalized coordinates's velocity. More... | |
void | setVelocityUpperLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &velocities) |
Set the upper limits for a subset of the generalized coordinates's velocity. More... | |
double | getVelocityUpperLimit (std::size_t _index) |
Get the upper limit of a generalized coordinate's velocity. More... | |
Eigen::VectorXd | getVelocityUpperLimits () const |
Get the upper limits for all generalized coordinates's velocity. More... | |
Eigen::VectorXd | getVelocityUpperLimits (const std::vector< std::size_t > &indices) const |
Get the upper limits for a subset of the generalized coordinates's velocity. More... | |
Acceleration | |
void | setAcceleration (std::size_t _index, double _acceleration) |
Set the acceleration of a single generalized coordinate. More... | |
double | getAcceleration (std::size_t _index) const |
Get the acceleration of a single generalized coordinate. More... | |
void | setAccelerations (const Eigen::VectorXd &_accelerations) |
Set the accelerations of all generalized coordinates. More... | |
void | setAccelerations (const std::vector< std::size_t > &_indices, const Eigen::VectorXd &_accelerations) |
Set the accelerations of a subset of the generalized coordinates. More... | |
Eigen::VectorXd | getAccelerations () const |
Get the accelerations for all generalized coordinates. More... | |
Eigen::VectorXd | getAccelerations (const std::vector< std::size_t > &_indices) const |
Get the accelerations for a subset of the generalized coordinates. More... | |
void | resetAccelerations () |
Set all accelerations to zero. More... | |
void | setAccelerationLowerLimit (std::size_t _index, double _acceleration) |
Set the lower limit of a generalized coordinate's acceleration. More... | |
void | setAccelerationLowerLimits (const Eigen::VectorXd &accelerations) |
Set the lower limits for all generalized coordinates's acceleration. More... | |
void | setAccelerationLowerLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &accelerations) |
Set the lower limits for a subset of the generalized coordinates's acceleration. More... | |
double | getAccelerationLowerLimit (std::size_t _index) const |
Get the lower limit of a generalized coordinate's acceleration. More... | |
Eigen::VectorXd | getAccelerationLowerLimits () const |
Get the lower limits for all generalized coordinates's acceleration. More... | |
Eigen::VectorXd | getAccelerationLowerLimits (const std::vector< std::size_t > &indices) const |
Get the lower limits for a subset of the generalized coordinates's acceleration. More... | |
void | setAccelerationUpperLimit (std::size_t _index, double _acceleration) |
Set the upper limit of a generalized coordinate's acceleration. More... | |
void | setAccelerationUpperLimits (const Eigen::VectorXd &accelerations) |
Set the upper limits for all generalized coordinates's acceleration. More... | |
void | setAccelerationUpperLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &accelerations) |
Set the upper limits for a subset of the generalized coordinates's acceleration. More... | |
double | getAccelerationUpperLimit (std::size_t _index) const |
Get the upper limit of a generalized coordinate's acceleration. More... | |
Eigen::VectorXd | getAccelerationUpperLimits () const |
Get the upper limits for all generalized coordinates's acceleration. More... | |
Eigen::VectorXd | getAccelerationUpperLimits (const std::vector< std::size_t > &indices) const |
Get the upper limits for a subset of the generalized coordinates's acceleration. More... | |
Force | |
void | setForce (std::size_t _index, double _force) |
Set the force of a single generalized coordinate. More... | |
double | getForce (std::size_t _index) const |
Get the force of a single generalized coordinate. More... | |
void | setForces (const Eigen::VectorXd &_forces) |
Set the forces of all generalized coordinates. More... | |
void | setForces (const std::vector< std::size_t > &_index, const Eigen::VectorXd &_forces) |
Set the forces of a subset of the generalized coordinates. More... | |
Eigen::VectorXd | getForces () const |
Get the forces for all generalized coordinates. More... | |
Eigen::VectorXd | getForces (const std::vector< std::size_t > &_indices) const |
Get the forces for a subset of the generalized coordinates. More... | |
void | resetGeneralizedForces () |
Set all forces of the generalized coordinates to zero. More... | |
void | setForceLowerLimit (std::size_t _index, double _force) |
Set the lower limit of a generalized coordinate's force. More... | |
void | setForceLowerLimits (const Eigen::VectorXd &forces) |
Set the lower limits for all generalized coordinates's force. More... | |
void | setForceLowerLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &forces) |
Set the lower limits for a subset of the generalized coordinates's force. More... | |
double | getForceLowerLimit (std::size_t _index) const |
Get the lower limit of a generalized coordinate's force. More... | |
Eigen::VectorXd | getForceLowerLimits () const |
Get the lower limits for all generalized coordinates's force. More... | |
Eigen::VectorXd | getForceLowerLimits (const std::vector< std::size_t > &indices) const |
Get the lower limits for a subset of the generalized coordinates's force. More... | |
void | setForceUpperLimit (std::size_t _index, double _force) |
Set the upper limit of a generalized coordinate's force. More... | |
void | setForceUpperLimits (const Eigen::VectorXd &forces) |
Set the upperlimits for all generalized coordinates's force. More... | |
void | setForceUpperLimits (const std::vector< std::size_t > &indices, const Eigen::VectorXd &forces) |
Set the upper limits for a subset of the generalized coordinates's force. More... | |
double | getForceUpperLimit (std::size_t _index) const |
Get the upper limit of a generalized coordinate's force. More... | |
Eigen::VectorXd | getForceUpperLimits () const |
Get the upper limits for all generalized coordinates's force. More... | |
Eigen::VectorXd | getForceUpperLimits (const std::vector< std::size_t > &indices) const |
Get the upper limits for a subset of the generalized coordinates's force. More... | |
Velocity Change | |
Eigen::VectorXd | getVelocityChanges () const |
Get the velocity changes for all the generalized coordinates. More... | |
Constraint Impulse | |
void | setJointConstraintImpulses (const Eigen::VectorXd &_impulses) |
Set the constraint impulses for the generalized coordinates. More... | |
Eigen::VectorXd | getJointConstraintImpulses () const |
Get the constraint impulses for the generalized coordinates. More... | |
Jacobians | |
virtual math::Jacobian | getJacobian (const JacobianNode *_node) const =0 |
Get the spatial Jacobian targeting the origin of a BodyNode. More... | |
virtual math::Jacobian | getJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf) const =0 |
Get the spatial Jacobian targeting the origin of a BodyNode. More... | |
math::Jacobian | getJacobian (const JacobianNode *_node, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial Jacobian targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton. More... | |
virtual math::Jacobian | getJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const =0 |
Get the spatial Jacobian targeting an offset in a BodyNode. More... | |
virtual math::Jacobian | getJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf) const =0 |
Get the spatial Jacobian targeting an offset in a BodyNode. More... | |
math::Jacobian | getJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial Jacobian targeting an offset in a BodyNode relative to another BodyNode in the same Skeleton. More... | |
virtual math::Jacobian | getWorldJacobian (const JacobianNode *_node) const =0 |
Get the spatial Jacobian targeting the origin of a BodyNode. More... | |
virtual math::Jacobian | getWorldJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const =0 |
Get the spatial Jacobian targeting an offset in a BodyNode. More... | |
virtual math::LinearJacobian | getLinearJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the linear Jacobian targeting the origin of a BodyNode. More... | |
virtual math::LinearJacobian | getLinearJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the linear Jacobian targeting an offset in a BodyNode. More... | |
math::LinearJacobian | getLinearJacobian (const JacobianNode *_node, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf=Frame::World()) const |
Get the linear Jacobian targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton. More... | |
math::LinearJacobian | getLinearJacobian (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf=Frame::World()) const |
Get the linear Jacobian targeting an offset in a BodyNode relative to another BodyNode in the same Skeleton. More... | |
Jacobian derivatives | |
virtual math::AngularJacobian | getAngularJacobian (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the angular Jacobian of a BodyNode. More... | |
math::AngularJacobian | getAngularJacobian (const JacobianNode *_node, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf=Frame::World()) const |
Get the angular Jacobian of a BodyNode relative to another BodyNode in the same Skeleton. More... | |
virtual math::Jacobian | getJacobianSpatialDeriv (const JacobianNode *_node) const =0 |
Get the spatial Jacobian time derivative targeting the origin of a BodyNode. More... | |
virtual math::Jacobian | getJacobianSpatialDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf) const =0 |
Get the spatial Jacobian time derivative targeting the origin of a BodyNode. More... | |
virtual math::Jacobian | getJacobianSpatialDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset) const =0 |
Get the spatial Jacobian time derivative targeting an offset in a BodyNode. More... | |
virtual math::Jacobian | getJacobianSpatialDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf) const =0 |
Get the spatial Jacobian time derivative targeting an offset in a BodyNode. More... | |
math::Jacobian | getJacobianSpatialDeriv (const JacobianNode *_node, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial Jacobian time derivative targeting the origin of a BodyNode relative to another BodyNode in the same Skeleton. More... | |
math::Jacobian | getJacobianSpatialDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const JacobianNode *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial Jacobian time derivative targeting an offset in a BodyNode relative to another Bodynode in the same Skeleton. More... | |
virtual math::Jacobian | getJacobianClassicDeriv (const JacobianNode *_node) const =0 |
Get the spatial Jacobian (classical) time derivative targeting the origin of a BodyNode. More... | |
virtual math::Jacobian | getJacobianClassicDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf) const =0 |
Get the spatial Jacobian (classical) time derivative targeting the origin a BodyNode. More... | |
virtual math::Jacobian | getJacobianClassicDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the spatial Jacobian (classical) time derivative targeting an offset in a BodyNode. More... | |
virtual math::LinearJacobian | getLinearJacobianDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
of a BodyNode. More... | |
virtual math::LinearJacobian | getLinearJacobianDeriv (const JacobianNode *_node, const Eigen::Vector3d &_localOffset, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the linear Jacobian (classical) time derivative targeting an offset in a BodyNode. More... | |
virtual math::AngularJacobian | getAngularJacobianDeriv (const JacobianNode *_node, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the angular Jacobian time derivative of a BodyNode. More... | |
Equations of Motion | |
virtual double | getMass () const =0 |
Get the total mass of all BodyNodes in this MetaSkeleton. More... | |
virtual const Eigen::MatrixXd & | getMassMatrix () const =0 |
Get the Mass Matrix of the MetaSkeleton. More... | |
virtual const Eigen::MatrixXd & | getAugMassMatrix () const =0 |
Get augmented mass matrix of the skeleton. More... | |
virtual const Eigen::MatrixXd & | getInvMassMatrix () const =0 |
Get inverse of Mass Matrix of the MetaSkeleton. More... | |
virtual const Eigen::MatrixXd & | getInvAugMassMatrix () const =0 |
Get inverse of augmented Mass Matrix of the MetaSkeleton. More... | |
virtual const Eigen::VectorXd & | getCoriolisForces () const =0 |
Get Coriolis force vector of the MetaSkeleton's BodyNodes. More... | |
virtual const Eigen::VectorXd & | getGravityForces () const =0 |
Get gravity force vector of the MetaSkeleton. More... | |
virtual const Eigen::VectorXd & | getCoriolisAndGravityForces () const =0 |
Get combined vector of Coriolis force and gravity force of the MetaSkeleton. More... | |
virtual const Eigen::VectorXd & | getExternalForces () const =0 |
Get external force vector of the MetaSkeleton. More... | |
virtual const Eigen::VectorXd & | getConstraintForces () const =0 |
Get constraint force vector. More... | |
virtual void | clearExternalForces ()=0 |
Clear the external forces of the BodyNodes in this MetaSkeleton. More... | |
virtual void | clearInternalForces ()=0 |
Clear the internal forces of the BodyNodes in this MetaSkeleton. More... | |
double | computeLagrangian () const |
Compute and return Lagrangian of this MetaSkeleton. More... | |
double | getKineticEnergy () const |
Get the kinetic energy of this MetaSkeleton. More... | |
virtual double | computeKineticEnergy () const =0 |
Get the kinetic energy of this MetaSkeleton. More... | |
double | getPotentialEnergy () const |
Get the potential energy of this MetaSkeleton. More... | |
virtual double | computePotentialEnergy () const =0 |
Get the potential energy of this MetaSkeleton. More... | |
virtual void | clearCollidingBodies ()=0 |
Clear collision flags of the BodyNodes in this MetaSkeleton. More... | |
Center of Mass Jacobian | |
virtual Eigen::Vector3d | getCOM (const Frame *_withRespectTo=Frame::World()) const =0 |
Get the MetaSkeleton's COM with respect to any Frame (default is World Frame) More... | |
virtual Eigen::Vector6d | getCOMSpatialVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the Skeleton's COM spatial velocity in terms of any Frame (default is World Frame) More... | |
virtual Eigen::Vector3d | getCOMLinearVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the Skeleton's COM linear velocity in terms of any Frame (default is World Frame) More... | |
virtual Eigen::Vector6d | getCOMSpatialAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the Skeleton's COM spatial acceleration in terms of any Frame (default is World Frame) More... | |
virtual Eigen::Vector3d | getCOMLinearAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the MetaSkeleton's COM linear acceleration in terms of any Frame (default is World Frame) More... | |
virtual math::Jacobian | getCOMJacobian (const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the MetaSkeleton's COM Jacobian in terms of any Frame (default is World Frame) More... | |
virtual math::LinearJacobian | getCOMLinearJacobian (const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the MetaSkeleton's COM Linear Jacobian in terms of any Frame (default is World Frame) More... | |
virtual math::Jacobian | getCOMJacobianSpatialDeriv (const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the Skeleton's COM Jacobian spatial time derivative in terms of any Frame (default is World Frame). More... | |
virtual math::LinearJacobian | getCOMLinearJacobianDeriv (const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Get the Skeleton's COM Linear Jacobian time derivative in terms of any Frame (default is World Frame). More... | |
Public Attributes | |
common::SlotRegister< NameChangedSignal > | onNameChanged |
Protected Member Functions | |
MetaSkeleton () | |
Default constructor. More... | |
void | sendDestructionNotification () const |
Send a destruction notification to all Observers. More... | |
void | addObserver (Observer *_observer) const |
Add an Observer to the list of Observers. More... | |
void | removeObserver (Observer *_observer) const |
Remove an Observer from the list of Observers. More... | |
Protected Attributes | |
NameChangedSignal | mNameChangedSignal |
std::set< Observer * > | mObservers |
List of current Observers. More... | |
MetaSkeleton is a pure abstract base class that provides a common interface for obtaining data (such as Jacobians and Mass Matrices) from groups of BodyNodes.
using dart::dynamics::MetaSkeleton::NameChangedSignal = common::Signal<void( std::shared_ptr<const MetaSkeleton> _skeleton, const std::string& _oldName, const std::string& _newName)> |
|
delete |
|
virtualdefault |
Default destructor.
|
protected |
Default constructor.
|
protectedinherited |
Add an Observer to the list of Observers.
|
pure virtual |
Clear collision flags of the BodyNodes in this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Clear the external forces of the BodyNodes in this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Clear the internal forces of the BodyNodes in this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
MetaSkeletonPtr dart::dynamics::MetaSkeleton::cloneMetaSkeleton | ( | ) | const |
Creates an identical clone of this MetaSkeleton.
|
pure virtual |
Creates an identical clone of this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, dart::dynamics::Linkage, dart::dynamics::Group, dart::dynamics::Chain, and dart::dynamics::Branch.
|
pure virtual |
Get the kinetic energy of this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
double dart::dynamics::MetaSkeleton::computeLagrangian | ( | ) | const |
Compute and return Lagrangian of this MetaSkeleton.
|
pure virtual |
Get the potential energy of this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
double dart::dynamics::MetaSkeleton::getAcceleration | ( | std::size_t | _index | ) | const |
Get the acceleration of a single generalized coordinate.
double dart::dynamics::MetaSkeleton::getAccelerationLowerLimit | ( | std::size_t | _index | ) | const |
Get the lower limit of a generalized coordinate's acceleration.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerationLowerLimits | ( | ) | const |
Get the lower limits for all generalized coordinates's acceleration.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerationLowerLimits | ( | const std::vector< std::size_t > & | indices | ) | const |
Get the lower limits for a subset of the generalized coordinates's acceleration.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerations | ( | ) | const |
Get the accelerations for all generalized coordinates.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerations | ( | const std::vector< std::size_t > & | _indices | ) | const |
Get the accelerations for a subset of the generalized coordinates.
double dart::dynamics::MetaSkeleton::getAccelerationUpperLimit | ( | std::size_t | _index | ) | const |
Get the upper limit of a generalized coordinate's acceleration.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerationUpperLimits | ( | ) | const |
Get the upper limits for all generalized coordinates's acceleration.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getAccelerationUpperLimits | ( | const std::vector< std::size_t > & | indices | ) | const |
Get the upper limits for a subset of the generalized coordinates's acceleration.
|
pure virtual |
Get the angular Jacobian of a BodyNode.
You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
math::AngularJacobian dart::dynamics::MetaSkeleton::getAngularJacobian | ( | const JacobianNode * | _node, |
const JacobianNode * | _relativeTo, | ||
const Frame * | _inCoordinatesOf = Frame::World() |
||
) | const |
|
pure virtual |
Get the angular Jacobian time derivative of a BodyNode.
You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get augmented mass matrix of the skeleton.
This matrix is used in ConstraintDynamics to compute constraint forces. The matrix is M + h*D + h*h*K where D is diagonal joint damping coefficient matrix, K is diagonal joint stiffness matrix, and h is simulation time step.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns the BodyNode of given name.
[in] | name | The BodyNode name that want to search. |
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns the BodyNode of given name.
[in] | name | The BodyNode name that want to search. |
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get const BodyNode whose index is _idx.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get BodyNode whose index is _idx.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get all the BodyNodes that are held by this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get all the BodyNodes that are held by this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns all the BodyNodes of given name.
[in] | name | The BodyNode name that want to search. |
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns all the BodyNodes of given name.
[in] | name | The BodyNode name that want to search. |
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the MetaSkeleton's COM with respect to any Frame (default is World Frame)
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the MetaSkeleton's COM Jacobian in terms of any Frame (default is World Frame)
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the Skeleton's COM Jacobian spatial time derivative in terms of any Frame (default is World Frame).
NOTE: Since this is a spatial time derivative, it is only meant to be used with spatial acceleration vectors. If you are using classical linear vectors, then use getCOMLinearJacobianDeriv() instead.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the MetaSkeleton's COM linear acceleration in terms of any Frame (default is World Frame)
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the MetaSkeleton's COM Linear Jacobian in terms of any Frame (default is World Frame)
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the Skeleton's COM Linear Jacobian time derivative in terms of any Frame (default is World Frame).
NOTE: Since this is a classical time derivative, it is only meant to be used with classical acceleration vectors. If you are using spatial vectors, then use getCOMJacobianSpatialDeriv() instead.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the Skeleton's COM linear velocity in terms of any Frame (default is World Frame)
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
double dart::dynamics::MetaSkeleton::getCommand | ( | std::size_t | _index | ) | const |
Get a single command.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getCommands | ( | ) | const |
Get commands for all generalized coordinates.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getCommands | ( | const std::vector< std::size_t > & | _indices | ) | const |
Get commands for a subset of the generalized coordinates.
|
pure virtual |
Get the Skeleton's COM spatial acceleration in terms of any Frame (default is World Frame)
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the Skeleton's COM spatial velocity in terms of any Frame (default is World Frame)
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get constraint force vector.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get combined vector of Coriolis force and gravity force of the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get Coriolis force vector of the MetaSkeleton's BodyNodes.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get degree of freedom (aka generalized coordinate) whose index is _idx.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get degree of freedom (aka generalized coordinate) whose index is _idx.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get a vector of const DegreesOfFreedom for this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the vector of DegreesOfFreedom for this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get external force vector of the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
double dart::dynamics::MetaSkeleton::getForce | ( | std::size_t | _index | ) | const |
Get the force of a single generalized coordinate.
double dart::dynamics::MetaSkeleton::getForceLowerLimit | ( | std::size_t | _index | ) | const |
Get the lower limit of a generalized coordinate's force.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getForceLowerLimits | ( | ) | const |
Get the lower limits for all generalized coordinates's force.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getForceLowerLimits | ( | const std::vector< std::size_t > & | indices | ) | const |
Get the lower limits for a subset of the generalized coordinates's force.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getForces | ( | ) | const |
Get the forces for all generalized coordinates.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getForces | ( | const std::vector< std::size_t > & | _indices | ) | const |
Get the forces for a subset of the generalized coordinates.
double dart::dynamics::MetaSkeleton::getForceUpperLimit | ( | std::size_t | _index | ) | const |
Get the upper limit of a generalized coordinate's force.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getForceUpperLimits | ( | ) | const |
Get the upper limits for all generalized coordinates's force.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getForceUpperLimits | ( | const std::vector< std::size_t > & | indices | ) | const |
Get the upper limits for a subset of the generalized coordinates's force.
|
pure virtual |
Get gravity force vector of the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the index of a specific BodyNode within this ReferentialSkeleton.
Returns INVALID_INDEX if it is not held in this ReferentialSkeleton. When _warning is true, a warning message will be printed if the BodyNode is not in the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the index of a specific DegreeOfFreedom within this ReferentialSkeleton.
Returns INVALID_INDEX if it is not held in this ReferentialSkeleton. When _warning is true, a warning message will be printed if the DegreeOfFreedom is not in the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the index of a specific Joint within this ReferentialSkeleton.
Returns INVALID_INDEX if it is not held in this ReferentialSkeleton. When _warning is true, a warning message will be printed if the Joint is not in the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get inverse of augmented Mass Matrix of the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get inverse of Mass Matrix of the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian targeting the origin of a BodyNode.
The Jacobian is expressed in the Frame of the BodyNode.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian targeting an offset in a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. The Jacobian is expressed in the Frame of the BodyNode.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian targeting an offset in a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
math::Jacobian dart::dynamics::MetaSkeleton::getJacobian | ( | const JacobianNode * | _node, |
const Eigen::Vector3d & | _localOffset, | ||
const JacobianNode * | _relativeTo, | ||
const Frame * | _inCoordinatesOf | ||
) | const |
|
pure virtual |
Get the spatial Jacobian targeting the origin of a BodyNode.
You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
math::Jacobian dart::dynamics::MetaSkeleton::getJacobian | ( | const JacobianNode * | _node, |
const JacobianNode * | _relativeTo, | ||
const Frame * | _inCoordinatesOf | ||
) | const |
|
pure virtual |
Get the spatial Jacobian (classical) time derivative targeting the origin of a BodyNode.
The Jacobian is expressed in the World Frame.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian (classical) time derivative targeting an offset in a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian (classical) time derivative targeting the origin a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian time derivative targeting the origin of a BodyNode.
The Jacobian is expressed in the Frame of the BodyNode.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian time derivative targeting an offset in a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. The Jacobian is expressed in the Frame of the BodyNode.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian time derivative targeting an offset in a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
math::Jacobian dart::dynamics::MetaSkeleton::getJacobianSpatialDeriv | ( | const JacobianNode * | _node, |
const Eigen::Vector3d & | _localOffset, | ||
const JacobianNode * | _relativeTo, | ||
const Frame * | _inCoordinatesOf | ||
) | const |
|
pure virtual |
Get the spatial Jacobian time derivative targeting the origin of a BodyNode.
You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
math::Jacobian dart::dynamics::MetaSkeleton::getJacobianSpatialDeriv | ( | const JacobianNode * | _node, |
const JacobianNode * | _relativeTo, | ||
const Frame * | _inCoordinatesOf | ||
) | const |
|
pure virtual |
Returns the joint of given name.
[in] | name | The joint name that want to search. |
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns the Joint of given name.
[in] | name | The joint name that want to search. |
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get const Joint whose index is _idx.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get Joint whose index is _idx.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getJointConstraintImpulses | ( | ) | const |
Get the constraint impulses for the generalized coordinates.
|
pure virtual |
Returns all the joints that are held by this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns all the joints that are held by this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns all the Joint of given name.
This MetaSkeleton can contain multiple Joints with the same name when this MetaSkeleton contains Joints from multiple Skeletons.
[in] | name | The joint name that want to search. |
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns all the Joint of given name.
This MetaSkeleton can contain multiple Joints with the same name when this MetaSkeleton contains Joints from multiple Skeletons.
[in] | name | The joint name that want to search. |
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
double dart::dynamics::MetaSkeleton::getKineticEnergy | ( | ) | const |
Get the kinetic energy of this MetaSkeleton.
|
pure virtual |
Get the linear Jacobian targeting an offset in a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
math::LinearJacobian dart::dynamics::MetaSkeleton::getLinearJacobian | ( | const JacobianNode * | _node, |
const Eigen::Vector3d & | _localOffset, | ||
const JacobianNode * | _relativeTo, | ||
const Frame * | _inCoordinatesOf = Frame::World() |
||
) | const |
|
pure virtual |
Get the linear Jacobian targeting the origin of a BodyNode.
You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
math::LinearJacobian dart::dynamics::MetaSkeleton::getLinearJacobian | ( | const JacobianNode * | _node, |
const JacobianNode * | _relativeTo, | ||
const Frame * | _inCoordinatesOf = Frame::World() |
||
) | const |
|
pure virtual |
Get the linear Jacobian (classical) time derivative targeting an offset in a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
of a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns mutex.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the total mass of all BodyNodes in this MetaSkeleton.
Note that for the ReferentialSkeleton extension of MetaSkeleton, this will be an O(n) operation, while the Skeleton extension will be O(1).
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the Mass Matrix of the MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the name of this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get number of body nodes.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Return the number of degrees of freedom in this skeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get number of Joints.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
double dart::dynamics::MetaSkeleton::getPosition | ( | std::size_t | _index | ) | const |
Get the position of a single generalized coordinate.
double dart::dynamics::MetaSkeleton::getPositionLowerLimit | ( | std::size_t | _index | ) | const |
Get the lower limit of a generalized coordinate's position.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositionLowerLimits | ( | ) | const |
Get the lower limits for all generalized coordinates.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositionLowerLimits | ( | const std::vector< std::size_t > & | indices | ) | const |
Get the lower limits for a subset of the generalized coordinates.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositions | ( | ) | const |
Get the positions for all generalized coordinates.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositions | ( | const std::vector< std::size_t > & | _indices | ) | const |
Get the positions for a subset of the generalized coordinates.
double dart::dynamics::MetaSkeleton::getPositionUpperLimit | ( | std::size_t | _index | ) | const |
Get the upper limit of a generalized coordinate's position.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositionUpperLimits | ( | ) | const |
Get the upper limits for all generalized coordinates.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getPositionUpperLimits | ( | const std::vector< std::size_t > & | indices | ) | const |
Get the upper limits for a subset of the generalized coordinates.
double dart::dynamics::MetaSkeleton::getPotentialEnergy | ( | ) | const |
Get the potential energy of this MetaSkeleton.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocities | ( | ) | const |
Get the velocities for all generalized coordinates.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocities | ( | const std::vector< std::size_t > & | _indices | ) | const |
Get the velocities for a subset of the generalized coordinates.
double dart::dynamics::MetaSkeleton::getVelocity | ( | std::size_t | _index | ) | const |
Get the velocity of a single generalized coordinate.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityChanges | ( | ) | const |
Get the velocity changes for all the generalized coordinates.
double dart::dynamics::MetaSkeleton::getVelocityLowerLimit | ( | std::size_t | _index | ) |
Get the lower limit of a generalized coordinate's velocity.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityLowerLimits | ( | ) | const |
Get the lower limits for all generalized coordinates's velocity.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityLowerLimits | ( | const std::vector< std::size_t > & | indices | ) | const |
Get the lower limits for a subset of the generalized coordinates's velocity.
double dart::dynamics::MetaSkeleton::getVelocityUpperLimit | ( | std::size_t | _index | ) |
Get the upper limit of a generalized coordinate's velocity.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityUpperLimits | ( | ) | const |
Get the upper limits for all generalized coordinates's velocity.
Eigen::VectorXd dart::dynamics::MetaSkeleton::getVelocityUpperLimits | ( | const std::vector< std::size_t > & | indices | ) | const |
Get the upper limits for a subset of the generalized coordinates's velocity.
|
pure virtual |
Get the spatial Jacobian targeting the origin of a BodyNode.
The Jacobian is expressed in the World Frame.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Get the spatial Jacobian targeting an offset in a BodyNode.
The _offset is expected in coordinates of the BodyNode Frame. The Jacobian is expressed in the World Frame.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns whether this Skeleton contains bodyNode
.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
pure virtual |
Returns whether this Skeleton contains join
.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
|
protectedinherited |
Remove an Observer from the list of Observers.
void dart::dynamics::MetaSkeleton::resetAccelerations | ( | ) |
Set all accelerations to zero.
void dart::dynamics::MetaSkeleton::resetCommands | ( | ) |
Set all commands to zero.
void dart::dynamics::MetaSkeleton::resetGeneralizedForces | ( | ) |
Set all forces of the generalized coordinates to zero.
void dart::dynamics::MetaSkeleton::resetPositions | ( | ) |
Set all positions to zero.
void dart::dynamics::MetaSkeleton::resetVelocities | ( | ) |
Set all velocities to zero.
|
protectedinherited |
Send a destruction notification to all Observers.
This will cause all Observers to behave as if this Subject has been permanently deleted, so it should only be called when that behavior is desired.
void dart::dynamics::MetaSkeleton::setAcceleration | ( | std::size_t | _index, |
double | _acceleration | ||
) |
Set the acceleration of a single generalized coordinate.
void dart::dynamics::MetaSkeleton::setAccelerationLowerLimit | ( | std::size_t | _index, |
double | _acceleration | ||
) |
Set the lower limit of a generalized coordinate's acceleration.
void dart::dynamics::MetaSkeleton::setAccelerationLowerLimits | ( | const Eigen::VectorXd & | accelerations | ) |
Set the lower limits for all generalized coordinates's acceleration.
void dart::dynamics::MetaSkeleton::setAccelerationLowerLimits | ( | const std::vector< std::size_t > & | indices, |
const Eigen::VectorXd & | accelerations | ||
) |
Set the lower limits for a subset of the generalized coordinates's acceleration.
void dart::dynamics::MetaSkeleton::setAccelerations | ( | const Eigen::VectorXd & | _accelerations | ) |
Set the accelerations of all generalized coordinates.
void dart::dynamics::MetaSkeleton::setAccelerations | ( | const std::vector< std::size_t > & | _indices, |
const Eigen::VectorXd & | _accelerations | ||
) |
Set the accelerations of a subset of the generalized coordinates.
void dart::dynamics::MetaSkeleton::setAccelerationUpperLimit | ( | std::size_t | _index, |
double | _acceleration | ||
) |
Set the upper limit of a generalized coordinate's acceleration.
void dart::dynamics::MetaSkeleton::setAccelerationUpperLimits | ( | const Eigen::VectorXd & | accelerations | ) |
Set the upper limits for all generalized coordinates's acceleration.
void dart::dynamics::MetaSkeleton::setAccelerationUpperLimits | ( | const std::vector< std::size_t > & | indices, |
const Eigen::VectorXd & | accelerations | ||
) |
Set the upper limits for a subset of the generalized coordinates's acceleration.
void dart::dynamics::MetaSkeleton::setCommand | ( | std::size_t | _index, |
double | _command | ||
) |
Set a single command.
void dart::dynamics::MetaSkeleton::setCommands | ( | const Eigen::VectorXd & | _commands | ) |
Set commands for all generalized coordinates.
void dart::dynamics::MetaSkeleton::setCommands | ( | const std::vector< std::size_t > & | _indices, |
const Eigen::VectorXd & | _commands | ||
) |
Set commands for a subset of the generalized coordinates.
void dart::dynamics::MetaSkeleton::setForce | ( | std::size_t | _index, |
double | _force | ||
) |
Set the force of a single generalized coordinate.
void dart::dynamics::MetaSkeleton::setForceLowerLimit | ( | std::size_t | _index, |
double | _force | ||
) |
Set the lower limit of a generalized coordinate's force.
void dart::dynamics::MetaSkeleton::setForceLowerLimits | ( | const Eigen::VectorXd & | forces | ) |
Set the lower limits for all generalized coordinates's force.
void dart::dynamics::MetaSkeleton::setForceLowerLimits | ( | const std::vector< std::size_t > & | indices, |
const Eigen::VectorXd & | forces | ||
) |
Set the lower limits for a subset of the generalized coordinates's force.
void dart::dynamics::MetaSkeleton::setForces | ( | const Eigen::VectorXd & | _forces | ) |
Set the forces of all generalized coordinates.
void dart::dynamics::MetaSkeleton::setForces | ( | const std::vector< std::size_t > & | _index, |
const Eigen::VectorXd & | _forces | ||
) |
Set the forces of a subset of the generalized coordinates.
void dart::dynamics::MetaSkeleton::setForceUpperLimit | ( | std::size_t | _index, |
double | _force | ||
) |
Set the upper limit of a generalized coordinate's force.
void dart::dynamics::MetaSkeleton::setForceUpperLimits | ( | const Eigen::VectorXd & | forces | ) |
Set the upperlimits for all generalized coordinates's force.
void dart::dynamics::MetaSkeleton::setForceUpperLimits | ( | const std::vector< std::size_t > & | indices, |
const Eigen::VectorXd & | forces | ||
) |
Set the upper limits for a subset of the generalized coordinates's force.
void dart::dynamics::MetaSkeleton::setJointConstraintImpulses | ( | const Eigen::VectorXd & | _impulses | ) |
Set the constraint impulses for the generalized coordinates.
|
pure virtual |
Set the name of this MetaSkeleton.
Implemented in dart::dynamics::Skeleton, and dart::dynamics::ReferentialSkeleton.
void dart::dynamics::MetaSkeleton::setPosition | ( | std::size_t | index, |
double | _position | ||
) |
Set the position of a single generalized coordinate.
void dart::dynamics::MetaSkeleton::setPositionLowerLimit | ( | std::size_t | _index, |
double | _position | ||
) |
Set the lower limit of a generalized coordinate's position.
void dart::dynamics::MetaSkeleton::setPositionLowerLimits | ( | const Eigen::VectorXd & | positions | ) |
Set the lower limits for all generalized coordinates.
void dart::dynamics::MetaSkeleton::setPositionLowerLimits | ( | const std::vector< std::size_t > & | indices, |
const Eigen::VectorXd & | positions | ||
) |
Set the lower limits for a subset of the generalized coordinates.
void dart::dynamics::MetaSkeleton::setPositions | ( | const Eigen::VectorXd & | _positions | ) |
Set the positions for all generalized coordinates.
void dart::dynamics::MetaSkeleton::setPositions | ( | const std::vector< std::size_t > & | _indices, |
const Eigen::VectorXd & | _positions | ||
) |
Set the positions for a subset of the generalized coordinates.
void dart::dynamics::MetaSkeleton::setPositionUpperLimit | ( | std::size_t | _index, |
double | _position | ||
) |
Set the upper limit of a generalized coordainte's position.
void dart::dynamics::MetaSkeleton::setPositionUpperLimits | ( | const Eigen::VectorXd & | positions | ) |
Set the upper limits for all generalized coordinates.
void dart::dynamics::MetaSkeleton::setPositionUpperLimits | ( | const std::vector< std::size_t > & | indices, |
const Eigen::VectorXd & | positions | ||
) |
Set the upper limits for a subset of the generalized coordinates.
void dart::dynamics::MetaSkeleton::setVelocities | ( | const Eigen::VectorXd & | _velocities | ) |
Set the velocities of all generalized coordinates.
void dart::dynamics::MetaSkeleton::setVelocities | ( | const std::vector< std::size_t > & | _indices, |
const Eigen::VectorXd & | _velocities | ||
) |
Set the velocities of a subset of the generalized coordinates.
void dart::dynamics::MetaSkeleton::setVelocity | ( | std::size_t | _index, |
double | _velocity | ||
) |
Set the velocity of a single generalized coordinate.
void dart::dynamics::MetaSkeleton::setVelocityLowerLimit | ( | std::size_t | _index, |
double | _velocity | ||
) |
Set the lower limit of a generalized coordinate's velocity.
void dart::dynamics::MetaSkeleton::setVelocityLowerLimits | ( | const Eigen::VectorXd & | velocities | ) |
Set the lower limits for all generalized coordinates's velocity.
void dart::dynamics::MetaSkeleton::setVelocityLowerLimits | ( | const std::vector< std::size_t > & | indices, |
const Eigen::VectorXd & | velocities | ||
) |
Set the lower limits for a subset of the generalized coordinates's velocity.
void dart::dynamics::MetaSkeleton::setVelocityUpperLimit | ( | std::size_t | _index, |
double | _velocity | ||
) |
Set the upper limit of a generalized coordinate's velocity.
void dart::dynamics::MetaSkeleton::setVelocityUpperLimits | ( | const Eigen::VectorXd & | velocities | ) |
Set the upper limits for all generalized coordinates's velocity.
void dart::dynamics::MetaSkeleton::setVelocityUpperLimits | ( | const std::vector< std::size_t > & | indices, |
const Eigen::VectorXd & | velocities | ||
) |
Set the upper limits for a subset of the generalized coordinates's velocity.
|
protected |
|
mutableprotectedinherited |
List of current Observers.
common::SlotRegister<NameChangedSignal> dart::dynamics::MetaSkeleton::onNameChanged |