dart
|
The JacobianNode class serves as a common interface for BodyNodes and EndEffectors to both be used as references for IK modules. More...
#include <JacobianNode.hpp>
Public Member Functions | |
virtual | ~JacobianNode () |
Virtual destructor. | |
const std::shared_ptr< InverseKinematics > & | getIK (bool _createIfNull=false) |
Get a pointer to an IK module for this JacobianNode. More... | |
const std::shared_ptr< InverseKinematics > & | getOrCreateIK () |
Get a pointer to an IK module for this JacobianNode. More... | |
std::shared_ptr< const InverseKinematics > | getIK () const |
Get a pointer to an IK module for this JacobianNode. More... | |
const std::shared_ptr< InverseKinematics > & | createIK () |
Create a new IK module for this JacobianNode. More... | |
void | clearIK () |
Wipe away the IK module for this JacobianNode, leaving it as a nullptr. | |
void | notifyJacobianUpdate () |
Notify this BodyNode and all its descendents that their Jacobians need to be updated. More... | |
void | dirtyJacobian () |
Notify this BodyNode and all its descendents that their Jacobians need to be updated. More... | |
void | notifyJacobianDerivUpdate () |
Notify this BodyNode and all its descendents that their Jacobian derivatives need to be updated. More... | |
void | dirtyJacobianDeriv () |
Notify this BodyNode and all its descendents that their Jacobian derivatives need to be updated. More... | |
Structural Properties | |
virtual bool | dependsOn (std::size_t _genCoordIndex) const =0 |
Return true if _genCoordIndex-th generalized coordinate. | |
virtual std::size_t | getNumDependentGenCoords () const =0 |
The number of the generalized coordinates which affect this JacobianNode. | |
virtual std::size_t | getDependentGenCoordIndex (std::size_t _arrayIndex) const =0 |
Return a generalized coordinate index from the array index (< getNumDependentDofs) | |
virtual const std::vector< std::size_t > & | getDependentGenCoordIndices () const =0 |
Indices of the generalized coordinates which affect this JacobianNode. | |
virtual std::size_t | getNumDependentDofs () const =0 |
Same as getNumDependentGenCoords() | |
virtual DegreeOfFreedom * | getDependentDof (std::size_t _index)=0 |
Get a pointer to the _indexth dependent DegreeOfFreedom for this BodyNode. | |
virtual const DegreeOfFreedom * | getDependentDof (std::size_t _index) const =0 |
Get a pointer to the _indexth dependent DegreeOfFreedom for this BodyNode. | |
virtual const std::vector< DegreeOfFreedom * > & | getDependentDofs ()=0 |
Return a std::vector of DegreeOfFreedom pointers that this Node depends on. | |
virtual const std::vector< const DegreeOfFreedom * > & | getDependentDofs () const =0 |
Return a std::vector of DegreeOfFreedom pointers that this Node depends on. | |
virtual const std::vector< const DegreeOfFreedom * > | getChainDofs () const =0 |
Returns a DegreeOfFreedom vector containing the dofs that form a Chain leading up to this JacobianNode from the root of the Skeleton. More... | |
Jacobian Functions | |
virtual const math::Jacobian & | getJacobian () const =0 |
Return the generalized Jacobian targeting the origin of this JacobianNode. More... | |
virtual math::Jacobian | getJacobian (const Frame *_inCoordinatesOf) const =0 |
A version of getJacobian() that lets you specify a coordinate Frame to express the Jacobian in. More... | |
virtual math::Jacobian | getJacobian (const Eigen::Vector3d &_offset) const =0 |
Return the generalized Jacobian targeting an offset within the Frame of this JacobianNode. More... | |
virtual math::Jacobian | getJacobian (const Eigen::Vector3d &_offset, const Frame *_inCoordinatesOf) const =0 |
A version of getJacobian(const Eigen::Vector3d&) that lets you specify a coordinate Frame to express the Jacobian in. More... | |
virtual const math::Jacobian & | getWorldJacobian () const =0 |
Return the generalized Jacobian targeting the origin of this JacobianNode. More... | |
virtual math::Jacobian | getWorldJacobian (const Eigen::Vector3d &_offset) const =0 |
Return the generalized Jacobian targeting an offset in this JacobianNode. More... | |
virtual math::LinearJacobian | getLinearJacobian (const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Return the linear Jacobian targeting the origin of this BodyNode. More... | |
virtual math::LinearJacobian | getLinearJacobian (const Eigen::Vector3d &_offset, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Return the generalized Jacobian targeting an offset within the Frame of this BodyNode. More... | |
virtual math::AngularJacobian | getAngularJacobian (const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Return the angular Jacobian targeting the origin of this BodyNode. More... | |
virtual const math::Jacobian & | getJacobianSpatialDeriv () const =0 |
Return the spatial time derivative of the generalized Jacobian targeting the origin of this BodyNode. More... | |
virtual math::Jacobian | getJacobianSpatialDeriv (const Frame *_inCoordinatesOf) const =0 |
A version of getJacobianSpatialDeriv() that can return the Jacobian in coordinates of any Frame. More... | |
virtual math::Jacobian | getJacobianSpatialDeriv (const Eigen::Vector3d &_offset) const =0 |
Return the spatial time derivative of the generalized Jacobian targeting an offset in the Frame of this BodyNode. More... | |
virtual math::Jacobian | getJacobianSpatialDeriv (const Eigen::Vector3d &_offset, const Frame *_inCoordinatesOf) const =0 |
A version of getJacobianSpatialDeriv(const Eigen::Vector3d&) that allows an arbitrary coordinate Frame to be specified. More... | |
virtual const math::Jacobian & | getJacobianClassicDeriv () const =0 |
Return the classical time derivative of the generalized Jacobian targeting the origin of this BodyNode. More... | |
virtual math::Jacobian | getJacobianClassicDeriv (const Frame *_inCoordinatesOf) const =0 |
A version of getJacobianClassicDeriv() that can return the Jacobian in coordinates of any Frame. More... | |
virtual math::Jacobian | getJacobianClassicDeriv (const Eigen::Vector3d &_offset, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
A version of getJacobianClassicDeriv() that can compute the Jacobian for an offset within the Frame of this BodyNode. More... | |
virtual math::LinearJacobian | getLinearJacobianDeriv (const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Return the linear Jacobian (classical) time derivative, in terms of any coordinate Frame. More... | |
virtual math::LinearJacobian | getLinearJacobianDeriv (const Eigen::Vector3d &_offset, const Frame *_inCoordinatesOf=Frame::World()) const =0 |
A version of getLinearJacobianDeriv() that can compute the Jacobian for an offset within the Frame of this BodyNode. More... | |
virtual math::AngularJacobian | getAngularJacobianDeriv (const Frame *_inCoordinatesOf=Frame::World()) const =0 |
Return the angular Jacobian time derivative, in terms of any coordinate Frame. More... | |
Public Member Functions inherited from dart::dynamics::Frame | |
Frame (const Frame &)=delete | |
~Frame () override | |
Destructor. | |
virtual const Eigen::Isometry3d & | getRelativeTransform () const =0 |
Get the transform of this Frame with respect to its parent Frame. | |
const Eigen::Isometry3d & | getWorldTransform () const |
Get the transform of this Frame with respect to the World Frame. | |
Eigen::Isometry3d | getTransform (const Frame *_withRespectTo=Frame::World()) const |
Get the transform of this Frame with respect to some other Frame. | |
Eigen::Isometry3d | getTransform (const Frame *withRespectTo, const Frame *inCoordinatesOf) const |
Get the transform of this Frame with respect to some other Frame. More... | |
virtual const Eigen::Vector6d & | getRelativeSpatialVelocity () const =0 |
Get the spatial velocity of this Frame relative to its parent Frame, in its own coordinates. More... | |
const Eigen::Vector6d & | getSpatialVelocity () const |
Get the total spatial velocity of this Frame in the coordinates of this Frame. More... | |
Eigen::Vector6d | getSpatialVelocity (const Frame *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial velocity of this Frame relative to some other Frame. More... | |
Eigen::Vector6d | getSpatialVelocity (const Eigen::Vector3d &_offset) const |
Get the spatial velocity of a fixed point in this Frame. More... | |
Eigen::Vector6d | getSpatialVelocity (const Eigen::Vector3d &_offset, const Frame *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial velocity of a fixed point in this Frame. | |
Eigen::Vector3d | getLinearVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the linear portion of classical velocity of this Frame relative to some other Frame. More... | |
Eigen::Vector3d | getLinearVelocity (const Eigen::Vector3d &_offset, const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the linear velocity of a point that is fixed in this Frame. More... | |
Eigen::Vector3d | getAngularVelocity (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the angular portion of classical velocity of this Frame relative to some other Frame. More... | |
virtual const Eigen::Vector6d & | getRelativeSpatialAcceleration () const =0 |
Get the spatial acceleration of this Frame relative to its parent Frame, in the coordinates of this Frame. More... | |
virtual const Eigen::Vector6d & | getPrimaryRelativeAcceleration () const =0 |
The Featherstone ABI algorithm exploits a component of the spatial acceleration which we refer to as the partial acceleration, accessible by getPartialAcceleration(). More... | |
virtual const Eigen::Vector6d & | getPartialAcceleration () const =0 |
The Featherstone ABI algorithm exploits a component of the spatial acceleration which we refer to as the partial acceleration. More... | |
const Eigen::Vector6d & | getSpatialAcceleration () const |
Get the total spatial acceleration of this Frame in the coordinates of this Frame. More... | |
Eigen::Vector6d | getSpatialAcceleration (const Frame *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial acceleration of this Frame relative to some other Frame. More... | |
Eigen::Vector6d | getSpatialAcceleration (const Eigen::Vector3d &_offset) const |
Get the spatial acceleration of a fixed point in this Frame. More... | |
Eigen::Vector6d | getSpatialAcceleration (const Eigen::Vector3d &_offset, const Frame *_relativeTo, const Frame *_inCoordinatesOf) const |
Get the spatial acceleration of a fixed point in this Frame. | |
Eigen::Vector3d | getLinearAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the linear portion of classical acceleration of this Frame relative to some other Frame. More... | |
Eigen::Vector3d | getLinearAcceleration (const Eigen::Vector3d &_offset, const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Eigen::Vector3d | getAngularAcceleration (const Frame *_relativeTo=Frame::World(), const Frame *_inCoordinatesOf=Frame::World()) const |
Get the angular portion of classical acceleration of this Frame relative to some other Frame. More... | |
const std::set< Entity * > & | getChildEntities () |
Get a container with the Entities that are children of this Frame. More... | |
const std::set< const Entity * > | getChildEntities () const |
Get a container with the Entities that are children of this Frame. More... | |
std::size_t | getNumChildEntities () const |
Get the number of Entities that are currently children of this Frame. | |
const std::set< Frame * > & | getChildFrames () |
Get a container with the Frames that are children of this Frame. More... | |
std::set< const Frame * > | getChildFrames () const |
Get a container with the Frames that are children of this Frame. More... | |
std::size_t | getNumChildFrames () const |
Get the number of Frames that are currently children of this Frame. | |
bool | isShapeFrame () const |
Returns true if this Frame is a ShapeFrame. | |
virtual ShapeFrame * | asShapeFrame () |
Convert 'this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr. | |
virtual const ShapeFrame * | asShapeFrame () const |
Convert 'const this' into a ShapeFrame pointer if Frame is a ShapeFrame, otherwise return nullptr. | |
bool | isWorld () const |
Returns true if this Frame is the World Frame. | |
virtual void | dirtyTransform () override |
Notify the transformation updates of this Frame and all its children are needed. | |
virtual void | dirtyVelocity () override |
Notify the velocity updates of this Frame and all its children are needed. | |
virtual void | dirtyAcceleration () override |
Notify the acceleration updates of this Frame and all its children are needed. | |
Public Member Functions inherited from dart::dynamics::Entity | |
Entity (Frame *_refFrame, bool _quiet) | |
Constructor for typical usage. | |
Entity () | |
Default constructor, delegates to Entity(ConstructAbstract_t) | |
Entity (const Entity &)=delete | |
virtual | ~Entity () |
Destructor. | |
virtual const std::string & | setName (const std::string &_name)=0 |
Set name. More... | |
virtual const std::string & | getName () const =0 |
Return the name of this Entity. | |
Frame * | getParentFrame () |
Get the parent (reference) frame of this Entity. | |
const Frame * | getParentFrame () const |
Get the parent (reference) frame of this Entity. | |
bool | descendsFrom (const Frame *_someFrame) const |
Returns true if and only if this Entity is itself (i.e. More... | |
bool | isFrame () const |
True iff this Entity is also a Frame. | |
bool | isQuiet () const |
Returns true if this Entity is set to be quiet. More... | |
virtual void | notifyTransformUpdate () |
Notify the transformation update of this Entity that its parent Frame's pose is needed. | |
bool | needsTransformUpdate () const |
Returns true iff a transform update is needed for this Entity. | |
virtual void | notifyVelocityUpdate () |
Notify the velocity update of this Entity that its parent Frame's velocity is needed. | |
bool | needsVelocityUpdate () const |
Returns true iff a velocity update is needed for this Entity. | |
virtual void | notifyAccelerationUpdate () |
Notify the acceleration of this Entity that its parent Frame's acceleration is needed. | |
bool | needsAccelerationUpdate () const |
Returns true iff an acceleration update is needed for this Entity. | |
Public Member Functions inherited from dart::common::Subject | |
virtual | ~Subject () |
Destructor will notify all Observers that it is destructing. | |
Public Member Functions inherited from dart::dynamics::Node | |
virtual | ~Node ()=default |
Virtual destructor. | |
virtual const std::string & | setName (const std::string &newName)=0 |
Set the name of this Node. | |
virtual const std::string & | getName () const =0 |
Get the name of this Node. | |
virtual void | setNodeState (const State &otherState) |
Set the State of this Node. By default, this does nothing. | |
virtual std::unique_ptr< State > | getNodeState () const |
Get the State of this Node. More... | |
virtual void | copyNodeStateTo (std::unique_ptr< State > &outputState) const |
Copy the State of this Node into a unique_ptr. More... | |
virtual void | setNodeProperties (const Properties &properties) |
Set the Properties of this Node. By default, this does nothing. | |
virtual std::unique_ptr< Properties > | getNodeProperties () const |
Get the Properties of this Node. More... | |
virtual void | copyNodePropertiesTo (std::unique_ptr< Properties > &outputProperties) const |
Copy the Properties of this Node into a unique_ptr. More... | |
BodyNodePtr | getBodyNodePtr () |
Get a pointer to the BodyNode that this Node is associated with. | |
ConstBodyNodePtr | getBodyNodePtr () const |
Get a pointer to the BodyNode that this Node is associated with. | |
bool | isRemoved () const |
Returns true if this Node has been staged for removal from its BodyNode. More... | |
virtual std::shared_ptr< Skeleton > | getSkeleton () |
Return the Skeleton that this Node is attached to. | |
virtual std::shared_ptr< const Skeleton > | getSkeleton () const |
Return the Skeleton that this Node is attached to. | |
Public Member Functions inherited from dart::common::VersionCounter | |
VersionCounter () | |
Default constructor. | |
virtual std::size_t | incrementVersion () |
Increment the version for this object. | |
virtual std::size_t | getVersion () const |
Get the version number of this object. | |
Protected Member Functions | |
JacobianNode (BodyNode *bn) | |
Constructor. | |
Protected Member Functions inherited from dart::dynamics::Frame | |
Frame (Frame *_refFrame) | |
Constructor for typical usage. | |
Frame () | |
Default constructor, delegates to Frame(ConstructAbstract_t) | |
Frame (ConstructAbstractTag) | |
Constructor for use by pure abstract classes. | |
virtual void | changeParentFrame (Frame *_newParentFrame) override |
Used by derived classes to change their parent frames. | |
virtual void | processNewEntity (Entity *_newChildEntity) |
Called during a parent Frame change to allow extensions of the Frame class to handle new children in customized ways. More... | |
virtual void | processRemovedEntity (Entity *_oldChildEntity) |
Called when a child Entity is removed from its parent Frame. More... | |
Protected Member Functions inherited from dart::dynamics::Entity | |
Entity (ConstructFrameTag) | |
Entity (ConstructAbstractTag) | |
Protected Member Functions inherited from dart::common::Subject | |
void | sendDestructionNotification () const |
Send a destruction notification to all Observers. More... | |
void | addObserver (Observer *_observer) const |
Add an Observer to the list of Observers. | |
void | removeObserver (Observer *_observer) const |
Remove an Observer from the list of Observers. | |
Protected Member Functions inherited from dart::dynamics::Node | |
virtual Node * | cloneNode (BodyNode *bn) const =0 |
Allow your Node implementation to be cloned into a new BodyNode. | |
Node (BodyNode *_bn) | |
Constructor. | |
std::string | registerNameChange (const std::string &newName) |
Inform the Skeleton that the name of this Node has changed. More... | |
void | attach () |
Attach the Node to its BodyNode. | |
void | stageForRemoval () |
When all external references to the Node disappear, it will be deleted. | |
Protected Member Functions inherited from dart::common::VersionCounter | |
void | setVersionDependentObject (VersionCounter *dependent) |
Protected Attributes | |
bool | mIsBodyJacobianDirty |
Dirty flag for body Jacobian. | |
bool | mIsWorldJacobianDirty |
Dirty flag for world Jacobian. | |
bool | mIsBodyJacobianSpatialDerivDirty |
Dirty flag for spatial time derivative of body Jacobian. | |
bool | mIsWorldJacobianClassicDerivDirty |
Dirty flag for the classic time derivative of the Jacobian. | |
std::shared_ptr< InverseKinematics > | mIK |
Inverse kinematics module which gets lazily created upon request. | |
std::unordered_set< JacobianNode * > | mChildJacobianNodes |
JacobianNode children that descend from this JacobianNode. | |
Protected Attributes inherited from dart::dynamics::Frame | |
Eigen::Isometry3d | mWorldTransform |
World transform of this Frame. More... | |
Eigen::Vector6d | mVelocity |
Total velocity of this Frame, in the coordinates of this Frame. More... | |
Eigen::Vector6d | mAcceleration |
Total acceleration of this Frame, in the coordinates of this Frame. More... | |
std::set< Frame * > | mChildFrames |
Container of this Frame's child Frames. | |
std::set< Entity * > | mChildEntities |
Container of this Frame's child Entities. | |
Protected Attributes inherited from dart::dynamics::Entity | |
Frame * | mParentFrame |
Parent frame of this Entity. | |
bool | mNeedTransformUpdate |
Does this Entity need a Transform update. | |
bool | mNeedVelocityUpdate |
Does this Entity need a Velocity update. | |
bool | mNeedAccelerationUpdate |
Does this Entity need an Acceleration update. | |
FrameChangedSignal | mFrameChangedSignal |
Frame changed signal. | |
NameChangedSignal | mNameChangedSignal |
Name changed signal. | |
EntitySignal | mTransformUpdatedSignal |
Transform changed signal. | |
EntitySignal | mVelocityChangedSignal |
Velocity changed signal. | |
EntitySignal | mAccelerationChangedSignal |
Acceleration changed signal. | |
Protected Attributes inherited from dart::common::Subject | |
std::set< Observer * > | mObservers |
List of current Observers. | |
Protected Attributes inherited from dart::dynamics::Node | |
std::weak_ptr< NodeDestructor > | mDestructor |
weak pointer to the destructor for this Node. More... | |
BodyNode * | mBodyNode |
Pointer to the BodyNode that this Node is attached to. | |
bool | mAmAttached |
bool that tracks whether this Node is attached to its BodyNode | |
std::size_t | mIndexInBodyNode |
The index of this Node within its vector in its BodyNode's NodeMap. | |
std::size_t | mIndexInSkeleton |
The index of this Node within its vector in its Skeleton's NodeMap. | |
std::size_t | mIndexInTree |
Index of this Node within its tree. | |
Protected Attributes inherited from dart::common::VersionCounter | |
std::size_t | mVersion |
Additional Inherited Members | |
Public Types inherited from dart::dynamics::Entity | |
using | EntitySignal = common::Signal< void(const Entity *)> |
using | FrameChangedSignal = common::Signal< void(const Entity *, const Frame *_oldFrame, const Frame *_newFrame)> |
using | NameChangedSignal = common::Signal< void(const Entity *, const std::string &_oldName, const std::string &_newName)> |
Public Types inherited from dart::dynamics::Node | |
template<class Mixin > | |
using | MakeState = common::MakeCloneable< State, Mixin > |
Use the MakeState class to easily create a State extension from an existing class or struct. | |
template<class Mixin > | |
using | MakeProperties = common::MakeCloneable< Properties, Mixin > |
Use the MakeProperties class to easily create a Properties extension from an existing class or struct. More... | |
Static Public Member Functions inherited from dart::dynamics::Frame | |
static Frame * | World () |
static std::shared_ptr< Frame > | WorldShared () |
Public Attributes inherited from dart::dynamics::Entity | |
common::SlotRegister< FrameChangedSignal > | onFrameChanged |
Slot register for frame changed signal. | |
common::SlotRegister< NameChangedSignal > | onNameChanged |
Slot register for name changed signal. | |
common::SlotRegister< EntitySignal > | onTransformUpdated |
Slot register for transform updated signal. | |
common::SlotRegister< EntitySignal > | onVelocityChanged |
Slot register for velocity updated signal. | |
common::SlotRegister< EntitySignal > | onAccelerationChanged |
Slot register for acceleration updated signal. | |
Protected Types inherited from dart::dynamics::Frame | |
enum | ConstructAbstractTag { ConstructAbstract } |
Used when constructing a pure abstract class, because calling the Frame constructor is just a formality. | |
Protected Types inherited from dart::dynamics::Entity | |
enum | ConstructFrameTag { ConstructFrame } |
Used when constructing a Frame class, because the Frame constructor will take care of setting up the parameters you pass into it. | |
enum | ConstructAbstractTag { ConstructAbstract } |
Used when constructing a pure abstract class, because calling the Entity constructor is just a formality. | |
The JacobianNode class serves as a common interface for BodyNodes and EndEffectors to both be used as references for IK modules.
This is a pure abstract class.
const std::shared_ptr< InverseKinematics > & dart::dynamics::JacobianNode::createIK | ( | ) |
Create a new IK module for this JacobianNode.
If an IK module already exists in this JacobianNode, it will be destroyed and replaced by a brand new one.
void dart::dynamics::JacobianNode::dirtyJacobian | ( | ) |
Notify this BodyNode and all its descendents that their Jacobians need to be updated.
void dart::dynamics::JacobianNode::dirtyJacobianDeriv | ( | ) |
Notify this BodyNode and all its descendents that their Jacobian derivatives need to be updated.
|
pure virtual |
Return the angular Jacobian targeting the origin of this BodyNode.
You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Return the angular Jacobian time derivative, in terms of any coordinate Frame.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Returns a DegreeOfFreedom vector containing the dofs that form a Chain leading up to this JacobianNode from the root of the Skeleton.
Implemented in dart::dynamics::BodyNode.
const std::shared_ptr< InverseKinematics > & dart::dynamics::JacobianNode::getIK | ( | bool | _createIfNull = false | ) |
Get a pointer to an IK module for this JacobianNode.
If _createIfNull is true, then the IK module will be generated if one does not already exist.
std::shared_ptr< const InverseKinematics > dart::dynamics::JacobianNode::getIK | ( | ) | const |
Get a pointer to an IK module for this JacobianNode.
Because this is a const function, a new IK module cannot be created if one does not already exist.
|
pure virtual |
Return the generalized Jacobian targeting the origin of this JacobianNode.
The Jacobian is expressed in the Frame of this JacobianNode.
Implemented in dart::dynamics::BodyNode.
|
pure virtual |
A version of getJacobian() that lets you specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Return the generalized Jacobian targeting an offset within the Frame of this JacobianNode.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
A version of getJacobian(const Eigen::Vector3d&) that lets you specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Return the classical time derivative of the generalized Jacobian targeting the origin of this BodyNode.
The Jacobian is expressed in the World coordinate Frame.
NOTE: Since this is a classical time derivative, it should be used with classical linear and angular vectors. If you are using spatial vectors, use getJacobianSpatialDeriv() instead.
Implemented in dart::dynamics::BodyNode.
|
pure virtual |
A version of getJacobianClassicDeriv() that can return the Jacobian in coordinates of any Frame.
NOTE: Since this is a classical time derivative, it should be used with classical linear and angular vectors. If you are using spatial vectors, use getJacobianSpatialDeriv() instead.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
A version of getJacobianClassicDeriv() that can compute the Jacobian for an offset within the Frame of this BodyNode.
The offset must be expressed in the coordinates of this BodyNode Frame.
NOTE: Since this is a classical time derivative, it should be used with classical linear and angular vectors. If you are using spatial vectors, use getJacobianSpatialDeriv() instead.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Return the spatial time derivative of the generalized Jacobian targeting the origin of this BodyNode.
The Jacobian is expressed in this BodyNode's coordinate Frame.
NOTE: Since this is a spatial time derivative, it should be used with spatial vectors. If you are using classical linear and angular acceleration vectors, then use getJacobianClassicDeriv(), getLinearJacobianDeriv(), or getAngularJacobianDeriv() instead.
Implemented in dart::dynamics::BodyNode.
|
pure virtual |
A version of getJacobianSpatialDeriv() that can return the Jacobian in coordinates of any Frame.
NOTE: This Jacobian Derivative is only for use with spatial vectors. If you are using classical linear and angular vectors, then use getJacobianClassicDeriv(), getLinearJacobianDeriv(), or getAngularJacobianDeriv() instead.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Return the spatial time derivative of the generalized Jacobian targeting an offset in the Frame of this BodyNode.
The Jacobian is expressed in this BodyNode's coordinate Frame.
NOTE: This Jacobian Derivative is only for use with spatial vectors. If you are using classic linear and angular vectors, then use getJacobianClassicDeriv(), getLinearJacobianDeriv(), or getAngularJacobianDeriv() instead.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
A version of getJacobianSpatialDeriv(const Eigen::Vector3d&) that allows an arbitrary coordinate Frame to be specified.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Return the linear Jacobian targeting the origin of this BodyNode.
You can specify a coordinate Frame to express the Jacobian in.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Return the generalized Jacobian targeting an offset within the Frame of this BodyNode.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
Return the linear Jacobian (classical) time derivative, in terms of any coordinate Frame.
NOTE: Since this is a classical time derivative, it should be used with classical linear vectors. If you are using spatial vectors, use getJacobianSpatialDeriv() instead.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
|
pure virtual |
A version of getLinearJacobianDeriv() that can compute the Jacobian for an offset within the Frame of this BodyNode.
The offset must be expressed in coordinates of this BodyNode Frame.
NOTE: Since this is a classical time derivative, it should be used with classical linear vectors. If you are using spatial vectors, use getJacobianSpatialDeriv() instead.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
const std::shared_ptr< InverseKinematics > & dart::dynamics::JacobianNode::getOrCreateIK | ( | ) |
Get a pointer to an IK module for this JacobianNode.
The IK module will be generated if one does not already exist. This function is actually the same as getIK(true).
|
pure virtual |
Return the generalized Jacobian targeting the origin of this JacobianNode.
The Jacobian is expressed in the World Frame.
Implemented in dart::dynamics::BodyNode.
|
pure virtual |
Return the generalized Jacobian targeting an offset in this JacobianNode.
The _offset is expected in coordinates of this BodyNode Frame. The Jacobian is expressed in the World Frame.
Implemented in dart::dynamics::TemplatedJacobianNode< NodeType >, and dart::dynamics::TemplatedJacobianNode< BodyNode >.
void dart::dynamics::JacobianNode::notifyJacobianDerivUpdate | ( | ) |
Notify this BodyNode and all its descendents that their Jacobian derivatives need to be updated.
void dart::dynamics::JacobianNode::notifyJacobianUpdate | ( | ) |
Notify this BodyNode and all its descendents that their Jacobians need to be updated.