# pbdlib-cpp **Repository Path**: chauby/pbdlib-cpp ## Basic Information - **Project Name**: pbdlib-cpp - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-06-23 - **Last Updated**: 2024-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # PbDlib-cpp-sandbox PbDlib-cpp-sandbox is a set of tools in C++ combining statistical learning, optimal control and differential geometry for programming-by-demonstration applications. Other versions of the library are available at http://www.idiap.ch/software/pbdlib/ (in Matlab, C++ and Python). ### Contributors Sylvain Calinon, Ioannis Havoutis, Ajay Tanwani, Emmanuel Pignat, Fabien Crepon, Daniel Berio, Philip Abbet This work was in part supported by the DexROV project through the EC H2020 programme (Grant \#635491). ### Prerequisite The program requires glfw3 (lightweight and portable library for managing OpenGL contexts, windows and inputs). ImGui (graphical user interface library for C++, [https://github.com/ocornut/imgui](https://github.com/ocornut/imgui)) and gfx_ui (a minimal geometry editing UI, [https://github.com/colormotor/gfx\_ui](https://github.com/colormotor/gfx_ui)), are also used and provided as part of this package. They are both distributed under the MIT license (see the docs/ folder). ### Compilation ``` cd pbdlib-cpp mkdir build cd build cmake .. make ``` ### glfw3 installation On Debian: ``` sudo apt-get install libglfw3-dev ``` If libglfw3-dev is not available on your system, you can install it manually with: ``` git clone https://github.com/glfw/glfw.git cd glfw mkdir build cd build cmake -DBUILD_SHARED_LIBS=ON ../ make sudo make install export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib ``` **Note:** The `-DBUILD_SHARED_LIBS` is necessary otherwise cmake will create a static library. ### References and list of examples See [https://gitlab.idiap.ch/rli/pbdlib-cpp/blob/master/examples.md](https://gitlab.idiap.ch/rli/pbdlib-cpp/blob/master/examples.md) ### Gallery demo\_GMR01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_GMR01.gif) *** demo\_MPC\_batch01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_MPC_batch01.gif) *** demo\_MPC\_iterative01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_MPC_iterative01.gif) *** demo\_MPC\_semitied01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_MPC_semitied01.gif) *** demo\_MPC\_velocity01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_MPC_velocity01.gif) *** demo\_online\_GMM01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_online_GMM01.gif) *** demo\_proMP01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_proMP01.gif) *** demo\_Riemannian\_cov\_GMR01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_cov_GMR01.gif) *** demo\_Riemannian\_cov\_interp02 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_cov_interp02.gif) *** demo\_Riemannian\_pose\_batchLQR01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_pose_batchLQR01.gif) *** demo\_Riemannian\_pose\_infHorLQR01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_pose_infHorLQR01.gif) *** demo\_Riemannian\_quat\_infHorLQR01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_quat_infHorLQR01.png) *** demo\_Riemannian\_quat\_TPGMM01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_quat_TPGMM01.gif) *** demo\_Riemannian\_sphere\_GMM01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_sphere_GMM01.gif) *** demo\_Riemannian\_sphere\_infHorLQR01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_sphere_infHorLQR01.gif) *** demo\_Riemannian\_sphere\_product01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_sphere_product01.gif) *** demo\_Riemannian\_sphere\_TPGMM01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_Riemannian_sphere_TPGMM01.gif) *** demo\_TPbatchLQR01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_TPbatchLQR01.gif) *** demo\_TPGMMProduct01 ![](https://gitlab.idiap.ch/rli/pbdlib-cpp/raw/master/images/demo_TPGMMProduct01.gif)