Inheritance diagram for robot::control::kinematics::InverseKinematicsSolver:
Public Types | |
typedef std::bitset< sizeof(Int)*8 | OptimizationConstraints ) |
enum | OptimizationMethod { DefaultMethod, PseudoInv, Lagrangian, BangBang, Simplex } |
enum | OptimizationCriterion { DefaultCriterion, LeastNorm, LeastFlow } |
enum | OptimizationConstraint { DefaultConstraints, JointLimits, ObstacleAvoidance, Acceleration, EndEffectorImpact } |
Public Member Functions | |
virtual Vector | solve (const Vector &dx, const Vector &x, const Vector &q, const base::Matrix &J, OptimizationMethod optMethod=DefaultMethod, OptimizationCriterion optCriterion=DefaultCriterion, OptimizationConstraints optConstraints=OptimizationConstraints(DefaultConstraints), base::Orient::Representation orientationRepresentation=base::Orient::EulerRPY)=0 |
Solve inverse kinematics. | |
virtual bool | isConstraintTypeSupported (OptimizationConstraint optConstraint, OptimizationMethod optMethod=DefaultMethod, OptimizationCriterion optCriterion=DefaultCriterion) |
query if a particular constraint type is supported by this solver for a specific method & criterion | |
virtual void | setProximitySensorData (const array< LinkProximityData > &proximityData, Real d) |
virtual void | setParameter (const String &name, Real value) |
Set implementation specific parameters. Unknown names will throw a std::invald_argument exception. | |
virtual bool | isSameKindAs (const ReferencedObject &) const |
virtual bool | isSameKindAs (const Object &) const |
virtual String | className () const=0 |
void | reference () const |
bool | unreference () const |
const int | referenceCount () const |
void | enableOnUnreferenceCall (bool enabled) |
virtual void | onUnreference () const |
Protected Attributes | |
int | _refCount |
bool | onUnreferenceEnabled |
Abstract base class for concrete classes that implement specific method for solving the inverse kinematics problem (required joint parameter changes (dq) to achieve end-effector motions specificed in task space (dx) )
Definition at line 49 of file InverseKinematicsSolver.
|
Definition at line 58 of file InverseKinematicsSolver. |
|
Definition at line 55 of file InverseKinematicsSolver. |
|
Definition at line 54 of file InverseKinematicsSolver. |
|
Definition at line 53 of file InverseKinematicsSolver. |
|
|
If enabled, each call to unreference() will also call virtual method onUnreference() Definition at line 115 of file Referenced. References base::Referenced::onUnreferenceEnabled. |
|
query if a particular constraint type is supported by this solver for a specific method & criterion
Reimplemented in robot::control::kinematics::IKOR. Definition at line 110 of file InverseKinematicsSolver. |
|
|
|
Definition at line 52 of file ReferencedObject. |
|
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(). |
|
Set implementation specific parameters. Unknown names will throw a std::invald_argument exception.
Reimplemented in robot::control::kinematics::IKOR, and robot::control::kinematics::OldIKOR. Definition at line 137 of file InverseKinematicsSolver. References Exception. |
|
set proximity sensor data (array indices correspond to parameter elements of q) d - is 'danger distance' within which a constraint becomes active Reimplemented in robot::control::kinematics::IKOR. Definition at line 130 of file InverseKinematicsSolver. |
|
Solve inverse kinematics. Takes current the joint parameters (q), end-effector position (x), and the required change in end-effector position (dx) and returns the changes in joint parameters (dq) that will achieve the requested dx.
Implemented in robot::control::kinematics::IKOR, robot::control::kinematics::LeastNormIKSolver, and robot::control::kinematics::OldIKOR. |
|
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 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 137 of file Referenced. Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference(). |