iDynTree/DenavitHartenberg.h file

Namespaces

namespace iDynTree

Classes

struct iDynTree::DHLink
Structure representing the four DH parameters of a link in a Chain.
class iDynTree::DHChain
Simple representation of a chain described with Denavit-Hartenberg Parameters.

Functions

auto TransformFromDHCraig1989(double a, double alpha, double d, double theta) -> Transform
auto TransformFromDH(double a, double alpha, double d, double theta) -> Transform
DH : constructs a transformationmatrix T_link(i-1)_link(i) with the Denavit-Hartenberg convention as described in the original publictation: Denavit, J.
auto ExtractDHChainFromModel(const iDynTree::Model& model, const std::string baseFrame, const std::string eeFrame, DHChain& outputChain, double tolerance = 1e-5) -> bool
Extract a Denavit Hartenberg Chain from a iDynTree::Model.
auto CreateModelFromDHChain(const DHChain& inputChain, Model& outputModel) -> bool
Create an iDynTree::Model from a DHChain.

Function documentation

Transform TransformFromDH(double a, double alpha, double d, double theta)

DH : constructs a transformationmatrix T_link(i-1)_link(i) with the Denavit-Hartenberg convention as described in the original publictation: Denavit, J.

and Hartenberg, R. S., A kinematic notation for lower-pair mechanisms based on matrices, ASME Journal of Applied Mechanics, 23:215-221, 1955.

Function compatible on KDL's Frame::DH method.

bool ExtractDHChainFromModel(const iDynTree::Model& model, const std::string baseFrame, const std::string eeFrame, DHChain& outputChain, double tolerance = 1e-5)

Extract a Denavit Hartenberg Chain from a iDynTree::Model.

In particular you can specify the base frame and the end effector frame of the chain. The chain is then extracted using the algorithm found in: Chapter 3, Spong, Mark W., Seth Hutchinson, and M. Vidyasagar. "Robot modeling and control". 2006. (section 3.2.3 of http://www.cs.duke.edu/brd/Teaching/Bio/asmb/current/Papers/chap3-forward-kinematics.pdf)

bool CreateModelFromDHChain(const DHChain& inputChain, Model& outputModel)

Create an iDynTree::Model from a DHChain.

Returns true if all went ok, false otherwise.