2#ifndef FSB_COMPUTE_KINEMATICS_H
3#define FSB_COMPUTE_KINEMATICS_H
9#include "fsb_body_tree.h"
11#include "fsb_kinematics.h"
12#include "fsb_jacobian.h"
13#include "fsb_motion.h"
132 const JointPva joint = {joint_position, {}, {}};
Body tree description of a kinematic chain.
Definition fsb_body_tree.h:100
size_t get_num_coordinates() const
Get the number of generalized position coordinates.
Definition fsb_body_tree.h:292
size_t get_num_bodies() const
Get the number of bodies in tree.
Definition fsb_body_tree.h:272
Compute forward kinematics.
Definition fsb_compute_kinematics.h:45
size_t get_num_bodies() const
Get the number of bodies in the body tree.
Definition fsb_compute_kinematics.h:104
size_t get_num_coordinates() const
Get the number of coordinates (joint position vector size) in the body tree.
Definition fsb_compute_kinematics.h:114
JacobianError calculate_jacobian(size_t body_index, const BodyTree &body_tree, const BodyCartesianPva &cartesian_pva, Jacobian &jacobian)
Determine Jacobian matrix for a single body in tree.
Definition fsb_jacobian.cpp:217
JacobianError
Error values for Jacobian calculations.
Definition fsb_jacobian.h:61
void forward_kinematics(const BodyTree &body_tree, const JointPva &joint_pva, const CartesianPva &base_pva, ForwardKinematicsOption opt, BodyCartesianPva &body_cartesian)
Compute forward kinematics for all bodies in tree.
Definition fsb_kinematics.cpp:38
ForwardKinematicsOption
Forward kinematics options.
Definition fsb_kinematics.h:25
@ POSE
Calculate Cartesian pose from joint position.
ComputeKinematicsError initialize(const BodyTree &tree)
Initialize the computation interface with a body tree.
Definition fsb_compute_kinematics.h:123
ComputeKinematicsError
Interface error codes.
Definition fsb_compute_kinematics.h:30
JacobianError compute_jacobian(size_t body_index, const BodyCartesianPva &cartesian, Jacobian &jacobian) const
Compute Jacobian matrix for a single body in tree.
Definition fsb_compute_kinematics.h:149
void compute_forward_kinematics(ForwardKinematicsOption opt, const JointPva &joint, BodyCartesianPva &cartesian) const
Compute forward kinematics with optional velocity and acceleration.
Definition fsb_compute_kinematics.h:136
void compute_forward_kinematics_pose(const JointSpacePosition &joint_position, BodyCartesianPva &cartesian) const
Compute forward kinematics.
Definition fsb_compute_kinematics.h:129
void compute_forward_kinematics_with_base(ForwardKinematicsOption opt, const JointPva &joint, const CartesianPva &base, BodyCartesianPva &cartesian) const
Compute forward kinematics with optional velocity and acceleration.
Definition fsb_compute_kinematics.h:142
@ INVALID_BODY_TREE
Body tree is invalid.
Container of Cartesian pose, velocity, and acceleration for a list of bodies.
Definition fsb_body.h:79
Cartesian pose, velocity and acceleration.
Definition fsb_motion.h:53
Jacobian matrix.
Definition fsb_jacobian.h:28
Definition fsb_joint.h:77
Joint space position in generalized coordinates.
Definition fsb_joint.h:55