RobWorkProject
24.12.4-
|
Interface for closed form inverse kinematics algorithms. More...
#include <ClosedFormIK.hpp>
Inherits InvKinSolver.
Inherited by ClosedFormIKSolverKukaIIWA, ClosedFormIKSolverUR, and PieperSolver.
Public Types | |
typedef rw::core::Ptr< ClosedFormIK > | Ptr |
smart pointer type to this class | |
Public Types inherited from InvKinSolver | |
typedef rw::core::Ptr< InvKinSolver > | Ptr |
smart pointer type to this class | |
typedef rw::core::Ptr< const InvKinSolver > | CPtr |
smart pointer type to this const class | |
Public Member Functions | |
virtual | ~ClosedFormIK () |
Destructor. | |
Public Member Functions inherited from InvKinSolver | |
virtual | ~InvKinSolver () |
destructor | |
virtual std::vector< math::Q > | solve (const rw::math::Transform3D< double > &baseTend, const rw::kinematics::State &state) const =0 |
Calculates the inverse kinematics. More... | |
virtual void | setCheckJointLimits (bool check)=0 |
Specifies whether to check joint limits before returning a solution. More... | |
virtual rw::core::Ptr< const rw::kinematics::Frame > | getTCP () const =0 |
Returns the Tool Center Point (TCP) used when solving the IK problem. More... | |
Static Public Member Functions | |
static ClosedFormIK::Ptr | make (const rw::models::Device &device, const rw::kinematics::State &state) |
Closed-form IK solver for a device. More... | |
Protected Member Functions | |
ClosedFormIK () | |
Constructor. | |
Interface for closed form inverse kinematics algorithms.
The ClosedFormIK interface provides an interface for calculating the inverse kinematics of a device. That is to calculate the solutions \(\mathbf{q}_i, i=0,\ldots,\), such that \(\robabx{base}{end}{\mathbf{T}}(\mathbf{q}_i)= \robabx{}{desired}{\mathbf{T}}\).
By default it solves the problem beginning at the robot base and ending with the frame defined as the end of the devices, and which is accessible through the Device::getEnd() method.
|
static |
Closed-form IK solver for a device.
The device must be a serial device with 6 revolute joints described by DH parameters.
The IK solver is currently implemented in terms of PieperSolver. See the documentation of PieperSolver for the specific requirements for the DH parameters.
An exception is thrown if closed-form IK for the device is not supported, except that all such cases are currently not discovered. You should check for yourself that the closed-form IK for the device is correct.