Recent Releases of rmagine

rmagine - v2.3.1

Improvements & New Features: - TBB as internal threading library - MacOS support (Github runner & installation instructions) - Auto-download OptiX & Embree if not pre-installed on the system

- C++
Published by amock 6 months ago

rmagine - v2.3.0

New update that partially breaks the API (only undocumented parts), removes deprecated functions, and adds features for sensor-to-mesh registration from RMCL.

No major changes.

Minor changes: - Removed some Simulator functions that weren't documented nor used
- Removed deprecated functions

Patches: - Unified Simulator functions
- Added convenience function for simulating a single sensor at a time
- Moved basic Mesh-ICP registration functionalities from RMCL to here → Locally optimize the pose until the expectations match reality best
- Added simple PointCloud type for greater flexibility in registration without losing too much performance, since they can be built zero-copy. (Not yet sure if this one persists, or if we instead switch to rm::Bundles)

- C++
Published by amock 9 months ago

rmagine - v2.2.11

Matrix slicing + stability update.

Patch: - 2D matrices can be sliced now (zero-copy) on both CPU and GPU. Used CRTP to separate matrix operations from matrix data. This made it easier to switch between matrix data implementations without having inheritance overhead. - Added more tests for reductions

Fixes: - Merging two null measurements causes division by zero. Especially important for masked operations. - Fixed wrong indexing in statistics_p2l CUDA implementation

- C++
Published by amock about 1 year ago

rmagine - v2.2.10

Patches / downwards compatible changes: - CrossStatistics objects can be transformed now - New math objects: Gaussian1D, Gaussian2D, Gaussian3D - Gaussian objects can be freely transformed between frames - Gaussians have an additional field to indicate the number of samples. This makes it possible to merge any two Gaussians (as long as they are in the same frame)

- C++
Published by amock about 1 year ago

rmagine - v2.2.9

New patch release v2.2.9

  • dynamic scheduling of Embree simulator's inner or outer loop parallelism based on the number of simulated sensor poses and the maximum available number of threads
  • separated Embree acceleration structure from data by using shared geometry buffers functionality
  • implemented transformation for point cloud scene elements (Embree)

- C++
Published by amock over 1 year ago

rmagine - v2.2.8

This is a new version of rmagine, which migrated some Mesh ICP computations from RMCL. Several tests have been added, I also took the opportunity to clean up the interface for single hypothesis correction aka pose tracking. All other external software should still work, so I just increased the patch version.

New

  • CrossStatistics math type, which contains two means a covariance and the number of measurements. Also the reduction function from the MICP-L paper is integrated
  • PointCloudView. Contains views to existing memory buffer. We use it for cleaner, and more readable interfaces, while not losing any runtime.
  • Functions for registration. Correspondence search, Umeyama-based optimization

Improvements

  • integrated support for multi-block computation in the non-batch version of "sum"

Tests

  • statistics for CPU (core)
  • statistics for GPU (cuda)
  • Embree correction: finding RCC using embree, optimizing using CPU-Umeyama
  • OptiX correction: finding RCC using optix, optimizing using GPU-Umeyama

- C++
Published by amock over 1 year ago

rmagine - v2.2.7

  • implemented umeyama functions
  • made general math functions lower case. Solves problems with defines from other libraries shadowing the function names
  • added comments

- C++
Published by amock over 1 year ago

rmagine - v2.2.6

v2.2.6

  • SVD implementation based on "Numerical Recipes" that works out of the box on CPU as well as in CUDA kernels. First test results show speed up and accuracy over Eigen/cusolver. Need to conduct further experiments. Perhaps directly with RMCL.
  • added convenience functions to sensor models and embree simulators.
  • Added rmagine-ouster component
    • Dependency: jsoncpp
    • Loading Ouster Meta files as rmagine sensor model

Additional things

  • removed obsolote functions.
  • made types polyscope compatible

- C++
Published by amock over 1 year ago

rmagine - v2.2.5

Patch: - closest point function: bug fixes, thread safe, const

- C++
Published by amock almost 2 years ago

rmagine - v2.2.4

Patch: - Embree: moved closestPoint logic to scene - add convenience function to access map and model from simulator

- C++
Published by amock almost 2 years ago

rmagine - v2.2.3

Patch: OptiX 8 support

- C++
Published by aock almost 2 years ago

rmagine - v2.2.2

  • const simulation calls
  • package.xml -> tested with ROS-noetic
  • cleanup cmake install scripts

- C++
Published by aock about 2 years ago

rmagine - v2.2.1

Patch: - CMake find script fix for CPU only machines

- C++
Published by aock over 2 years ago

rmagine - v2.2.0

Rework of build and install system.

Major changes: - Components for each part of the library: rmagine::core, rmagine::embree, rmagine::cuda, rmagine::optix - Debian package generation with CPack - Removed Embree 3 support

Note: Attached binaries are compiled with Ubuntu 20.04, Embree 4.2.0, Cuda 11.4, Nvidia-driver 470.199.02, OptiX 7.3.0.

- C++
Published by aock over 2 years ago

rmagine - v2.1.1

Patch:

Preparations to fully implement new feature: Integrate CUDA unified memory. - Implemented respective Memory object UNIFIED_CUDA including alloc, free, copy, stream copy functions - OptiX simulators can now additionally simulate to unified memory. Mixing memory is possible as well.

TODOs missing to next minor version change: Add UNIFIED_CUDA into Embree Simulators without breaking compatibility for CPU only devices

- C++
Published by aock over 2 years ago

rmagine - v2.1.0

No Interface Changes

Major Changes: - Rmagine version is now exported as cmake variables and defines for better versioning of other libraries that use Rmagine - cmake vars: rmagineVERSION, rmagineVERSIONMAJOR, rmagineVERSIONMINOR, rmagineVERSIONPATCH - definitions: RMAGINEVERSION, RMAGINEVERSIONMAJOR, RMAGINEVERSIONMINOR, RMAGINEVERSIONPATCH - rmagine_DEFINITIONS is now exported via cmake and can be accessed in libraries that are using Rmagine

Minor Changes: - Embree 4 support, the embree version is exported to be used in other libraries if needed: RMAGINEEMBREEVERSION_MAJOR - README rework. Smaller images. Short example. Some links to the Wiki

- C++
Published by aock almost 3 years ago

rmagine - v2.0.5

Minor changes: - Added compilation support for OptiX 7.7 - Added compilation support for gcc-11

- C++
Published by aock almost 3 years ago

rmagine - v2.0.4

No major or interface changes.

Minor changes: - Improved cmake find script to use Rmagine even when installed in custom directories

- C++
Published by aock over 3 years ago

rmagine - v2.0.3

No Interface Changes

No Major Changes

Minor Changes: - Bug fix in Rotation conversion. Special (until now unused) conversion failed the new written test.

- C++
Published by aock over 3 years ago

rmagine - v2.0.2

No Interface changes

Minor Changes: - Templated Math Objects - Memory Objects prints - Refactoring - Static library builds

- C++
Published by aock over 3 years ago

rmagine - v2.0.1

Bug-Fixes - SVDCuda

Minor: - Licensing

- C++
Published by aock over 3 years ago

rmagine - v2.0.0

Scene and Raytracing Updates: - Dynamic Maps (Embree, OptiX) supporting scene graphs including Instances - Scene Attributes at intersection: ObjectId (Instance Id), GeomId (Geomety Id), FaceId

Internal Updates: - Restructuring internal OptiX shaders. Cached shader per (Scene, Sensor, Attributes) tuple - math functions - MemoryView for no-op copies and slicing for CPU and GPU buffers - Tests (make test) - Removed optix headers from rmagine headers such that library can be better deployed - Both Embree and OptiX backends are optional now

- C++
Published by aock over 3 years ago

rmagine - v1.0.0

- C++
Published by aock over 3 years ago