X-Mas Release (v0.93) – Distance Fields

GPU Voxels at a Cleanroom 3D Replanning scenario Replanning Online grasp planning based on pointclouds of in-hand-camera 3D View of Lab Environment 3D Replanning scenario

X-Mas Release (v0.93) – Distance Fields

GPU Voxels X-Mas Edition

GPU Voxels X-Mas Edition

Happy Holidays everyone!

Just for Christmas I finished the latest Release of GPU-Voxels which brings an amazing new feature:
Realtime distance field computation on large pointclouds (thanks to Christian Jülg)!!

Have a look at the Distance-Kinect example and have fun to inflate your avatar pointcloud (:
I already used this feature to implement a reactive inverse kinematics function for highly articulated robots, so that the robot maximizes free space which reaching a goal. Also we used the distance field to navigate a flying drone through a maze while keeping clearance to all obstacles (Video).

Of course there have been a bunch of Bugfixes and some more new features, so find the changelog below.
Download as always at: https://github.com/fzi-forschungszentrum-informatik/gpu-voxels

 

All the best to you for 2017,

Andreas

 

 

V 0.93 (2016-12-24):
====================
API breaking changes:
- Multiplying a vector<int> with an int scalar now gives a vector<int>
- Removed offset when colliding VoxelLists as implementation was faulty
- Unified CTor of VoxelLists and VoxelMaps
- Unified spelling of insertPointcloud ==> insertPointCloud

Major changes:
- Added DistanceField calculations (thanks to Christian Jülg)
    - New DistanceVoxelMap type
    - Re-implementation of the Parallel Banding Algorithm (Original by Cao Thanh Tung)
    - Added according example and test cases
- Added BitMasked collision check and testcase for BitVoxels
- Implemented a HeighMap loader to populate 3D worlds from Bitmap files
- Added insertPointCloudIntoMap() to HighLevel-API
- Added collision functions between BitVectorVoxelList and BitVectorVoxelMap
- Improved Mutex-Locking (thanks to Christian Jülg)
    - No more busy waiting
    - Recursive locking now possible
- Reworked Boost-Tests to function as Benchmarks (Thanks to Herbert Pietrzyk)
- Improved BitVector code
    - Fixed error in Bit-negation
    - Added according testcase
- Fixed defaultCollider for BitVoxels (counted eBVM_FREE as collision previously)

Minor changes:
- Added screendump function for VoxelLists
- Fix in CMake to export CUDA dependency
- Restructured optional dependency management
- Improved the handling of warnings within Kernels (less printf spam)
- Visualizer config files: Added option to set color for all BitVoxelMeanings at once
- Consistently using RPY for geometry generation (instead of YPR formerly)
- Improved BitVoxelLists operations
    - Thrust performance optimization
    - Added according testcase

Other changes:
- Now compiles with CLang (fixed ambigous names)
- Improved docs
- Improved tescases for VoxelLists
- Fix for CUDA 7 on Ubuntu 16.04 (-D_FORCE_INLINES)
- Added UR10 & Robotique FTS model (10% larger, voxelized at 4mm)
- Added Pelican UAV model
- Corrected copy paste errors in CMake IC_BUILDER defines
- Removed own source version of TinyXML: Now using system lib
- Updated icmaker build tools
- Updated QT include dirs in icl_core
- icl_performance_monitor got some new functions
Read more | Comments Off on X-Mas Release (v0.93) – Distance Fields | Dec 25, 2016