Resurgence (PY2022)
Codebase for the Husky Robotics 2021-2022 rover Resurgence
|
Implementation of the FABRIK algorithm, in the special case of 2 dimensions. More...
#include <FabrikSolver.h>
Public Member Functions | |
FabrikSolver2D (std::shared_ptr< const PlanarArmFK< N > > fk, double thresh, int maxIter) | |
Construct an IK solver object. | |
navtypes::Vectord< N > | solve (const Eigen::Vector2d &eePos, const navtypes::Vectord< N > &jointAngles, bool &success) const override |
![]() | |
InverseArmKinematics (std::shared_ptr< const ForwardArmKinematics< D, N > > fk) | |
Construct an IK object. | |
navtypes::Vectord< N > | eePosToJointPos (const navtypes::Vectord< D > &eePos, const navtypes::Vectord< N > &currJointPos) const |
Calculate the joint angles that yield the desired EE position. | |
virtual navtypes::Vectord< N > | eePosToJointPos (const navtypes::Vectord< D > &eePos, const navtypes::Vectord< N > &jointAngles, bool &success) const |
Solve for the joint angles that yield the given EE position. | |
Additional Inherited Members | |
![]() | |
virtual navtypes::Vectord< N > | solve (const navtypes::Vectord< D > &eePos, const navtypes::Vectord< N > &jointAngles, bool &success) const=0 |
Solve for the joint angles that yield the given EE position. | |
![]() | |
const std::shared_ptr< const ForwardArmKinematics< D, N > > | fk |
Implementation of the FABRIK algorithm, in the special case of 2 dimensions.
Note that joint constraints are only used to verify success at the end, they are not used in intermediate parts of the algorithm.
N | The number of joints. |
|
inline |
Construct an IK solver object.
fk | The forward kinematics of the arm. |
thresh | The IK solver will succeed when the EE position is off by at most this much. |
maxIter | The maximum number of iterations to run the solver before failing. |