Time-integration helpers for translational and rotational rigid-body dynamics.
More...
#include <integrators.hpp>
|
| static void | integrateLinear (Vector3 &position, Vector3 &velocity, const Vector3 &acceleration, double dt) noexcept |
| static void | integrateLinearExplicit (Vector3 &position, Vector3 &velocity, const Vector3 &acceleration, double dt) noexcept |
| static void | integrateAngular (Quaternion &orientation, const Vector3 &angularVelocity, double dt) noexcept |
| static void | integrateAngularVelocity (Vector3 &angularVelocity, const Vector3 &angularAcceleration, double dt) noexcept |
| static void | integrateLinearRK2 (Vector3 &position, Vector3 &velocity, const Vector3 &acceleration, double dt) noexcept |
Time-integration helpers for translational and rotational rigid-body dynamics.
This utility exposes explicit Euler, semi-implicit (symplectic) Euler, and midpoint RK2 variants for linear motion, plus quaternion-based angular integration using q_dot = 0.5 * omega_quat * q.
References: https://en.wikipedia.org/wiki/Semi-implicit_Euler_method https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods https://en.wikipedia.org/wiki/Quaternion#Using_quaternions_as_rotations
◆ integrateAngular()
| void frcsim::Integrator::integrateAngular |
( |
Quaternion & | orientation, |
|
|
const Vector3 & | angularVelocity, |
|
|
double | dt ) |
|
inlinestaticnoexcept |
◆ integrateAngularVelocity()
| void frcsim::Integrator::integrateAngularVelocity |
( |
Vector3 & | angularVelocity, |
|
|
const Vector3 & | angularAcceleration, |
|
|
double | dt ) |
|
inlinestaticnoexcept |
◆ integrateLinear()
| void frcsim::Integrator::integrateLinear |
( |
Vector3 & | position, |
|
|
Vector3 & | velocity, |
|
|
const Vector3 & | acceleration, |
|
|
double | dt ) |
|
inlinestaticnoexcept |
◆ integrateLinearExplicit()
| void frcsim::Integrator::integrateLinearExplicit |
( |
Vector3 & | position, |
|
|
Vector3 & | velocity, |
|
|
const Vector3 & | acceleration, |
|
|
double | dt ) |
|
inlinestaticnoexcept |
◆ integrateLinearRK2()
| void frcsim::Integrator::integrateLinearRK2 |
( |
Vector3 & | position, |
|
|
Vector3 & | velocity, |
|
|
const Vector3 & | acceleration, |
|
|
double | dt ) |
|
inlinestaticnoexcept |
The documentation for this struct was generated from the following file: