Awesome
MRSL Decomputil Library v1.0
A header only c++ library for fast convex decomposition. In the basic pipeline, it implements ellipsoid based regional inflation to model free space from a given path inside a point cloud. Detials of the algorithm is proposed in "S. Liu, M. Watterson, K. Mohta, K. Sun, S. Bhattacharya, C.J. Taylor and V. Kumar. Planning Dynamically Feasible Trajectories for Quadrotors using Safe Flight Corridors in 3-D Complex Environments. ICRA 2017".
Installation
DecompUtil is a header only library, several test nodes are compiled during the installation.
A) Simple cmake
$ mkdir build && cd build && cmake .. && make
B) Using CATKIN (not recognizable by catkin_make)
$ cd mv decomp_util ~/catkin_ws/src
$ cd ~/catkin_ws & catkin_make_isolated -DCMAKE_BUILD_TYPE=Release
CTest
To check if everything is installed properlly:
$ make test
Include in other projects:
To link this lib properly, add following in the CMakeLists.txt
find_package(decomp_util REQUIRED)
include_directories(${DECOMP_UTIL_INCLUDE_DIRS})
Examples
The examples of using SeedDecomp2D
, LineSegment2D
, EllipsoidDecomp2D
and
IterativeDecomp2D
are plotted as followings:
SeedDecomp2D | LineSegment2D | EllipsoidDecomp2D | IterativeDecomp2D |
---|---|---|---|
<img src="./data/example1.png" height="200"> | <img src="./data/example2.png" height="200"> | <img src="./data/example3.png" height="200"> | <img src="./data/example4.png" height="200"> |
The corresponding code for testing can be found in the test
folder.
Doxygen
For more details, please refer to https://sikang.github.io/DecompUtil/index.html
ROS
The ROS wrapper for easier use of this package can be found in DecompROS
.