ros-lyrical-imu-filter-madgwick (2.2.2-3resolute) resolute; urgency=high

  * Merge pull request #202 <https://github.com/CCNYRoboticsLab/imu_tools/issues/202> from enwaytech:sr/reverse-backport-from-noetic  (#202 <https://github.com/CCNYRoboticsLab/imu_tools/issues/202>)
  * Added ability to reset IMU filters when ROS time jumps back (#165 <https://github.com/CCNYRoboticsLab/imu_tools/issues/165>)
  * Increase max stddev, add pose visualization (#192 <https://github.com/CCNYRoboticsLab/imu_tools/issues/192>)
  * use modern postSetParametersCallback (#220 <https://github.com/CCNYRoboticsLab/imu_tools/issues/220>)
    Use modern postSetParametersCallback. Also solves the bug causing every Double parameters change in the entire system to be printed as a change in this node.
  * Update deprecated TransformBroadcaster constructor (#223 <https://github.com/CCNYRoboticsLab/imu_tools/issues/223>)
  * Update deprecated message filters and tf2 headers (#222 <https://github.com/CCNYRoboticsLab/imu_tools/issues/222>)
  * Contributors: Adi Vardi, Alejandro Hernández Cordero, Martin Günther, Sharmin Ramli

 -- Martin Günther <martin.guenther@dfki.de>  Tue, 13 Jan 2026 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (2.2.1-3resolute) resolute; urgency=high

  * Fix deprecated header includes (#216 <https://github.com/CCNYRoboticsLab/imu_tools/issues/216>)
  * [kilted] Update deprecated call to ament_target_dependencies (#215 <https://github.com/CCNYRoboticsLab/imu_tools/issues/215>)
  * Contributors: David V. Lu!!, Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Thu, 15 May 2025 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (2.2.0-3resolute) resolute; urgency=high



 -- Martin Günther <martin.guenther@dfki.de>  Tue, 01 Oct 2024 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (2.1.4-3resolute) resolute; urgency=high

  * Show remapped topic names (#196 <https://github.com/CCNYRoboticsLab/imu_tools/issues/196>)
  * Set read-only parameters as read_only (#185 <https://github.com/CCNYRoboticsLab/imu_tools/issues/185>)
  * Contributors: Christoph Fröhlich, Tamaki Nishino

 -- Martin Günther <martin.guenther@dfki.de>  Fri, 26 Apr 2024 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (2.1.3-3resolute) resolute; urgency=high

  * Update CMakeLists to use targets
  * Remove node_ prefix. (#163 <https://github.com/CCNYRoboticsLab/imu_tools/issues/163>)
  * Contributors: Martin Günther, Max Polzin

 -- Martin Günther <martin.guenther@dfki.de>  Wed, 07 Dec 2022 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (2.1.2-3resolute) resolute; urgency=high

  * Enable on Windows (#162 <https://github.com/CCNYRoboticsLab/imu_tools/issues/162>)
  * Contributors: Lou Amadio

 -- Martin Günther <martin.guenther@dfki.de>  Thu, 14 Jul 2022 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (2.1.1-3resolute) resolute; urgency=high



 -- Martin Günther <martin.guenther@dfki.de>  Tue, 24 May 2022 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (2.1.0-3resolute) resolute; urgency=high

  * Switch to non-deprecated hpp header
    The .h header became deprecated after galactic.
  * Add missing test dependency
  * Contributors: Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Mon, 02 May 2022 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (2.0.0-3resolute) resolute; urgency=high

  * Initial release into ROS2 foxy, galactic and rolling
  * Fix gcc warnings + clang-tidy suggestions
  * Fix CMakeLists
  * Reformat python code using black
  * Manually reformat licenses + defines
  * Reformat everything using clang-format
  * Add license files
    The "COPYING" file incorrectly had the text of the LGPL, but the
    original Madgwick filter [1], [2] is GPL licensed. The source code
    headers correctly have the GPLv3 license text.
    [1]: https://x-io.co.uk/open-source-imu-and-ahrs-algorithms/
    [2]: https://github.com/xioTechnologies/Fusion
  * Change to allow the usage of imu_filter_madgwick as a library (#129 <https://github.com/CCNYRoboticsLab/imu_tools/issues/129>)
  * imu_filter_madgwick: Install headers
  * Remove double configuration steps. (#122 <https://github.com/CCNYRoboticsLab/imu_tools/issues/122>)
    Fixes #118 <https://github.com/CCNYRoboticsLab/imu_tools/issues/118>.
  * Add declination and yaw offset. (#121 <https://github.com/CCNYRoboticsLab/imu_tools/issues/121>)
    Fixes #120 <https://github.com/CCNYRoboticsLab/imu_tools/issues/120>.
  * Madgwick for eloquent (#110 <https://github.com/CCNYRoboticsLab/imu_tools/issues/110>)
  * Update maintainers in package.xml
  * Fix warnings: reordering and unused vars
  * Contributors: Martin Günther, boiscljo, tgreier

 -- Martin Günther <martin.guenther@dfki.de>  Tue, 12 Apr 2022 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.2.2-3resolute) resolute; urgency=high

  * Drop the signals component of Boost (#103 <https://github.com/ccny-ros-pkg/imu_tools/issues/103>)
  * Add the option to remove the gravity vector (#101 <https://github.com/ccny-ros-pkg/imu_tools/issues/101>)
  * fix install path & boost linkage issues
  * Contributors: Alexis Paques, Martin Günther, Mike Purvis, Sean Yen

 -- Martin Günther <martin.guenther@dfki.de>  Mon, 25 May 2020 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.2.1-3resolute) resolute; urgency=high

  * Skip messages and warn if computeOrientation fails
  * Contributors: Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Mon, 06 May 2019 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.2.0-3resolute) resolute; urgency=high

  * Remove outdated Makefile
  * Add warning when IMU time stamp is zero
    Closes #82 <https://github.com/ccny-ros-pkg/imu_tools/issues/82>.
  * update to use non deprecated pluginlib macro (#77 <https://github.com/ccny-ros-pkg/imu_tools/issues/77>)
  * Contributors: Martin Günther, Mikael Arguedas

 -- Martin Günther <martin.guenther@dfki.de>  Fri, 25 May 2018 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.1.5-3resolute) resolute; urgency=high

  * Initial release into Lunar
  * Remove support for Vector3 mag messages
  * Change default world_frame = enu
  * Rewrite rosbags: Use MagneticField for magnetometer
  * Contributors: Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Wed, 24 May 2017 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.1.4-3resolute) resolute; urgency=high

  * Print warning if waiting for topic
    Closes #61 <https://github.com/ccny-ros-pkg/imu_tools/issues/61>.
  * Fix boost::lock_error on shutdown
  * Contributors: Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Mon, 22 May 2017 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.1.3-3resolute) resolute; urgency=high

  * Return precisely normalized quaternions
    Fixes #67 <https://github.com/ccny-ros-pkg/imu_tools/issues/67> : TF_DENORMALIZED_QUATERNION warning added in TF2 0.5.14.
  * Tests: Check that output quaternions are normalized
  * Fixed lock so it stays in scope until end of method.
  * Contributors: Jason Mercer, Martin Guenther, Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Fri, 10 Mar 2017 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.1.2-3resolute) resolute; urgency=high

  * Add missing dependency on tf2_geometry_msgs
  * Contributors: Martin Guenther

 -- Martin Günther <martin.guenther@dfki.de>  Wed, 07 Sep 2016 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.1.1-3resolute) resolute; urgency=high

  * Add parameter "world_frame": optionally use ENU or NED instead of NWU
    convention (from #60 <https://github.com/ccny-ros-pkg/imu_tools/issues/60>;
    closes #36 <https://github.com/ccny-ros-pkg/imu_tools/issues/36>)
  * Add parameter "stateless" for debugging purposes: don't do any stateful
    filtering, but instead publish the orientation directly computed from the
    latest accelerometer (+ optionally magnetometer) readings alone
  * Replace the (buggy) Euler-angle-based initialization routine
    (ImuFilterRos::computeRPY) by a correct transformation
    matrix based one (StatelessOrientation::computeOrientation) and make it
    available as a library function
  * Refactor madgwickAHRSupdate() (pull out some functions, remove micro
    optimizations to improve readability)
  * Add unit tests
  * Contributors: Martin Guenther, Michael Stoll

 -- Martin Günther <martin.guenther@dfki.de>  Wed, 07 Sep 2016 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.1.0-3resolute) resolute; urgency=high



 -- Martin Günther <martin.guenther@dfki.de>  Mon, 25 Apr 2016 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.11-3resolute) resolute; urgency=high

  * Jade: Change default: use_magnetic_field_msg = true
  * Contributors: Martin Guenther

 -- Martin Günther <martin.guenther@dfki.de>  Fri, 22 Apr 2016 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.10-3resolute) resolute; urgency=high



 -- Martin Günther <martin.guenther@dfki.de>  Fri, 22 Apr 2016 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.9-3resolute) resolute; urgency=high



 -- Martin Günther <martin.guenther@dfki.de>  Fri, 16 Oct 2015 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.8-3resolute) resolute; urgency=high



 -- Martin Günther <martin.guenther@dfki.de>  Wed, 07 Oct 2015 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.7-3resolute) resolute; urgency=high



 -- Martin Günther <martin.guenther@dfki.de>  Wed, 07 Oct 2015 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.6-3resolute) resolute; urgency=high

  * Split ImuFilter class into ImuFilter and ImuFilterRos in order to
    have a C++ API to the Madgwick algorithm
  * Properly install header files.
  * Contributors: Martin Günther, Michael Stoll

 -- Martin Günther <martin.guenther@dfki.de>  Tue, 06 Oct 2015 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.5-3resolute) resolute; urgency=high

  * Add "~use_magnetic_field_msg" param.
    This allows the user to subscribe to the /imu/mag topic as a
    sensor_msgs/MagneticField rather than a geometry_msgs/Vector3Stamped.
    The default for now is false, which preserves the legacy behaviour via a
    separate subscriber which converts Vector3Stamped to MagneticField and
    republishes.
  * Contributors: Mike Purvis, Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Wed, 24 Jun 2015 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.4-3resolute) resolute; urgency=high

  * update dynamic reconfigure param descriptions
  * only advertise debug topics if they are used
  * allow remapping of the whole imu namespace
    with this change, all topics can be remapped at once, like this:
    rosrun imu_filter_madgwick imu_filter_node imu:=my_imu
  * Contributors: Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Wed, 06 May 2015 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.3-3resolute) resolute; urgency=high

  * Add std dev parameter to orientation estimate covariance matrix
  * Port imu_filter_madgwick to tf2
  * Switch to smart pointer
  * Contributors: Paul Bovbel, Martin Günther

 -- Martin Günther <martin.guenther@dfki.de>  Thu, 29 Jan 2015 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.2-3resolute) resolute; urgency=high

  * fix tf publishing (switch parent + child frames)
    The orientation is between a fixed inertial frame (``fixed_frame_``) and
    the frame that the IMU is mounted in (``imu_frame_``). Also,
    ``imu_msg.header.frame`` should be ``imu_frame_``, but the corresponding TF
    goes from ``fixed_frame_`` to ``imu_frame_``. This commit fixes that; for
    the ``reverse_tf`` case, it was already correct.
    Also see http://answers.ros.org/question/50870/what-frame-is-sensor_msgsimuorientation-relative-to/.
    Note that tf publishing should be enabled for debug purposes only, since we can only
    provide the orientation, not the translation.
  * Add ~reverse_tf parameter for the robots which does not have IMU on root-link
  * Log mag bias on startup to assist with debugging.
  * add boost depends to CMakeLists
    All non-catkin things that we expose in our headers should be added to
    the DEPENDS, so that packages which depend on our package will also
    automatically link against it.
  * Contributors: Martin Günther, Mike Purvis, Ryohei Ueda

 -- Martin Günther <martin.guenther@dfki.de>  Tue, 27 Jan 2015 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.1-3resolute) resolute; urgency=high

  * add me as maintainer to package.xml
  * turn mag_bias into a dynamic reconfigure param
    Also rename mag_bias/x --> mag_bias_x etc., since dynamic reconfigure
    doesn't allow slashes.
  * gain and zeta already set via dynamic_reconfigure
    Reading the params explicitly is not necessary. Instead,
    dynamic_reconfigure will read them and set them as soon as we call
    config_server->setCallback().
  * reconfigure server: use proper namespace
    Before, the reconfigure server used the private namespace of the nodelet
    *manager* instead of the nodelet, so the params on the parameter server
    and the ones from dynamic_reconfigure were out of sync.
  * check for NaNs in magnetometer message
    Some magnetometer drivers (e.g. phidgets_drivers) output NaNs, which
    is a valid way of saying that this measurement is invalid. During
    initialization, we simply wait for the first valid message, assuming
    there will be one soon.
  * magnetometer msg check: isnan() -> !isfinite()
    This catches both inf and NaN. Not sure whether sending inf in a Vector3
    message is valid (Nan is), but this doesn't hurt and is just good
    defensive programming.
  * Initialize yaw from calibrated magnetometer data
    * Add magnetometer biases (mag_bias/x and mag_bias/y) for hard-iron compensation.
    * Initialize yaw orientation from magnetometer reading.
    * Add imu/rpy/raw and imu/rpy/filtered as debug topics. imu/rpy/raw can be used for computing magnetometer biases. imu/rpy/filtered topic is for user readability only.
  * Contributors: Martin Günther, Shokoofeh Pourmehr

 -- Martin Günther <martin.guenther@dfki.de>  Wed, 10 Dec 2014 00:00:00 -0000

ros-lyrical-imu-filter-madgwick (1.0.0-3resolute) resolute; urgency=high

  * First public release
  * Remove setting imu message frame to fixed/odom
  * CMakeLists: remove unnecessary link_directories, LIBRARY_OUTPUT_PATH
  * add missing build dependency on generated config
    This removes a racing condition from the build process.
  * install nodelet xml file
    Otherwise the nodelet can't be found
  * fix implementation of invSqrt()
    The old invSqrt() implementation causes the estimate to diverge under
    constant input. The problem was the line long i = (long)&y;, where 64
    bits are read from a 32 bit number. Thanks to @tomas-c for spotting this
    and pointing out the solution.
  * catkinization of imu_tools metapackage
  * fix typo: zeta -> ``zeta_``
  * fix initialization of initial rotation
  * gyro drift correction function added in MARG implementation
  * set "zeta" as a parameter for dynamic reconfigure in the .cfg file
  * add new test bag: phidgets_imu_upside_down
  * add parameter publish_tf
    When the imu is used together with other packages, such as
    robot_pose_ekf, publishing the transform often interferes with those
    packages. This parameter allows to disable tf publishing.
  * add some sample imu data
  * more informative constant_dt message. Reverts to 0.0 on illegal param value
  * imu_filter_madgwick manifest now correctly lists the package as GPL license.
  * orientation is initialized from acceleration vector on first message received
  * added dynamic reconfigure for gain parameter. Added better messages about constant_dt param at startup
  * the tf published is now timestamped as the imu msg, and not as now(). Also added constant dt option for the imu+mag callback
  * fix the transform publish -- from the fixed frame to the frame of the imu
  * add a tf broadcaster with the orientation
  * as per PaulKemppi: added option to set constant dt
  * walchko: Needed to add namespace: std::isnan() and needed to add rosbuild_link_boost(imu_filter signals) to CMakeLists.txt
  * added sebastian's name and link to the manifest
  * renamed imu_filter to imu_filter_madgwick
  * Contributors: Ivan Dryanovski, Martin Günther, Mike Purvis, Sameer Parekh, TUG-DESTOP, Francisco Vina, Michael Görner, Paul Kemppi, Tomas Cerskus, Kevin Walchko

 -- Martin Günther <martin.guenther@dfki.de>  Wed, 03 Sep 2014 00:00:00 -0000


