All releases of the nvblox library will be documented in this file.
The format is based on Keep a Changelog.
- Add end-to-end benchmark script. (#441)
- Generate KPIs directly from single invocation of script
- Add block pool allocation during startup. (#468)
- Add data structure to store 3d ESDF grid. (#500)
- Add GPU serialization of voxel layers. (#512)
- Mesh serializer is generalized in order to support serialization of voxel-block layers.
- Add and integrate image cache. (#526)
- Allow image cache to have cached images of different sizes at the same time.
- Add delay measurement feature. (#541)
- Change decay to have view-based voxel exclusion. (#466)
- Change weighting function to linear with max weighting from squared dropoff. (#476)
- Move parameters to separate class. (#533)
- Update to jetpack 6. (#539)
- Fix unified ptr async cloner. (#456)
- 10 percent speedup for replica integration
- Disable multithreading in image reader. (#487)
- Disable checks for mapping type in human mapper. (#521)
- Support for multi-cam as we run humans only in one camera.
- Support external CMAKE_CUDA_ARCHITECTURES. (#549)
- Fix image buffers allocation for dynamics. (#550)
- Finished baseline for dynamic detection. (#367):
- Integrate full depth to static mapper
- Ignoring esdf sites in freespace
- Added a class for effective serialization of a mesh layer. (#372)
- Added surrounding radius clearing for the occupancy layer. (#378)
- Move radius clearing to common function upstream
- Add unit test to check the working
- Add optional preprocessing to the input depth image to dilate the invalid regions. (#381)
- This addresses depth bleeding issues we saw when using the realsense 455 on carter.
- Add TSDF decay integrator (#383)
- Generalized the existing occupancy decayer to also support TSDF decay.
- Add a method for getting the names of all rate tickers. (#387)
- Used in the GXF wrapper to get all timer names to send to sight.
- Add function to decay all occupancy voxels, without any excluded voxels. (#390)
- Benchmark GPU<->CPU transfer of mono image. (#396)
- checkNppErrors macro. (#398)
- Similar to checkCudaErrors, we use a separate macro for unified handling of npp errors.
- Add dynamics to fuser. (#399)
- Move more functionality into multi mapper (to have a cleaner interface to GXF/ROS/fuser)
- Add parameter structs and parameter default values.
- Remove small components from mask image. (#397)
- Introduce function for removing small components from mask image.
- Computation times on Jetson, 640x480 Real mask image: 2ms Worst-case image: 4ms.
- Add useful multi mapper functions. (#404)
- Add optional preprocessing to the input depth image to dilate the invalid regions. This addresses depth bleeding issues we saw when using the realsense 455 on carter. (#381)
- Removed separable compilation of device code in order to support a wider range of toolchains. (#379)
- Added test that prevents us from introducing more work on the default CUDA stream. (#347)
- Support for executing on a user provided CUDA stream to avoid triggering device-wide synchronizations that comes with using the default stream. Async versions of copy and memset operations have been added to container classes in order to support this.
- Dynamic detection from freespace:
- DynamicsDetection object which can be used to detect and visualize dynamic objects. (#336)
- FreespaceIntegrator object to update a freespace layer. (#355)
- Updating the DynamicsDetection to rely on the freespace layer for detection. (#361)
- CHANGELOG.md (#338)
- MeshStreamer object which can be used to limit the bandwidth of the transmitted mesh. (#324)
- Changed mapper saving functions to not update/alter the map before saving. (#388)
- Add function to mapper to save the TSDF. Used in GXF to service request from sight.
- Change dynamic integration distance to limit computation time. (#406)
- Moved and refactored esdf slicing functions to a EsdfSlicer object. (#363)
- Removed unnecessary copy functions of Meshblock. (#362)
- Refactored ProjectiveIntegrator to simplify the dataflow. (#354)
- Turn on shadowing warnings. (#358)
- Make changes to get the image masker working if the mask and depth images have different resolutions. (#376)
- Make changes in image masker to point to correct column values during image access
- Parameterize image masker test to include different test versions
- On Jetson/Orin,the CPU and GPU cannot simultaneously access managed memory which causes a segfault in the placement-new operator. (#386)
- Warnings stemming from external are suppressed by including the using -isystem. (#389)
- Fixed remaining warnings. Two categories of NVCC warnings are still suppressed.
- Fix missing CUDAToolkit dependency for CUDA::nppc. (#408)
- Improved bad-path error-handling in the dataset loaders. (#353)
- Variable shadowing in the ProjectiveColorIntegrator. (#358)