RoboHub is a collection of C++ implementations of algorithms used in robotics
# build content
$ ./docker_build.sh
# run docker interactvely
$ ./docker_run.sh
All the built content can be found in /workspace/build/
directory when the docker terminal is up
$ mkdir build && cd build
$ cmake ..
$ make
-
Currently this project doesn't use any of the pcl or ROS components. All imlementations are primarily based on STL and Eigen. Data generations and visualization for tests is made with python scripts (can be found in the
scripts
directory) that usenumpy
andmatplotlib
for 2d andmayavi
for 3d visualizations -
API is header only. Implementations can be found in
include
directory -
All functionaly can be qualitatively and/or quantitatively tested using provided tests found in
tests
directory
Refer to docs for implementation and API details (NOTE: open file in browser - docs/html/index.html)
Tests are provided as .sh files in scripts
directory
$ cd scripts
- Test normal estimation
$ ./test_normal_estimation.sh
- Test plane extraction
Input data for this test is taken from KITTI dataset
$ ./test_plane_extraction.sh
- Test A* planner
Input map for this test is taken from here
$ ./test_astar.sh
- Test RRT planner
$ ./test_rrt.sh
-
RRT planner has still some issues, it is not generating consistent paths all the time. Need to implement RRT* which leads to more straighter and practical paths
-
Bidirectional RRT, RRT*
-
Occupancy map is being direclty used in planners, cost values need to be diffused to account for safe distances and obstacle & robot footprints