Inheritance diagram for robot::control::kinematics::IKORController:
Public Types | |
enum | IKMethod { LeastNorm, FSPLagrangian } |
Public Member Functions | |
IKORController (IKMethod method, ref< robot::Robot > robot, Int manipulatorIndex, bool platformActive=false, bool orientationControl=true, base::Orient::Representation orientationRepresentation=base::Orient::EulerRPY) | |
virtual String | className () const |
virtual void | setControlInterface (ref< ControlInterface > controlInterface) |
Requires a "JointPositionControl" ControlInterface type. | |
virtual bool | isConnected () const |
virtual bool | iterate (const base::Time &time) |
virtual array< std::pair< String, String > > | controlInterfaces () const |
virtual ref< ControlInterface > | getControlInterface (String interfaceName="") throw (std::invalid_argument) |
Provide ControlInterface for named interface (or default/possibly-only interface). | |
void | setProximityDangerDistance (Real d) |
proximity distance below which obstacle avoidance constraints become active | |
virtual bool | isSameKindAs (const ReferencedObject &) const |
virtual bool | isSameKindAs (const Object &) const |
void | reference () const |
bool | unreference () const |
const int | referenceCount () const |
void | enableOnUnreferenceCall (bool enabled) |
virtual void | onUnreference () const |
Protected Member Functions | |
void | calcEEPositionOrientation () |
Calculate the End-Effector position and orientation from the forward kinematics transform. | |
Protected Attributes | |
IKMethod | method |
Inverse Kinematics method to employ (e.g. FSP). | |
ref< const robot::Robot > | robot |
Robot to be controlled. | |
bool | platformActive |
consider first dof(s) to be the platform? | |
bool | orientationControl |
position & orientation control of EE, or just position control? | |
base::Orient::Representation | orientRep |
representation of the orientation components of the interface inputs/outputs | |
robot::KinematicChain | manipChain |
kinematic chain of the manipulator (without any tools) | |
Real | d |
ref< InverseKinematicsSolver > | ikSolver |
Solvers to use for computing IK. | |
InverseKinematicsSolver::OptimizationMethod | optMethod |
InverseKinematicsSolver::OptimizationCriterion | optCriterion |
InverseKinematicsSolver::OptimizationConstraints | optConstraints |
Vector | tx |
requested target End-Effector position | |
Vector | x |
temporary to hold last computed EE position/orient | |
Vector | q |
corresponding joint variables for posEE | |
ref< ControlInterface > | manipulatorInterface |
position ControlInterface for manipulator | |
ref< ControlInterface > | proxInterface |
proximity sensor interface (or 0) | |
Vector | linkPositions |
positions of origins of each link (3*M components - i.e. (x,y,z)*M ) | |
int | _refCount |
bool | onUnreferenceEnabled |
Static Protected Attributes | |
array< String > | inputName |
name of EEPositionControlInterface inputs | |
array< String > | outputName |
name of EEPositionControlInterface outputs | |
Friends | |
class | EEPositionControlInterface |
An inverse kinematics controller for redundant manipulators. Can use either a least norm solution method (without constraints) or the Full Space Parameterization (FSP) method (with a selection of optimization method, criteria and constraints).
Requires the following ControlInterface (:type)
:JointPositionControl
Provides the following ControlInterfaces (name:type)
manipulatorEEPosition:EndEffectorPositionControl
manipulatorLinkPositions:LinkOriginPositions
Definition at line 63 of file IKORController.
|
Definition at line 66 of file IKORController. |
|
|
|
Calculate the End-Effector position and orientation from the forward kinematics transform. caches q & x. Representation of orientation component is orientRep |
|
return the name of the object's class type. Must be defined by derived classes. Implements base::Object. Definition at line 72 of file IKORController. |
|
|
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
Provide ControlInterface for named interface (or default/possibly-only interface).
Implements robot::Controllable. |
|
Query if the Controller has been passed all the ControlInterfaces it needs via setControlInterface() Reimplemented from robot::Controller. Definition at line 78 of file IKORController. References manipulatorInterface. |
|
|
|
Definition at line 52 of file ReferencedObject. |
|
Execute an iteration of the control loop. returns true if it wants to quit the loop - however this may be ignored by the user/caller. Implements robot::Controller. |
|
Called by unreference() if enabled via enableOnUnreferenceCall(true). Typically overridden in subclasses that wish to know about unreference() calls - for example to handle manually breaking cyclic references Reimplemented in robot::control::ControllableAdaptor::AdaptorControlInterface, and robot::control::ControllableAdaptor. Definition at line 121 of file Referenced. Referenced by base::Referenced::unreference(). |
|
Increment the reference count by one, indicating that this object has another pointer which is referencing it. Definition at line 65 of file Referenced. References base::Referenced::_refCount. |
|
Return the number pointers currently referencing this object. Definition at line 112 of file Referenced. References base::Referenced::_refCount. Referenced by robot::control::ControllableAdaptor::AdaptorControlInterface::onUnreference(). |
|
Requires a "JointPositionControl" ControlInterface type.
Implements robot::Controller. |
|
proximity distance below which obstacle avoidance constraints become active
Definition at line 87 of file IKORController. |
|
Decrement the reference count by one, indicating that a pointer to this object is referencing it. If the refence count goes to zero, it is assumed that this object is nolonger referenced and is automatically deleted. Definition at line 81 of file Referenced. References base::Referenced::_refCount, Exception, base::Referenced::onUnreference(), and base::Referenced::onUnreferenceEnabled. |
|
Definition at line 182 of file IKORController. |
|
Definition at line 136 of file Referenced. Referenced by base::Referenced::reference(), base::Referenced::referenceCount(), base::Referenced::Referenced(), base::Referenced::unreference(), and base::Referenced::~Referenced(). |
|
Definition at line 98 of file IKORController. |
|
Solvers to use for computing IK.
Definition at line 101 of file IKORController. |
|
name of EEPositionControlInterface inputs
Definition at line 177 of file IKORController. |
|
positions of origins of each link (3*M components - i.e. (x,y,z)*M )
Definition at line 174 of file IKORController. |
|
kinematic chain of the manipulator (without any tools)
Definition at line 96 of file IKORController. |
|
position ControlInterface for manipulator
Definition at line 109 of file IKORController. Referenced by isConnected(). |
|
Inverse Kinematics method to employ (e.g. FSP).
Definition at line 90 of file IKORController. |
|
Definition at line 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |
|
Definition at line 104 of file IKORController. |
|
Definition at line 103 of file IKORController. |
|
Definition at line 102 of file IKORController. |
|
position & orientation control of EE, or just position control?
Definition at line 93 of file IKORController. |
|
representation of the orientation components of the interface inputs/outputs
Definition at line 94 of file IKORController. |
|
name of EEPositionControlInterface outputs
Definition at line 178 of file IKORController. |
|
consider first dof(s) to be the platform?
Definition at line 92 of file IKORController. |
|
proximity sensor interface (or 0)
Definition at line 110 of file IKORController. |
|
corresponding joint variables for posEE
Definition at line 107 of file IKORController. |
|
Robot to be controlled.
Definition at line 91 of file IKORController. |
|
requested target End-Effector position
Definition at line 105 of file IKORController. |
|
temporary to hold last computed EE position/orient
Definition at line 106 of file IKORController. |