Code Monkey home page Code Monkey logo

isaac_ros_nvblox's Introduction

Isaac ROS Nvblox

Nvblox ROS 2 integration for local 3D scene reconstruction and mapping.

image

Overview

Isaac ROS Nvblox contains ROS 2 packages for 3D reconstruction and cost maps for navigation. isaac_ros_nvblox processes depth and pose to reconstruct a 3D scene in real-time and outputs a 2D costmap for Nav2. The costmap is used in planning during navigation as a vision-based solution to avoid obstacles.

isaac_ros_nvblox is designed to work with depth-cameras and/or 3D LiDAR. The package uses GPU acceleration to compute a 3D reconstruction and 2D costmaps using nvblox, the underlying framework-independent C++ library.

image

Above is a typical graph that uses isaac_ros_nvblox. Nvblox takes a depth image, a color image, and a pose as input, with which it computes a 3D scene reconstruction on the GPU. In this graph the pose is computed using visual_slam, or some other pose estimation node. The reconstruction is sliced into an output cost map which is provided through a cost map plugin into Nav2. An optional colorized 3D reconstruction is delivered into rviz using the mesh visualization plugin. Nvblox streams mesh updates to RViz to update the reconstruction in real-time as it is built.

isaac_ros_nvblox offers several modes of operation. In its default mode the environment is assumed to be static. Two additional modes of operation are provided to support mapping scenes which contain dynamic elements: human reconstruction, for mapping scenes containing humans, and dynamic reconstruction, for mapping scenes containing more general dynamic objects. The graph above shows isaac_ros_nvblox operating in human reconstruction mode. The color image corresponding to the depth image is processed with unet, using the PeopleSemSegNet DNN model to estimate a segmentation mask for persons in the color image. Nvblox uses this mask to separate reconstructed persons into a separate humans-only part of the reconstruction. The Technical Details provide more information on these three types of mapping.

Performance

The following tables provides timings for various functions of nvblox core on various platforms.

Dataset Voxel Size (m) Component x86_64 w/ 4090 Ti (Desktop) x86_64 w/ RTX3000 Ti (Laptop) AGX Orin
Replica 0.05 TSDF 0.4 ms 3.6 ms 1.6 ms
Color 1.7 ms 2.5 ms 4.2 ms
Meshing 1.6 ms 4.0 ms 12.3 ms
ESDF 1.9 ms 8.4 ms 8.4 ms
Redwood 0.05 TSDF 0.2 ms 0.2 ms 0.5 ms
Color 1.1 ms 1.6 ms 2.4 ms
Meshing 0.6 ms 1.5 ms 2.7 ms
ESDF 1.5 ms 2.6 ms 4.2 ms

Documentation

Please visit the Isaac ROS Documentation to learn how to use this repository.


Packages

Latest

Update 2023-10-18: General dynamic reconstruction.

isaac_ros_nvblox's People

Contributors

hemalshahnv avatar jaiveersinghnv avatar alexmillane avatar helenol avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.