3#include "ForwardArmKinematics.h"
4#include "InverseArmKinematics.h"
18template <
unsigned int D,
unsigned int N>
26 return this->fk->satisfiesConstraints(jointPos);
30 return this->fk->getSegLens();
33 navtypes::Vectord<D>
jointPosToEEPos(
const navtypes::Vectord<N>& jointPos)
const override {
34 return this->fk->jointPosToEEPos(jointPos);
37 navtypes::Matrixd<D, N>
getJacobian(
const navtypes::Vectord<N>& jointPos)
const override {
38 return this->fk->getJacobian(jointPos);
42 navtypes::Vectord<N>
solve(
const navtypes::Vectord<D>& eePos,
43 const navtypes::Vectord<N>& jointAngles,
44 bool& success)
const override {
45 return ik->eePosToJointPos(eePos, jointAngles, success);
navtypes::Vectord< N > solve(const navtypes::Vectord< D > &eePos, const navtypes::Vectord< N > &jointAngles, bool &success) const override
Solve for the joint angles that yield the given EE position.
Definition ArmKinematics.h:42
navtypes::Matrixd< D, N > getJacobian(const navtypes::Vectord< N > &jointPos) const override
Get the jacobian matrix for the arm at the given joint angles.
Definition ArmKinematics.h:37
bool satisfiesConstraints(const navtypes::Vectord< N > &jointPos) const override
Check if the given joint configuration is valid.
Definition ArmKinematics.h:25
navtypes::Vectord< N > getSegLens() const override
Get the segment lengths for this arm.
Definition ArmKinematics.h:29
navtypes::Vectord< D > jointPosToEEPos(const navtypes::Vectord< N > &jointPos) const override
Given a joint position, calculate the current EE position.
Definition ArmKinematics.h:33
A class that calculates the forward kinematics of an arm.
Definition ForwardArmKinematics.h:16
InverseArmKinematics(std::shared_ptr< const ForwardArmKinematics< D, N > > fk)
Construct an IK object.
Definition InverseArmKinematics.h:26