robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 3.5.3 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | humble-devel |
Last Updated | 2024-09-10 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Tom Moore
- Steve Macenski
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
3.5.3 (2024-04-16)
3.5.2 (2023-12-20)
- fix header timestamp (#852) Co-authored-by: Luke Chang <<luke@boxfish.nz>>
- Wait for odometry message before setting manual datum so that the
base and world frame names can be set.
(#835)
- wait for odom msg before setting manual datum
- Utm using geographiclib humble branch
(#834)
- Add single test for navsat_conversions
- Add a southern point to the navsat_transform test
- LLtoUTM using GeographicLib
- Use GeographicLib for UTMtoLL conversions
- Linting
- Forgot include
- Fix compilation
- Calculate gamma because it's a function output and was supplied before
- Also test for gamma conversion
- Align naming and install
- Contributors: Luke Chang, Tim Clephas, Tom Greier
3.4.0 (2022-05-05)
- Fix angles dependency
(#747)
- Add angles to CMakeLists.txt
- Using angles library to normalize angles
(#739)
- Using angles library for innovation angle normalization
- Read predict_to_current_time from ROS parameters (#737) Co-authored-by: Zygfryd Wieszok <<zwieszok@autonomous-systems.pl>>
- Fixed state history reversion (#736) Co-authored-by: Zygfryd Wieszok <<zwieszok@autonomous-systems.pl>>
- Fixing code style divergence for ament_uncrustify in main ROS2 branch (#743)
- This fixes #732 (broadcast_cartesian_transform) (#733)
- Contributors: Anish, Marek Piechula, RoboTech Vision, Tony Najjar, Zygfryd Wieszok
3.3.1 (2022-02-25)
- Moving to C++17 support (#725)
-
SHARED linking for Geographiclib (#624) (#712) * remove GeographicLib specific linking option Co-authored-by: Achmad Fathoni <<fathoni.id@gmail.com>>
- Contributors: Stephan Sundermann, Tom Moore
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
mir_gazebo | |
clearpath_control |
Launch files
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 3.7.1 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | iron-devel |
Last Updated | 2024-09-10 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Tom Moore
- Steve Macenski
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
3.7.1 (2024-08-29)
- Fix mixing of UTM and catesian transforms with in use_local_catesian mode (#884)
- Spam the logs a little bit less (#879)
- Contributors: JayHerpin, Tim Clephas
3.7.0 (2024-04-16)
- TF Prefix Bug (#876)
- Update ukf.yaml to match ekf.yaml (#867) Add missing *_pose_use_child_frame parameter.
- Fix throttle duration
(#866)
- Fix throttle duration
- Migrate static tfs to ros2 format. (#864)
- Update issue templates
-
Feature/set utm service (#856) * Forward port Fix/set utm map frame change ---------
- fix: modify dual_ekf_navsat_example.launch file to remap the correct imu topic (#857)
- fix header timestamp (#852) Co-authored-by: Luke Chang <<luke@boxfish.nz>>
- Wait for odometry message before setting manual datum so that the
base and world frame names can be set.
(#836)
- wait for odom msg before setting manual datum
- Test navsat transform functionality (#838)
- Utm using geographiclib ros2 branch
(#833)
- Add single test for navsat_conversions
- Add a southern point to the navsat_transform test
- LLtoUTM using GeographicLib
- Use GeographicLib for UTMtoLL conversions
- Linting
- Forgot include
- Fix compilation
- Calculate gamma because it's a function output and was supplied before
- Also test for gamma conversion
- Align naming and install
- bugfix (#809): check if covariance values are specified or not (#810)
- Contributors: Daisuke Sato, Luke Chang, Mukunda Bharatheesha, Tim Clephas, Tom Greier, Tom Moore, joeldushouyu, rafal-gorecki, thandal
3.3.2 (2022-12-11)
- Port PR #753 and #728 to ROS2 version (#765)
- Adding support for setting diagonals for covariance matrices (#755)
- Fixing and cleaning up interface tests
(#754)
- Fixing and cleaning up interface tests
- Linting and header cleanup, part 1
(#752)
- Header cleanup and logging fixes
- UKF update
(#751)
- Pulling UKF changes from Noetic
- Adding a reset service to make tests more deterministic
- Fix angles dependency
(#747)
- Add angles to CMakeLists.txt
- Using angles library to normalize angles
(#739)
- Using angles library for innovation angle normalization
- Read predict_to_current_time from ROS parameters (#737) Co-authored-by: Zygfryd Wieszok <<zwieszok@autonomous-systems.pl>>
- Fixed state history reversion (#736) Co-authored-by: Zygfryd Wieszok <<zwieszok@autonomous-systems.pl>>
- Fixing code style divergence for ament_uncrustify in main ROS2 branch (#743)
- This fixes #732 (broadcast_cartesian_transform) (#733)
- Contributors: Anish, Haoguang Yang, Marek Piechula, RoboTech Vision, Tom Moore, Tony Najjar, Zygfryd Wieszok
3.3.1 (2022-02-25)
- Moving to C++17 support (#725)
-
SHARED linking for Geographiclib (#624) (#712) * remove GeographicLib specific linking option Co-authored-by: Achmad Fathoni <<fathoni.id@gmail.com>>
- Contributors: Stephan Sundermann, Tom Moore
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 3.8.1 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | jazzy-devel |
Last Updated | 2024-09-10 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Tom Moore
- Steve Macenski
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
3.8.1 (2024-08-29)
- Spam the logs a little bit less (#880)
- Fix mixing of UTM and catesian transforms with in
use_local_catesian mode
(#884)
- Resolve mixing of UTM and local transforms in local cartesian mode
- Contributors: JayHerpin, Tim Clephas
3.8.0 (2024-04-21)
- Fixing yaml linking in rolling (#878)
- Contributors: Chris Lalancette
3.6.1 (2024-04-16)
- TF Prefix Bug (#876)
- Update ukf.yaml to match ekf.yaml (#867) Add missing *_pose_use_child_frame parameter.
- Fix throttle duration (#866)
- Migrate static tfs to ros2 format. (#864)
- Update issue templates
- Feature/set utm service (#856)
- fix: modify dual_ekf_navsat_example.launch file to remap the correct imu topic (#857)
- fix header timestamp (#852) Co-authored-by: Luke Chang <<luke@boxfish.nz>>
- Wait for odometry message before setting manual datum so that the
base and world frame names can be set.
(#836)
- wait for odom msg before setting manual datum
- Test navsat transform functionality (#838)
- Utm using geographiclib ros2 branch
(#833)
- Add single test for navsat_conversions
- Add a southern point to the navsat_transform test
- LLtoUTM using GeographicLib
- Use GeographicLib for UTMtoLL conversions
- Linting
- Forgot include
- Fix compilation
- Calculate gamma because it's a function output and was supplied before
- Also test for gamma conversion
- Align naming and install
- bugfix (#809): check if covariance values are specified or not (#810)
- Contributors: Daisuke Sato, Luke Chang, Mukunda Bharatheesha, Tim Clephas, Tom Greier, Tom Moore, joeldushouyu, rafal-gorecki, thandal
3.3.2 (2022-12-11)
- Port PR #753 and #728 to ROS2 version (#765)
- Adding support for setting diagonals for covariance matrices (#755)
- Fixing and cleaning up interface tests
(#754)
- Fixing and cleaning up interface tests
- Linting and header cleanup, part 1
(#752)
- Header cleanup and logging fixes
- UKF update
(#751)
- Pulling UKF changes from Noetic
- Adding a reset service to make tests more deterministic
- Fix angles dependency
(#747)
- Add angles to CMakeLists.txt
- Using angles library to normalize angles
(#739)
- Using angles library for innovation angle normalization
- Read predict_to_current_time from ROS parameters (#737) Co-authored-by: Zygfryd Wieszok <<zwieszok@autonomous-systems.pl>>
- Fixed state history reversion (#736) Co-authored-by: Zygfryd Wieszok <<zwieszok@autonomous-systems.pl>>
- Fixing code style divergence for ament_uncrustify in main ROS2 branch (#743)
- This fixes #732 (broadcast_cartesian_transform) (#733)
- Contributors: Anish, Haoguang Yang, Marek Piechula, RoboTech Vision, Tom Moore, Tony Najjar, Zygfryd Wieszok
3.3.1 (2022-02-25)
- Moving to C++17 support (#725)
-
SHARED linking for Geographiclib (#624) (#712) * remove GeographicLib specific linking option Co-authored-by: Achmad Fathoni <<fathoni.id@gmail.com>>
- Contributors: Stephan Sundermann, Tom Moore
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 3.9.1 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | ros2 |
Last Updated | 2024-09-05 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Tom Moore
- Steve Macenski
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
3.9.1 (2024-08-29)
- Switch robot_localization to modern CMake idioms. (#895)
- Fix warnings when building against Rolling. (#896)
- Resolve mixing of UTM and local transforms in local cartesian mode (#886)
- Spam the logs a little bit less (#880)
- Contributors: Chris Lalancette, JayHerpin, Tim Clephas
3.9.0 (2024-04-24)
3.8.0 (2024-04-21)
- Fixing yaml linking in rolling (#878)
- Contributors: Chris Lalancette
3.6.1 (2024-04-16)
- TF Prefix Bug (#876)
- Update ukf.yaml to match ekf.yaml (#867) Add missing *_pose_use_child_frame parameter.
- Fix throttle duration (#866)
- Migrate static tfs to ros2 format. (#864)
- Update issue templates
- Feature/set utm service (#856)
- fix: modify dual_ekf_navsat_example.launch file to remap the correct imu topic (#857)
- fix header timestamp (#852) Co-authored-by: Luke Chang <<luke@boxfish.nz>>
- Wait for odometry message before setting manual datum so that the
base and world frame names can be set.
(#836)
- wait for odom msg before setting manual datum
- Test navsat transform functionality (#838)
- Utm using geographiclib ros2 branch
(#833)
- Add single test for navsat_conversions
- Add a southern point to the navsat_transform test
- LLtoUTM using GeographicLib
- Use GeographicLib for UTMtoLL conversions
- Linting
- Forgot include
- Fix compilation
- Calculate gamma because it's a function output and was supplied before
- Also test for gamma conversion
- Align naming and install
- bugfix (#809): check if covariance values are specified or not (#810)
- Contributors: Daisuke Sato, Luke Chang, Mukunda Bharatheesha, Tim Clephas, Tom Greier, Tom Moore, joeldushouyu, rafal-gorecki, thandal
3.3.2 (2022-12-11)
- Port PR #753 and #728 to ROS2 version (#765)
- Adding support for setting diagonals for covariance matrices (#755)
- Fixing and cleaning up interface tests
(#754)
- Fixing and cleaning up interface tests
- Linting and header cleanup, part 1
(#752)
- Header cleanup and logging fixes
- UKF update
(#751)
- Pulling UKF changes from Noetic
- Adding a reset service to make tests more deterministic
- Fix angles dependency
(#747)
- Add angles to CMakeLists.txt
- Using angles library to normalize angles
(#739)
- Using angles library for innovation angle normalization
- Read predict_to_current_time from ROS parameters (#737) Co-authored-by: Zygfryd Wieszok <<zwieszok@autonomous-systems.pl>>
- Fixed state history reversion (#736) Co-authored-by: Zygfryd Wieszok <<zwieszok@autonomous-systems.pl>>
- Fixing code style divergence for ament_uncrustify in main ROS2 branch (#743)
- This fixes #732 (broadcast_cartesian_transform) (#733)
- Contributors: Anish, Haoguang Yang, Marek Piechula, RoboTech Vision, Tom Moore, Tony Najjar, Zygfryd Wieszok
3.3.1 (2022-02-25)
- Moving to C++17 support (#725)
-
SHARED linking for Geographiclib (#624) (#712) * remove GeographicLib specific linking option Co-authored-by: Achmad Fathoni <<fathoni.id@gmail.com>>
- Contributors: Stephan Sundermann, Tom Moore
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
mir_gazebo | |
sm_husky_barrel_search_1 |
Launch files
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 2.7.7 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | noetic-devel |
Last Updated | 2024-08-29 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tom Moore
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://docs.ros.org/noetic/api/robot_localization/html/index.html
Changelog for package robot_localization
2.7.7 (2024-08-29)
- Remove the diagnostic warning about multiple pose sources (#888)
- Contributors: Stephen Williams
2.7.6 (2024-04-16)
- Updating issue templates
- Fixing angle clamping in Noetic (#855)
- Contributors: Tom Moore
2.7.5 (2023-12-12)
-
Fix/set utm map frame change (#830) * Fix utm service properly resetting transforms and fix test for this ---------Co-authored-by: Ferry Schoenmakers <<ferry.schoenmakers@nobleo.nl>>
- Add flag to invert published transform (#827)
- fix bracket missing bug ekf nodelet template noetic (#823)
- Noetic devel
(#775)
- fixed missing silent flag
- removed debug statement
- replace tabs with blanks
- Contributors: Carlos Mendes, ChenHehe, CyberNet, Ferry Schoenmakers
2.7.4 (2022-07-27)
- Fix odometry and acceleration processing pipeline (#753)
- Use default CXX, need to specify boost::placeholders::_1 instead of just _1 (#750)
- Fix odometry msgs with child frame other than baseLink (#728)
- update documentation (#723)
- Fix unused-parameter warning (#721)
- Fix tf lookup timestamp during map->odom publication (#719)
- UKF cleanup (#671)
- Added geographiclib to catkin exported depends (#709)
- Make the navsat tf frame name parametric (#699)
- Propagate the suppression of tf warnings (#705)
- Fix typo in base_link_frame_output name. (#701)
- Contributors: AR Dabbour, Carlos Agüero, Haoguang Yang, J.P.S, Joshua Owen, Leonardo Hemerly, Lucas Walter, Marcus Scheunemann, Stephen Williams, Tom Moore
2.7.3 (2021-07-23)
- Prevent node from crashing on invalid UTM zone, but throw ROS_ERROR to notify user (#682)
- changed geographiclib to <depend> tag (#684)
- Small formatting and content change (#677)
- Fixed state transition for sigma points. The state transition function for each sigma point now uses its sigma point's posteriori state instead of always the posteriori state. (#628) Co-authored-by: jola6897 <<jola6897@users.noreply.github.com>>
- Contributors: John Stechschulte, Jonas, MCFurry, Vivek Mhatre
2.7.2 (2021-06-03)
- Also test for gamma conversion (#647)
- fix: Transform gravitation vector to IMU frame before removing acceleration (#639)
- Fixed a typo in validate filter output error message. (#646)
- Stick to the global utm_zone_ when transforming gps to UTM
(#627)
- Stick to the global utm_zone_ when transforming gps to UTM
- UTM conversions using geographiclib
(#626)
- Use GeographicLib for UTMtoLL conversions
- SHARED linking for Geographiclib
(#624)
- remove GeographicLib specific linking option
- Fixing lat-long to UTM conversion (#620) Thanks again for the report. I'll get this into [noetic-devel]{.title-ref} and the relevant ROS2 branches.
- Removing xmlrpcpp dependency
- yaml-cpp using find_package as backup (#618)
- Add ${GeographicLib_LIBRARIES} to navsat_transform (#617)
- Contributors: Achmad Fathoni, Leonardo Hemerly, Paul Verhoeckx, Tim Clephas, Tobias Fischer, Tom Moore
2.7.0 (2020-12-17)
- Making repeated state publication optional (#595)
- Fix sign error in dFY_dP part of transferFunctionJacobian_ (#592)
- Fix typo in navsat_transform_node.rst (#588)
- Fix issue caused by starting on uneven terrain (#582)
- Local Cartesian Option (#575)
- Fix frame id of imu in differential mode, closes #482. (#522)
- navsat_transform diagram to address #550 (#570)
- Increasing the minimum CMake version (#573)
- Contributors: Aleksander Bojda, David Jensen, James Baxter, Jeffrey Kane Johnson, Mabel Zhang, Ronald Ensing, Tom Moore
2.6.8 (2020-06-03)
- Adding conditional build dependencies (#572)
- Contributors: Tom Moore
2.6.7 (2020-06-01)
- Parameterizing transform failure warnings
- [melodic] Fix Windows build break. (#557)
- Contributors: Sean Yen, Tom Moore, florianspy
2.6.5 (2019-08-08)
- fix: wall time used when [use_sim_time]{.title-ref} is true
- Created service for converting to / from lat long
- Fix bug with tf_prefix
- Adding new contribution to doc
- Add missing undocumented params
- Update wiki location
- Contributors: Andrew Grindstaff, Axel Mousset, Charles Brian Quinn, Oswin So, Tom Moore
2.6.4 (2019-02-15)
- Meridian convergence adjustment added to navsat_transform.
- Documentation changes
- Add broadcast_utm_transform_as_parent_frame
- Enable build optimisations if no build type configured.
- Contributors: G.A. vd. Hoorn, Pavlo Kolomiiets, diasdm
2.6.3 (2019-01-14)
- Rename odomBaseLinkTrans to baseLinkOdomTrans Adhere to the naming convention <fromFrame><toFrame>Trans used for worldBaseLinkTrans and mapOdomTrans.
- Add const& to catch values to prevent the error: catching polymorphic type ‘class tf2::TransformException’ by value And ZoneNumber by 0x3fU to prevent error: directive output may be truncated writing between 1 and 11 bytes into a region of size 4
- Enabling the user to override the output child_frame_id
- Fixing Euler body-to-world transformations
- Whitespace
- fixing no datum service in melodic
- Contributors: Alexis schad, Matthew Jones, Tom Moore, thallerod
2.6.2 (2018-10-25)
- Fixing tests
- Contributors: Tom Moore
2.6.1 (2018-10-25)
- Adding more output for measurement history failures
- Adding filter processing toggle service
- Waiting for valid ROS time before starting navsat_transform_node
- Contributors: Tom Moore, stevemacenski
2.6.0 (2018-07-27)
- Moving to C++14, adding error flags, and fixing all warnings
- Contributors: Tom Moore
2.5.2 (2018-04-11)
- Add published accel topic to documentation
- adding log statements for nans in the invertable matrix
- Fixing issue with potential seg fault
- Contributors: Oleg Kalachev, Tom Moore, stevemacenski
2.5.1 (2018-01-03)
- Fixing CMakeLists
- Contributors: Tom Moore
2.5.0 (2017-12-15)
- Fixing datum precision
- Fixing timing variable
- Fixing state history reversion
- Fixing critical bug with dynamic process noise covariance
- Fix typo in reading Mahalanobis thresholds.
- Zero out rotation in GPS to base_link transform
- Update xmlrpcpp includes for Indigo support
- Removing lastUpdateTime
- Fixing timestamps in map->odom transform
- Simplify enabledAtStartup logic
- Add std_srvs dependency
- Add enabling service
- Ensure all raw sensor input orientations are normalized even if messages are not
- Install params directory.
- Add robot localization estimator
- Adding nodelet support
- Contributors: Jacob Perron, Jacob Seibert, Jiri Hubacek, Mike Purvis, Miquel Massot, Pavlo Kolomiiets, Rein Appeldoorn, Rokus Ottervanger, Simon Gene Gottlieb, Tom Moore, stevemacenski
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ekf_template.launch
- launch/dual_ekf_navsat_example.launch
- This launch file provides an example of how to work with GPS data using robot_localization. It runs three nodes: (1) An EKF instance that fuses odometry and IMU data and outputs an odom-frame state estimate (2) A second EKF instance that fuses the same data, but also fuses the transformed GPS data from (3) (3) An instance of navsat_transform_node, which takes in GPS data and produces pose data that has been transformed into your robot's world frame (here, map). The node produces a map-frame state estimate. The first EKF instance produces the odom->base_link transform. The second EKF produces the map->odom transform, but requires the odom->base_link transform from the first instance in order to do so. See the params/dual_ekf_navsat_example.yaml file for parameter specification.
-
- launch/ukf_template.launch
- launch/ekf_nodelet_template.launch
- This launch file provides an example of how to use ekf as nodelet or as node in one launch file. By providing arguments like "use_nodelets this launch file will start a nodelet instead of a node. This is very usefull in experimental setup to allow easy switch between nodelets and node. Also it allows you to specify the manager the nodelet should run in.
-
- use_nodelets [default: $(optenv USE_NODELETS false)]
- nodelet_manager [default: $optenv robot_localization_NODELET_MANAGER robot_localization_nodelet_manager)]
- launch/navsat_transform_template.launch
- This node needs to know the values of three variables in order to function: (1) A world-referenced heading (yaw). The node assumes an ENU standard for heading, with 0 facing east, though it can support any heading. (2) Odometry data that gives the robot's current pose in its own world coordinate frame (typically map or odom) (3) A latitude/longitude/altitude. These three items allow us to compute a transform from the global frame to your robot's local frame. There are several means of providing them, though keep in mind that these modes are typically mutually exclusive. (1) World-referenced yaw can be provided by: (a) an IMU in a sensor_msgs/Imu message (topic is /imu/data/) (b) the heading in the nav_msgs/Odometry message in (2) below can be used. To enable this behavior, set the use_odometry_yaw parameter to true, and set the delay parameter to some small value (~3 seconds). Be careful, though: this heading must still be globally referenced, so if your state estimation node always starts with a 0 heading, you CAN NOT use this option. (c) the "datum" service. See the template parameter file (params/navsat_transform_template.yaml). (2) The odometry data, which needs to have a valid frame_id, can be provided by: (a) a nav_msgs/Odometry message from your robot_localization state estimation node. (b) the "datum" service (all odometry variables are assumed to be 0 in this case). See the template parameter file. (3) The latitude, longitude, and altitude can be provided by: (a) a sensor_msgs/NavSatFix message (b) the "datum" service. See the template parameter file. (4) Alternatively, at any time, the user can send a robot_localization/SetDatum service message to the "datum" service. This will manually set the latitude, longitude, altitude, and world-referenced heading, and will assume an odometry message containing all zeros. This will effectively set the origin at the specified lat/long, with the X-axis aligned with east. The user can set this datum via the "datum" service, or via the launch file. If the wait_for_datum parameter is set to true, then the node will attempt to use the datum parameter. If the parameter is not set, it will wait until it receives a service call. The output of this node is an odometry message that contains the GPS data transformed into the robot's world coordinate frame (i.e., the frame specified by input (2)'s frame_id), or the coordinate frame defined by the message sent to the "datum" service. Optionally, the node can also produce a NavSatFix message corresponding to the filtered odometry, transformed back into lat/long coordinates. The node can also optionally publish the transform from the UTM frame the the world frame.
-
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 3.0.3 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | dashing-devel |
Last Updated | 2021-03-18 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Tom Moore
- Steve Macenski
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 3.2.4 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | galactic-devel |
Last Updated | 2022-05-20 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Tom Moore
- Steve Macenski
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
mir_gazebo | |
sm_husky_barrel_search_1 |
Launch files
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 3.1.2 |
License | Apache License 2.0 |
Build type | AMENT_CMAKE |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | foxy-devel |
Last Updated | 2023-07-27 |
Dev Status | MAINTAINED |
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
Additional Links
Maintainers
- Tom Moore
- Steve Macenski
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
husky_control | |
jackal_control | |
mir_gazebo |
Launch files
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 2.5.6 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | lunar-devel |
Last Updated | 2019-02-15 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tom Moore
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
2.5.6 (2019-02-15)
- Documentation changes
- Add broadcast_utm_transform_as_parent_frame
- Enable build optimisations if no build type configured.
- Meridian convergence adjustment added to navsat_transform.
- Contributors: G.A. vd. Hoorn, Pavlo Kolomiiets, diasdm
2.5.5 (2019-01-14)
- Renaming odom to base link trans
- Fixing Euler body-to-world transformations
- Enabling the user to override the output child_frame_id
- Contributors: Tom Moore
2.4.5 (2018-10-25)
- Linting
- Contributors: Tom Moore
2.4.4 (2018-10-25)
- Adding more output for measurement history failures
- Adding filter processing toggle service
- Waiting for valid ROS time before starting navsat_transform_node
- Contributors: Tom Moore, stevemacenski
2.4.3 (2018-04-11)
- Add published accel topic to documentation
- Adding log statements for nans in the invertable matrix
- Fixing issue with potential seg fault
- Contributors: Oleg Kalachev, Tom Moore, stevemacenski
2.4.2 (2018-01-03)
- Fixing CMakeLists
- Contributors: Tom Moore
2.4.1 (2017-12-15)
- Fixing datum precision
- Fixing state history reversion
- Silencing unnecessary errors and warnings
- Fixing critical bug with dynamic process noise covariance
- Some trivial changes to lessen the differences to lunar
- Fix typo in reading Mahalanobis thresholds.
- Zero out rotation in GPS to base_link transform
- Update xmlrpcpp includes for Indigo support
- Removing lastUpdateTime
- Fixing timestamps in map->odom transform
- Simplify enabledAtStartup logic
- Add std_srvs dependency
- Add enabling service
- Ensure all raw sensor input orientations are normalized even if messages are not
- Install params directory
- Add robot localization estimator
- Contributors: Jacob Perron, Jacob Seibert, Jiri Hubacek, Mike Purvis, Miquel Massot, Pavlo Kolomiiets, Rein Appeldoorn, Rokus Ottervanger, Tom Moore, stevemacenski
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Name | Deps |
---|---|
mir_gazebo |
Launch files
- launch/ekf_template.launch
- launch/dual_ekf_navsat_example.launch
- This launch file provides an example of how to work with GPS data using robot_localization. It runs three nodes: (1) An EKF instance that fuses odometry and IMU data and outputs an odom-frame state estimate (2) A second EKF instance that fuses the same data, but also fuses the transformed GPS data from (3) (3) An instance of navsat_transform_node, which takes in GPS data and produces pose data that has been transformed into your robot's world frame (here, map). The node produces a map-frame state estimate. The first EKF instance produces the odom->base_link transform. The second EKF produces the map->odom transform, but requires the odom->base_link transform from the first instance in order to do so. See the params/dual_ekf_navsat_example.yaml file for parameter specification.
-
- launch/ukf_template.launch
- launch/ekf_nodelet_template.launch
- This launch file provides an example of how to use ekf as nodelet or as node in one launch file. By providing arguments like "use_nodelets this launch file will start a nodelet instead of a node. This is very usefull in experimental setup to allow easy switch between nodelets and node. Also it allows you to specify the manager the nodelet should run in.
-
- use_nodelets [default: ${optenv USE_NODELETS false)]
- nodelet_manager [default: $optenv robot_localization_NODELET_MANAGER robot_localization_nodelet_manager)]
- launch/navsat_transform_template.launch
- This node needs to know the values of three variables in order to function: (1) A world-referenced heading (yaw). The node assumes an ENU standard for heading, with 0 facing east, though it can support any heading. (2) Odometry data that gives the robot's current pose in its own world coordinate frame (typically map or odom) (3) A latitude/longitude/altitude. These three items allow us to compute a transform from the global frame to your robot's local frame. There are several means of providing them, though keep in mind that these modes are typically mutually exclusive. (1) World-referenced yaw can be provided by: (a) an IMU in a sensor_msgs/Imu message (topic is /imu/data/) (b) the heading in the nav_msgs/Odometry message in (2) below can be used. To enable this behavior, set the use_odometry_yaw parameter to true, and set the delay parameter to some small value (~3 seconds). Be careful, though: this heading must still be globally referenced, so if your state estimation node always starts with a 0 heading, you CAN NOT use this option. (c) the "datum" service. See the template parameter file (params/navsat_transform_template.yaml). (2) The odometry data, which needs to have a valid frame_id, can be provided by: (a) a nav_msgs/Odometry message from your robot_localization state estimation node. (b) the "datum" service (all odometry variables are assumed to be 0 in this case). See the template parameter file. (3) The latitude, longitude, and altitude can be provided by: (a) a sensor_msgs/NavSatFix message (b) the "datum" service. See the template parameter file. (4) Alternatively, at any time, the user can send a robot_localization/SetDatum service message to the "datum" service. This will manually set the latitude, longitude, altitude, and world-referenced heading, and will assume an odometry message containing all zeros. This will effectively set the origin at the specified lat/long, with the X-axis aligned with east. The user can set this datum via the "datum" service, or via the launch file. If the wait_for_datum parameter is set to true, then the node will attempt to use the datum parameter. If the parameter is not set, it will wait until it receives a service call. The output of this node is an odometry message that contains the GPS data transformed into the robot's world coordinate frame (i.e., the frame specified by input (2)'s frame_id), or the coordinate frame defined by the message sent to the "datum" service. Optionally, the node can also produce a NavSatFix message corresponding to the filtered odometry, transformed back into lat/long coordinates. The node can also optionally publish the transform from the UTM frame the the world frame.
-
Messages
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 2.3.1 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | jade-devel |
Last Updated | 2017-03-28 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tom Moore
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python-catkin-pkg |
eigen |
Dependant Packages
Name | Deps |
---|---|
geonav_transform | |
grizzly_navigation |
Launch files
- launch/ekf_template.launch
- launch/dual_ekf_navsat_example.launch
- This launch file provides an example of how to work with GPS data using robot_localization. It runs three nodes: (1) An EKF instance that fuses odometry and IMU data and outputs an odom-frame state estimate (2) A second EKF instance that fuses the same data, but also fuses the transformed GPS data from (3) (3) An instance of navsat_transform_node, which takes in GPS data and produces pose data that has been transformed into your robot's world frame (here, map). The node produces a map-frame state estimate. The first EKF instance produces the odom->base_link transform. The second EKF produces the map->odom transform, but requires the odom->base_link transform from the first instance in order to do so. See the params/dual_ekf_navsat_example.yaml file for parameter specification.
-
- launch/ukf_template.launch
- launch/navsat_transform_template.launch
- This node needs to know the values of three variables in order to function: (1) A world-referenced heading (yaw). The node assumes an ENU standard for heading, with 0 facing east, though it can support any heading. (2) Odometry data that gives the robot's current pose in its own world coordinate frame (typically map or odom) (3) A latitude/longitude/altitude. These three items allow us to compute a transform from the global frame to your robot's local frame. There are several means of providing them, though keep in mind that these modes are typically mutually exclusive. (1) World-referenced yaw can be provided by: (a) an IMU in a sensor_msgs/Imu message (topic is /imu/data/) (b) the heading in the nav_msgs/Odometry message in (2) below can be used. To enable this behavior, set the use_odometry_yaw parameter to true, and set the delay parameter to some small value (~3 seconds). Be careful, though: this heading must still be globally referenced, so if your state estimation node always starts with a 0 heading, you CAN NOT use this option. (c) the "datum" service. See the template parameter file (params/navsat_transform_template.yaml). (2) The odometry data, which needs to have a valid frame_id, can be provided by: (a) a nav_msgs/Odometry message from your robot_localization state estimation node. (b) the "datum" service (all odometry variables are assumed to be 0 in this case). See the template parameter file. (3) The latitude, longitude, and altitude can be provided by: (a) a sensor_msgs/NavSatFix message (b) the "datum" service. See the template parameter file. (4) Alternatively, at any time, the user can send a robot_localization/SetDatum service message to the "datum" service. This will manually set the latitude, longitude, altitude, and world-referenced heading, and will assume an odometry message containing all zeros. This will effectively set the origin at the specified lat/long, with the X-axis aligned with east. The user can set this datum via the "datum" service, or via the launch file. If the wait_for_datum parameter is set to true, then the node will attempt to use the datum parameter. If the parameter is not set, it will wait until it receives a service call. The output of this node is an odometry message that contains the GPS data transformed into the robot's world coordinate frame (i.e., the frame specified by input (2)'s frame_id), or the coordinate frame defined by the message sent to the "datum" service. Optionally, the node can also produce a NavSatFix message corresponding to the filtered odometry, transformed back into lat/long coordinates. The node can also optionally publish the transform from the UTM frame the the world frame.
-
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 2.3.4 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | indigo-devel |
Last Updated | 2018-12-19 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tom Moore
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
2.3.4 (2018-04-11)
- Fixing issue with potential seg fault
- Contributors: Tom Moore
2.3.3 (2017-12-15)
- Zero out rotation in GPS to base_link transform
- Fix typo in reading Mahalanobis thresholds.
- Fixing state history reversion
- Some trivial changes to lessen the differences to lunar
- Fixing critical bug with dynamic process noise covariance
- Fixing datum precision
- Contributors: Jacob Seibert, Pavlo Kolomiiets, Tom Moore
2.3.2 (2017-06-06)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Name |
---|
python-catkin-pkg |
eigen |
Launch files
- launch/ekf_template.launch
- launch/dual_ekf_navsat_example.launch
- This launch file provides an example of how to work with GPS data using robot_localization. It runs three nodes: (1) An EKF instance that fuses odometry and IMU data and outputs an odom-frame state estimate (2) A second EKF instance that fuses the same data, but also fuses the transformed GPS data from (3) (3) An instance of navsat_transform_node, which takes in GPS data and produces pose data that has been transformed into your robot's world frame (here, map). The node produces a map-frame state estimate. The first EKF instance produces the odom->base_link transform. The second EKF produces the map->odom transform, but requires the odom->base_link transform from the first instance in order to do so. See the params/dual_ekf_navsat_example.yaml file for parameter specification.
-
- launch/ukf_template.launch
- launch/navsat_transform_template.launch
- This node needs to know the values of three variables in order to function: (1) A world-referenced heading (yaw). The node assumes an ENU standard for heading, with 0 facing east, though it can support any heading. (2) Odometry data that gives the robot's current pose in its own world coordinate frame (typically map or odom) (3) A latitude/longitude/altitude. These three items allow us to compute a transform from the global frame to your robot's local frame. There are several means of providing them, though keep in mind that these modes are typically mutually exclusive. (1) World-referenced yaw can be provided by: (a) an IMU in a sensor_msgs/Imu message (topic is /imu/data/) (b) the heading in the nav_msgs/Odometry message in (2) below can be used. To enable this behavior, set the use_odometry_yaw parameter to true, and set the delay parameter to some small value (~3 seconds). Be careful, though: this heading must still be globally referenced, so if your state estimation node always starts with a 0 heading, you CAN NOT use this option. (c) the "datum" service. See the template parameter file (params/navsat_transform_template.yaml). (2) The odometry data, which needs to have a valid frame_id, can be provided by: (a) a nav_msgs/Odometry message from your robot_localization state estimation node. (b) the "datum" service (all odometry variables are assumed to be 0 in this case). See the template parameter file. (3) The latitude, longitude, and altitude can be provided by: (a) a sensor_msgs/NavSatFix message (b) the "datum" service. See the template parameter file. (4) Alternatively, at any time, the user can send a robot_localization/SetDatum service message to the "datum" service. This will manually set the latitude, longitude, altitude, and world-referenced heading, and will assume an odometry message containing all zeros. This will effectively set the origin at the specified lat/long, with the X-axis aligned with east. The user can set this datum via the "datum" service, or via the launch file. If the wait_for_datum parameter is set to true, then the node will attempt to use the datum parameter. If the parameter is not set, it will wait until it receives a service call. The output of this node is an odometry message that contains the GPS data transformed into the robot's world coordinate frame (i.e., the frame specified by input (2)'s frame_id), or the coordinate frame defined by the message sent to the "datum" service. Optionally, the node can also produce a NavSatFix message corresponding to the filtered odometry, transformed back into lat/long coordinates. The node can also optionally publish the transform from the UTM frame the the world frame.
-
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 1.2.2 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | hydro-devel |
Last Updated | 2015-05-27 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tom Moore
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://wiki.ros.org/robot_localization
Changelog for package robot_localization
1.2.2 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
1.2.1 (2015-05-22)
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
1.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
1.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
1.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
1.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
1.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
1.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
1.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
roscpp | |
std_msgs | |
geometry_msgs | |
nav_msgs | |
sensor_msgs | |
diagnostic_msgs | |
diagnostic_updater | |
tf | |
message_filters | |
cmake_modules | |
message_generation | |
catkin | |
message_runtime | |
rostest | |
rosbag |
System Dependencies
Name |
---|
eigen |
Dependant Packages
Name | Deps |
---|---|
rosjava_messages | |
jsk_fetch_startup |
Launch files
- launch/ekf_template.launch
- Launch file for ekf_localization_node
-
- launch/navsat_transform.launch
- Launch file for navsat_transform_node
-
- launch/ukf_template.launch
- Launch file for ukf_localization_node
-
Messages
Services
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 2.4.8 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2021-01-29 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tom Moore
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://docs.ros.org/kinetic/api/robot_localization/html/index.html
Changelog for package robot_localization
2.4.8 (2019-08-08)
- Adding new contribution to doc
- Add missing undocumented params
- Update wiki location
- Fix bug with tf_prefix
- Contributors: Andrew Grindstaff, Charles Brian Quinn, Tom Moore
2.4.7 (2019-02-15)
- Documentation fixes
- Add broadcast_utm_transform_as_parent_frame
- Enable build optimisations if no build type configured.
- Meridian convergence adjustment added to navsat_transform.
- Contributors: G.A. vd. Hoorn, Pavlo Kolomiiets, diasdm
2.4.6 (2019-01-14)
- Renaming odom to base link trans
- Fixing Euler body-to-world transformations
- Enabling the user to override the output child_frame_id
- Contributors: Tom Moore
2.4.5 (2018-10-25)
- Linting
- Contributors: Tom Moore
2.4.4 (2018-10-25)
- Adding more output for measurement history failures
- Adding filter processing toggle service
- Waiting for valid ROS time before starting navsat_transform_node
- Contributors: Tom Moore, stevemacenski
2.4.3 (2018-04-11)
- Add published accel topic to documentation
- Adding log statements for nans in the invertable matrix
- Fixing issue with potential seg fault
- Contributors: Oleg Kalachev, Tom Moore, stevemacenski
2.4.2 (2018-01-03)
- Fixing CMakeLists
- Contributors: Tom Moore
2.4.1 (2017-12-15)
- Fixing datum precision
- Fixing state history reversion
- Silencing unnecessary errors and warnings
- Fixing critical bug with dynamic process noise covariance
- Some trivial changes to lessen the differences to lunar
- Fix typo in reading Mahalanobis thresholds.
- Zero out rotation in GPS to base_link transform
- Update xmlrpcpp includes for Indigo support
- Removing lastUpdateTime
- Fixing timestamps in map->odom transform
- Simplify enabledAtStartup logic
- Add std_srvs dependency
- Add enabling service
- Ensure all raw sensor input orientations are normalized even if messages are not
- Install params directory
- Add robot localization estimator
- Contributors: Jacob Perron, Jacob Seibert, Jiri Hubacek, Mike Purvis, Miquel Massot, Pavlo Kolomiiets, Rein Appeldoorn, Rokus Ottervanger, Tom Moore, stevemacenski
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Dependant Packages
Launch files
- launch/ekf_template.launch
- launch/dual_ekf_navsat_example.launch
- This launch file provides an example of how to work with GPS data using robot_localization. It runs three nodes: (1) An EKF instance that fuses odometry and IMU data and outputs an odom-frame state estimate (2) A second EKF instance that fuses the same data, but also fuses the transformed GPS data from (3) (3) An instance of navsat_transform_node, which takes in GPS data and produces pose data that has been transformed into your robot's world frame (here, map). The node produces a map-frame state estimate. The first EKF instance produces the odom->base_link transform. The second EKF produces the map->odom transform, but requires the odom->base_link transform from the first instance in order to do so. See the params/dual_ekf_navsat_example.yaml file for parameter specification.
-
- launch/ukf_template.launch
- launch/navsat_transform_template.launch
- This node needs to know the values of three variables in order to function: (1) A world-referenced heading (yaw). The node assumes an ENU standard for heading, with 0 facing east, though it can support any heading. (2) Odometry data that gives the robot's current pose in its own world coordinate frame (typically map or odom) (3) A latitude/longitude/altitude. These three items allow us to compute a transform from the global frame to your robot's local frame. There are several means of providing them, though keep in mind that these modes are typically mutually exclusive. (1) World-referenced yaw can be provided by: (a) an IMU in a sensor_msgs/Imu message (topic is /imu/data/) (b) the heading in the nav_msgs/Odometry message in (2) below can be used. To enable this behavior, set the use_odometry_yaw parameter to true, and set the delay parameter to some small value (~3 seconds). Be careful, though: this heading must still be globally referenced, so if your state estimation node always starts with a 0 heading, you CAN NOT use this option. (c) the "datum" service. See the template parameter file (params/navsat_transform_template.yaml). (2) The odometry data, which needs to have a valid frame_id, can be provided by: (a) a nav_msgs/Odometry message from your robot_localization state estimation node. (b) the "datum" service (all odometry variables are assumed to be 0 in this case). See the template parameter file. (3) The latitude, longitude, and altitude can be provided by: (a) a sensor_msgs/NavSatFix message (b) the "datum" service. See the template parameter file. (4) Alternatively, at any time, the user can send a robot_localization/SetDatum service message to the "datum" service. This will manually set the latitude, longitude, altitude, and world-referenced heading, and will assume an odometry message containing all zeros. This will effectively set the origin at the specified lat/long, with the X-axis aligned with east. The user can set this datum via the "datum" service, or via the launch file. If the wait_for_datum parameter is set to true, then the node will attempt to use the datum parameter. If the parameter is not set, it will wait until it receives a service call. The output of this node is an odometry message that contains the GPS data transformed into the robot's world coordinate frame (i.e., the frame specified by input (2)'s frame_id), or the coordinate frame defined by the message sent to the "datum" service. Optionally, the node can also produce a NavSatFix message corresponding to the filtered odometry, transformed back into lat/long coordinates. The node can also optionally publish the transform from the UTM frame the the world frame.
-
Messages
Plugins
Recent questions tagged robot_localization at Robotics Stack Exchange
robot_localization package from robot_localization reporobot_localization |
|
Package Summary
Tags | No category tags. |
Version | 2.6.12 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/cra-ros-pkg/robot_localization.git |
VCS Type | git |
VCS Version | melodic-devel |
Last Updated | 2022-08-08 |
Dev Status | MAINTAINED |
CI status |
|
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Tom Moore
Authors
- Tom Moore
robot_localization
robot_localization is a package of nonlinear state estimation nodes. The package was developed by Charles River Analytics, Inc.
Please see documentation here: http://docs.ros.org/melodic/api/robot_localization/html/index.html
Changelog for package robot_localization
2.6.12 (2022-08-08)
- Moved GeographicLib from build_depend to depend (#689)
- Contributors: Joshua Owen
2.6.11 (2021-07-23)
- Prevent node from crashing on invalid UTM zone, but throw ROS_ERROR to notify user (#683)
- Contributors: MCFurry
2.6.10 (2021-06-04)
- Fixing navsat_transform linking
- SHARED linking for Geographiclib (#624)
- Fixed a typo in validate filter output error message. (#646)
- Fix transformomation for gravitation vector to IMU frame before removing acceleration (#639)
- Stick to the global utm_zone_ when transforming gps to UTM (#627)
- UTM conversions using geographiclib (#626)
- Update state_estimation_nodes.rst (#623)
- Fixing lat-long to UTM conversion (#620)
- Removing xmlrpcpp dependency
- Contributors: Achmad Fathoni, JJB_UT, Leonardo Hemerly, Paul Verhoeckx, Tim Clephas, Tom Moore
2.6.9 (2020-12-17)
- Fix warning "Failed to meet update rate!" (#602)
- Fix sign error in dFY_dP part of transferFunctionJacobian_ (#592)
- Fix typo in navsat_transform_node.rst (#588)
- fix issue caused by starting on uneven terrain (#582)
- Local Cartesian Option (#575)
- Fix frame id of imu in differential mode, closes #482. (#522)
- navsat_transform diagram to address #550 (#570)
- Increasing the minimum CMake version (#573)
- Contributors: Aleksander Bojda, David Jensen, James Baxter, Jeffrey Kane Johnson, Mabel Zhang, Mike, Ronald Ensing, Tom Moore
2.6.8 (2020-06-03)
- Adding conditional build dependencies (#572)
- Contributors: Tom Moore
2.6.7 (2020-06-01)
- Parameterizing transform failure warnings
- [melodic] Fix Windows build break. (#557)
- Contributors: Sean Yen, Tom Moore, florianspy
2.6.5 (2019-08-08)
- fix: wall time used when [use_sim_time]{.title-ref} is true
- Created service for converting to / from lat long
- Fix bug with tf_prefix
- Adding new contribution to doc
- Add missing undocumented params
- Update wiki location
- Contributors: Andrew Grindstaff, Axel Mousset, Charles Brian Quinn, Oswin So, Tom Moore
2.6.4 (2019-02-15)
- Meridian convergence adjustment added to navsat_transform.
- Documentation changes
- Add broadcast_utm_transform_as_parent_frame
- Enable build optimisations if no build type configured.
- Contributors: G.A. vd. Hoorn, Pavlo Kolomiiets, diasdm
2.6.3 (2019-01-14)
- Rename odomBaseLinkTrans to baseLinkOdomTrans Adhere to the naming convention <fromFrame><toFrame>Trans used for worldBaseLinkTrans and mapOdomTrans.
- Add const& to catch values to prevent the error: catching polymorphic type ‘class tf2::TransformException’ by value And ZoneNumber by 0x3fU to prevent error: directive output may be truncated writing between 1 and 11 bytes into a region of size 4
- Enabling the user to override the output child_frame_id
- Fixing Euler body-to-world transformations
- Whitespace
- fixing no datum service in melodic
- Contributors: Alexis schad, Matthew Jones, Tom Moore, thallerod
2.6.2 (2018-10-25)
- Fixing tests
- Contributors: Tom Moore
2.6.1 (2018-10-25)
- Adding more output for measurement history failures
- Adding filter processing toggle service
- Waiting for valid ROS time before starting navsat_transform_node
- Contributors: Tom Moore, stevemacenski
2.6.0 (2018-07-27)
- Moving to C++14, adding error flags, and fixing all warnings
- Contributors: Tom Moore
2.5.2 (2018-04-11)
- Add published accel topic to documentation
- adding log statements for nans in the invertable matrix
- Fixing issue with potential seg fault
- Contributors: Oleg Kalachev, Tom Moore, stevemacenski
2.5.1 (2018-01-03)
- Fixing CMakeLists
- Contributors: Tom Moore
2.5.0 (2017-12-15)
- Fixing datum precision
- Fixing timing variable
- Fixing state history reversion
- Fixing critical bug with dynamic process noise covariance
- Fix typo in reading Mahalanobis thresholds.
- Zero out rotation in GPS to base_link transform
- Update xmlrpcpp includes for Indigo support
- Removing lastUpdateTime
- Fixing timestamps in map->odom transform
- Simplify enabledAtStartup logic
- Add std_srvs dependency
- Add enabling service
- Ensure all raw sensor input orientations are normalized even if messages are not
- Install params directory.
- Add robot localization estimator
- Adding nodelet support
- Contributors: Jacob Perron, Jacob Seibert, Jiri Hubacek, Mike Purvis, Miquel Massot, Pavlo Kolomiiets, Rein Appeldoorn, Rokus Ottervanger, Simon Gene Gottlieb, Tom Moore, stevemacenski
2.4.0 (2017-06-12)
- Updated documentation
- Added reset_on_time_jump option
- Added feature to optionally publish utm frame as parent in navsat_transform_node
- Moved global callback queue reset
- Added initial_state parameter and documentation
- Fixed ac/deceleration gains default logic
- Added gravity parameter
- Added delay and throttle if tf lookup fails
- Fixed UKF IMUTwistBasicIO test
- Added transform_timeout parameter
- Set gps_odom timestamp before tf2 lookuptransform
- Removed non-portable sincos calls
- Simplified logic to account for correlated error
- Added dynamic process noise covariance calculation
- Fixed catkin_package Eigen warning
- Added optional publication of acceleration state
- Contributors: Brian Gerkey, Enrique Fernandez, Jochen Sprickerhof, Rein Appeldoorn, Simon Gene Gottlieb, Tom Moore
2.3.1 (2016-10-27)
- Adding gitignore
- Adding remaining wiki pages
- Adding config and prep pages
- Adding navsat_transform_node documentation
- use_odometry_yaw fix for n_t_n
- Fixing issue with manual pose reset when history is not empty
- Getting inverse transform when looking up robot's pose.
- Sphinx documentation
- Removing forward slashes from navsat_transform input topics for template launch file
- Adding example launch and parameter files for a two-level EKF setup with navsat_transform_node
- Adding yaml file for navsat_transform_node, and moving parameter documentation to it.
- Updating EKF and UKF parameter templates with usage comments
- Contributors: Tom Moore, asimay
2.3.0 (2016-07-28)
- Fixed issues with datum usage and frame_ids
- Fixed comment for wait_for_datum
- Fixing issue with non-zero navsat sensor orientation offsets
- Fixing issue with base_link->gps transform wrecking the 'true' UTM position computation
- Using correct covariance for filtered GPS
- Fixed unitialized odometry covariance bug
- Added filter history and measurement queue behavior
- Changing output timestamp to more accurately use the time stamp of the most recently-processed measurement
- Added TcpNoDelay()
- Added parameter to make transform publishing optional
- Fixed differential handling for pose data so that it doesn't care about the message's frame_id
- Updated UKF config and launch
- Added a test case for the timestamp diagnostics
- Added reporting of bad timestamps via diagnostics
- Updated tests to match new method signatures
- Added control term
- Added smoothing capability for delayed measurements
- Making variables in navsat_transform conform to ROS coding standards
- Contributors: Adel Fakih, Ivor Wanders, Marc Essinger, Tobias Tueylue, Tom Moore
2.2.3 (2016-04-24)
- Cleaning up callback data structure and callbacks and updating doxygen comments in headers
- Removing MessageFilters
- Removing deprecated parameters
- Adding the ability to handle GPS offsets from the vehicle's origin
- Cleaning up navsat_transform.h
- Making variables in navsat_transform conform to ROS coding standards
2.2.2 (2016-02-04)
- Updating trig functions to use sincos for efficiency
- Updating licensing information and adding Eigen MPL-only flag
- Added state to imu frame transformation
- Using state orientation if imu orientation is missing
- Manually adding second spin for odometry and IMU data that is passed to message filters
- Reducing delay between measurement reception and filter output
- Zero altitute in intital transform too, when zero altitude param is set
- Fixing regression with conversion back to GPS coordinates
- Switched cropping of orientation data in inovationSubset with mahalanobis check to prevent excluding measurements with orientations bigger/smaller than ± PI
- Fix Jacobian for EKF.
- Removing warning about orientation variables when only their velocities are measured
- Checking for -1 in IMU covariances and ignoring relevant message data
- roslint and catkin_lint applied
- Adding base_link to datum specification, and fixing bug with order of measurement handling when a datum is specified. Also added check to make sure IMU data is transformable before using it.
- Contributors: Adnan Ademovic, Jit Ray Chowdhury, Philipp Tscholl, Tom Moore, ayrton04, kphil
2.2.1 (2015-05-27)
- Fixed handling of IMU data w.r.t. differential mode and relative mode
2.2.0 (2015-05-22)
- Added tf2-friendly tf_prefix appending
- Corrected for IMU orientation in navsat_transform
- Fixed issue with out-of-order measurements and pose resets
- Nodes now assume ENU standard for yaw data
- Removed gps_common dependency
- Adding option to navsat_transform_node that enables the use of the heading from the odometry message instead of an IMU.
- Changed frame_id used in setPoseCallback to be the world_frame
- Optimized Eigen arithmetic for signficiant performance boost
- Migrated to tf2
- Code refactoring and reorganization
- Removed roll and pitch from navsat_transform calculations
- Fixed transform for IMU data to better support mounting IMUs in non-standard orientations
- Added feature to navsat_transform_node whereby filtered odometry data can be coverted back into navsat data
- Added a parameter to allow future dating the world_frame->base_link_frame transform.
- Removed deprecated differential setting handler
- Added relative mode
- Updated and improved tests
- Fixing source frame_id in pose data handling
- Added initial covariance parameter
- Fixed bug in covariance copyinh
- Added parameters for topic queue sizes
- Improved motion model's handling of angular velocities when robot has non-zero roll and pitch
- Changed the way differential measurements are handled
- Added diagnostics
2.1.7 (2015-01-05)
- Added some checks to eliminate unnecessary callbacks
- Updated launch file templates
- Added measurement outlier rejection
- Added failure callbacks for tf message filters
- Added optional broadcast of world_frame->utm transform for navsat_transform_node
- Bug fixes for differential mode and handling of Z acceleration in 2D mode
2.1.6 (2014-11-06)
- Added unscented Kalman filter (UKF) localization node
- Fixed map->odom tf calculation
- Acceleration data from IMUs is now used in computing the state estimate
- Added 2D mode
2.1.5 (2014-10-07)
- Changed initial estimate error covariance to be much smaller
- Fixed some debug output
- Added test suite
- Better compliance with REP-105
- Fixed differential measurement handling
- Implemented message filters
- Added navsat_transform_node
2.1.4 (2014-08-22)
- Adding utm_transform_node to install targets
2.1.3 (2014-06-22)
- Some changes to ease GPS integration
- Addition of differential integration of pose data
- Some documentation cleanup
- Added UTM transform node and launch file
- Bug fixes
2.1.2 (2014-04-11)
- Updated covariance correction formulation to "Joseph form" to improve filter stability.
- Implemented new versioning scheme.
2.1.1 (2014-04-11)
- Added cmake_modules dependency for Eigen support, and added include to silence boost::signals warning from tf include
Wiki Tutorials
Package Dependencies
System Dependencies
Launch files
- launch/ekf_template.launch
- launch/dual_ekf_navsat_example.launch
- This launch file provides an example of how to work with GPS data using robot_localization. It runs three nodes: (1) An EKF instance that fuses odometry and IMU data and outputs an odom-frame state estimate (2) A second EKF instance that fuses the same data, but also fuses the transformed GPS data from (3) (3) An instance of navsat_transform_node, which takes in GPS data and produces pose data that has been transformed into your robot's world frame (here, map). The node produces a map-frame state estimate. The first EKF instance produces the odom->base_link transform. The second EKF produces the map->odom transform, but requires the odom->base_link transform from the first instance in order to do so. See the params/dual_ekf_navsat_example.yaml file for parameter specification.
-
- launch/ukf_template.launch
- launch/ekf_nodelet_template.launch
- This launch file provides an example of how to use ekf as nodelet or as node in one launch file. By providing arguments like "use_nodelets this launch file will start a nodelet instead of a node. This is very usefull in experimental setup to allow easy switch between nodelets and node. Also it allows you to specify the manager the nodelet should run in.
-
- use_nodelets [default: ${optenv USE_NODELETS false)]
- nodelet_manager [default: $optenv robot_localization_NODELET_MANAGER robot_localization_nodelet_manager)]
- launch/navsat_transform_template.launch
- This node needs to know the values of three variables in order to function: (1) A world-referenced heading (yaw). The node assumes an ENU standard for heading, with 0 facing east, though it can support any heading. (2) Odometry data that gives the robot's current pose in its own world coordinate frame (typically map or odom) (3) A latitude/longitude/altitude. These three items allow us to compute a transform from the global frame to your robot's local frame. There are several means of providing them, though keep in mind that these modes are typically mutually exclusive. (1) World-referenced yaw can be provided by: (a) an IMU in a sensor_msgs/Imu message (topic is /imu/data/) (b) the heading in the nav_msgs/Odometry message in (2) below can be used. To enable this behavior, set the use_odometry_yaw parameter to true, and set the delay parameter to some small value (~3 seconds). Be careful, though: this heading must still be globally referenced, so if your state estimation node always starts with a 0 heading, you CAN NOT use this option. (c) the "datum" service. See the template parameter file (params/navsat_transform_template.yaml). (2) The odometry data, which needs to have a valid frame_id, can be provided by: (a) a nav_msgs/Odometry message from your robot_localization state estimation node. (b) the "datum" service (all odometry variables are assumed to be 0 in this case). See the template parameter file. (3) The latitude, longitude, and altitude can be provided by: (a) a sensor_msgs/NavSatFix message (b) the "datum" service. See the template parameter file. (4) Alternatively, at any time, the user can send a robot_localization/SetDatum service message to the "datum" service. This will manually set the latitude, longitude, altitude, and world-referenced heading, and will assume an odometry message containing all zeros. This will effectively set the origin at the specified lat/long, with the X-axis aligned with east. The user can set this datum via the "datum" service, or via the launch file. If the wait_for_datum parameter is set to true, then the node will attempt to use the datum parameter. If the parameter is not set, it will wait until it receives a service call. The output of this node is an odometry message that contains the GPS data transformed into the robot's world coordinate frame (i.e., the frame specified by input (2)'s frame_id), or the coordinate frame defined by the message sent to the "datum" service. Optionally, the node can also produce a NavSatFix message corresponding to the filtered odometry, transformed back into lat/long coordinates. The node can also optionally publish the transform from the UTM frame the the world frame.
-