#include <InequalityPenaltyFunction.h>

Public Types | |
| typedef InequalityPenaltyFunction | Base |
| typedef std::shared_ptr< This > | shared_ptr |
| typedef SmoothRampPoly3 | 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 |
| 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_ |
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.
Definition at line 106 of file InequalityPenaltyFunction.h.
| typedef std::shared_ptr<This> gtsam::SmoothRampPoly3::shared_ptr |
Definition at line 108 of file InequalityPenaltyFunction.h.
Definition at line 107 of file InequalityPenaltyFunction.h.
|
inline |
Constructor.
| epsilon | parameter for adjusting the smoothness of the function. |
Definition at line 119 of file InequalityPenaltyFunction.h.
|
overridevirtual |
Implements gtsam::InequalityPenaltyFunction.
Definition at line 68 of file InequalityPenaltyFunction.cpp.
|
protected |
Definition at line 112 of file InequalityPenaltyFunction.h.
|
protected |
Definition at line 113 of file InequalityPenaltyFunction.h.
|
protected |
Definition at line 111 of file InequalityPenaltyFunction.h.