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
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
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