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 |