| 
    GCOP
    1.0
    
   
   | 
  
  
  
 
#include <manifold.h>

Public Types | |
| typedef Matrix< double, _n, 1 > | Vectornd | 
| typedef Matrix< double, _n, _n > | Matrixnd | 
Public Member Functions | |
| Manifold (int n=_n) | |
| virtual void | Lift (Vectornd &v, const T &xa, const T &xb)=0 | 
| virtual void | Retract (T &xb, const T &xa, const Vectornd &v)=0 | 
| virtual void | dtau (Matrixnd &M, const Vectornd &v) | 
| virtual void | Adtau (Matrixnd &M, const Vectornd &v) | 
Public Attributes | |
| int | n | 
| dimension   | |
| bool | bnd | 
| is the space bounded (false by default). Bounds are defined below: these "box" bounds make sense when there is a natural ordering on the manifold, e.g. of the natural numbers)   | |
| T | lb | 
| lower bound (-inf by default)   | |
| T | ub | 
| upper bound (inf by default)   | |
Homogeneous manifold
Author: Marin Kobilarov marin(at)jhu.edu
| typedef Matrix<double, _n, _n> gcop::Manifold< T, _n >::Matrixnd | 
| typedef Matrix<double, _n, 1> gcop::Manifold< T, _n >::Vectornd | 
| gcop::Manifold< T, _n >::Manifold | ( | int | n = _n | ) | 
Create a manifold of dimension n. For fixed-size use default constructor Manifold<T,n>() For dynamic-size use Manifold<T>(n).
| n | manifold dimension | 
| virtual void gcop::Manifold< T, _n >::Adtau | ( | Matrixnd & | M, | 
| const Vectornd & | v | ||
| ) |  [inline, virtual] | 
        
Adjoint map of the retraction, i.e. Ad((v))
| M | resulting matrix operator | 
| v | Lie algebra element | 
Reimplemented in gcop::Group< 6, 4 >, gcop::Group< 3, 3 >, gcop::Rn< _n >, gcop::Rn< Dynamic >, gcop::Rn< _np >, and gcop::Rn< _nu >.
| virtual void gcop::Manifold< T, _n >::dtau | ( | Matrixnd & | M, | 
| const Vectornd & | v | ||
| ) |  [inline, virtual] | 
        
Right-trivialized derivative of the retraction map dtau(v)
| M | matrix operator | 
| v | Lie algebra element | 
Reimplemented in gcop::Group< 6, 4 >, gcop::Group< 3, 3 >, gcop::Rn< _n >, gcop::Rn< Dynamic >, gcop::Rn< _np >, and gcop::Rn< _nu >.
| virtual void gcop::Manifold< T, _n >::Lift | ( | Vectornd & | v, | 
| const T & | xa, | ||
| const T & | xb | ||
| ) |  [pure virtual] | 
        
Compute a lie algebra element corresponding to a group action between two given states on a manifold. This operation geometrically means that the curve from xa to xb is "lifted" to the tangent space of the manifold to a vector represented by the lie algebra element.
The element can also be regarded as a difference between the two states xa and xb. On a vector space this is v = xb - xa. On homogeneous manifolds v is a Lie algebra element corresponding to an action taking xa to xb.
| v | Lie algebra element (regarded as difference between xb and xa) | 
| xa | starting state | 
| xb | ending state | 
Implemented in gcop::Group< 6, 4 >, gcop::Group< 3, 3 >, gcop::Rn< _n >, gcop::Rn< Dynamic >, gcop::Rn< _np >, gcop::Rn< _nu >, and gcop::MbsCspace.
| virtual void gcop::Manifold< T, _n >::Retract | ( | T & | xb, | 
| const T & | xa, | ||
| const Vectornd & | v | ||
| ) |  [pure virtual] | 
        
Retracts a tangent vector on a manifold at state xa to produce a new state xb. The vector is represented using a Lie algebra element.
The operation can also be regarded as a way to perform addition on manifolds, i.e. to increment a given state xa by v to get a new state xb. On a vector space this is xb = xa + v. On homogeneous manifolds v is a Lie algebra element corresponding to an action taking xa to xb.
| xb | ending state | 
| xa | starting state | 
| v | Lie algebra element (regarded as difference between xb and xa) | 
Implemented in gcop::Group< 6, 4 >, gcop::Group< 3, 3 >, gcop::Rn< _n >, gcop::Rn< Dynamic >, gcop::Rn< _np >, and gcop::Rn< _nu >.
| bool gcop::Manifold< T, _n >::bnd | 
is the space bounded (false by default). Bounds are defined below: these "box" bounds make sense when there is a natural ordering on the manifold, e.g. of the natural numbers)
Referenced by gcop::Airbot::Airbot(), gcop::Bulletrccar::Bulletrccar(), gcop::Bulletrccar1::Bulletrccar1(), gcop::Chain::Chain(), gcop::Rccar::Rccar(), and gcop::Rccar1::Rccar1().
| T gcop::Manifold< T, _n >::lb | 
lower bound (-inf by default)
Referenced by gcop::Airbot::Airbot(), gcop::Bulletrccar::Bulletrccar(), gcop::Bulletrccar1::Bulletrccar1(), gcop::Chain::Chain(), gcop::Mbs::CheckLimits(), gcop::Mbs::ClampPose(), gcop::Mbs::ClampVelocity(), gcop::Mbs::Force(), gcop::Mbs::GetImpulse(), gcop::Rccar::Rccar(), and gcop::Rccar1::Rccar1().
| int gcop::Manifold< T, _n >::n | 
dimension
Referenced by gcop::Airbot::Airbot(), gcop::ControllerTparam< Tx, nx, nu, np, _ntp, Tc >::ControllerTparam(), gcop::Ddp< T, nx, nu, np >::Ddp(), gcop::Docp< T, nx, nu, np >::Docp(), gcop::Doep< T, nx, nu, np, Tz, nz, T1, nx1 >::Doep(), gcop::KalmanCorrector< T, _nx, _nu, _np, Tz, _nz >::KalmanCorrector(), gcop::LqSensorCost< T, _nx, _nu, _np, _ng, Tz, _nz >::LqSensorCost(), gcop::PDdp< T, n, c, np >::PDdp(), gcop::SDdp< T, nx, nu, np >::SDdp(), gcop::Sensor< T, _nx, _nu, _np, Tz, _nz >::Sensor(), gcop::SystemCe< T, n, c, np, ntp, Tc >::SystemCe(), gcop::Mbs::TrapStep(), and gcop::UnscentedBase< T, _nx >::UnscentedBase().
| T gcop::Manifold< T, _n >::ub | 
upper bound (inf by default)
Referenced by gcop::Airbot::Airbot(), gcop::Bulletrccar::Bulletrccar(), gcop::Bulletrccar1::Bulletrccar1(), gcop::Chain::Chain(), gcop::Mbs::CheckLimits(), gcop::Mbs::ClampPose(), gcop::Mbs::ClampVelocity(), gcop::Mbs::Force(), gcop::Mbs::GetImpulse(), gcop::Rccar::Rccar(), and gcop::Rccar1::Rccar1().
 1.7.6.1