2#ifndef FSB_KINEMATICS_REDUNDANCY_H
3#define FSB_KINEMATICS_REDUNDANCY_H
7#include "fsb_jacobian.h"
69 const Jacobian& jacobian,
const Jacobian& inverse_jacobian,
const JointSpace& joint_motion,
109 const JointSpacePosition& joint_positions,
const JointLimits& joint_limits,
size_t dofs,
Array< MaxSize::kDofs > JointSpace
Joint space differential of generalized coordinates.
Definition fsb_joint.h:59
Array< MaxSize::kCoordinates > JointSpacePosition
Joint space position in generalized coordinates.
Definition fsb_joint.h:54
JointSpace compute_nullspace_motion(const Jacobian &jacobian, const Jacobian &inverse_jacobian, const JointSpace &joint_motion, size_t dofs)
Computes nullspace motion using the Jacobian and its pseudoinverse.
Definition fsb_kinematic_redundancy.cpp:79
JointSpace joint_limit_avoidance_objective(const JointSpacePosition &joint_positions, const JointLimits &joint_limits, size_t dofs, double gain=0.1)
Joint limit avoidance objective function.
Definition fsb_kinematic_redundancy.cpp:119
fsb::LinalgErrorType jacobian_pseudoinverse(const Jacobian &jacobian, Jacobian &inverse_jacobian, size_t dofs)
Computes the pseudoinverse of a Jacobian matrix.
Definition fsb_kinematic_redundancy.cpp:18
LinalgErrorType
Error codes for linear algebra functions.
Definition fsb_linalg.h:25