maliput
|
Wraps maliput::drake::systems::ScalarInitialValueProblem<double> by using a pImpl.
This convenient class helps to compute the inverse of an arc length integral of the world function given its arc length and returns either corresponding parameter or a function that helps with multiple queries and return the parameter. This class does not expose any drake / eigen specific type, which serves as a useful interface for the future. Backends can rely on linking against this library only and private linkage will solve any required dependency.
#include <include/maliput/drake/inverse_arc_length_integrator.h>
Public Types | |
using | ScalarOdeFunction = std::function< double(const double &s, const double &p, const math::Vector2 &k)> |
Type alias for the scalar ODE dx/dt = f(t, x; 𝐤) function type. More... | |
Public Member Functions | |
MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN (InverseArcLengthIntegrator) | |
InverseArcLengthIntegrator (const ScalarOdeFunction &function, const IntegratorConfiguration &config) | |
Constructs an InverseArcLengthIntegrator. More... | |
~InverseArcLengthIntegrator () | |
double | Evaluate (double s, const math::Vector2 &k) const |
Evaluates the inverse arc length at s and with context k . More... | |
std::function< double(double)> | InverseFunction (double s0, double s1, const math::Vector2 &k, double tolerance, double epsilon=0.0) const |
Computes a functor that can be used for sucessive queries at different p parameter values of the arc length. More... | |
using ScalarOdeFunction = std::function<double(const double& s, const double& p, const math::Vector2& k)> |
Type alias for the scalar ODE dx/dt = f(t, x; 𝐤) function type.
s | The independent variable s ∈ ℝ , i.e. the arc length. |
p | The dependent variable p ∈ ℝ , i.e. the parameter. |
k | The parameter vector 𝐤 ∈ ℝ² . |
InverseArcLengthIntegrator | ( | const ScalarOdeFunction & | function, |
const IntegratorConfiguration & | config | ||
) |
Constructs an InverseArcLengthIntegrator.
function | A functor with the ScalarOdeFunction. |
config | A IntegratorConfiguration with the initial state of the integrator and its configurations. |
|
default |
double Evaluate | ( | double | s, |
const math::Vector2 & | k | ||
) | const |
Evaluates the inverse arc length at s
and with context k
.
s | The arc length of the scalar ODE function. |
k | The context of the function. |
std::function< double(double)> InverseFunction | ( | double | s0, |
double | s1, | ||
const math::Vector2 & | k, | ||
double | tolerance, | ||
double | epsilon = 0.0 |
||
) | const |
Computes a functor that can be used for sucessive queries at different p parameter values of the arc length.
p0 | The start of the integration domain. |
p1 | The end of the integration domain. |
p1 | The context k of the integration domain. |
tolerance | The absolute tolerance to determine whether the used p parameter is within range [p0 , p1 ]. |
epsilon | Sometimes, due to numerical errors, consumers need to constraint the extent of the computed values. This variables shrinks s1 . Default is 0.0. |
MALIPUT_NO_COPY_NO_MOVE_NO_ASSIGN | ( | InverseArcLengthIntegrator | ) |