Skip to content
Snippets Groups Projects
user avatar
Sylvain Calinon authored
8b2f7e6c
History
Name Last commit Last update
data
include
src
CMakeLists.txt
LICENSE
README.md

Minimalist GUI for PbDlib

This GUI is intended to be used with the pbdlib library available at https://gitlab.idiap.ch/rli/pbdlib

Contributors

Sylvain Calinon, Ioannis Havoutis, Ajay Tanwani, Emmanuel Pignat, Fabien Crepon, Daniel Berio, Philip Abbet

Prerequisite

The program requires glfw3 (modern lightweight and portable library for managing OpenGL contexts, windows and inputs, similar to glut but better!).

It also requires epoxy (OpenGL function pointer management library) in some of the examples.

Compilation

cd pbdlib_gui
mkdir build
cd build
cmake ..
make

epoxy package install

sudo apt-get install libepoxy-dev

glfw3 deb package install

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

Did you find PbDlib useful for your research? Please acknowledge the authors in any academic publications that used parts of these codes.

[1] Tutorial (GMM, TP-GMM, MFA, MPPCA, GMR, LWR, GPR, MPC, LQR, trajGMM):

@article{Calinon16JIST,
	author="Calinon, S.",
	title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
	journal="Intelligent Service Robotics",
	publisher="Springer Berlin Heidelberg",
	year="2016",
	volume="9",
	number="1",
	pages="1--29",
	doi="10.1007/s11370-015-0187-9",
}

[2] HMM, HSMM:

@article{Rozo16Frontiers,
	author="Rozo, L. and Silv\'erio, J. and Calinon, S. and Caldwell, D. G.",
	title="Learning Controllers for Reactive and Proactive Behaviors in Human-Robot Collaboration",
	journal="Frontiers in Robotics and {AI}",
	year="2016",
	month="June",
	volume="3",
	number="30",
	pages="1--11",
	doi="10.3389/frobt.2016.00030"
}

[3] Riemannian manifolds (S2,S3):

@article{Zeestraten17RAL,
	author="Zeestraten, M. J. A. and Havoutis, I. and Silv\'erio, J. and Calinon, S. and Caldwell, D. G.",
	title="An Approach for Imitation Learning on {R}iemannian Manifolds",
	journal="{IEEE} Robotics and Automation Letters ({RA-L})",
	year="2017",
	month="June",
	volume="2",
	number="3",
	pages="1240--1247"
	doi="10.1109/LRA.2017.2657001",
}

[4] Riemannian manifolds (S+):

@inproceedings{Jaquier17IROS,
	author="Jaquier, N. and Calinon, S.", 
	title="Gaussian Mixture Regression on Symmetric Positive Definite Matrices Manifolds: Application to Wrist Motion Estimation with {sEMG}",
	booktitle="Proc. {IEEE/RSJ} Intl Conf. on Intelligent Robots and Systems ({IROS})",
	year="2017",
	month="September",
	address="Vancouver, Canada",
	pages=""
}

[5] Semi-tied GMM:

@article{Tanwani16RAL,
	author="Tanwani, A. K. and Calinon, S.",
	title="Learning Robot Manipulation Tasks with Task-Parameterized Semi-Tied Hidden Semi-{M}arkov Model",
	journal="{IEEE} Robotics and Automation Letters ({RA-L})",
	year="2016",
	month="January",
	volume="1",
	number="1",
	pages="235--242",
	doi="10.1109/LRA.2016.2517825"
}

[6] DP-means:

@article{Bruno17AURO,
	author="Bruno, D. and Calinon, S. and Caldwell, D. G.",
	title="Learning Autonomous Behaviours for the Body of a Flexible Surgical Robot",
	journal="Autonomous Robots",
	year="2017",
	month="February",
	volume="41",
	number="2",
	pages="333--347",
	doi="10.1007/s10514-016-9544-6"
}

[7] Shared control, adaptive teleoperation:

@inproceedings{Havoutis17ICRA,
	author="Havoutis, I. and Calinon, S.",
	title="Supervisory teleoperation with online learning and optimal control",
	booktitle=ICRA,
	year="2017",
	month="May-June",
	address="Singapore",
	pages="1534--1540"
}

[8] Keypoint-based motion edition through MPC:

@inproceedings{Berio17GI,
	author="Berio, D. and Calinon, S. and Fol Leymarie, F.",
	title="Generating Calligraphic Trajectories with Model Predictive Control",
	booktitle="Proc. 43rd Conf. on Graphics Interface",
	year="2017",
	month="May",
	address="Edmonton, AL, Canada",
	pages="132--139",
	doi="10.20380/GI2017.17"
}

[9] Adaptive assistance:

@article{Pignat17RAS,
	author="Pignat, E. and Calinon, S.",
	title="Learning adaptive dressing assistance from human demonstration",
	journal="Robotics and Autonomous Systems",
	year="2017",
	month="July",
	volume="93",
	number="",
	pages="61--75",
	doi="10.1016/j.robot.2017.03.017",
}

List of examples

This project will build a number of executables, as listed in the table below.

Filename ref. Description
demo_dptpgmm [9] Online tp-gmm learning and lqr-based trajectory generation
demo_glsl [8] Rendering example with glsl display
demo_glsl_gfx [8] Rendering example with glsl display (using glfx)
demo_LQR_infHor [1] Discrete infinite horizon linear quadratic regulation
demo_MPC_batch_01 [1,8] Model predictive control (MPC) with batch linear quadratic tracking (LQT) formulation
demo_MPC_iterative_01 [1,8] Model predictive control (MPC) with iterative linear quadratic tracking (LQT) formulation
demo_MPC_semitied_01 [5,8] MPC with semi-tied covariances
demo_MPC_velocity_01 [1,8] MPC with an objective including velocity tracking
demo_online_gmm [6] Online GMM learning and LQR-based trajectory generation
demo_online_hsmm [2,7] Online HSMM learning and sampling with LQR-based trajectory generation
demo_Riemannian_cov_interp02 [4] Covariance interpolation on Riemannian manifold from a GMM with augmented covariances
demo_Riemannian_quat_infHorLQR [3] Linear quadratic regulation on hypersphere (orientation as unit quaternions) by relying on Riemannian manifold and infinite-horizon LQR
demo_Riemannian_sphere_infHorLQR [3] Linear quadratic regulation on a sphere by relying on Riemannian manifold and infinite-horizon LQR
demo_teleop [7] Online learning of tp-hsmm model and teleoperator-like usage example
demo_tp_multiLqr [7] Online tp-hsmm and tp-gmm with lqr-based trajectory generation and multiframe-lqr trajectory generation
demo_tp_trajMpc [7] Online tp-hsmm learning and trajMPC-based trajectory generation when communication is cut