KDL::JntArray Class Reference

This class represents an fixed size array containing joint values of a KDL::Chain. More...

#include <jntarray.hpp>

List of all members.

Public Member Functions

unsigned int columns () const
 Returns the number of columns of the array, always 1.
 JntArray (const JntArray &arg)
 Copy constructor.
 JntArray (unsigned int size)
 Constructor of the joint array.
 JntArray ()
 Construct with _no_ data array.
double & operator() (unsigned int i, unsigned int j=0)
 set_item operator, again if a second value is given it should be zero.
double operator() (unsigned int i, unsigned int j=0) const
 get_item operator for the joint array, if a second value is given it should be zero, since a JntArray resembles a column.
JntArrayoperator= (const JntArray &arg)
void resize (unsigned int newSize)
 Resize the array.
unsigned int rows () const
 Returns the number of rows (size) of the array.
 ~JntArray ()

Public Attributes

Eigen::VectorXd data

Friends

void Add (const JntArray &src1, const JntArray &src2, JntArray &dest)
void Divide (const JntArray &src, const double &factor, JntArray &dest)
bool Equal (const JntArray &src1, const JntArray &src2, double eps)
void Multiply (const JntArray &src, const double &factor, JntArray &dest)
void MultiplyJacobian (const Jacobian &jac, const JntArray &src, Twist &dest)
 Function to multiply a KDL::Jacobian with a KDL::JntArray to get a KDL::Twist, it should not be used to calculate the forward velocity kinematics, the solver classes are built for this purpose.
bool operator== (const JntArray &src1, const JntArray &src2)
void SetToZero (JntArray &array)
void Subtract (const JntArray &src1, const JntArray &src2, JntArray &dest)

Detailed Description

This class represents an fixed size array containing joint values of a KDL::Chain.

Warning:
An object constructed with the default constructor provides a valid, but inert, object. Many of the member functions will do the correct thing and have no affect on this object, but some member functions can _NOT_ deal with an inert/empty object. These functions will assert() and exit the program instead. The intended use case for the default constructor (in an RTT/OCL setting) is outlined in code below - the default constructor plus the resize() function allow use of JntArray objects whose size is set within a configureHook() call (typically based on a size determined from a property).
class MyTask : public RTT::TaskContext
{
   JntArray             j;
   MyTask() 
   {}                   // invokes j's default constructor

   bool configureHook()
   {
       unsigned int size = some_property.rvalue();
           j.resize(size)
           ...
   }

   void updateHook()
   {
 use j here
   }
};

Definition at line 69 of file jntarray.hpp.


Constructor & Destructor Documentation

USING_PART_OF_NAMESPACE_EIGEN KDL::JntArray::JntArray (  ) 

Construct with _no_ data array.

Postcondition:
NULL == data
0 == rows()
Warning:
use of an object constructed like this, without a resize() first, may result in program exit! See class documentation.

Definition at line 28 of file jntarray.cpp.

KDL::JntArray::JntArray ( unsigned int  size  ) 

Constructor of the joint array.

Parameters:
size size of the array, this cannot be changed afterwards.
Precondition:
0 < size
Postcondition:
NULL != data
0 < rows()
all elements in data have 0 value

Definition at line 32 of file jntarray.cpp.

References data.

KDL::JntArray::JntArray ( const JntArray arg  ) 

Copy constructor.

Note:
Will correctly copy an empty object

Definition at line 39 of file jntarray.cpp.

KDL::JntArray::~JntArray (  ) 

Definition at line 51 of file jntarray.cpp.


Member Function Documentation

unsigned int KDL::JntArray::columns (  )  const

Returns the number of columns of the array, always 1.

Definition at line 77 of file jntarray.cpp.

References data.

double & KDL::JntArray::operator() ( unsigned int  i,
unsigned int  j = 0 
)

set_item operator, again if a second value is given it should be zero.

Returns:
reference to the joint value at position i,starting from zero.
Precondition:
0 != size (ie non-default constructor or resize() called)

Definition at line 66 of file jntarray.cpp.

References data.

double KDL::JntArray::operator() ( unsigned int  i,
unsigned int  j = 0 
) const

get_item operator for the joint array, if a second value is given it should be zero, since a JntArray resembles a column.

Returns:
the joint value at position i, starting from 0
Precondition:
0 != size (ie non-default constructor or resize() called)

Definition at line 60 of file jntarray.cpp.

References data.

JntArray & KDL::JntArray::operator= ( const JntArray arg  ) 

Definition at line 44 of file jntarray.cpp.

References data.

void KDL::JntArray::resize ( unsigned int  newSize  ) 

Resize the array.

Warning:
This causes a dynamic allocation (and potentially also a dynamic deallocation). This _will_ negatively affect real-time performance!
Postcondition:
newSize == rows()
NULL != data
all elements in data have 0 value

Definition at line 55 of file jntarray.cpp.

References data.

Referenced by KDL::JntArrayVel::resize(), and KDL::JntArrayAcc::resize().

unsigned int KDL::JntArray::rows (  )  const

Friends And Related Function Documentation

void Add ( const JntArray src1,
const JntArray src2,
JntArray dest 
) [friend]
void Divide ( const JntArray src,
const double &  factor,
JntArray dest 
) [friend]
bool Equal ( const JntArray src1,
const JntArray src2,
double  eps 
) [friend]
void Multiply ( const JntArray src,
const double &  factor,
JntArray dest 
) [friend]
void MultiplyJacobian ( const Jacobian jac,
const JntArray src,
Twist dest 
) [friend]

Function to multiply a KDL::Jacobian with a KDL::JntArray to get a KDL::Twist, it should not be used to calculate the forward velocity kinematics, the solver classes are built for this purpose.

J*q = t

Parameters:
jac J
src q
dest t
Postcondition:
dest == (KDL::Twist::)Zero() if 0 == src.rows() (ie src is empty)
bool operator== ( const JntArray src1,
const JntArray src2 
) [friend]
void SetToZero ( JntArray array  )  [friend]
void Subtract ( const JntArray src1,
const JntArray src2,
JntArray dest 
) [friend]

Member Data Documentation

Eigen::VectorXd KDL::JntArray::data

The documentation for this class was generated from the following files:

Generated on Wed Nov 23 19:02:17 2011 for FreeCAD by  doxygen 1.6.1