Presentation at University of Agder, Norway

Online grasp planning based on pointclouds of in-hand-cameraGPU Voxels at a Cleanroom3D Replanning scenarioReplanning3D View of Lab Environment3D Replanning scenario

Presentation at University of Agder, Norway

Hello GPU-Voxels users,

I got the kind invitation by Professor Geir Hovland of the University of Agder in Norway to talk about the library and its usage:

I am curious to see the research at the SFI Offshore Mechatronics lab and to meet some new users!

So if you happen to be in Agder on March 13th, 2018, I am sure you are welcome to join the talk (:


Read more | Comments Off on Presentation at University of Agder, Norway | Feb 16, 2018

V1.1 – New Year Release

gvl_ompl_planning UR10 6DOF arm motion

Dear GPU-Voxels users, the new release is here!

The bugfixes and new features in Version 1.1 are now available. With this release I take over as lead maintainer for the framework, while Andreas will of course continue to use it and to contribute to it.

As always you find the new release at GitHub.

Most of the changes are bugfixes and changes that improve the debugging process. Also, the new CountingVoxelList was added to offer pointcloud density filtering on the GPU.

One major addition by Andreas Hermann is the gvl_ompl_planning example that links in GPU-Voxels and uses an OMPL planner to move a 6DOF arm model through an environment held in GPU-Voxels data structures. Take care of the README file in that examples folder to avoid issues relating to C++11 and PCL versions.

We are still investigating a couple of known issues in relation with Pascal GPUs and will release fixes for them as soon as possible.


Happy coding,

Update 1: Release 1.1.1 fixes a missing icl_core dependency in gvl_ompl_planning/CMakeLists.txt
Update 2: Release 1.1.2 fixes Cuda 9.1 incompatibility issues


Changelog for Release 1.1: New Year Release
Known issues:
- Octrees are broken on Pascal GPUs
  - confirmed on Titan Xp and GTX 1080 Ti
- the GLM in Ubuntu 16.04 has to be patched to allow usage of the visualizer.
  - see
  - patch for /usr/include/glm/detail/func_common.inl in packages/gpu_voxels/doc/glm_fix_issu530.patch

API breaking changes:
- GpuVoxels
  - addMap returns null-initialized shared_ptr if map already exists
  - lockSelf, lockBoth & Co removed, replaced by exception-safe lock_guard
  constructs to improve debugging
- TinyXML
  - use system version from APT package libtinyxml-dev

Major changes:
- Changes in CUDA CMake setup
  - uncomment SET(CMAKE_CXX_STANDARD 11) at the top of CMakeLists.txt to activate C++11 mode
  - set -maxrregcount=63 to avoid errors on desktop GPUs with 1024 threads per block
  - always use ICMAKER_CUDA_CPPDEFINES to pass parameters to nvcc
- Added OMPL planning example gvl_ompl_planning  (Thanks to Andreas Hermann)
  - requires C++11
  - incompatible with GPU-Voxels built with PCL 1.7
- Added model "ur10_coarse" voxelized at 9mm
- Added CountingVoxelList to offer pointcloud density filtering  (Thanks to Herbert Pietrzyk)
  - Use remove_underpopulated(minimum_count) to remove outliers
  - Use subtractFromCountingVoxelList to remove the robot and static objects
- Added BitVoxelMap collision with ProbVoxelmap
- ProbVoxelMap
  - insert() parses BitVoxelMeaning to allow freeing single voxels
  - SVCollider checks for noneButEmpty instead of isZero
- Fix CUDA 9 incompatibilities, issue 63
  - version macro
  - cub namespace
  - __ballot vs __ballot_sync

Minor changes:
- DistanceVoxelTest uses double buffering of DistanceVoxelMap to avoid flickering
- ProbVoxelMap: Speed up the clearing of ProbVoxelMap by using memset instead of ctor calls for every voxel
- C++11 fixes
  - icl_core_logging operator<< stringstream bug
  - various fixes collected by dybedal in issue 55
- VoxelList collision
  - added test cases and examples
- fixed memory leaks in TemplateVoxelList
- fixed PCL dependency of examples and helpers, see issue 61
- fix computeLinearLoad returning grid and block size 0
- added many checks after kernel launches to improve error discovery

Other changes:
- Documentation updates
Read more | Comments Off on V1.1 – New Year Release | Feb 5, 2018