robot_localization package from robot_localization repo

robot_localization

Package Summary

Tags No category tags.
Version 2.4.0
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 2019-12-04
Dev Status DEVELOPED
Released UNRELEASED

Package Description

Provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at answers.ros.org

robot_localization package from robot_localization repo

robot_localization

Package Summary

Tags No category tags.
Version 2.4.0
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 crystal-devel
Last Updated 2019-09-23
Dev Status DEVELOPED
Released UNRELEASED

Package Description

Provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at answers.ros.org

robot_localization package from robot_localization repo

robot_localization

Package Summary

Tags No category tags.
Version 2.4.0
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 bouncy-devel
Last Updated 2019-04-26
Dev Status DEVELOPED
Released UNRELEASED

Package Description

Provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

No launch files found

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at answers.ros.org

robot_localization package from robot_localization repo

robot_localization

Package Summary

Tags No category tags.
Version 2.6.5
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 2019-11-26
Dev Status DEVELOPED
Released RELEASED

Package Description

Provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

Changelog for package robot_localization

2.6.5 (2019-08-08)

  • fix: wall time used when use_sim_time 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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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/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.
  • launch/ukf_template.launch

Messages

No message files found.

Plugins

Recent questions tagged robot_localization at answers.ros.org

robot_localization package from robot_localization repo

robot_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 2019-08-26
Dev Status DEVELOPED
Released RELEASED

Package Description

Provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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/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.
  • launch/ukf_template.launch

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at answers.ros.org

No version for distro ardent. Known supported distros are highlighted in the buttons above.

robot_localization package from robot_localization repo

robot_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 DEVELOPED
Released RELEASED

Package Description

Provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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/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.
  • launch/ukf_template.launch

Messages

No message files found.

Plugins

Recent questions tagged robot_localization at answers.ros.org

robot_localization package from robot_localization repo

robot_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 DEVELOPED
Released RELEASED

Package Description

The robot_localization package provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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/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.
  • launch/ukf_template.launch

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at answers.ros.org

robot_localization package from robot_localization repo

robot_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 DEVELOPED
Released RELEASED

Package Description

Provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

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/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.
  • launch/ukf_template.launch

Messages

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at answers.ros.org

robot_localization package from robot_localization repo

robot_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 DEVELOPED
Released RELEASED

Package Description

The robot_localization package provides nonlinear state estimation through sensor fusion of an abritrary number of sensors.

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

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

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

Messages

No message files found.

Services

Plugins

No plugins found.

Recent questions tagged robot_localization at answers.ros.org