ros-jazzy-fuse-core (1.1.1-1bookworm) bookworm; urgency=high

  * 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-jazzy-fuse-core (1.1.0-1bookworm) bookworm; 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-jazzy-fuse-core (1.0.1-1bookworm) bookworm; urgency=high



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

ros-jazzy-fuse-core (1.0.0-1bookworm) bookworm; 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>
  * Use getParameterName and namespace parameters for publishers (#314 <https://github.com/locusrobotics/fuse/issues/314>)
  * Fix SerializedPublisher not being able to read it's parameters (#311 <https://github.com/locusrobotics/fuse/issues/311>)
  * 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_tutorials: Port fuse_tutorials (#309 <https://github.com/locusrobotics/fuse/issues/309>)
    Co-authored-by: Shane Loretz <mailto:shane.loretz@gmail.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_models: Port fuse_models (#304 <https://github.com/locusrobotics/fuse/issues/304>)
    * Port messages
    * Port fuse_models
    * Fix alloc error and some bugs
    * Wait on result
  * fuse -> ROS 2 fuse_publishers : Linting (#305 <https://github.com/locusrobotics/fuse/issues/305>)
  * fuse -> ROS 2 fuse_publishers: Port fuse_publishers (#299 <https://github.com/locusrobotics/fuse/issues/299>)
    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 : Port fuse_graphs (#289 <https://github.com/locusrobotics/fuse/issues/289>)
  * 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_variables: Port fuse_variables (#288 <https://github.com/locusrobotics/fuse/issues/288>)
  * fuse -> ROS 2 fuse_core : Messages and Services (#285 <https://github.com/locusrobotics/fuse/issues/285>)
  * fuse -> ROS 2 fuse_core: Fix Async (Redux) (#294 <https://github.com/locusrobotics/fuse/issues/294>)
    Co-authored-by: methylDragon <mailto:methylDragon@gmail.com>
  * fuse -> ROS 2 fuse_loss: Port fuse_loss (#287 <https://github.com/locusrobotics/fuse/issues/287>)
  * 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
  * [RST-4390] Allow variables to be held constant during optimization (#243 <https://github.com/locusrobotics/fuse/issues/243>)
    * Add support for holding variables constant
    * Create a 'fixed' landmark
    * Added initial support for marginalizing constant variables
  * [RST-4455] Fix C++17 compile issue and simplify matrix serialization at the same time (#244 <https://github.com/locusrobotics/fuse/issues/244>)
  * Adding doxygen to all packages (#241 <https://github.com/locusrobotics/fuse/issues/241>)
  * Add unstamped 3D point variable (#233 <https://github.com/locusrobotics/fuse/issues/233>) (#239 <https://github.com/locusrobotics/fuse/issues/239>)
    * Add unstamped 3D landmark variable
    * Add landmark test and new uuid generator
    Co-authored-by: Stephen Williams <mailto:swilliams@locusrobotics.com>
    Co-authored-by: Jake McLaughlin <mailto:jake.mclaughlin98@gmail.com>
  * [RST-3474] Created a getConstraintCosts() method
    * Created a getConstraintCosts() method for reporting the costs and residuals of individual constraints
  * [RST-2831] Support for optimization bounds (#235 <https://github.com/locusrobotics/fuse/issues/235>)
  * Added a time-limited optimization option to the Graph class (#234 <https://github.com/locusrobotics/fuse/issues/234>)
  * Contributors: Shane Loretz, Stephen Williams, Tom Moore, methylDragon

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

ros-jazzy-fuse-core (0.4.2-1bookworm) bookworm; 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-jazzy-fuse-core (0.4.1-1bookworm) bookworm; urgency=high

  * 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
  * Use std::enable_if_t (#187 <https://github.com/locusrobotics/fuse/issues/187>)
  * 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.
  * Remove variables on hold (#185 <https://github.com/locusrobotics/fuse/issues/185>)
    * Test variables on hold are removed when removing a variable
    * Erase variable on hold when removing variable
  * 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
  * Call onStop() directly if !ros::ok() in stop() (#182 <https://github.com/locusrobotics/fuse/issues/182>)
    * Call onStop() directly if !ros::ok() in stop()
    * Stop spinner before calling onStop()
  * Only call generator if motion model history empty (#181 <https://github.com/locusrobotics/fuse/issues/181>)
    * Only call generator if motion model history empty
    * Handle dt == 0 special case in motion model
    * Revert test_timestamp_manager.cpp #154 <https://github.com/locusrobotics/fuse/issues/154>
    * Add EmptySingleStamp test
  * Fix doxygen comment (#177 <https://github.com/locusrobotics/fuse/issues/177>)
  * Delay throttle no valid state message (#175 <https://github.com/locusrobotics/fuse/issues/175>)
    This requires rosconsole >=1.13.8.
  * 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
  * Throttle (#162 <https://github.com/locusrobotics/fuse/issues/162>)
    * Support throttling sensor model inputs
    * Add ThrottledCallback rostest
  * Use a static Boost random UUID generator (#171 <https://github.com/locusrobotics/fuse/issues/171>)
  * Fix motion model history (#168 <https://github.com/locusrobotics/fuse/issues/168>)
    * Fix the motion model history to maintain *at least* the requested time interval
    * Apply a similar fix to the MessageBuffer class
  * 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.
  * Fix thread issue with UUID generation (#167 <https://github.com/locusrobotics/fuse/issues/167>)
    * Add a mutex lock to the random UUID generation. The STL random number generator is not thread-safe.
  * Patch Tukey loss for Ceres < 2.0.0 (#159 <https://github.com/locusrobotics/fuse/issues/159>)
    * Patch Tukey loss for Ceres < 2.0.0
    * Create ceres_macros.h header
  * 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
  * Add evaluate method to graph (#151 <https://github.com/locusrobotics/fuse/issues/151>)
  * Support ScaledLoss (#141 <https://github.com/locusrobotics/fuse/issues/141>)
  * Const deserialize (#148 <https://github.com/locusrobotics/fuse/issues/148>)
    * Make TransactionDeserializer::deserialize const
    * Make GraphDeserializer::deserialize const
    This requires the graph_loader_ to be mutable.
  * Cleanup validation checks (#139 <https://github.com/locusrobotics/fuse/issues/139>)
    * Add getCovarianceDiagonalParam helper
    This allows to load a covariance matrix from the parameter server,
    provided in a list with the diagonal values.
    * Add isSymmetric and isPositiveDefinite helper functions
  * Better validation of partial measurement output (#131 <https://github.com/locusrobotics/fuse/issues/131>)
    * Relax the default precision when validating the covariance matrix is
    symmetric.
    * Print the covariance matrix with Eigen::FullPrecision when the
    symmetry test fails with isApprox, so we can see the magnitude of
    the error.
    * Show source if validation fails
    * Changes from throwing/crashing to ROS_ERROR.
    * Add eigenvalues to non-PSD error check
    * Add disable_checks param to sensor models
  * Add fuse_loss pkg with plugin-based loss functions (#118 <https://github.com/locusrobotics/fuse/issues/118>)
  * Validate partial measurements (#125 <https://github.com/locusrobotics/fuse/issues/125>)
  * 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
  * Revert "Fix build with ceres 2.0 with CMake < 3.8 (#106 <https://github.com/locusrobotics/fuse/issues/106>)" (#120 <https://github.com/locusrobotics/fuse/issues/120>)
    This reverts commit 9933456ecc24ba9b649a8a2885be3f852306efee.
  * Predict jacobians per parameter block (#115 <https://github.com/locusrobotics/fuse/issues/115>)
  * fix compilation in Kinetic (#112 <https://github.com/locusrobotics/fuse/issues/112>)
  * Support ceres 2.0 in tests (#117 <https://github.com/locusrobotics/fuse/issues/117>)
    In Ceres 2.0 we should call AutoDifferentiate<...>(...) instead of
    AutoDiff<...>::Differentiate(...).
  * Fix build with ceres 2.0 with CMake < 3.8 (#106 <https://github.com/locusrobotics/fuse/issues/106>)
    * Note that while the Ceres 2.0 build completes, there may still be some lingering issues.
  * [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
  * [RST-1951] speed optimizations (#100 <https://github.com/locusrobotics/fuse/issues/100>)
    * Improved random UUID generator
    * Minor Eigen assignment speed improvements
  * [RST-2437] Ensure that all variables are updated by the motion model (#103 <https://github.com/locusrobotics/fuse/issues/103>)
  * 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-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>)
  * Stamp merged transaction (#79 <https://github.com/locusrobotics/fuse/issues/79>)
    Set stamp in merged transactions
    Otherwise, merged transactions don't have a stamp.
    The stamp used is the maximum stamp of the two transactions merged.
  * [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-jazzy-fuse-core (0.4.0-1bookworm) bookworm; urgency=high

  * Comment unused parameters (#76 <https://github.com/locusrobotics/fuse/issues/76>)
    Otherwise the compilation fails with: -Werror=unused-parameter
    This happens with these flags: -Wall -Wextra
  * Add print method to Graph and HashGraph (#70 <https://github.com/locusrobotics/fuse/issues/70>)
  * Depend on libceres-dev instead of ceres-solver (#71 <https://github.com/locusrobotics/fuse/issues/71>)
  * Return variable UUID by const reference (#69 <https://github.com/locusrobotics/fuse/issues/69>)
  * Added a default implementation for the type() method (#67 <https://github.com/locusrobotics/fuse/issues/67>)
  * [RST-2144] Support proper Eigen memory alignment (#65 <https://github.com/locusrobotics/fuse/issues/65>)
  * [RST-2128] Added a "reset" service to the fixed lag smoother (#61 <https://github.com/locusrobotics/fuse/issues/61>)
  * Modified Variable class to make the UUID immutable (#55 <https://github.com/locusrobotics/fuse/issues/55>)
  * [RST-1960] Added a tangent/parameter space flag to the covariance function (#50 <https://github.com/locusrobotics/fuse/issues/50>)
  * Some minor header cleanup of fuse_core (#51 <https://github.com/locusrobotics/fuse/issues/51>)
  * [RST-1949] Added getConnectedVariables() and getConnectedConstraints() (#45 <https://github.com/locusrobotics/fuse/issues/45>)
  * [RST-1746] Remove the marginalizeVariable() methods from the Graph class. (#44 <https://github.com/locusrobotics/fuse/issues/44>)
  * [RST-1744] Added a marginal constraint class (#43 <https://github.com/locusrobotics/fuse/issues/43>)
  * [RST-1940] Added a localSize() method to the Variable class (#42 <https://github.com/locusrobotics/fuse/issues/42>)
  * [RST-1927] Update the local parameterization for the orientation variables (#41 <https://github.com/locusrobotics/fuse/issues/41>)
  * [RST-1926] Extend the local parameter definition to include Minus() (#40 <https://github.com/locusrobotics/fuse/issues/40>)
  * Contributors: Enrique Fernandez Perdomo, Enrique Fernández Perdomo, Stephen Williams

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

ros-jazzy-fuse-core (0.3.0-1bookworm) bookworm; 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-jazzy-fuse-core (0.2.0-1bookworm) bookworm; urgency=high

  * Fix tests for bionic (#34 <https://github.com/locusrobotics/fuse/issues/34>)
  * [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: Gary Servin, Stephen Williams

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

ros-jazzy-fuse-core (0.1.1-1bookworm) bookworm; urgency=high



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

ros-jazzy-fuse-core (0.1.0-1bookworm) bookworm; urgency=high

  * [RST-1121] move optimizers (#25 <https://github.com/locusrobotics/fuse/issues/25>)
    * Added a clone() method to the Transaction object
    * Changed optimizer to unique ownership of the graph. This better captures the usage.
  * [RST-1121] Moved the pose publishers (#19 <https://github.com/locusrobotics/fuse/issues/19>)
    * Clean up Eigen depends and includes
  * [RST-1121] move publishers (#18 <https://github.com/locusrobotics/fuse/issues/18>)
  * [RST-1121] move motion models (#17 <https://github.com/locusrobotics/fuse/issues/17>)
  * [RST-1121] move sensor classes (#16 <https://github.com/locusrobotics/fuse/issues/16>)
  * [RST-1121] Moved the Graph classes (#15 <https://github.com/locusrobotics/fuse/issues/15>)
  * Adding absolute 3d pose
  * Converted all Eigen objects to use row-major order (#22 <https://github.com/locusrobotics/fuse/issues/22>)
  * Contributors: Stephen Williams, Tom Moore

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

ros-jazzy-fuse-core (0.0.2-1bookworm) bookworm; urgency=high

  * Added the Transaction class and unit tests (#2 <https://github.com/locusrobotics/fuse/issues/2>)
  * Added missing test depend (#3 <https://github.com/locusrobotics/fuse/issues/3>)
  * Contributors: Stephen Williams

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

ros-jazzy-fuse-core (0.0.1-1bookworm) bookworm; urgency=high

  * Moved the Variable and Constraint classed into the public fuse repo
  * Contributors: Stephen Williams

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


