Release 0.8 available at Github. Now with Voxellists! Complies to CUDA 7.5.

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

Release 0.8 available at Github. Now with Voxellists! Complies to CUDA 7.5.

Next round: Release 0.8 is available!

After a longer time without any news, here is a pretty long list of updates! We are now compatible with CUDA 7.5 (and will officially only support that from now on). On the content side, we implemented Voxellists and extended the Bitvoxel-Collision-Checks. As the lists only safe occupied Voxels, they give a huge speed-up when dealing with sparse data. So especially the combination of representing a Robot and its plans in Voxellists and look them up in the Octree of the live environment is a good practice!

Thanks to Felix Mauch it is now possible to have Bitvoxel-Collision checks that regard a “Bit-Margin”. So if the bits represent a point in time, this way a “fuzzy” collision check can be realized.

We have also done a lot of restructuring and optimization work to improve the overall software quality, fixed a bunch of bugs, and dropped our own copy of the CUB library in favour of Thrusts copy of the lib, that gets installed with CUDA.

Within FZI we have a growing list of use-cases, demos and extensions that heavily rely on GPU-Voxels. So I hope to publish some news on that soon, including motion planning with motion primitives, grasp planning and scheduling tasks in multi-robot scenarios.

Hope you like it and that it will help in improving your robots!


V 0.8 (2015-11-09):
- Compiles with CUDA 7.5
- Added Voxellists as new Datatype
 - Huge speedup compared to Voxelmaps with sparse data.
 - Added Bit-Shifting-Collisionchecks (Thanks to Felix Mauch)
 - Added Bit-Margin for Bitvoxel Collisionchecks (Thanks to Felix Mauch)
- General:
 - Removed superficial memory allocation from Voxelmap.
 - Added script to automatize binvox mesh voxelization
 - Improved PrimitiveArrays update speed when number of primitives stays constant.
 - Removed heaps of compiler warnings (Thanks to Christian Juelg)
 - Various Bugfixes, mainly in collision Kernels
- Renamings / moved code:
 - HighLevel-API: Added "merge" function.
 - CudaMath now longer requires an instance. Now it is a namespace.
 - VoxelType ==> BitVoxelMeaning
 - Fixed standard CTORs of basic datatypes for CUDA shared memory allocation.
 - Moved voxels to gpu_voxels namespace
 - Removed seom missleading typedefs
 - Moved Voxel definitions to own subfolder.
 - Removed dead code fragments.
- Octree:
 - Adapted to new API.
 - Removed its own voxellist. Now uses more general Voxellist.
 - Removed VoxelTypeFlags and replaced them by more general bitvectors.
 - Simplified Octree selftests and triggered them by Boost-Test.
 - Dropped CUB lib. Now using CUDAs version from Thrust.
- Robot representation:
 - Enhanced robot interface (jointnames and min max angles).
 - Restructured inheritance of robot implementations.
 - Fixed install of robot headers.
- Visualizer:
 - Updated Visualizer to new API.
 - Added new function to move cam in plane.
 - Switched from Octree to more general Cubelist interface,
 as this can also be used to visualize Voxellists.
 - Visualizer now cleans Shared-Mem files.
 - Added Script to generate color gradient config files for visualizer.
 - Fixed a bug in drawing the grid
- Example programs and Testcases:
 - Updated examples to new API.
 - Added more Boost-Tests.
 - Reordered model files.
- icl_core and basic libs:
 - Added performance monitor docu
 - Some new cmake magic
 - Improved ringbuffer
 - New Doxygen version.
 - Tinyxml cmake updated.
 - Added missing Findscripts for OpenNi.
Read more | Comments Off on Release 0.8 available at Github. Now with Voxellists! Complies to CUDA 7.5. | Nov 10, 2015

New publication at the European Conference on Mobile Robotics

We have published a new work on predictive collision detection using GPU-Voxels. The paper should be online within this year at IEEE-Explore and on my Research-Gate profile.

The contribution is on the combination of RGB-D Flow to create Swept-Volumes out of predicted motions in a pointcloud and check those for collisions with Swept-Volumes of planned robot motions. That way we can trigger replanning steps around a moving obstacle or stop the robot, before collisions can occur.

A. Hermann, F. Mauch, K. Fischnaller, S. Klemm, A. Roennau, R. Dillmann,
“Anticipate your surroundings: Predictive collision detection between dynamic obstacles and planned robot trajectories on the GPU”
in European Conference on Mobile Robotics (ECMR 2015, Lincoln, September 2015)

Read more | Comments Off on New publication at the European Conference on Mobile Robotics | Nov 10, 2015