Open Source RoboticsRobots, software & learning

Attitude Estimator

Software

C++ IMU sensor-fusion library that estimates quaternion attitude and gyro bias from gyroscope, accelerometer and magnetometer inputs. [1] [3]

Installation & first result →Official websiteGetting started

For
Robotics developers working with IMU data and C++ [1]
Source rights
Named licenses are documented by part. Review licenses
Unknowns
operating system, compute requirements not fully established. Review gaps

Source researched · Not tested by us
Sources checked · Research details

Licenses & related hardware

Requirements · Research details and dates

On this page

Overview

Attitude Estimator combines IMU gyroscope, accelerometer and magnetometer inputs into a quaternion orientation estimate. It was developed for NimbRo-OP, but its interface is a standalone C++ library rather than a ROS node or a complete robot navigation stack. It also estimates gyro bias. This makes it a candidate when the missing piece is attitude estimation, not mapping, position tracking or a replacement for an entire state-estimation system. [1] [3]

Is this for you?

Known limitations
  • Coordinate/axis conventions, sensor calibration and missing-input behavior must be evaluated for the intended robot.
  • Upstream stability, speed and robustness statements were not independently tested.

Editorial scope assessment from the cited implementation/documentation; no execution or compatibility test.

[1] [2] [3] [4] · Editorial assessment

What you need

Dependencies
  • C++ Standard Library math functions; README says C++11 is not required

[1] [2] [3] [4]

Installation & first result

Open the upstream getting-started guide [1]

  • Clone the selected revision; compile attitude_estimator.cpp with your program or build the supplied static-library route.
  • Preserve exact source/dependency/model versions and evaluate the selected workflow before connecting physical hardware or reusing data.

Editorial scope assessment from the cited implementation/documentation; no execution or compatibility test.

[1] [2] [3] [4] · Editorial assessment

Installation

Clone the selected revision; compile attitude_estimator.cpp with your program or build the supplied static-library route.

Editorial scope assessment from the cited implementation/documentation; no execution or compatibility test.

[1] [2] [3] [4] · Editorial assessment

Hardware, models & data

Inputs and outputs

3-axis gyroscope, accelerometer and optional magnetometer data to quaternion attitude estimates.

Editorial scope assessment from the cited implementation/documentation; no execution or compatibility test.

[1] [3] · Editorial assessment

Project notes

Start with the two implementation files

The README identifies attitude_estimator.h and attitude_estimator.cpp as the non-test source required for its version 1.2.1 release. It describes direct compilation into an application or static/dynamic library builds, with a supplied makefile and Doxygen documentation. The listed dependencies are C++ Standard Library mathematical functions; upstream says C++11 is not required. We inspected the implementation excerpt and tree but did not compile that route. [1] [3] [4]

Missing data is a configuration question

The documented API can handle absent sensor inputs and offers multiple fallback estimation methods. That does not create information a sensor never measured. Before using its output in a controller, check the documented axis and orientation conventions, sensor calibration, sample timing and the observability limits of the selected input combination. Treat those as integration questions to resolve on your robot, not benefits established by a successful source download. [1]

The supplied BSD-3-Clause notice permits reuse subject to its terms. Upstream descriptions of speed, robustness and stability remain attributed claims; no sensor recording, numerical evaluation, compilation or physical controller test was performed for this profile. [1] [2]

What we checked

Source research only. Selected implementation/model text, repository tree and license declarations were inspected. No upstream compilation, dependency installation, simulator, network/USB/device integration, data collection, benchmark or physical robot test was performed. Source files are linked rather than redistributed; external services and paid products are not endorsed.

Not yet established

  • Requirements: operating system, host computer
  • Version-specific hardware compatibility (ecosystem tags alone do not establish it)

Updates

Upstream last updated
Not established
Latest release
Not established
Profile updated
Nov 1, 2026
Sources last checked
Nov 1, 2026
Next review
Dec 1, 2026
Reviewed revision
7b624b5

Source files and licenses

Distinct robot-facing library contribution with actual implementation/model content and a bounded documented next step. Review covers source artifacts, not operational performance or a complete tested deployment.

LayerAvailability / license
softwareavailable · BSD-3-Clause
Declaration for the scoped source implementation/documentation; dependencies, external services, model/data assets and inherited file-specific terms require separate checks. No blanket redistribution or operational clearance. [1] [2] [3]
documentationavailable · BSD-3-Clause
Declaration for the scoped source implementation/documentation; dependencies, external services, model/data assets and inherited file-specific terms require separate checks. No blanket redistribution or operational clearance. [1] [2] [3]

This profile is scoped to source implementation/model descriptions and an initial inspection workflow; no physical manufacturing design, pretrained checkpoint or dataset is selected for redistribution or tested deployment.

References

Each source links to the exact revision we read. “Used for” shows where this page relies on it.

Correction guidance · Discussion is not enabled · Profile format 0.7.0-draft.5

Change history