forked from fzi-forschungszentrum-informatik/gpu-voxels
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchangelog.txt
More file actions
301 lines (277 loc) · 13.2 KB
/
changelog.txt
File metadata and controls
301 lines (277 loc) · 13.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
Changelog of GPU-Voxels:
V 0.1 (2014-09-29):
===================
- Initial Version of GPU Voxels
(Please find a list of features on the Website or the according scientific papers or have a look at the example programs)
- Open Issue: Compiled only in Debug Mode
V 0.2 (2014-09-12):
===================
- Fixed compilation issued in Release Mode
V 0.3 (2015-02-26):
===================
- Made changes in the include structure to allow compilation with CUDA 6.5 (no longer trying to compile Boost-SharedMem-Headers with NVCC)
- Added datatype "PrimitiveArray" to quickly visualize helpers like thousands of spheres or cubes.
- Added InsertMetaPointCloud option to give each sub-cloud an own voxel type
- Function to sync a MetaPointCloud back to Host Memory
- Speed up in clearing VoxelMaps
- Added an optional offset when intersecting maps. So you can move one map relative to another before intersecting them.
- Added parameter to Kinect Interface to support the new PCL interface where a Cam ID has to be specified.
- More documentation in Octree kernels
- Added more operators for primitive data types
- Added Binvox as file format to generate Pointclouds
- Added Example program to demonstrate the insertion of IBEO Sensor Pointclouds
- Added missing config file for example program that intersects live Kinect data with a robot model (RobotVsEnvironment)
- Open Issues: Flickering colors in Visualization
V 0.4 (2015-03-09):
===================
- Fixed coordinate system in the Viewer
- Improved Viewer XML Config parser
- Added possibility to control visibility of SweptVolume subvolumes from a provider program
- Improved pointcloud file loader (new datatype, scaling)
- Improved example programs, added viwer configfile for them
- Added missing pointcloud filess for the examples
- Moved performance monitor to icl_core
- Some smaller fixes regarding RAD / DEG
- Removed compiler warnings
V 0.5 (2015-04-13):
===================
- Release 0.5: Critical bugfixes and reduction of warnings.
- Fixed loadbalancer bug that occurred when inserting only very little data into an octree.
- Fixed bug in extraction of Octree data.
- Fixed color gradient along Z-Axis in viewer.
- Fixed overwrite of Swept-Volume subvolumes via provider in the Viewer.
- Fixed heaps of compiler warnings (Thanks to Felix Mauch).
- Renamed MapTypes to more understandable names.
- Implemented disk-reader and writer for generic Voxelmaps.
- Simplified file loading of pointclouds.
- Moved some math functions to more general file.
- Moved some DH computation code in preparation for URDF support.
- Reimplemented function to move focus point in Viewer.
- Removed dead code and dead files.
V 0.51 (2015-04-24):
====================
- Synced readme files.
V 0.6 (2015-04-24):
===================
- Fixed crahses of octree_provider command line interface resulting from race-conditions.
- Fixed flickering in Visualizer when drawing more then one Octree. Resulted from same race-conditions as above.
- Corrected axis order in visualizer console output.
- Fixed model loading path when not using GPU_VOXELS_MODEL_PATH
- Changed argument handling in command line interface for loading models from PCD only to more general pointcloud files.
V 0.7 (2015-06-10):
===================
- Added URDF parser and interfaces to load ROS robots.
- Added URDF example program with HoLLiE robot model and URDF file.
- Unified API for DH-Parameter and URDF robots.
- Added name lookup to MetaPointClouds.
- Restructured CMake files to generate more descriptive report about missing libs.
- Fixed missing thrust include.
- Fixed color gradient in visualizer.
- Fixed DH transformations for prismatic links.
V 0.71 (2015-06-10):
====================
- Updated this changelog.
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.
V 0.81 (2015-12-14):
====================
- Fixed severe Bug in MetaPointCloud::updatePointCloud() that lead to Segfaults.
- Implemented new functions for VoxelLists:
- Equality check (Mainly for Boost-Tests)
- Subtraction (Bool operation)
- Collisioncheck that counts the collisions per Voxel-meaning.
- ShrinkToFit: Frees preallocated Thrust memory
- Fixed error handling when reading and writing all data structures.
- Added more Boost testcases.
- Fixed URDF robot rendering when for collision meshes.
- Made some const functions const.
- Visualizer:
- Improved python script to generate color gradients for Visualizer configfiles.
- Made Voxellist Voxels clickable
- Enhanced reliability of Visualizer (Thanks to Christian Juelg)
- Added slicing functionality to Visualizer (Thanks to Christian Juelg)
- Improved voxelize.sh script to delete intermediate files.
V 0.82 (2016-02-12):
====================
- Fixed severe Bug in the locking of Voxellists. Warning: This only concerns VoxelLists.
- Added collision check between ProbabilisticVoxelMaps and VoxelLists.
- Added transform functionality to MetaPointClouds and removed it from Robot classes.
- Fixed Vec3ToMat4() function.
- Implemented Deep-Copy operator for MetaPointClouds.
- Implemented Pointcloud-Offsets for geometry entities of URDF models.
- Warning: Only translation, NO rotation available here!
- Added new struct to describe oriented boxes.
- Added new file for helper functions to generate pointclouds from geometric primitives.
- Fixed RPY rotation matrices.
- Added Boost testcase for shifted collision checks.
- Added script to generate Visualizer configuration with random colors for SweptVolume IDs.
- Refined the models of the SVH with 0.4 mm resolution.
V 0.9 (2016-08-21):
====================
API breaking changes:
- GpuVoxels is now a singleton and has to be initialized
- BitVoxelMeaning enum changed! 0 = Free, 1 = Occupied. More SV IDs.
- Added as() operator to cast general maps into specific maps
- Map-Offsets may now be negative, so Voxel-pointers changed datatype.
- Shifted main API from general map type to specific implementations:
Many functions can no longer be called on basic map types but only on
specific maps. As not all map types offer all interfaces, this allowed
us to remove unimplemented function stubs (thanks to Herbert Pietrzyk)
- RPY rotation order changed to ROS standards:
First rotated around roll, then pitch, then yaw
Major changes:
- Unified map-locking for all map types to guarantee thread-safety
- Added new Pointcloud class for single clouds (thanks to Herbert Pietrzyk)
- Added Octree-API function: insertPointCloudWithFreespaceCalculation
to trigger raycasting
- Added option to interpret unknown cells of an octree as obstacles
when checking collisions
- Added tfHelper class to interact easily with ROS tf
- New Math functions:
- Added host function to invert matrices.
Code thankfully copied from Maxim Singer
- Function to convert Mat4 to Roll, Pitch, Yaw
together with Boost tests
- Vector3f now offers: apprx_equal, length, normalize, dot, cross
- angleBetween two vectors, orientationMatrixDiff between two matrices
- Matrix4f now offers: equality, approximate equality and subtract
together with Boost tests
Minor changes:
- Added visualizer config file and a python generator for random swept
volume colors (this time for real)
- New Boost testcases for Pointclouds and MetaPointClouds
- Simplified sensor code for Raycasting in Octree
- Restructured keyboard shortcuts in visualizer:
- Added "command mode" to switch between data types so
all Function keys can toggle maps of the selected kind.
- Using ALT+digit to set decimal preposition of SweptVol IDs
- Right-Click available for more datatypes in Visualizer to
print voxel information
- Fixed updates of subclouds in MetaPointClouds
- Added sanity check in computeLinearLoad
- Added Getter functions for GVL parameters
- Added some general HTML pages to Doxygen docu (thanks to Darius Pietsch)
- Unified probability type in all maps
- Fixed memory leaks in MetaPointCloud
- Added Kernel for GPU memory comparison
- Unified geometric transformation kernels
- Clarified singed and unsigned voxel indices (thanks to Christian Juelg)
- GPU Voxels main class now checks for Compute Capability at init
- Added PointCloud constructor to load file
Other changes:
- Added enlarged UR5 model
- Updated list of contributors
- Compiles with Ubuntu 16.04
- Added CMake macro to remove VTK defines
- Required lib glm fix: https://github.com/g-truc/glm/issues/530
V 0.91 (2016-09-14):
====================
- Added example which shows how to link against GPU-Voxels.
- Fixed a bug in the default collider regarding thresholds of probabilistic voxels.
- Added code to visualize pointclouds as Primitive-Arrays.
- Enhanced static Doxygen pages.
V 0.92 (2016-09-16):
====================
API breaking changes:
- Restructured CUDA datatypes and their math functions:
- Removed CudaMath and put all functions into the datatypes.
- Split CUDA datatypes into Vectors and Matrices.
Minor changes:
- Switched readme file format to Markup
- Deleted some examples that were not usable.
- Removed PointCloudOperations as they were unused.
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