49 [[nodiscard]] std::string
type()
const override;
52 [[nodiscard]]
static std::string
category();
59 [[nodiscard]]
json save()
const override;
nlohmann::json json
json namespace
Data storage class for one VectorNavImu observation.
Parent Class for all IMU Observations.
Inertial Measurement Integrator.
Inertial Measurement Preintegrator.
Position, Velocity and Attitude Storage Class.
static constexpr size_t INPUT_PORT_INDEX_POS_VEL_ATT_INIT
Flow (PosVelAtt)
std::shared_ptr< const PosVelAtt > _lastPosVelAtt
Last position, velocity and attitude.
void deinitialize() override
Deinitialize the node.
ImuIntegrator(const ImuIntegrator &)=delete
Copy constructor.
void recvObservation(InputPin::NodeDataQueue &queue, size_t pinIdx)
Receive Function.
std::shared_ptr< const ImuObs > _lastImuObs
Last IMU measuremnt.
bool _preferAccelerationOverDeltaMeasurements
Prefer the raw acceleration measurements over the deltaVel & deltaTheta values.
static std::string category()
String representation of the Class Category.
static std::string typeStatic()
String representation of the Class Type.
void restore(const json &j) override
Restores the node from a json object.
bool _imuPreintegration
Wether IMU preintegration should be used.
std::string type() const override
String representation of the Class Type.
ImuIntegrator()
Default constructor.
void guiConfig() override
ImGui config window which is shown on double click.
bool initialize() override
Initialize the node.
ImuIntegrator & operator=(ImuIntegrator &&)=delete
Move assignment operator.
~ImuIntegrator() override
Destructor.
ImuIntegrator(ImuIntegrator &&)=delete
Move constructor.
static constexpr size_t OUTPUT_PORT_INDEX_INERTIAL_NAV_SOL
Flow (InertialNavSol)
InertialPreIntegrator _inertialPreintegrator
Inertial Preintegrator.
void recvPosVelAttInit(InputPin::NodeDataQueue &queue, size_t pinIdx)
Receive Function for the PosVelAtt initial values.
json save() const override
Saves the node into a json object.
bool _resetPreintegratorEveryEpoch
Resetting the preintegrator every epoch makes it behave like a normal integrator.
InertialIntegrator _inertialIntegrator
Inertial Integrator.
ImuIntegrator & operator=(const ImuIntegrator &)=delete
Copy assignment operator.
static constexpr size_t INPUT_PORT_INDEX_IMU_OBS
Flow (ImuObs)
Inertial Measurement Integrator.
Inertial Measurement Integrator.
Node(std::string name)
Constructor.