robot_localization package from robot_localization repo

robot_localization

Package Summary

Tags No category tags.
Version 3.5.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 humble-devel
Last Updated 2023-12-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

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

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

Changelog for package robot_localization

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

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 Robotics Stack Exchange

robot_localization package from robot_localization repo

robot_localization

Package Summary

Tags No category tags.
Version 3.6.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 ros2
Last Updated 2024-03-15
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

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

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

Changelog for package robot_localization

3.3.2 (2022-12-11)

  • Port PR #753 and #728 to ROS2 version (#765)
    • compiling version of commit #753 and #728 ported to ros2 rolling
    • format fixes
    • fix time source disagreement by converting to seconds beforehand, append parameter usage, fix linting
    • fix linting and uncrustify
  • 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

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 Robotics Stack Exchange

robot_localization package from robot_localization repo

robot_localization

Package Summary

Tags No category tags.
Version 3.6.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 ros2
Last Updated 2024-03-15
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

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

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

Changelog for package robot_localization

3.3.2 (2022-12-11)

  • Port PR #753 and #728 to ROS2 version (#765)
    • compiling version of commit #753 and #728 ported to ros2 rolling
    • format fixes
    • fix time source disagreement by converting to seconds beforehand, append parameter usage, fix linting
    • fix linting and uncrustify
  • 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

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 Robotics Stack Exchange

robot_localization package from robot_localization repo

robot_localization

Package Summary

Tags No category tags.
Version 2.7.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 noetic-devel
Last Updated 2024-01-16
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

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/noetic/api/robot_localization/html/index.html

CHANGELOG

Changelog for package robot_localization

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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • launch/ukf_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/ekf_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

No message files found.

Plugins

Recent questions tagged robot_localization at Robotics Stack Exchange

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

robot_localization package from robot_localization repo

robot_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

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

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

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 Robotics Stack Exchange

robot_localization package from robot_localization repo

robot_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

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

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

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 Robotics Stack Exchange

robot_localization package from robot_localization repo

robot_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

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

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

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 Robotics Stack Exchange

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

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/ukf_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/ekf_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

No message files found.

Plugins

Recent questions tagged robot_localization at Robotics Stack Exchange

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

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/ukf_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_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

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at Robotics Stack Exchange

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

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/ukf_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_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

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at Robotics Stack Exchange

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

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 Robotics Stack Exchange

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 2021-01-29
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

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/ukf_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_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

No message files found.

Plugins

No plugins found.

Recent questions tagged robot_localization at Robotics Stack Exchange

robot_localization package from robot_localization repo

robot_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 No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

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.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

Wiki Tutorials

See ROS Wiki Tutorials for more details.

Source Tutorials

Not currently indexed.

Launch files

  • launch/ukf_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/ekf_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

No message files found.

Plugins

Recent questions tagged robot_localization at Robotics Stack Exchange