Public Types | Public Member Functions | Protected Attributes | List of all members
gtsam::SmoothRampPoly3 Class Reference

#include <InequalityPenaltyFunction.h>

Inheritance diagram for gtsam::SmoothRampPoly3:
Inheritance graph
[legend]

Public Types

typedef InequalityPenaltyFunction Base
 
typedef std::shared_ptr< Thisshared_ptr
 
typedef SmoothRampPoly3 This
 
- Public Types inherited from gtsam::InequalityPenaltyFunction
typedef std::shared_ptr< InequalityPenaltyFunctionshared_ptr
 
typedef std::function< double(const double &x, OptionalJacobian< 1, 1 > H)> UnaryScalarFunc
 

Public Member Functions

virtual double operator() (const double &x, OptionalJacobian< 1, 1 > H={}) const override
 
 SmoothRampPoly3 (const double epsilon=1)
 
- Public Member Functions inherited from gtsam::InequalityPenaltyFunction
virtual UnaryScalarFunc function () const
 
 InequalityPenaltyFunction ()
 
virtual ~InequalityPenaltyFunction ()
 

Protected Attributes

double a_
 
double b_
 
double epsilon_
 

Detailed Description

Ramp function approximated with a polynomial of degree 3 in [0, epsilon]. The coefficients are computed as a = -1 / epsilon^2 b = 2 / epsilon Function f(x) = 0 for x <= 0 a * x^3 + b * x^2 for 0 < x < epsilon x for x >= epsilon

Definition at line 104 of file InequalityPenaltyFunction.h.

Member Typedef Documentation

◆ Base

Definition at line 106 of file InequalityPenaltyFunction.h.

◆ shared_ptr

typedef std::shared_ptr<This> gtsam::SmoothRampPoly3::shared_ptr

Definition at line 108 of file InequalityPenaltyFunction.h.

◆ This

Definition at line 107 of file InequalityPenaltyFunction.h.

Constructor & Destructor Documentation

◆ SmoothRampPoly3()

gtsam::SmoothRampPoly3::SmoothRampPoly3 ( const double  epsilon = 1)
inline

Constructor.

Parameters
epsilonparameter for adjusting the smoothness of the function.

Definition at line 119 of file InequalityPenaltyFunction.h.

Member Function Documentation

◆ operator()()

double gtsam::SmoothRampPoly3::operator() ( const double &  x,
OptionalJacobian< 1, 1 >  H = {} 
) const
overridevirtual

Implements gtsam::InequalityPenaltyFunction.

Definition at line 68 of file InequalityPenaltyFunction.cpp.

Member Data Documentation

◆ a_

double gtsam::SmoothRampPoly3::a_
protected

Definition at line 112 of file InequalityPenaltyFunction.h.

◆ b_

double gtsam::SmoothRampPoly3::b_
protected

Definition at line 113 of file InequalityPenaltyFunction.h.

◆ epsilon_

double gtsam::SmoothRampPoly3::epsilon_
protected

Definition at line 111 of file InequalityPenaltyFunction.h.


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


gtsam
Author(s):
autogenerated on Fri Mar 28 2025 03:16:14