No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.4.2
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/locusrobotics/fuse.git
VCS Type git
VCS Version devel
Last Updated 2021-10-16
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The fuse_optimizers package provides a set of optimizer implementations. An optimizer is the object responsible for coordinating the sensors and motion model inputs, computing the optimal state values, and providing access to to the optimal state via the publishers.

Additional Links

No additional links.

Maintainers

  • Stephen Williams

Authors

  • Stephen Williams
  • Tom Moore
README
No README found. See repository README.
CHANGELOG

Changelog for package fuse_optimizers

0.4.2 (2021-07-20)

  • Adding roslint dependency to fuse_viz (#231)
    • Adding roslint dependency to fuse_viz
    • Silence CMP0048 warnings
  • Contributors: Tom Moore

0.4.1 (2021-07-13)

  • Improve logs on graph update exception thrown (#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)

  • Target frame optional (#217)

    • Make target_frame optional
    • Remove optional target_frame parameters in tests
  • Transform message in differential mode (#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)

  • Add solver summary info to diagnostics (#208)

    • Add solver summary info to diagnostics
    • Abort if optimization failed
  • Support throttling serialized graph publisher (#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) * 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)

  • Fix roslint 0.12.0 (#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)

    • 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)

  • Replace ignition_sensors list param with ignition field (#163)

    • Remove ignition_sensors param and use a per-sensor ignition field
  • Get positive param API change (#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)

  • 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)

  • Added unit test to illustrate variable initialization bug (#158)

  • Fix Unicycle2DIgnition set_pose (#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) * 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)

  • Add fuse_loss pkg with plugin-based loss functions (#118)

  • Removed the explicit \'-std=c++14\' compile flag (#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)

  • Initialize diagnostic_updater_timer_period_ (#114)

  • Add diagnostic updater (#108)

  • [RST-2438] Make ceres params loaders reusable (#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)

  • [RST-2427] Added a \'source\' field to the constraints. This is an API-breaking change. (#101)

  • [RST-2432] Reworked the transaction queue to skip transactions on a per-sensor basis (#102)

  • [RST-2340] Add serialization support to fuse (#98)

  • Fix -Wall -Wextra warnings in tests (#80)

  • [RST-2148] Added start() and stop() methods to the MotionModel, SensorModel, and Publisher API (#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)

  • Contributors: Davide Faconti, Enrique Fernandez Perdomo, Stephen Williams

0.4.0 (2019-07-12)

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fuse_optimizers at answers.ros.org

Package Summary

Tags No category tags.
Version 0.4.2
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/locusrobotics/fuse.git
VCS Type git
VCS Version devel
Last Updated 2021-10-16
Dev Status DEVELOPED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The fuse_optimizers package provides a set of optimizer implementations. An optimizer is the object responsible for coordinating the sensors and motion model inputs, computing the optimal state values, and providing access to to the optimal state via the publishers.

Additional Links

No additional links.

Maintainers

  • Stephen Williams

Authors

  • Stephen Williams
  • Tom Moore
README
No README found. See repository README.
CHANGELOG

Changelog for package fuse_optimizers

0.4.2 (2021-07-20)

  • Adding roslint dependency to fuse_viz (#231)
    • Adding roslint dependency to fuse_viz
    • Silence CMP0048 warnings
  • Contributors: Tom Moore

0.4.1 (2021-07-13)

  • Improve logs on graph update exception thrown (#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)

  • Target frame optional (#217)

    • Make target_frame optional
    • Remove optional target_frame parameters in tests
  • Transform message in differential mode (#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)

  • Add solver summary info to diagnostics (#208)

    • Add solver summary info to diagnostics
    • Abort if optimization failed
  • Support throttling serialized graph publisher (#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) * 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)

  • Fix roslint 0.12.0 (#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)

    • 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)

  • Replace ignition_sensors list param with ignition field (#163)

    • Remove ignition_sensors param and use a per-sensor ignition field
  • Get positive param API change (#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)

  • 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)

  • Added unit test to illustrate variable initialization bug (#158)

  • Fix Unicycle2DIgnition set_pose (#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) * 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)

  • Add fuse_loss pkg with plugin-based loss functions (#118)

  • Removed the explicit \'-std=c++14\' compile flag (#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)

  • Initialize diagnostic_updater_timer_period_ (#114)

  • Add diagnostic updater (#108)

  • [RST-2438] Make ceres params loaders reusable (#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)

  • [RST-2427] Added a \'source\' field to the constraints. This is an API-breaking change. (#101)

  • [RST-2432] Reworked the transaction queue to skip transactions on a per-sensor basis (#102)

  • [RST-2340] Add serialization support to fuse (#98)

  • Fix -Wall -Wextra warnings in tests (#80)

  • [RST-2148] Added start() and stop() methods to the MotionModel, SensorModel, and Publisher API (#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)

  • Contributors: Davide Faconti, Enrique Fernandez Perdomo, Stephen Williams

0.4.0 (2019-07-12)

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fuse_optimizers at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.4.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/locusrobotics/fuse.git
VCS Type git
VCS Version RST-3240-backport-kinetic
Last Updated 2021-09-20
Dev Status DEVELOPED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The fuse_optimizers package provides a set of optimizer implementations. An optimizer is the object responsible for coordinating the sensors and motion model inputs, computing the optimal state values, and providing access to to the optimal state via the publishers.

Additional Links

No additional links.

Maintainers

  • Stephen Williams

Authors

  • Stephen Williams
  • Tom Moore
README
No README found. See repository README.
CHANGELOG

Changelog for package fuse_optimizers

0.4.0 (2019-07-12)

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged fuse_optimizers at answers.ros.org