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

robot::control::kinematics::BetaFormConstraints Class Reference

Inheritance diagram for robot::control::kinematics::BetaFormConstraints:

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

Collaboration graph
[legend]
List of all members.

Public Types

enum  ConstraintsType { Linear, NonLinear }
enum  ConstraintType { Equality, Inequality }

Public Member Functions

 BetaFormConstraints ()
virtual String className () const
virtual ConstraintsType getConstraintsType () const
virtual ConstraintType getConstraintType (Int constraint) const
virtual Int numConstraints () const
virtual Int numEqualityConstraints () const
virtual Int numInequalityConstraints () const
virtual Real evaluate (Int constraint, const Vector &x, const Vector &a) const
virtual Vector evaluate (const Vector &x, const Vector &a) const
void addConstraint (ref< BetaFormConstraint > constraint)
void setAlphaConstraint (const Vector &alpha)
bool isAlphaConstraint () const
void clear ()
ref< BetaFormConstraintgetConstraint (Int i)
Vector getBeta (Int i) const
Vector getAlpha () const
Matrix getBetas () const
 get Matrix of beta column vectors

Int numBetaConstraints () const
String toString () const
 < to aid debugging (called by operator<<)

Int size () const
Real g (Int i, const Vector &x, const Vector &a) const
Vector g (const Vector &x, const Vector &a) const
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 Types

typedef array< ref< BetaFormConstraint > > ConstraintArray

Protected Attributes

Int numBetas
ConstraintArray constraints
 array of constraints (index corresponds to betas matrix column)

Matrix betas
 columns vectors (no. cols is may be larger than necessary (numBetas))

bool nonholonomicConstraint
 is there a non-holonomic constraint specified via alpha?

Vector alpha
 alpha form non-holonomic constraint

int _refCount
bool onUnreferenceEnabled

Detailed Description

Paper 1 below introduces an analytic optimization method where the constraints are expressed in terms betajs betaj . t - 1 = 0, j=1..r

Paper 2 below adds a non-holonomic constraint expressed terms of alpha alpha^T . t = 0

This class represents the constraints in this form.

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.

see 2. "Motion Planning for Mobile Manipulators with a Non-Holonomic Constraint Using the FSP (Full Space Marameterization) 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 62 of file BetaFormConstraints.


Member Typedef Documentation

typedef array< ref<BetaFormConstraint> > robot::control::kinematics::BetaFormConstraints::ConstraintArray [protected]
 

Definition at line 189 of file BetaFormConstraints.


Member Enumeration Documentation

enum robot::control::kinematics::Optimizer::Constraints::ConstraintsType [inherited]
 

Enumeration values:
Linear 
NonLinear 

Definition at line 61 of file Optimizer.

enum robot::control::kinematics::Optimizer::Constraints::ConstraintType [inherited]
 

Enumeration values:
Equality 
Inequality 

Definition at line 62 of file Optimizer.


Constructor & Destructor Documentation

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

Definition at line 88 of file BetaFormConstraints.

References nonholonomicConstraint, and numBetas.


Member Function Documentation

void robot::control::kinematics::BetaFormConstraints::addConstraint ref< BetaFormConstraint constraint  )  [inline]
 

Definition at line 125 of file BetaFormConstraints.

References Assert, betas, base::Matrix, numBetas, base::Range, base::matrix< T >::resize(), base::vector< T >::size(), base::matrix< T >::size1(), base::matrix< T >::size2(), and base::Vector.

virtual String robot::control::kinematics::BetaFormConstraints::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 91 of file BetaFormConstraints.

void robot::control::kinematics::BetaFormConstraints::clear  )  [inline]
 

Definition at line 158 of file BetaFormConstraints.

References betas, nonholonomicConstraint, numBetas, and base::matrix< T >::resize().

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 Vector robot::control::kinematics::BetaFormConstraints::evaluate const Vector x,
const Vector a
const [inline, virtual]
 

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

Definition at line 113 of file BetaFormConstraints.

References betas, nonholonomicConstraint, numBetas, numConstraints(), and base::Vector.

virtual Real robot::control::kinematics::BetaFormConstraints::evaluate Int  constraint,
const Vector x,
const Vector a
const [inline, virtual]
 

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

Definition at line 99 of file BetaFormConstraints.

References Assert, betas, numBetas, numConstraints(), base::vector< T >::size(), base::matrix< T >::size1(), and base::Vector.

Vector robot::control::kinematics::Optimizer::Constraints::g const Vector x,
const Vector a
const [inline, inherited]
 

Definition at line 75 of file Optimizer.

References robot::control::kinematics::Optimizer::Constraints::evaluate(), and base::Vector.

Real robot::control::kinematics::Optimizer::Constraints::g Int  i,
const Vector x,
const Vector a
const [inline, inherited]
 

Definition at line 74 of file Optimizer.

References robot::control::kinematics::Optimizer::Constraints::evaluate(), and base::Vector.

Vector robot::control::kinematics::BetaFormConstraints::getAlpha  )  const [inline]
 

Definition at line 162 of file BetaFormConstraints.

References nonholonomicConstraint, and base::Vector.

Vector robot::control::kinematics::BetaFormConstraints::getBeta Int  i  )  const [inline]
 

Definition at line 160 of file BetaFormConstraints.

References betas, and base::Vector.

Matrix robot::control::kinematics::BetaFormConstraints::getBetas  )  const [inline]
 

get Matrix of beta column vectors

Definition at line 166 of file BetaFormConstraints.

References betas, base::Matrix, numBetas, base::Range, and base::matrix< T >::size1().

ref<BetaFormConstraint> robot::control::kinematics::BetaFormConstraints::getConstraint Int  i  )  [inline]
 

Definition at line 159 of file BetaFormConstraints.

virtual ConstraintsType robot::control::kinematics::BetaFormConstraints::getConstraintsType  )  const [inline, virtual]
 

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

Definition at line 93 of file BetaFormConstraints.

virtual ConstraintType robot::control::kinematics::BetaFormConstraints::getConstraintType Int  constraint  )  const [inline, virtual]
 

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

Definition at line 94 of file BetaFormConstraints.

bool robot::control::kinematics::BetaFormConstraints::isAlphaConstraint  )  const [inline]
 

Definition at line 155 of file BetaFormConstraints.

References nonholonomicConstraint.

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.

Int robot::control::kinematics::BetaFormConstraints::numBetaConstraints  )  const [inline]
 

Definition at line 173 of file BetaFormConstraints.

References numBetas.

Referenced by toString().

virtual Int robot::control::kinematics::BetaFormConstraints::numConstraints  )  const [inline, virtual]
 

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

Definition at line 95 of file BetaFormConstraints.

References nonholonomicConstraint, and numBetas.

Referenced by evaluate(), and numEqualityConstraints().

virtual Int robot::control::kinematics::BetaFormConstraints::numEqualityConstraints  )  const [inline, virtual]
 

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

Definition at line 96 of file BetaFormConstraints.

References numConstraints().

virtual Int robot::control::kinematics::BetaFormConstraints::numInequalityConstraints  )  const [inline, virtual]
 

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

Definition at line 97 of file BetaFormConstraints.

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

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

void robot::control::kinematics::BetaFormConstraints::setAlphaConstraint const Vector alpha  )  [inline]
 

Definition at line 149 of file BetaFormConstraints.

References nonholonomicConstraint, base::vector< T >::reset(), and base::Vector.

Int robot::control::kinematics::Optimizer::Constraints::size  )  const [inline, inherited]
 

Definition at line 69 of file Optimizer.

References robot::control::kinematics::Optimizer::Constraints::numConstraints().

String robot::control::kinematics::BetaFormConstraints::toString  )  const [inline, virtual]
 

< to aid debugging (called by operator<<)

Reimplemented from robot::control::kinematics::Optimizer::Constraints.

Definition at line 176 of file BetaFormConstraints.

References nonholonomicConstraint, and numBetaConstraints().

Referenced by robot::control::kinematics::operator<<().

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::BetaFormConstraints::alpha [protected]
 

alpha form non-holonomic constraint

Definition at line 195 of file BetaFormConstraints.

Matrix robot::control::kinematics::BetaFormConstraints::betas [protected]
 

columns vectors (no. cols is may be larger than necessary (numBetas))

Definition at line 193 of file BetaFormConstraints.

Referenced by addConstraint(), clear(), evaluate(), getBeta(), and getBetas().

ConstraintArray robot::control::kinematics::BetaFormConstraints::constraints [protected]
 

array of constraints (index corresponds to betas matrix column)

Definition at line 192 of file BetaFormConstraints.

bool robot::control::kinematics::BetaFormConstraints::nonholonomicConstraint [protected]
 

is there a non-holonomic constraint specified via alpha?

Definition at line 194 of file BetaFormConstraints.

Referenced by BetaFormConstraints(), clear(), evaluate(), getAlpha(), isAlphaConstraint(), numConstraints(), setAlphaConstraint(), and toString().

Int robot::control::kinematics::BetaFormConstraints::numBetas [protected]
 

Definition at line 191 of file BetaFormConstraints.

Referenced by addConstraint(), BetaFormConstraints(), clear(), evaluate(), getBetas(), numBetaConstraints(), and numConstraints().

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:22 2004 for OpenSim by doxygen 1.3.6