RobWorkProject  24.5.15-
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
ClosedFormIK Class Reference

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< ClosedFormIKPtr
 smart pointer type to this class
- Public Types inherited from InvKinSolver
typedef rw::core::Ptr< InvKinSolverPtr
 smart pointer type to this class
typedef rw::core::Ptr< const InvKinSolverCPtr
 smart pointer type to this const class

Public Member Functions

virtual ~ClosedFormIK ()
- Public Member Functions inherited from InvKinSolver
virtual ~InvKinSolver ()
virtual std::vector< math::Qsolve (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::FramegetTCP () 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 ()

Detailed Description

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.

Member Function Documentation

◆ make()

static ClosedFormIK::Ptr make ( const rw::models::Device device,
const rw::kinematics::State state 

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.

The documentation for this class was generated from the following file: