5#ifndef FSB_INVERSE_KINEMATICS_H
6#define FSB_INVERSE_KINEMATICS_H
11#include "fsb_body_tree.h"
12#include "fsb_motion.h"
15#include "fsb_jacobian.h"
16#include "fsb_linalg.h"
Body tree description of a kinematic chain.
Definition fsb_body_tree.h:99
@ SUCCESS
Successful operation.
BodyCartesianPva body_poses
Body poses.
Definition fsb_inverse_kinematics.h:56
InverseKinematicsResult compute_inverse_kinematics(const BodyTree &body_tree, const OptimParameters ¶ms, const JointSpacePosition &initial_config, size_t body_index, const Transform &target_pose, const Transform &base_pose=transform_identity())
Compute inverse kinematics for a given end-effector pose.
Definition fsb_inverse_kinematics.cpp:173
Real state_tol
State vector error tolerance for convergence.
Definition fsb_inverse_kinematics.h:32
InverseKinematicsInfo
Definition fsb_inverse_kinematics.h:41
MotionVector error_pose
Error between computed and desired pose.
Definition fsb_inverse_kinematics.h:59
Real damping_factor
Damping factor for Levenberg-Marquardt algorithm.
Definition fsb_inverse_kinematics.h:33
Transform computed_pose
Computed end-effector pose.
Definition fsb_inverse_kinematics.h:58
size_t max_iterations
Maximum number of iterations.
Definition fsb_inverse_kinematics.h:30
Real objective_tol
Objective function error tolerance for convergence.
Definition fsb_inverse_kinematics.h:31
MotionVector objective_weights
Cartesian weights for objective function.
Definition fsb_inverse_kinematics.h:34
size_t iterations
Number of iterations.
Definition fsb_inverse_kinematics.h:60
JointSpacePosition joint_position
Joint position.
Definition fsb_inverse_kinematics.h:55
InverseKinematicsInfo info
Convergence information.
Definition fsb_inverse_kinematics.h:54
Jacobian jacobian
Jacobian matrix.
Definition fsb_inverse_kinematics.h:57
@ WITHIN_XTOL
relative error between two consecutive iterates is at most xtol
@ WITHIN_FTOL_XTOL
conditions for WITHIN_FTOL and WITHIN_XTOL both hold
@ MAXIMUM_EVALUATIONS_REACHED
number of calls to fcn with iflag = 1 has reached maxfev
@ SINGULAR_UPDATE_MATRIX
singular matrix encountered
enum FsbLapackErrorType FsbLinalgErrorType
Error codes for linear algebra functions.
Transform transform_identity()
Identity transform.
Definition fsb_motion.cpp:12
Container of Cartesian pose, velocity, and acceleration for a list of bodies.
Definition fsb_body.h:78
Definition fsb_inverse_kinematics.h:53
Jacobian matrix.
Definition fsb_jacobian.h:47
Joint space position in generalized coordinates.
Definition fsb_joint.h:55
Joint space differential of generalized coordinates.
Definition fsb_joint.h:66
Motion vector.
Definition fsb_motion.h:37
Definition fsb_inverse_kinematics.h:29