cisst-saw
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
robLinearRn Class Reference

A linear function (as in Ax=b) More...

#include <robLinearRn.h>

Inheritance diagram for robLinearRn:
robFunctionRn robFunction

Public Member Functions

 robLinearRn (const vctFixedSizeVector< double, 3 > &y1, const vctFixedSizeVector< double, 3 > &y2, double vmax, double t1=0.0)
 Define a linear function $L: R^1\rightarrow R^3 $. More...
 
 robLinearRn (const vctDynamicVector< double > &y1, const vctDynamicVector< double > &y2, const vctDynamicVector< double > &ydmax, double t1=0.0)
 Define a linear function $L: R^1\rightarrow R^n $. More...
 
void Evaluate (double t, double &y, double &yd, double &ydd)
 Evaluate the function. More...
 
void Evaluate (double t, vctFixedSizeVector< double, 3 > &p, vctFixedSizeVector< double, 3 > &v, vctFixedSizeVector< double, 3 > &vd)
 Evaluate the function. More...
 
void Evaluate (double t, vctDynamicVector< double > &y, vctDynamicVector< double > &yd, vctDynamicVector< double > &ydd)
 Evaluate the function. More...
 
void Blend (robFunction *function, const vctDynamicVector< double > &qd, const vctDynamicVector< double > &qdd)
 
void Blend (robFunction *function, double vmax, double vdmax)
 
vctDynamicVector< double > Slope () const
 
- Public Member Functions inherited from robFunctionRn
 robFunctionRn (void)
 
 robFunctionRn (double t1, const vctFixedSizeVector< double, 3 > &p1, const vctFixedSizeVector< double, 3 > &p1d, const vctFixedSizeVector< double, 3 > &p1dd, double t2, const vctFixedSizeVector< double, 3 > &p2, const vctFixedSizeVector< double, 3 > &p2d, const vctFixedSizeVector< double, 3 > &p2dd)
 
 robFunctionRn (double t1, const vctDynamicVector< double > &p1, const vctDynamicVector< double > &p1d, const vctDynamicVector< double > &p1dd, double t2, const vctDynamicVector< double > &p2, const vctDynamicVector< double > &p2d, const vctDynamicVector< double > &p2dd)
 
virtual ~robFunctionRn ()
 
void Set (double t1, const vctDynamicVector< double > &p1, const vctDynamicVector< double > &p1d, const vctDynamicVector< double > &p1dd, double t2, const vctDynamicVector< double > &p2, const vctDynamicVector< double > &p2d, const vctDynamicVector< double > &p2dd)
 
void InitialState (vctDynamicVector< double > &p, vctDynamicVector< double > &pd, vctDynamicVector< double > &pdd)
 
void FinalState (vctDynamicVector< double > &p, vctDynamicVector< double > &pd, vctDynamicVector< double > &pdd)
 
void InitialState (vctFixedSizeVector< double, 3 > &p, double &v, double &vd)
 
void FinalState (vctFixedSizeVector< double, 3 > &p, double &v, double &vd)
 
- Public Member Functions inherited from robFunction
 robFunction (void)
 
 robFunction (double startTime, double stopTime)
 
virtual ~robFunction ()
 
void Set (double startTime, double stopTime)
 Set start and stop time. More...
 
virtual double & StartTime (void)
 Return start time. More...
 
virtual double & StopTime (void)
 Return stop time. More...
 
virtual double Duration (void) const
 Return duration. More...
 

Additional Inherited Members

- Protected Attributes inherited from robFunctionRn
vctDynamicVector< double > y1
 
vctDynamicVector< double > y1d
 
vctDynamicVector< double > y1dd
 
vctDynamicVector< double > y2
 
vctDynamicVector< double > y2d
 
vctDynamicVector< double > y2dd
 
- Protected Attributes inherited from robFunction
double t1
 
double t2
 

Detailed Description

A linear function (as in Ax=b)

Constructor & Destructor Documentation

robLinearRn::robLinearRn ( const vctFixedSizeVector< double, 3 > &  y1,
const vctFixedSizeVector< double, 3 > &  y2,
double  vmax,
double  t1 = 0.0 
)

Define a linear function $L: R^1\rightarrow R^3 $.

Define a line passing throuh $(t_1,\mathbf{y}_1)$ and $(t_2,\mathbf{y}_2)$. The final time $t_2$ is determined by the maximum velocities. The function is bounded by $[t_1, t_2]$.

Parameters
t1The initial time
y1The value $\mathbf{y}_1 = L(t_1)$
y2The value $\mathbf{y}_2 = L(t_2)$
vmaxThe magnitude of the maximum linear velocity
robLinearRn::robLinearRn ( const vctDynamicVector< double > &  y1,
const vctDynamicVector< double > &  y2,
const vctDynamicVector< double > &  ydmax,
double  t1 = 0.0 
)

Define a linear function $L: R^1\rightarrow R^n $.

Define a line passing throuh $(t_1,\mathbf{y}_1)$ and $(t_2,\mathbf{y}_2)$. The final time $t_2$ is determined by the maximum velocities. The function is bounded by $[t_1, t_2]$.

Parameters
t1The initial time
y1The value $\mathbf{y}_1 = L(t_1)$
y2The value $\mathbf{y}_2 = L(t_2)$
ydmaxThe maximum velocity for each dimension

Member Function Documentation

void robLinearRn::Blend ( robFunction function,
const vctDynamicVector< double > &  qd,
const vctDynamicVector< double > &  qdd 
)
virtual

Implements robFunctionRn.

void robLinearRn::Blend ( robFunction function,
double  vmax,
double  vdmax 
)
virtual

Implements robFunctionRn.

void robLinearRn::Evaluate ( double  t,
double &  y,
double &  yd,
double &  ydd 
)

Evaluate the function.

Evaluate the linear function for the given input. The domain of the input

Parameters
[in]inputThe input to the function. The input domain must be robSpace::TIME
tThe time
[out]yThe linear function at time t
[out]ydThe 1st order time derivative at time t
[out]yddThe 2nd order time derivative at time t (always zero)
void robLinearRn::Evaluate ( double  t,
vctFixedSizeVector< double, 3 > &  p,
vctFixedSizeVector< double, 3 > &  v,
vctFixedSizeVector< double, 3 > &  vd 
)
virtual

Evaluate the function.

Evaluate the linear function for the given input. The domain of the input

Parameters
[in]inputThe input to the function. The input domain must be robSpace::TIME
tThe time
[out]pThe linear function at time t
[out]vThe linear velocity
[out]vdThe linear acceleration

Reimplemented from robFunctionRn.

void robLinearRn::Evaluate ( double  t,
vctDynamicVector< double > &  y,
vctDynamicVector< double > &  yd,
vctDynamicVector< double > &  ydd 
)
virtual

Evaluate the function.

Evaluate the linear function for the given input. The domain of the input

Parameters
[in]inputThe input to the function. The input domain must be robSpace::TIME
tThe time
[out]yThe linear function at time t
[out]ydThe 1st order time derivative at time t
[out]yddThe 2nd order time derivative at time t (always zero)

Reimplemented from robFunctionRn.

vctDynamicVector<double> robLinearRn::Slope ( ) const

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