ros-rolling-fuse-optimizers (1.3.0-1noble) noble; urgency=high



 -- Stephen Williams <swilliams@locusrobotics.com>  Mon, 28 Jul 2025 00:00:00 -0000

ros-rolling-fuse-optimizers (1.2.4-1noble) noble; urgency=high

  * Add diag mapping to rolling (#412 <https://github.com/locusrobotics/fuse/issues/412>)
    * mapping function is added.
    * add unit test for the fixed lag smoother.
    * fix lint warning.
    * fix lint error.
    * lint error fix.
  * Contributors: needphpsql

 -- Stephen Williams <swilliams@locusrobotics.com>  Mon, 28 Jul 2025 00:00:00 -0000

ros-rolling-fuse-optimizers (1.2.3-1noble) noble; urgency=high



 -- Stephen Williams <swilliams@locusrobotics.com>  Sat, 24 May 2025 00:00:00 -0000

ros-rolling-fuse-optimizers (1.2.2-1noble) noble; urgency=high

  * 
    
      * Added dependencies in required CMakeLists.txt and package.xml files
      * Added ament_cmake_ros and gtest_vendor dependencies
      * Removed duplicate package depends, alphabetized lists
    See https://www.linkedin.com/posts/open-source-robotics-foundation_were-looking-for-half-a-dozen-new-open-activity-7317690134764605440-jm3h/
    Author: KB1110 <mailto:kartikbakshi10@gmail.com>
  * Fix build and linter warnings (#405 <https://github.com/locusrobotics/fuse/issues/405>)
  * Port graph printing on optimization failures from ROS1 to ROS2 (#332 <https://github.com/locusrobotics/fuse/issues/332>)
    Port the printing of the graph and transaction with an optimization failure occurs (#321 <https://github.com/locusrobotics/fuse/issues/321>) from ROS1 to ROS2
  * Port the 'add reset to batch optimizer' patch from ROS 1 to ROS 2 (#361 <https://github.com/locusrobotics/fuse/issues/361>)
  * Fix warning message (#389 <https://github.com/locusrobotics/fuse/issues/389>)
    * Fix timestamp format in warning messages
  * Prevent optimizer thread from calling notify on stopped publishers (#393 <https://github.com/locusrobotics/fuse/issues/393>)
    * Prevent optimizer thread from calling notify on stopped publishers
    * Fix tests
    * Fix uncrustify issue
  * Contributors: Carlos Mendes, KB1110, Patrick Roncagliolo, Stephen Williams

 -- Stephen Williams <swilliams@locusrobotics.com>  Sat, 26 Apr 2025 00:00:00 -0000

ros-rolling-fuse-optimizers (1.2.1-1noble) noble; urgency=high



 -- Stephen Williams <swilliams@locusrobotics.com>  Sat, 21 Sep 2024 00:00:00 -0000

ros-rolling-fuse-optimizers (1.2.0-1noble) noble; urgency=high



 -- Stephen Williams <swilliams@locusrobotics.com>  Thu, 02 May 2024 00:00:00 -0000

ros-rolling-fuse-optimizers (1.1.1-1noble) noble; urgency=high

  * Fix fuse optimizer unit test (#369 <https://github.com/locusrobotics/fuse/issues/369>)
    * Fix fuse optimizer unit test. The rclcpp::wait_for_message call was throwing an exception 'subscription already associated with a wait set'. Switched to a standard subscriber instead.
  * Required formatting changes for the lastest version of ROS 2 Rolling (#368 <https://github.com/locusrobotics/fuse/issues/368>)
  * Contributors: Stephen Williams

 -- Stephen Williams <swilliams@locusrobotics.com>  Thu, 02 May 2024 00:00:00 -0000

ros-rolling-fuse-optimizers (1.1.0-1noble) noble; urgency=high

  * Port support for Ceres 2.1.0 Manifold class into ROS 2 Rolling (#366 <https://github.com/locusrobotics/fuse/issues/366>)
    * Support gcc12 and ceres 2.1.0
    * Add support for the Manifold class when using Ceres Solver version 2.1.0 and above
    * General clean up for Ceres 2.2.0 support
    * Updated serialization support to be backwards compatible with previously serialized files
    * Formatting changes required for ROS 2 Rolling / Ubuntu Noble
  * Contributors: Stephen Williams

 -- Stephen Williams <swilliams@locusrobotics.com>  Sat, 20 Apr 2024 00:00:00 -0000

ros-rolling-fuse-optimizers (1.0.1-1noble) noble; urgency=high



 -- Stephen Williams <swilliams@locusrobotics.com>  Fri, 03 Mar 2023 00:00:00 -0000

ros-rolling-fuse-optimizers (1.0.0-1noble) noble; urgency=high

  * Use upstream rclcpp::node_interfaces::NodeInterfaces (#313 <https://github.com/locusrobotics/fuse/issues/313>)
    * Use upstream rclcpp::node_interfaces::NodeInterfaces
    * Dereference node arguments to NodeInterfaces
    ---------
    Co-authored-by: methylDragon <methylDragon@gmail.com>
  * fuse -> ROS 2 fuse_optimizers: Linting (#316 <https://github.com/locusrobotics/fuse/issues/316>)
    * Migrate includes
    * Create redirection headers
    * Uncrustify
    * Wrap comments
    * Nitpick
    * cpplint
    * Refinements
    ---------
  * Use rclcpp::Clock::wait_until_started (#303 <https://github.com/locusrobotics/fuse/issues/303>)
  * fuse -> ROS 2 : Doc Generation (#278 <https://github.com/locusrobotics/fuse/issues/278>)
    * Port doc generation and fix package.xml for linting
    * Fix small bugs in package.xml
    * Use default rosdoc2 settings
    * Use default rosdoc2 settings
    * Update fuse_doc for rosdoc2
    ---------
    Co-authored-by: Shane Loretz <mailto:sloretz@google.com>
  * fuse -> ROS 2 fuse_optimizers: Port fuse_optimizers (#307 <https://github.com/locusrobotics/fuse/issues/307>)
    Co-authored-by: Shane Loretz <mailto:sloretz@osrfoundation.org>
    Co-authored-by: Shane Loretz <mailto:shane.loretz@gmail.com>
  * fuse -> ROS 2 fuse_constraints : Linting (#298 <https://github.com/locusrobotics/fuse/issues/298>)
  * fuse -> ROS 2 fuse_graphs: Linting (#297 <https://github.com/locusrobotics/fuse/issues/297>)
  * fuse -> ROS 2 fuse_variables: Linting (#296 <https://github.com/locusrobotics/fuse/issues/296>)
    * Migrate to .hpp files
    * Create redirection headers
    * Make xmllint and uncrustify happy
    * Wrap most comment lines
    * Satisfy cpplint
  * fuse -> ROS 2 fuse_core: Linting (#292 <https://github.com/locusrobotics/fuse/issues/292>)
  * fuse -> ROS 2 fuse_core : Parameters and Tests (#286 <https://github.com/locusrobotics/fuse/issues/286>)
    Co-authored-by: Shane Loretz <mailto:sloretz@osrfoundation.org>
    Co-authored-by: Ivor Wanders <mailto:ivor@iwanders.net>
  * fuse -> ROS 2 fuse_core : Nodes and Waitables (#284 <https://github.com/locusrobotics/fuse/issues/284>)
    Co-authored-by: Brett Downing <mailto:brett@hacodyne.com>
    Co-authored-by: Shane Loretz <mailto:sloretz@osrfoundation.org>
  * fuse -> ROS 2 : Port Time (#283 <https://github.com/locusrobotics/fuse/issues/283>)
  * fuse -> ROS 2 : Port Logging (#279 <https://github.com/locusrobotics/fuse/issues/279>)
    Co-authored-by: Tom Moore <mailto:tmoore@locusrobotics.com>
  * Fuse -> ROS 2 fuse_core: Partial port of fuse_core (#281 <https://github.com/locusrobotics/fuse/issues/281>)
    Co-authored-by: Brett Downing
  * fuse -> ROS 2: Clean up macro usage warnings (#280 <https://github.com/locusrobotics/fuse/issues/280>)
  * fuse -> ROS 2 fuse_msgs : Port package and ignore unported packages for now (#277 <https://github.com/locusrobotics/fuse/issues/277>)
    Co-authored-by: Tom Moore <mailto:tmoore@locusrobotics.com>
  * [RST-4186] Fix fuse macro names (#263 <https://github.com/locusrobotics/fuse/issues/263>)
    * Namespace all macros with the FUSE_ prefix. Mark original macros as deprecated.
    * Update all fuse objects to use the new macro names
  * Adding doxygen to all packages (#241 <https://github.com/locusrobotics/fuse/issues/241>)
  * [RST-3240] Fix how the variables to be marginalized are selected.
  * [RST-3451] Cleaned up condition variable usage
  * Contributors: Shane Loretz, Stephen Williams, Tom Moore, methylDragon

 -- Stephen Williams <swilliams@locusrobotics.com>  Fri, 03 Mar 2023 00:00:00 -0000

ros-rolling-fuse-optimizers (0.4.2-1noble) noble; urgency=high

  * Adding roslint dependency to fuse_viz (#231 <https://github.com/locusrobotics/fuse/issues/231>)
    * Adding roslint dependency to fuse_viz
    * Silence CMP0048 warnings
  * Contributors: Tom Moore

 -- Stephen Williams <swilliams@locusrobotics.com>  Tue, 20 Jul 2021 00:00:00 -0000

ros-rolling-fuse-optimizers (0.4.1-1noble) noble; urgency=high

  * Improve logs on graph update exception thrown (#227 <https://github.com/locusrobotics/fuse/issues/227>)
    * Catch graph update exceptions and log fatal msg
    When the graph update method throws an exception the node crashes and
    there is no way to know what transaction caused the exception because we
    call notify after successfully updating the graph.
    This catches any exception thrown by the graph update method and logs a
    FATAL message that includes the current graph and the new transaction.
    * Add full stop to exception messages
    This homogenizes the exception messages from all exceptions thrown by
    the HashGraph class.
  * Fix diagnostics typo (#218 <https://github.com/locusrobotics/fuse/issues/218>)
  * Target frame optional (#217 <https://github.com/locusrobotics/fuse/issues/217>)
    * Make target_frame optional
    * Remove optional target_frame parameters in tests
  * Transform message in differential mode (#216 <https://github.com/locusrobotics/fuse/issues/216>)
    * Transform message in differential mode
    This is important because the relative transformation is not the same if
    the sensor and target frame are different.
    Consider for example the case of an IMU sensor upside down:
    * The robot base frame is base_link
    * The IMU sensor frame is imu_link
    * The imu_link transformation wrt base_link is 180 degrees wrt the y or
    x axis
    * The angular velocity around the z axis has opposite sign in the
    sensor frame wrt the target frame
    * Require pose_target_frame in differential mode
    * Roslint
    * Add pose_target_frame to optimizer test config
  * Check empty transaction with empty() method (#210 <https://github.com/locusrobotics/fuse/issues/210>)
  * Add solver summary info to diagnostics (#208 <https://github.com/locusrobotics/fuse/issues/208>)
    * Add solver summary info to diagnostics
    * Abort if optimization failed
  * Support throttling serialized graph publisher (#204 <https://github.com/locusrobotics/fuse/issues/204>)
    * Change sensor proc from gtest to gmock target
    * Move ThrottledCallback to fuse_core
    * Support generic callbacks in ThrottledCallback
    * Throttle graph publishing
    * Overload getPositiveParam for ros::Duration
    * Use getPositiveParam for ros::Duration parameters
  * Fix optimizer test config (#202 <https://github.com/locusrobotics/fuse/issues/202>)
    * Add dimensions to the sensor models, so we do not get these warnings:
    ``` bash
    [ WARN] [/Optimizer] [1604556511.895230377]: No dimensions were specified. Data from topic /imu will be ignored.
    [ WARN] [/Optimizer] [1604556511.899319309]: No dimensions were specified. Data from topic /pose will be ignored.
    [ WARN] [/Optimizer] [1604556511.905227451]: No dimensions were specified. Data from topic /odom will be ignored.
    ```
    * Add twist_target_frame to imu sensor model, so we do not get this
    error:
    ``` bash
    [FATAL] [/Optimizer] [1604557006.977288017]: Could not find required parameter twist_target_frame in namespace /Optimizer/imu
    ```
  * Purge transactions older than ignition max stamp (#183 <https://github.com/locusrobotics/fuse/issues/183>)
  * Fix roslint 0.12.0 (#186 <https://github.com/locusrobotics/fuse/issues/186>)
    * Fix roslint 0.12.0 include_what_you_use warnings
    Mostly for:
    * std::move -> #include <utility>
    * std::make_shared and similar -> #include <memory>
    * Remove static string variable not permitted by roslint 0.12.0, using a test fixture where needed.
  * Filter out transactions older than the lag window (#173 <https://github.com/locusrobotics/fuse/issues/173>)
    * Filter out transactions older than the lag window
    * Fix expiration time computation
    * Reset the lag expiration time when the smoother is reset
    * Reorganize class variables by their mutex guard
    * Add a mutex guard for start_time_; use start_time_ as a min time in the lag expiation computation
    * Add minStamp() and maxStamp() accessors to the Transaction class
    * Use the minStamp() and maxStamp() accessors to filter and purge transactions correctly
  * The started/ignited variables are accessed from multiple threads. (#172 <https://github.com/locusrobotics/fuse/issues/172>)
  * Replace ignition_sensors list param with ignition field (#163 <https://github.com/locusrobotics/fuse/issues/163>)
    * Remove ignition_sensors param and use a per-sensor ignition field
  * Get positive param API change (#169 <https://github.com/locusrobotics/fuse/issues/169>)
    * Change getPositiveParam API
    In order to match the getParam and getRequiredParam, so the value is
    not returned, but set in an in/out argument.
    * Move getPositiveParam and other param related functions to
    parameter.h from util.h, and updated the ros/unit tests accordingly.
    * Fix wrapAngle2D expected range to [-Pi, +Pi)
    Instead of (-Pi, +Pi], and update unit test to reflect that.
  * Add missed fuse_models dependencies (#164 <https://github.com/locusrobotics/fuse/issues/164>)
  * From a usage standpoint, the 'element' variable is getting modified and should not be const. The const was not causing compilation issues before because of some pointer indirection. (#160 <https://github.com/locusrobotics/fuse/issues/160>)
  * Added unit test to illustrate variable initialization bug (#158 <https://github.com/locusrobotics/fuse/issues/158>)
  * Fix Unicycle2DIgnition set_pose (#154 <https://github.com/locusrobotics/fuse/issues/154>)
    * Initialize StateHistoryElement::velocity_yaw
    * Process ignition transactions individually
    * Call motion model generator with last stamp
    * Skip optimization cycle if transaction is empty
  * Support YAML struct for models and publishers (#149 <https://github.com/locusrobotics/fuse/issues/149>)
    * Support YAML struct for models and publishers
    This allows to compound multiple YAML files that provide additional
    models or publishers. This cannot be done with a list/array, because the
    previous values get overwritten/lost.
  * Throttle optimization duration exceeded warning (#140 <https://github.com/locusrobotics/fuse/issues/140>)
  * Add fuse_loss pkg with plugin-based loss functions (#118 <https://github.com/locusrobotics/fuse/issues/118>)
  * Removed the explicit '-std=c++14' compile flag (#119 <https://github.com/locusrobotics/fuse/issues/119>)
    * Removed the explicit '-std=c++14' compile flag
    * Changed the CXX_STANDARD setting to be per-target instead of global
    * Added the CXX_STANDARD_REQUIRED setting to all targets
  * fix compilation in Kinetic (#112 <https://github.com/locusrobotics/fuse/issues/112>)
  * Initialize diagnostic_updater_timer_period_ (#114 <https://github.com/locusrobotics/fuse/issues/114>)
  * Add diagnostic updater (#108 <https://github.com/locusrobotics/fuse/issues/108>)
  * [RST-2438] Make ceres params loaders reusable (#104 <https://github.com/locusrobotics/fuse/issues/104>)
    * Moved the Ceres loadFromROS functions into reusable functions in fuse_core
    * Load solver parameters for the batch optimizer
  * Expose Ceres Solver, Problem and Covariance Options as ROS parameters (#78 <https://github.com/locusrobotics/fuse/issues/78>)
  * [RST-2427] Added a 'source' field to the constraints. This is an API-breaking change. (#101 <https://github.com/locusrobotics/fuse/issues/101>)
  * [RST-2432] Reworked the transaction queue to skip transactions on a per-sensor basis (#102 <https://github.com/locusrobotics/fuse/issues/102>)
  * [RST-2340] Add serialization support to fuse (#98 <https://github.com/locusrobotics/fuse/issues/98>)
  * Fix -Wall -Wextra warnings in tests (#80 <https://github.com/locusrobotics/fuse/issues/80>)
  * [RST-2148] Added start() and stop() methods to the MotionModel, SensorModel, and Publisher API (#75 <https://github.com/locusrobotics/fuse/issues/75>)
    * Added start() and stop() methods to the MotionModel, SensorModel, and Publisher API
    * Added the ability to clear the callback queue of the optimizer
    * Refactor the fixed-lag reset callback to use the plugins' stop() and start() methods
  * Fix -Wall -Wextra warnings (#77 <https://github.com/locusrobotics/fuse/issues/77>)
  * Contributors: Davide Faconti, Enrique Fernandez Perdomo, Stephen Williams

 -- Stephen Williams <swilliams@locusrobotics.com>  Tue, 13 Jul 2021 00:00:00 -0000

ros-rolling-fuse-optimizers (0.4.0-1noble) noble; urgency=high

  * Wait for a valid timestamp before loading the plugins. This prevents the ignition sensor from generating an initial state with the wrong stamp. (#74 <https://github.com/locusrobotics/fuse/issues/74>)
  * Default private ~reset service name (#72 <https://github.com/locusrobotics/fuse/issues/72>)
  * [RST-2186] Added a FixedLagSmootherParams struct (#68 <https://github.com/locusrobotics/fuse/issues/68>)
  * [RST-2185] Fix "fixed-lag crash on reset" bug (#66 <https://github.com/locusrobotics/fuse/issues/66>)
  * [RST-2144] Support proper Eigen memory alignment (#65 <https://github.com/locusrobotics/fuse/issues/65>)
  * [RST-2158] Fix thread locking issue that was causing underconstained solver errors (#63 <https://github.com/locusrobotics/fuse/issues/63>)
  * [RST-2128] Added a "reset" service to the fixed lag smoother (#61 <https://github.com/locusrobotics/fuse/issues/61>)
  * [RST-1747] fixed lag smoother implementation (#52 <https://github.com/locusrobotics/fuse/issues/52>)
  * Contributors: Enrique Fernández Perdomo, Stephen Williams

 -- Stephen Williams <swilliams@locusrobotics.com>  Fri, 12 Jul 2019 00:00:00 -0000

ros-rolling-fuse-optimizers (0.3.0-1noble) noble; urgency=high

  * [RST-1653] transaction stamps (#37 <https://github.com/locusrobotics/fuse/issues/37>)
    * Moved the set<ros::Time> object that always accompanies a Transaction into the Transaction itself.
    * Updated all related classes to support that change
  * [RST-1477] Simplified the sensor<-->optimizer API (#35 <https://github.com/locusrobotics/fuse/issues/35>)
    * Simplified the sensor<-->optimizer API. Moved the implementation details of the optimizer transaction callback into the optimizer where it belongs.
  * Contributors: Stephen Williams

 -- Stephen Williams <swilliams@locusrobotics.com>  Mon, 18 Mar 2019 00:00:00 -0000

ros-rolling-fuse-optimizers (0.2.0-1noble) noble; urgency=high

  * [RST-1567] Check the system has started before attempting to optimize (#33 <https://github.com/locusrobotics/fuse/issues/33>)
    * Check the system has started before attempting to optimize.
    * Fixed linter issues
  * [RST-1554] test depends (#30 <https://github.com/locusrobotics/fuse/issues/30>)
    * Refactored all CMakeLists.txt to avoid path issues when using workspace overlays
  * Contributors: Stephen Williams

 -- Stephen Williams <swilliams@locusrobotics.com>  Wed, 16 Jan 2019 00:00:00 -0000

ros-rolling-fuse-optimizers (0.1.1-1noble) noble; urgency=high



 -- Stephen Williams <swilliams@locusrobotics.com>  Wed, 15 Aug 2018 00:00:00 -0000

ros-rolling-fuse-optimizers (0.1.0-1noble) noble; urgency=high

  * [RST-1121] move optimizers (#25 <https://github.com/locusrobotics/fuse/issues/25>)
    * Moved the Optimizer and BatchOptimizer classes into the public repo
    * Added fuse_optimizers to the metapackage depends
    * Changed optimizer to unique ownership of the graph. This better captures the usage.
  * Contributors: Stephen Williams

 -- Stephen Williams <swilliams@locusrobotics.com>  Sun, 12 Aug 2018 00:00:00 -0000

ros-rolling-fuse-optimizers (0.0.2-1noble) noble; urgency=high



 -- Stephen Williams <swilliams@locusrobotics.com>  Mon, 16 Jul 2018 00:00:00 -0000

ros-rolling-fuse-optimizers (0.0.1-1noble) noble; urgency=high



 -- Stephen Williams <swilliams@locusrobotics.com>  Thu, 05 Jul 2018 00:00:00 -0000


