Commit cde5b963 by Sylvain CALINON

Updated list of examples

parent ba8065be
......@@ -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 |
/**
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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment