rbd::Jacobian Class Reference

#include <RBDyn/RBDyn/Jacobian.h>

Public Member Functions

 Jacobian ()
 
 Jacobian (const MultiBody &mb, const std::string &bodyName, const Eigen::Vector3d &point=Eigen::Vector3d::Zero())
 
 Jacobian (const MultiBody &mb, const std::string &bodyName, const std::string &refBodyName, const Eigen::Vector3d &point=Eigen::Vector3d::Zero())
 
const Eigen::MatrixXd & jacobian (const MultiBody &mb, const MultiBodyConfig &mbc, const sva::PTransformd &X_0_p)
 
const Eigen::MatrixXd & jacobian (const MultiBody &mb, const MultiBodyConfig &mbc)
 
const Eigen::MatrixXd & bodyJacobian (const MultiBody &mb, const MultiBodyConfig &mbc)
 
const Eigen::MatrixXd & vectorJacobian (const MultiBody &mb, const MultiBodyConfig &mbc, const Eigen::Vector3d &vector)
 
const Eigen::MatrixXd & vectorBodyJacobian (const MultiBody &mb, const MultiBodyConfig &mbc, const Eigen::Vector3d &vector)
 
const Eigen::MatrixXd & jacobianDot (const MultiBody &mb, const MultiBodyConfig &mbc)
 
const Eigen::MatrixXd & bodyJacobianDot (const MultiBody &mb, const MultiBodyConfig &mbc)
 
sva::MotionVecd velocity (const MultiBody &mb, const MultiBodyConfig &mbc, const sva::PTransformd &X_b_p) const
 
sva::MotionVecd velocity (const MultiBody &mb, const MultiBodyConfig &mbc) const
 
sva::MotionVecd bodyVelocity (const MultiBody &mb, const MultiBodyConfig &mbc) const
 
sva::MotionVecd normalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc, const sva::PTransformd &X_b_p, const sva::MotionVecd &V_b_p) const
 
sva::MotionVecd normalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc) const
 
sva::MotionVecd bodyNormalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc) const
 
sva::MotionVecd normalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc, const std::vector< sva::MotionVecd > &normalAccB, const sva::PTransformd &X_b_p, const sva::MotionVecd &V_b_p) const
 
sva::MotionVecd normalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc, const std::vector< sva::MotionVecd > &normalAccB) const
 
sva::MotionVecd bodyNormalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc, const std::vector< sva::MotionVecd > &normalAccB) const
 
void translateJacobian (const Eigen::Ref< const Eigen::MatrixXd > &jac, const MultiBodyConfig &mbc, const Eigen::Vector3d &point, Eigen::MatrixXd &res)
 
void translateBodyJacobian (const Eigen::Ref< const Eigen::MatrixXd > &jac, const MultiBodyConfig &mbc, const Eigen::Vector3d &point, Eigen::MatrixXd &res)
 
void fullJacobian (const MultiBody &mb, const Eigen::Ref< const Eigen::MatrixXd > &jac, Eigen::MatrixXd &res) const
 
void addFullJacobian (const MultiBody &mb, const Eigen::Ref< const Eigen::MatrixXd > &jac, Eigen::MatrixXd &res) const
 
void addFullJacobian (const Blocks &compactPath, const Eigen::Ref< const Eigen::MatrixXd > &jac, Eigen::MatrixXd &res) const
 
Eigen::MatrixXd expand (const rbd::MultiBody &mb, const Eigen::Ref< const Eigen::MatrixXd > &jac) const
 
void expandAdd (const rbd::MultiBody &mb, const Eigen::Ref< const Eigen::MatrixXd > &jac, Eigen::MatrixXd &res) const
 
Blocks compactPath (const rbd::MultiBody &mb) const
 
void expandAdd (const Blocks &compactPath, const Eigen::Ref< const Eigen::MatrixXd > &jac, Eigen::MatrixXd &res) const
 
MultiBody subMultiBody (const MultiBody &mb) const
 
const std::vector< int > & jointsPath () const
 
int dof () const
 
const Eigen::Vector3d & point () const
 
void point (const Eigen::Vector3d &point)
 
const Eigen::MatrixXd & sJacobian (const MultiBody &mb, const MultiBodyConfig &mbc, const sva::PTransformd &X_0_p)
 
const Eigen::MatrixXd & sJacobian (const MultiBody &mb, const MultiBodyConfig &mbc)
 
const Eigen::MatrixXd & sBodyJacobian (const MultiBody &mb, const MultiBodyConfig &mbc)
 
const Eigen::MatrixXd & sVectorJacobian (const MultiBody &mb, const MultiBodyConfig &mbc, const Eigen::Vector3d &vec)
 
const Eigen::MatrixXd & sVectorBodyJacobian (const MultiBody &mb, const MultiBodyConfig &mbc, const Eigen::Vector3d &vec)
 
MultiBody sSubMultiBody (const MultiBody &mb) const
 
const Eigen::MatrixXd & sJacobianDot (const MultiBody &mb, const MultiBodyConfig &mbc)
 
const Eigen::MatrixXd & sBodyJacobianDot (const MultiBody &mb, const MultiBodyConfig &mbc)
 
void sTranslateJacobian (const Eigen::MatrixXd &jac, const MultiBodyConfig &mbc, const Eigen::Vector3d &point, Eigen::MatrixXd &res)
 
void sFullJacobian (const MultiBody &mb, const Eigen::MatrixXd &jac, Eigen::MatrixXd &res) const
 
sva::MotionVecd sVelocity (const MultiBody &mb, const MultiBodyConfig &mbc, const sva::PTransformd &X_b_p) const
 
sva::MotionVecd sVelocity (const MultiBody &mb, const MultiBodyConfig &mbc) const
 
sva::MotionVecd sNormalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc, const sva::PTransformd &X_b_p, const sva::MotionVecd &V_b_p) const
 
sva::MotionVecd sNormalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc, const std::vector< sva::MotionVecd > &normalAccB, const sva::PTransformd &X_b_p, const sva::MotionVecd &V_b_p) const
 
sva::MotionVecd sNormalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc) const
 
sva::MotionVecd sBodyVelocity (const MultiBody &mb, const MultiBodyConfig &mbc) const
 
sva::MotionVecd sBodyNormalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc) const
 
sva::MotionVecd sNormalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc, const std::vector< sva::MotionVecd > &normalAccB) const
 
sva::MotionVecd sBodyNormalAcceleration (const MultiBody &mb, const MultiBodyConfig &mbc, const std::vector< sva::MotionVecd > &normalAccB) const
 

Detailed Description

Algorithm to compute the jacobian of a specified body.

Constructor & Destructor Documentation

◆ Jacobian() [1/3]

rbd::Jacobian::Jacobian ( )

◆ Jacobian() [2/3]

rbd::Jacobian::Jacobian ( const MultiBody mb,
const std::string &  bodyName,
const Eigen::Vector3d &  point = Eigen::Vector3d::Zero() 
)

Create a jacobian from the root body to the specified body.

Parameters
mbMultibody where bodyName is in.
bodyNameSpecified body.
pointPoint in the body expressed in body coordinate.
Exceptions
std::out_of_rangeIf bodyName don't exist.

◆ Jacobian() [3/3]

rbd::Jacobian::Jacobian ( const MultiBody mb,
const std::string &  bodyName,
const std::string &  refBodyName,
const Eigen::Vector3d &  point = Eigen::Vector3d::Zero() 
)

Create a jacobian from a reference body to the specified body.

Parameters
mbMultibody where bodyName is in.
bodyNameSpecified body.
refBodyNameReference body.
pointPoint in the body expressed in body coordinate.
Exceptions
std::out_of_rangeIf bodyName don't exist.

Member Function Documentation

◆ addFullJacobian() [1/2]

void rbd::Jacobian::addFullJacobian ( const Blocks compactPath,
const Eigen::Ref< const Eigen::MatrixXd > &  jac,
Eigen::MatrixXd &  res 
) const

Accumulate the projection of the jacobian in the full robot parameters vector using a compact representation of the DoF.

Parameters
compactPathBlocks representing the compact path
jacJacobian to project.
resProjected Jacobian (must be allocated).

◆ addFullJacobian() [2/2]

void rbd::Jacobian::addFullJacobian ( const MultiBody mb,
const Eigen::Ref< const Eigen::MatrixXd > &  jac,
Eigen::MatrixXd &  res 
) const

Accumulate the projection of the jacobian in the full robot parameters vector

Parameters
mbMuliBody used has model.
jacJacobian to project.
resProjected Jacobian (must be allocated).

◆ bodyJacobian()

const Eigen::MatrixXd& rbd::Jacobian::bodyJacobian ( const MultiBody mb,
const MultiBodyConfig mbc 
)

Compute the jacobian in body coordinate frame.

Parameters
mbMultiBody used has model.
mbcUse bodyPosW and motionSubspace.
Returns
Jacobian of mb with mbc configuration.

◆ bodyJacobianDot()

const Eigen::MatrixXd& rbd::Jacobian::bodyJacobianDot ( const MultiBody mb,
const MultiBodyConfig mbc 
)

Compute the time derivative of the jacobian in body frame.

Parameters
mbMultiBody used has model.
mbcUse bodyPosW, bodyVelB, bodyVelW, and motionSubspace.
Returns
Time derivativo of the jacobian of mb with mbc configuration.

◆ bodyNormalAcceleration() [1/2]

sva::MotionVecd rbd::Jacobian::bodyNormalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc 
) const

Compute the end body point normal acceleration in body coordinate (JDotBody·alpha).

Parameters
mbMultiBody used has model.
mbcUse bodyVelB, jointVelocity, parentToSon.
Returns
End body point normal acceleration in body coordinate.

◆ bodyNormalAcceleration() [2/2]

sva::MotionVecd rbd::Jacobian::bodyNormalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc,
const std::vector< sva::MotionVecd > &  normalAccB 
) const

Compute the end body point normal acceleration in body coordinate (JDotBody·alpha).

Parameters
mbMultiBody used has model.
mbcUse nothing.
normalAccBNormal bodies acceleration in body frame.
Returns
End body point normal acceleration in body coordinate.

◆ bodyVelocity()

sva::MotionVecd rbd::Jacobian::bodyVelocity ( const MultiBody mb,
const MultiBodyConfig mbc 
) const

Compute the end body point velocity in body coordinate (JBody·alpha).

Parameters
mbMultiBody used has model.
mbcUse bodyVelB.
Returns
End body point velocity in body coordinate.

◆ compactPath()

Blocks rbd::Jacobian::compactPath ( const rbd::MultiBody mb) const

Compute a compact kinematic path, i.e. the sequence of consecutive blocks of DoF contained in the original path.

Parameters
mbMultiBody used as model.

◆ dof()

int rbd::Jacobian::dof ( ) const
inline
Returns
The number of degree of freedom in the joint path

◆ expand()

Eigen::MatrixXd rbd::Jacobian::expand ( const rbd::MultiBody mb,
const Eigen::Ref< const Eigen::MatrixXd > &  jac 
) const

Expand a symmetric product of a jacobian by its transpose onto every DoF.

Parameters
mbMultiBody used as model.
jacResult to expand

◆ expandAdd() [1/2]

void rbd::Jacobian::expandAdd ( const Blocks compactPath,
const Eigen::Ref< const Eigen::MatrixXd > &  jac,
Eigen::MatrixXd &  res 
) const

Expand a symmetric product of a jacobian by its transpose onto every DoF and accumulate the result using a compact representation of the DoF.

Parameters
compactPathBlocks representing the compact path kinematic path of the Jacobian
jacResult to expand and accumulate
resAccumulator matrix

◆ expandAdd() [2/2]

void rbd::Jacobian::expandAdd ( const rbd::MultiBody mb,
const Eigen::Ref< const Eigen::MatrixXd > &  jac,
Eigen::MatrixXd &  res 
) const

Expand a symmetric product of a jacobian by its transpose onto every DoF and accumulate the result.

Parameters
mbMultiBody used as model.
jacResult to expand and accumulate
resAccumulator matrix

◆ fullJacobian()

void rbd::Jacobian::fullJacobian ( const MultiBody mb,
const Eigen::Ref< const Eigen::MatrixXd > &  jac,
Eigen::MatrixXd &  res 
) const

Project the jacobian in the full robot parameters vector.

Parameters
mbMuliBody used has model.
jacJacobian to project.
resProjected Jacobian (must be allocated).

◆ jacobian() [1/2]

const Eigen::MatrixXd& rbd::Jacobian::jacobian ( const MultiBody mb,
const MultiBodyConfig mbc 
)

Compute the jacobian in world frame.

Parameters
mbMultiBody used has model.
mbcUse bodyPosW and motionSubspace.
Returns
Jacobian of mb with mbc configuration.

◆ jacobian() [2/2]

const Eigen::MatrixXd& rbd::Jacobian::jacobian ( const MultiBody mb,
const MultiBodyConfig mbc,
const sva::PTransformd &  X_0_p 
)

Compute the jacobian at the point/frame specified by X_0_p.

Parameters
mbMultiBody used has model.
mbcUse bodyPosW and motionSubspace.
X_0_pJacobian point/frame
Returns
Jacobian of mb with mbc configuration.

◆ jacobianDot()

const Eigen::MatrixXd& rbd::Jacobian::jacobianDot ( const MultiBody mb,
const MultiBodyConfig mbc 
)

Compute the time derivative of the jacobian.

Parameters
mbMultiBody used has model.
mbcUse bodyPosW, bodyVelB, bodyVelW, and motionSubspace.
Returns
Time derivativo of the jacobian of mb with mbc configuration.

◆ jointsPath()

const std::vector<int>& rbd::Jacobian::jointsPath ( ) const
inline
Returns
The joint path vector from the root to the specified body.

◆ normalAcceleration() [1/4]

sva::MotionVecd rbd::Jacobian::normalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc 
) const

Compute the end body point normal acceleration in world coordinate (JDot·alpha).

Parameters
mbMultiBody used has model.
mbcUse bodyPosW, bodyVelW, bodyVelB, jointVelocity, parentToSon.
Returns
End body point normal acceleration in world coordinate.

◆ normalAcceleration() [2/4]

sva::MotionVecd rbd::Jacobian::normalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc,
const std::vector< sva::MotionVecd > &  normalAccB 
) const

Compute the end body point normal acceleration in world coordinate (JDot·alpha).

Parameters
mbMultiBody used has model.
mbcUse bodyPosW, bodyVelW, bodyVelB.
normalAccBNormal bodies acceleration in body frame.
Returns
End body point normal acceleration in world coordinate.

◆ normalAcceleration() [3/4]

sva::MotionVecd rbd::Jacobian::normalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc,
const std::vector< sva::MotionVecd > &  normalAccB,
const sva::PTransformd &  X_b_p,
const sva::MotionVecd &  V_b_p 
) const

Compute the end body point normal acceleration in world coordinate (JDot·alpha).

Parameters
mbMultiBody used has model.
mbcUse bodyVelB.
normalAccBNormal bodies acceleration in body frame.
X_b_pnormal acceleration point/frame.
V_b_pX_b_p velocity.
Returns
End body point normal acceleration in world coordinate.

◆ normalAcceleration() [4/4]

sva::MotionVecd rbd::Jacobian::normalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc,
const sva::PTransformd &  X_b_p,
const sva::MotionVecd &  V_b_p 
) const

Compute the end body point normal acceleration in world coordinate (JDot·alpha).

Parameters
mbMultiBody used has model.
mbcUse bodyVelB, jointVelocity, parentToSon.
X_b_pnormal acceleration point/frame.
V_b_pX_b_p velocity.
Returns
End body point normal acceleration in world coordinate.

◆ point() [1/2]

const Eigen::Vector3d& rbd::Jacobian::point ( ) const
inline
Returns
Static translation in the body exprimed in body coordinate.

◆ point() [2/2]

void rbd::Jacobian::point ( const Eigen::Vector3d &  point)
inline
Parameters
pointStatic translation in the body exprimed in body coordinate.

◆ sBodyJacobian()

const Eigen::MatrixXd& rbd::Jacobian::sBodyJacobian ( const MultiBody mb,
const MultiBodyConfig mbc 
)

safe version of

See also
bodyJacobian.
Exceptions
std::domain_errorIf mb don't match mbc or jointPath.

◆ sBodyJacobianDot()

const Eigen::MatrixXd& rbd::Jacobian::sBodyJacobianDot ( const MultiBody mb,
const MultiBodyConfig mbc 
)

safe version of

See also
bodyJacobianDot.
Exceptions
std::domain_errorIf mb don't match mbc or jointPath.

◆ sBodyNormalAcceleration() [1/2]

sva::MotionVecd rbd::Jacobian::sBodyNormalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc 
) const

safe version of

See also
bodyNormalAcceleration.
Exceptions
std::domain_errorIf mb don't match mbc.

◆ sBodyNormalAcceleration() [2/2]

sva::MotionVecd rbd::Jacobian::sBodyNormalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc,
const std::vector< sva::MotionVecd > &  normalAccB 
) const

safe version of

See also
bodyNormalAcceleration.
Exceptions
std::domain_errorIf mb don't match mbc or normalAccB.

◆ sBodyVelocity()

sva::MotionVecd rbd::Jacobian::sBodyVelocity ( const MultiBody mb,
const MultiBodyConfig mbc 
) const

safe version of

See also
bodyVelocity.
Exceptions
std::domain_errorIf mb don't match mbc.

◆ sFullJacobian()

void rbd::Jacobian::sFullJacobian ( const MultiBody mb,
const Eigen::MatrixXd &  jac,
Eigen::MatrixXd &  res 
) const

safe version of

See also
fullJacobian.
Exceptions
std::domain_errorIf mb don't match jointPath or res size missmatch.

◆ sJacobian() [1/2]

const Eigen::MatrixXd& rbd::Jacobian::sJacobian ( const MultiBody mb,
const MultiBodyConfig mbc 
)

safe version of

See also
jacobian.
Exceptions
std::domain_errorIf mb don't match mbc or jointPath.

◆ sJacobian() [2/2]

const Eigen::MatrixXd& rbd::Jacobian::sJacobian ( const MultiBody mb,
const MultiBodyConfig mbc,
const sva::PTransformd &  X_0_p 
)

safe version of

See also
jacobian.
Exceptions
std::domain_errorIf mb don't match mbc or jointPath.

◆ sJacobianDot()

const Eigen::MatrixXd& rbd::Jacobian::sJacobianDot ( const MultiBody mb,
const MultiBodyConfig mbc 
)

safe version of

See also
jacobianDot.
Exceptions
std::domain_errorIf mb don't match mbc or jointPath.

◆ sNormalAcceleration() [1/4]

sva::MotionVecd rbd::Jacobian::sNormalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc 
) const

safe version of

See also
normalAcceleration.
Exceptions
std::domain_errorIf mb don't match mbc.

◆ sNormalAcceleration() [2/4]

sva::MotionVecd rbd::Jacobian::sNormalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc,
const std::vector< sva::MotionVecd > &  normalAccB 
) const

safe version of

See also
normalAcceleration.
Exceptions
std::domain_errorIf mb don't match mbc or normalAccB.

◆ sNormalAcceleration() [3/4]

sva::MotionVecd rbd::Jacobian::sNormalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc,
const std::vector< sva::MotionVecd > &  normalAccB,
const sva::PTransformd &  X_b_p,
const sva::MotionVecd &  V_b_p 
) const

safe version of

See also
normalAcceleration.
Exceptions
std::domain_errorIf mb don't match mbc or normalAccB.

◆ sNormalAcceleration() [4/4]

sva::MotionVecd rbd::Jacobian::sNormalAcceleration ( const MultiBody mb,
const MultiBodyConfig mbc,
const sva::PTransformd &  X_b_p,
const sva::MotionVecd &  V_b_p 
) const

safe version of

See also
normalAcceleration.
Exceptions
std::domain_errorIf mb don't match mbc or normalAccB.

◆ sSubMultiBody()

MultiBody rbd::Jacobian::sSubMultiBody ( const MultiBody mb) const

safe version of

See also
subMultiBody.
Exceptions
std::domain_errorIf mb don't match jointPath.

◆ sTranslateJacobian()

void rbd::Jacobian::sTranslateJacobian ( const Eigen::MatrixXd &  jac,
const MultiBodyConfig mbc,
const Eigen::Vector3d &  point,
Eigen::MatrixXd &  res 
)

safe version of

See also
translateJacobian.
Exceptions
std::domain_errorIf mb don't match mbc or jointPath or res size missmatch.

◆ subMultiBody()

MultiBody rbd::Jacobian::subMultiBody ( const MultiBody mb) const
Returns
MultiBody that correspond to the path between the root and the specified body.

◆ sVectorBodyJacobian()

const Eigen::MatrixXd& rbd::Jacobian::sVectorBodyJacobian ( const MultiBody mb,
const MultiBodyConfig mbc,
const Eigen::Vector3d &  vec 
)

safe version of

See also
vectorBodyJacobian.
Exceptions
std::domain_errorIf mb don't match mbc or jointPath.

◆ sVectorJacobian()

const Eigen::MatrixXd& rbd::Jacobian::sVectorJacobian ( const MultiBody mb,
const MultiBodyConfig mbc,
const Eigen::Vector3d &  vec 
)

safe version of

See also
vectorJacobian.
Exceptions
std::domain_errorIf mb don't match mbc or jointPath.

◆ sVelocity() [1/2]

sva::MotionVecd rbd::Jacobian::sVelocity ( const MultiBody mb,
const MultiBodyConfig mbc 
) const

safe version of

See also
velocity.
Exceptions
std::domain_errorIf mb don't match mbc.

◆ sVelocity() [2/2]

sva::MotionVecd rbd::Jacobian::sVelocity ( const MultiBody mb,
const MultiBodyConfig mbc,
const sva::PTransformd &  X_b_p 
) const

safe version of

See also
velocity.
Exceptions
std::domain_errorIf mb don't match mbc.

◆ translateBodyJacobian()

void rbd::Jacobian::translateBodyJacobian ( const Eigen::Ref< const Eigen::MatrixXd > &  jac,
const MultiBodyConfig mbc,
const Eigen::Vector3d &  point,
Eigen::MatrixXd &  res 
)

Translate a jacobian at a given position in body frame.

Parameters
jacJacobian to translate.
mbcUse bodyPosW.
pointPoint to translate jacobian.
resTranslated jacobian (must be allocated).

◆ translateJacobian()

void rbd::Jacobian::translateJacobian ( const Eigen::Ref< const Eigen::MatrixXd > &  jac,
const MultiBodyConfig mbc,
const Eigen::Vector3d &  point,
Eigen::MatrixXd &  res 
)

Translate a jacobian at a given position.

Parameters
jacJacobian to translate.
mbcUse bodyPosW.
pointPoint to translate jacobian.
resTranslated jacobian (must be allocated).

◆ vectorBodyJacobian()

const Eigen::MatrixXd& rbd::Jacobian::vectorBodyJacobian ( const MultiBody mb,
const MultiBodyConfig mbc,
const Eigen::Vector3d &  vector 
)

Compute a vector jacobian in body coordinate frame. This function only fill the translation component of the jacobian.

Parameters
mbMultiBody used has model.
mbcUse bodyPosW and motionSubspace.
vectorVector from then jacobian point (body coordinate).
Returns
Jacobian of mb with mbc configuration.

◆ vectorJacobian()

const Eigen::MatrixXd& rbd::Jacobian::vectorJacobian ( const MultiBody mb,
const MultiBodyConfig mbc,
const Eigen::Vector3d &  vector 
)

Compute a vector jacobian in world coordinate frame. This function only fill the translation component of the jacobian.

Parameters
mbMultiBody used has model.
mbcUse bodyPosW and motionSubspace.
vectorVector from then jacobian point (body coordinate).
Returns
Jacobian of mb with mbc configuration.

◆ velocity() [1/2]

sva::MotionVecd rbd::Jacobian::velocity ( const MultiBody mb,
const MultiBodyConfig mbc 
) const

Compute the end body point velocity in world coordinate (J·alpha).

Parameters
mbMultiBody used has model.
mbcUse bodyPosW, bodyVelB.
Returns
End body point velocity in world coordinate.

◆ velocity() [2/2]

sva::MotionVecd rbd::Jacobian::velocity ( const MultiBody mb,
const MultiBodyConfig mbc,
const sva::PTransformd &  X_b_p 
) const

Compute the end body point velocity at the point/frame specified by X_b_p.

Parameters
mbMultiBody used has model.
mbcUse bodyVelB.
X_b_pvelocity point/frame.
Returns
End body point velocity in world coordinate.

The documentation for this class was generated from the following file: