![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble isaac_ros_occupancy_grid_localizer isaac_ros_pointcloud_utils |
|
Repository Summary
Description | NVIDIA-accelerated global localization |
Checkout URI | https://github.com/nvidia-isaac-ros/isaac_ros_map_localization.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2025-02-28 |
Dev Status | UNKNOWN |
CI status | No Continuous Integration |
Released | UNRELEASED |
Tags | localization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
isaac_ros_occupancy_grid_localizer | 3.2.5 |
isaac_ros_pointcloud_utils | 3.2.5 |
README
Isaac ROS Map Localization
NVIDIA-accelerated Map localization.
Overview
The Isaac ROS Map Localization module contains ROS 2 packages for lidar processing to estimate poses relative to a map. The Occupancy Grid Localizer processes a planar range scan to estimate pose in an occupancy grid map; this occurs in less than 1 second for most maps. This initial pose can be used to bootstrap navigation for mobile robots and has been integrated and tested with Nav2. This can remove the need for upwards of 30 seconds to manually estimate the position and direction of a robot with RViz, for example.
The Occupancy Grid Localizer is designed to work with planar and 3D LIDARs. It uses Flatscan for input to the GPU-accelerated computation estimating pose. Flatscan allows for representation of 3D LIDARs, which have variable angular increments between multiple beams.
LaserScan to Flatscan provides conversion from LaserScan, which by definition has equal angle increment between beams, to Flatscan.
PointCloud to FlatScan provides conversion from pointcloud output from 3D LIDARs to Flatscan.
[!Note] Localization can be performed multiple times during navigation.
[!Note] The input FlatScan Message header/frame_id is used to get the transform of the lidar with respect to the robot base_link frame.
[!Note] The output
localization_result
is the transform ofbase_link
with respect to the frame specified in theloc_result_frame
(map) ROS parameter.
[!Note] Localization can be triggered in one of two ways:
- Buffer FlatScan messages received on a topic and trigger the localization using an
std_srvs/Empty
service call.- Trigger localization every time a FlatScan message is sent to a topic.
Refer to the Isaac ROS Occupancy Grid Localizer/Usage section for more details.
Isaac ROS NITROS Acceleration
This package is powered by NVIDIA Isaac Transport for ROS (NITROS), which leverages type adaptation and negotiation to optimize message formats and dramatically accelerate communication between participating nodes.
Performance
Sample Graph |
Input Size |
AGX Orin |
Orin NX |
Orin Nano Super 8GB |
x86_64 w/ RTX 4090 |
---|---|---|---|---|---|
Occupancy Grid Localizer Node |
~50 sq. m |
19.6 fps 57 ms @ 30Hz |
8.36 fps 130 ms @ 30Hz |
9.02 fps 120 ms @ 30Hz |
50.1 fps 8.5 ms @ 30Hz |
Documentation
Please visit the Isaac ROS Documentation to learn how to use this repository.
Packages
Latest
Update 2024-12-10: Update to be compatible with JetPack 6.1
CONTRIBUTING
Isaac ROS Contribution Rules
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|
![]() |
isaac_ros_map_localization repositorylocalization gpu nvidia jetson ros2 occupancy-grid-map ros2-humble |
|