cisst-saw
Loading...
Searching...
No Matches
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 \).
 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 \).
void Evaluate (double t, double &y, double &yd, double &ydd)
 Evaluate the function.
void Evaluate (double t, vctFixedSizeVector< double, 3 > &p, vctFixedSizeVector< double, 3 > &v, vctFixedSizeVector< double, 3 > &vd)
 Evaluate the function.
void Evaluate (double t, vctDynamicVector< double > &y, vctDynamicVector< double > &yd, vctDynamicVector< double > &ydd)
 Evaluate the function.
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.
virtual double & StartTime (void)
 Return start time.
virtual double & StopTime (void)
 Return stop time.
virtual double Duration (void) const
 Return duration.

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() [1/2]

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() [2/2]

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

◆ Blend() [1/2]

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

Implements robFunctionRn.

◆ Blend() [2/2]

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

Implements robFunctionRn.

◆ Evaluate() [1/3]

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)

◆ Evaluate() [2/3]

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.

◆ Evaluate() [3/3]

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.

◆ Slope()

vctDynamicVector< double > robLinearRn::Slope ( ) const

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