Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer Class Reference

A constrained optimizer that uses an analytic Lagrangian solution technique. More...

Inheritance diagram for robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer:

Inheritance graph
[legend]
Collaboration diagram for robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 AnalyticLagrangianFSBetaOptimizer ()
virtual String className () const
virtual void setGs (const Matrix &gs)
 set the gs (Matrix of column vectors that span the full-space)

void setSolveForNullspace (bool nullSpace)
 indicate if a solution is sought in the null-space

virtual Vector optimize (ref< const Objective > objective, ref< const Constraints > constraints) const
 optimize the objective with the given constraints

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

Vector calct (const Matrix &Ginv, const Vector &H, ref< const BetaFormConstraints > betaConstraints, bool nullSpace) const
 compute t Vector


Protected Attributes

Matrix const * gs
 matrix of column vectors that span the solition space of dq's (from a full-space solver)

bool nullSpace
Vector o
Vector e
int _refCount
bool onUnreferenceEnabled

Detailed Description

A constrained optimizer that uses an analytic Lagrangian solution technique.

Analytic Lagrangian optimizer in Full-Space with Beta form constraints. The paper below details a optimizaiton method that provides an analytic solution for a Lagrangian-type problem, given the objective function and constraints are of a particular form. The objective form is represented via the ReferenceOpVectorFormObjective class and the form of the constraints via the BetaFormConstraints class.

see 1. "Resolving Kinematic Redundancy with Constraints Using the FSP (Full Space Parameterization) Approach", Francois G. Pin & Faithlyn A. Tulloch, Proceedings of the 1996 IEEE International Conference on Robotics and Automation.

for the formulation of the non-holonomic constraint solution, see 2. "Motion Planning for Mobile Manipulators with a Non-Holonomic Constraint Using the FSP (Full Space Parameterization) Method", Francois G. Pin, Kristi A. Morgansen, Faithlyn A. Tulloch, Charles J. Hacker and Kathryn B. Gower, Journal of Robotic Systems 13(11), 723-736 (1996).

Definition at line 58 of file AnalyticLagrangianFSBetaOptimizer.


Constructor & Destructor Documentation

robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::AnalyticLagrangianFSBetaOptimizer  )  [inline]
 

Definition at line 61 of file AnalyticLagrangianFSBetaOptimizer.

References gs, and nullSpace.


Member Function Documentation

Vector robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::calct const Matrix Ginv,
const Vector H,
ref< const BetaFormConstraints betaConstraints,
bool  nullSpace
const [protected]
 

compute t Vector

virtual String robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::className  )  const [inline, virtual]
 

return the name of the object's class type. Must be defined by derived classes.

Implements base::Object.

Definition at line 64 of file AnalyticLagrangianFSBetaOptimizer.

void base::Referenced::enableOnUnreferenceCall bool  enabled  )  [inline, inherited]
 

If enabled, each call to unreference() will also call virtual method onUnreference()

Definition at line 115 of file Referenced.

References base::Referenced::onUnreferenceEnabled.

virtual bool base::Object::isSameKindAs const Object  )  const [inline, virtual, inherited]
 

Definition at line 47 of file Object.

virtual bool base::ReferencedObject::isSameKindAs const ReferencedObject  )  const [inline, virtual, inherited]
 

Definition at line 52 of file ReferencedObject.

virtual void base::Referenced::onUnreference  )  const [inline, virtual, inherited]
 

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().

virtual Vector robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::optimize ref< const Objective >  objective,
ref< const Constraints constraints
const [virtual]
 

optimize the objective with the given constraints

Implements robot::control::kinematics::Optimizer.

void base::Referenced::reference  )  const [inline, inherited]
 

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.

const int base::Referenced::referenceCount  )  const [inline, inherited]
 

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().

virtual void robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::setGs const Matrix gs  )  [inline, virtual]
 

set the gs (Matrix of column vectors that span the full-space)

Implements robot::control::kinematics::LagrangianOptimizer.

Definition at line 67 of file AnalyticLagrangianFSBetaOptimizer.

References base::Matrix.

void robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::setSolveForNullspace bool  nullSpace  )  [inline]
 

indicate if a solution is sought in the null-space

Definition at line 70 of file AnalyticLagrangianFSBetaOptimizer.

bool base::Referenced::unreference  )  const [inline, inherited]
 

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.


Member Data Documentation

int base::Referenced::_refCount [mutable, protected, inherited]
 

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().

Vector robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::e [mutable, protected]
 

Definition at line 80 of file AnalyticLagrangianFSBetaOptimizer.

Matrix const* robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::gs [protected]
 

matrix of column vectors that span the solition space of dq's (from a full-space solver)

Definition at line 76 of file AnalyticLagrangianFSBetaOptimizer.

Referenced by AnalyticLagrangianFSBetaOptimizer().

bool robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::nullSpace [protected]
 

Definition at line 77 of file AnalyticLagrangianFSBetaOptimizer.

Referenced by AnalyticLagrangianFSBetaOptimizer().

Vector robot::control::kinematics::AnalyticLagrangianFSBetaOptimizer::o [mutable, protected]
 

Definition at line 79 of file AnalyticLagrangianFSBetaOptimizer.

bool base::Referenced::onUnreferenceEnabled [protected, inherited]
 

Definition at line 137 of file Referenced.

Referenced by base::Referenced::enableOnUnreferenceCall(), base::Referenced::Referenced(), and base::Referenced::unreference().


The documentation for this class was generated from the following file:
Generated on Thu Jul 29 16:42:20 2004 for OpenSim by doxygen 1.3.6