FancySafeBot 0.0.1
A safe robotics library
Loading...
Searching...
No Matches
Forward Kinematics Computation

Standalone forward kinematics computation module. More...

Classes

class  fsb::ComputeKinematics
 Compute forward kinematics. More...
 

Enumerations

enum class  fsb::ComputeKinematicsError : uint8_t { ComputeKinematicsError::SUCCESS = 0 , ComputeKinematicsError::INVALID_BODY_TREE = 1 }
 Interface error codes. More...
 

Functions

ComputeKinematicsError fsb::ComputeKinematics::initialize (const BodyTree &tree)
 Initialize the computation interface with a body tree.
 
void fsb::ComputeKinematics::compute_forward_kinematics_pose (const JointSpacePosition &joint_position, BodyCartesianPva &cartesian) const
 Compute forward kinematics.
 
void fsb::ComputeKinematics::compute_forward_kinematics (ForwardKinematicsOption opt, const JointPva &joint, BodyCartesianPva &cartesian) const
 Compute forward kinematics with optional velocity and acceleration.
 
void fsb::ComputeKinematics::compute_forward_kinematics_with_base (ForwardKinematicsOption opt, const JointPva &joint, const CartesianPva &base, BodyCartesianPva &cartesian) const
 Compute forward kinematics with optional velocity and acceleration.
 
JacobianError fsb::ComputeKinematics::compute_jacobian (size_t body_index, const BodyCartesianPva &cartesian, Jacobian &jacobian) const
 Compute Jacobian matrix for a single body in tree.
 

Detailed Description

Standalone forward kinematics computation module.

Enumeration Type Documentation

◆ ComputeKinematicsError

enum class fsb::ComputeKinematicsError : uint8_t
strong

Interface error codes.

Enumerator
SUCCESS 

No error.

INVALID_BODY_TREE 

Body tree is invalid.

Function Documentation

◆ compute_forward_kinematics()

void fsb::ComputeKinematics::compute_forward_kinematics ( ForwardKinematicsOption  opt,
const JointPva joint,
BodyCartesianPva cartesian 
) const
inline

Compute forward kinematics with optional velocity and acceleration.

Parameters
[in]optPose, velocity or acceleration selection
[in]jointJoint position, velocity and acceleration
[out]cartesianOutput Cartesian pose, velocity and acceleration of all bodies

◆ compute_forward_kinematics_pose()

void fsb::ComputeKinematics::compute_forward_kinematics_pose ( const JointSpacePosition joint_position,
BodyCartesianPva cartesian 
) const
inline

Compute forward kinematics.

Parameters
[in]joint_positionJoint position vector
[out]cartesianOutput list of body cartesian poses

◆ compute_forward_kinematics_with_base()

void fsb::ComputeKinematics::compute_forward_kinematics_with_base ( ForwardKinematicsOption  opt,
const JointPva joint,
const CartesianPva base,
BodyCartesianPva cartesian 
) const
inline

Compute forward kinematics with optional velocity and acceleration.

Parameters
[in]optPose, velocity or acceleration selection
[in]jointJoint position, velocity and acceleration
[in]baseBase pose, velocity and acceleration
[out]cartesianOutput Cartesian pose, velocity and acceleration of all bodies

◆ compute_jacobian()

JacobianError fsb::ComputeKinematics::compute_jacobian ( size_t  body_index,
const BodyCartesianPva cartesian,
Jacobian jacobian 
) const
inline

Compute Jacobian matrix for a single body in tree.

Parameters
[in]body_index
[in]cartesian
[out]jacobian
Returns
Jacobian error code

◆ initialize()

ComputeKinematicsError fsb::ComputeKinematics::initialize ( const BodyTree tree)
inline

Initialize the computation interface with a body tree.

Parameters
[in]treeBody tree
Returns
Error code