RobWorkProject
24.8.23-
|
Interface for iterative inverse kinematics algorithms. More...
#include <IterativeIK.hpp>
Inherits InvKinSolver.
Inherited by CCDSolver, IKMetaSolver, JacobianIKSolver, ParallelIKSolver, and IKQPSolver.
Public Types | |
typedef rw::core::Ptr< IterativeIK > | Ptr |
smart pointer type to this class | |
typedef rw::core::Ptr< const IterativeIK > | CPtr |
smart pointer type to this const 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 | ~IterativeIK () |
Destructor. | |
virtual void | setMaxError (double maxError) |
Sets the maximal error for a solution. More... | |
virtual double | getMaxError () const |
Returns the maximal error for a solution. More... | |
virtual void | setMaxIterations (int maxIterations) |
Sets the maximal number of iterations allowed. More... | |
virtual int | getMaxIterations () const |
Returns the maximal number of iterations. | |
virtual rw::core::PropertyMap & | getProperties () |
Returns the PropertyMap. More... | |
virtual const rw::core::PropertyMap & | getProperties () const |
Returns the PropertyMap return Reference to the PropertyMap. | |
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 IterativeIK::Ptr | makeDefault (rw::core::Ptr< rw::models::Device > device, const rw::kinematics::State &state) |
Default iterative inverse kinematics solver for a device and state. More... | |
Protected Member Functions | |
IterativeIK () | |
Constructor. | |
Interface for iterative inverse kinematics algorithms.
The IterativeIK interface provides an interface for calculating the inverse kinematics of a device. That is to calculate \(\mathbf{q}\) such that \(\robabx{base}{end}{\mathbf{T}}(\mathbf{q})= \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.
|
virtual |
Returns the maximal error for a solution.
|
virtual |
Returns the PropertyMap.
|
static |
Default iterative inverse kinematics solver for a device and state.
device | [in] Device for which to solve IK. |
state | [in] Fixed state for which IK is solved. |
|
virtual |
Sets the maximal error for a solution.
The error between two transformations is defined as the maximum of infinite-norm of the positional error and the angular error encoded as EAA.
maxError | [in] the maxError. It will be assumed that maxError > 0 |
|
virtual |
Sets the maximal number of iterations allowed.
maxIterations | [in] maximal number of iterations |