diff --git a/README.md b/README.md index cd64b009ee6f3e2d7fb82751933eb56d98116469..30214ea18a12ac6cd468e42769aebbc11ef23993 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,7 @@ https://gitlab.idiap.ch/rli/pbdlib_gui ### Test ``` -cd build/examples +cd examples ./test_gmm ``` @@ -72,3 +72,160 @@ In order to link your program with PbDLib and Armadillo, add the following comma find_library(ARMADILLO_LIBRARIES armadillo) target_link_libraries(yourProgram pbd ${ARMADILLO_LIBRARIES}) ``` + +### References + +Did you find PbDlib useful for your research? Please acknowledge the authors in any academic publications that used parts of these codes. +<br><br> + +[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] Calligraphy, graffiti, handwriting movement generation: +``` +@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="" +} +``` + +[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 in the 'examples' folder, as listed in the table below. + +| Filename | ref. | Description | +|----------|------|-------------| +| test_adhsmm.cpp | [2] | Computation of the forward variable of an ADHSMM for a given external input that modifies the duration probabilities of the model | +| test_gmm.cpp | [1] | Gaussian mixture model (GMM) | +| test_gmr*.cpp | [1] | Gaussian mixture regression (GMR) | +| test_hsmm*.cpp | [2] | Hidden semi-Markov model (HSMM) | +| test_lqr.cpp | [1] | Linear quadratic regulator (LQR) with either finite or infinite horizons, continuous version, iterative computation | +| test_lqr_discrete.cpp | [1] | Discrete version of LQR | +| test_mpc.cpp | [1] | Model predictive control (MPC), batch LQR computation | +| test_onlineDP.cpp | [6] | DP-means for online estimation of GMM parameters | +| test_quaternions.cpp | [3] | Orientations as unit quaternions | +| test_rewardWeightedRefinement.cpp | [] | EM-based stochasitc optimization | +| test_tpgmm*.cpp | [1] | Task-parameterized Gaussian mixture model (TP-GMM) | +| test_tphsmm.cpp | [1,2] | Task-parameterized hidden semi-Markov model (TP-HSMM) | +| test_trajGMM.cpp | [1] | GMM with dynamic features (trajectory GMM) | +| test_trajMPC*.cpp | [] | Generation of trajectory distributions with MPC | + + diff --git a/examples/test_dmp.cpp b/examples/test_dmp.cpp deleted file mode 100644 index 0a96b49f4c401b9c7d4d396771decaf4a9418dc1..0000000000000000000000000000000000000000 --- a/examples/test_dmp.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/** -Copyright (C) 2014, Davide De Tommaso, Milad Malekzadeh, Sylvain Calinon - -This file is part of PbDLib. - - PbDLib is free software: you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - PbDLib is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with PbDLib. If not, see <http://www.gnu.org/licenses/>. -*/ - -/*! \file repro_gmr.cpp -\brief Learning GMM model and testing reproductions with GMR -Learning a GMM model from a demonstration saved in the file data_txyz.txt and after - -\author Davide De Tommaso, Milad Malekzadeh, Sylvain Calinon -\bug No known bugs. -*/ - -#include "pbdlib/gmm.h" -#include "pbdlib/gmr.h" -#include <sstream> - -#define nbStates 3 -#define nbVar 4 -#define nbData 200 - -using namespace pbdlib; - -int main(int argc, char **argv) -{ - - return 0; -} -