crocoddyl 1.9.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
 
Loading...
Searching...
No Matches
ActivationModelQuadFlatLogTpl< _Scalar > Class Template Reference

Quadratic-flat-log activation. More...

#include <crocoddyl/core/activations/quadratic-flat-log.hpp>

Inheritance diagram for ActivationModelQuadFlatLogTpl< _Scalar >:
Collaboration diagram for ActivationModelQuadFlatLogTpl< _Scalar >:

Public Types

typedef ActivationDataAbstractTpl< Scalar > ActivationDataAbstract
 
typedef ActivationModelAbstractTpl< Scalar > Base
 
typedef ActivationDataQuadFlatLogTpl< Scalar > Data
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef MathBase::VectorXs VectorXs
 
- Public Types inherited from ActivationModelAbstractTpl< _Scalar >
typedef ActivationDataAbstractTpl< Scalar > ActivationDataAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ActivationModelQuadFlatLogTpl (const std::size_t &nr, const Scalar &alpha=Scalar(1.))
 
virtual void calc (const boost::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r)
 
virtual void calcDiff (const boost::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r)
 
virtual boost::shared_ptr< ActivationDataAbstractcreateData ()
 
Scalar get_alpha () const
 
virtual void print (std::ostream &os) const
 Print relevant information of the quadratic flat-log model. More...
 
void set_alpha (const Scalar alpha)
 
- Public Member Functions inherited from ActivationModelAbstractTpl< _Scalar >
 ActivationModelAbstractTpl (const std::size_t nr)
 
virtual void calc (const boost::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r)=0
 
virtual void calcDiff (const boost::shared_ptr< ActivationDataAbstract > &data, const Eigen::Ref< const VectorXs > &r)=0
 
virtual boost::shared_ptr< ActivationDataAbstractcreateData ()
 
std::size_t get_nr () const
 
virtual void print (std::ostream &os) const
 Print relevant information of the activation model. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 
- Public Attributes inherited from ActivationModelAbstractTpl< _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Additional Inherited Members

- Protected Attributes inherited from ActivationModelAbstractTpl< _Scalar >
std::size_t nr_
 

Detailed Description

template<typename _Scalar>
class crocoddyl::ActivationModelQuadFlatLogTpl< _Scalar >

Quadratic-flat-log activation.

This activation function describes a logarithmic quadratic activation depending on the quadratic norm of a residual vector, i.e.

\[ \begin{equation} log(1 + \|\mathbf{r}\|^2 / \alpha) \end{equation} \]

where \(\alpha\) defines the width of the quadratic basin, \(r\) is the scalar residual, \(nr\) is the dimension of the residual vector.

The computation of the function and it derivatives are carried out in calc() and caldDiff(), respectively.

See also
calc(), calcDiff(), createData()

Definition at line 33 of file quadratic-flat-log.hpp.

Member Typedef Documentation

◆ MathBase

typedef MathBaseTpl<Scalar> MathBase

Definition at line 38 of file quadratic-flat-log.hpp.

◆ Base

Definition at line 39 of file quadratic-flat-log.hpp.

◆ ActivationDataAbstract

Definition at line 40 of file quadratic-flat-log.hpp.

◆ Data

Definition at line 41 of file quadratic-flat-log.hpp.

◆ VectorXs

typedef MathBase::VectorXs VectorXs

Definition at line 42 of file quadratic-flat-log.hpp.

◆ MatrixXs

typedef MathBase::MatrixXs MatrixXs

Definition at line 43 of file quadratic-flat-log.hpp.

Constructor & Destructor Documentation

◆ ActivationModelQuadFlatLogTpl()

ActivationModelQuadFlatLogTpl ( const std::size_t &  nr,
const Scalar &  alpha = Scalar(1.) 
)
inlineexplicit

Definition at line 54 of file quadratic-flat-log.hpp.

◆ ~ActivationModelQuadFlatLogTpl()

virtual ~ActivationModelQuadFlatLogTpl ( )
inlinevirtual

Definition at line 61 of file quadratic-flat-log.hpp.

Member Function Documentation

◆ calc()

virtual void calc ( const boost::shared_ptr< ActivationDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  r 
)
inlinevirtual

Implements ActivationModelAbstractTpl< _Scalar >.

Definition at line 69 of file quadratic-flat-log.hpp.

◆ calcDiff()

virtual void calcDiff ( const boost::shared_ptr< ActivationDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  r 
)
inlinevirtual

Implements ActivationModelAbstractTpl< _Scalar >.

Definition at line 85 of file quadratic-flat-log.hpp.

◆ createData()

virtual boost::shared_ptr< ActivationDataAbstract > createData ( )
inlinevirtual

Reimplemented from ActivationModelAbstractTpl< _Scalar >.

Definition at line 103 of file quadratic-flat-log.hpp.

◆ get_alpha()

Scalar get_alpha ( ) const
inline

Definition at line 108 of file quadratic-flat-log.hpp.

◆ set_alpha()

void set_alpha ( const Scalar  alpha)
inline

Definition at line 109 of file quadratic-flat-log.hpp.

◆ print()

virtual void print ( std::ostream &  os) const
inlinevirtual

Print relevant information of the quadratic flat-log model.

Parameters
[out]osOutput stream object

Reimplemented from ActivationModelAbstractTpl< _Scalar >.

Definition at line 116 of file quadratic-flat-log.hpp.

Member Data Documentation

◆ Scalar

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Definition at line 37 of file quadratic-flat-log.hpp.


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