FancySafeBot 0.0.1
A safe robotics library
Loading...
Searching...
No Matches
fsb_kinematic_redundancy.h
1
2#ifndef FSB_KINEMATICS_REDUNDANCY_H
3#define FSB_KINEMATICS_REDUNDANCY_H
4
5#include "fsb_joint.h"
6#include "fsb_linalg.h"
7#include "fsb_jacobian.h"
8
9namespace fsb
10{
11
12struct JointLimits;
13
40jacobian_pseudoinverse(const Jacobian& jacobian, Jacobian& inverse_jacobian, size_t dofs);
41
69 const Jacobian& jacobian, const Jacobian& inverse_jacobian, const JointSpace& joint_motion,
70 size_t dofs);
71
83JointSpace
84compute_nullspace_motion(const Jacobian& jacobian, const JointSpace& joint_motion, size_t dofs);
85
109 const JointSpacePosition& joint_positions, const JointLimits& joint_limits, size_t dofs,
110 double gain = 0.1);
111
116} // namespace fsb
117
118#endif
FsbLinalgErrorType jacobian_pseudoinverse(const Jacobian &jacobian, Jacobian &inverse_jacobian, size_t dofs)
Computes the pseudoinverse of a Jacobian matrix.
Definition fsb_kinematic_redundancy.cpp:18
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:74
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:114
enum FsbLapackErrorType FsbLinalgErrorType
Error codes for linear algebra functions.