#include <InequalityPenaltyFunction.h>

Public Types | |
| typedef InequalityPenaltyFunction | Base |
| typedef std::shared_ptr< This > | shared_ptr |
| typedef SmoothRampPoly2 | This |
Public Types inherited from gtsam::InequalityPenaltyFunction | |
| typedef std::shared_ptr< InequalityPenaltyFunction > | shared_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 |
| SmoothRampPoly2 (const double epsilon=1) | |
Public Member Functions inherited from gtsam::InequalityPenaltyFunction | |
| virtual UnaryScalarFunc | function () const |
| InequalityPenaltyFunction () | |
| virtual | ~InequalityPenaltyFunction () |
Protected Attributes | |
| double | a_ |
| double | epsilon_ |
Ramp function approximated with a polynomial of degree 2 in [0, epsilon]. The coefficients are computed as a = 1 / (2 * epsilon) Function f(x) = 0 for x <= 0 a * x^2 for 0 < x < epsilon x - epsilon/2 for x >= epsilon
Definition at line 75 of file InequalityPenaltyFunction.h.
Definition at line 77 of file InequalityPenaltyFunction.h.
| typedef std::shared_ptr<This> gtsam::SmoothRampPoly2::shared_ptr |
Definition at line 79 of file InequalityPenaltyFunction.h.
Definition at line 78 of file InequalityPenaltyFunction.h.
|
inline |
Constructor.
| epsilon | parameter for adjusting the smoothness of the function. |
Definition at line 89 of file InequalityPenaltyFunction.h.
|
overridevirtual |
Implements gtsam::InequalityPenaltyFunction.
Definition at line 47 of file InequalityPenaltyFunction.cpp.
|
protected |
Definition at line 83 of file InequalityPenaltyFunction.h.
|
protected |
Definition at line 82 of file InequalityPenaltyFunction.h.