Commit b738860a authored by Sylvain Calinon's avatar Sylvain Calinon

Homogenization of headers in example codes

parent ffbedaaf
# pbdlib-matlab # pbdlib-matlab
PbDLib is a set of tools combining statistical learning, dynamical systems and optimal control approaches for programming-by-demonstration applications. The Matlab/GNU Octave version is currently maintained by Sylvain Calinon, Idiap Research Institute, http://idiap.ch/~scalinon/, http://calinon.ch. PbDlib is a set of tools combining statistical learning, dynamical systems and optimal control approaches for programming-by-demonstration applications, http://www.idiap.ch/software/pbdlib/.
The Matlab/GNU Octave version is currently maintained by Sylvain Calinon, Idiap Research Institute.
A C++ version of the library (with currently fewer functionalities) is available at https://gitlab.idiap.ch/rli/pbdlib A C++ version of the library (with currently fewer functionalities) is available at https://gitlab.idiap.ch/rli/pbdlib
...@@ -14,7 +15,7 @@ Examples starting with `demo_` can be run from Matlab/GNU Octave. ...@@ -14,7 +15,7 @@ Examples starting with `demo_` can be run from Matlab/GNU Octave.
### References ### References
Did you find PbDLib useful for your research? Please acknowledge the authors in any academic publications that used some parts of these codes. Did you find PbDLib useful for your research? Please acknowledge the authors in any academic publications that used parts of these codes.
``` ```
@article{Calinon15, @article{Calinon15,
...@@ -39,6 +40,23 @@ Did you find PbDLib useful for your research? Please acknowledge the authors in ...@@ -39,6 +40,23 @@ Did you find PbDLib useful for your research? Please acknowledge the authors in
The folder "data" contains a dataset of 2D handwriting movements from LASA-EPFL (http://lasa.epfl.ch), collected within the context of the AMARSI European Project. Reference: S.M. Khansari-Zadeh and A. Billard, "Learning Stable Non-Linear Dynamical Systems with Gaussian Mixture Models", IEEE Transaction on Robotics, 2011. The folder "data" contains a dataset of 2D handwriting movements from LASA-EPFL (http://lasa.epfl.ch), collected within the context of the AMARSI European Project. Reference: S.M. Khansari-Zadeh and A. Billard, "Learning Stable Non-Linear Dynamical Systems with Gaussian Mixture Models", IEEE Transaction on Robotics, 2011.
### License
Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
Written by Sylvain Calinon, http://calinon.ch/
PbDlib is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License version 3 as
published by the Free Software Foundation.
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 General Public License for more details.
You should have received a copy of the GNU General Public License
along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
### List of examples ### List of examples
All the examples are located in the main folder, and the functions are located in the `m_fcts` folder. All the examples are located in the main folder, and the functions are located in the `m_fcts` folder.
......
function benchmark_DS_GP_GMM01 function benchmark_DS_GP_GMM01
% Benchmark of task-parameterized model based on Gaussian process regression, % Benchmark of task-parameterized model based on Gaussian process regression,
% with trajectory model (Gaussian mixture model encoding), and DS-GMR used for reproduction % with trajectory model (Gaussian mixture model encoding), and DS-GMR used for reproduction.
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function benchmark_DS_GP_raw01 function benchmark_DS_GP_raw01
% Benchmark of task-parameterized model based on Gaussian process regression, % Benchmark of task-parameterized model based on Gaussian process regression,
% with raw trajectory, and spring-damper system used for reproduction % with raw trajectory, and spring-damper system used for reproduction.
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function benchmark_DS_PGMM01 function benchmark_DS_PGMM01
% Benchmark of task-parameterized model based on parametric Gaussian mixture model, and DS-GMR used for reproduction % Benchmark of task-parameterized model based on parametric Gaussianvmixture model,
% and DS-GMR used for reproduction.
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function benchmark_DS_TP_GMM01 function benchmark_DS_TP_GMM01
% Benchmark of task-parameterized Gaussian mixture model (TP-GMM), with DS-GMR used for reproduction % Benchmark of task-parameterized Gaussian mixture model (TP-GMM),
% with DS-GMR used for reproduction.
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function benchmark_DS_TP_GP01 function benchmark_DS_TP_GP01
% Benchmark of task-parameterized Gaussian process (nonparametric task-parameterized method) % Benchmark of task-parameterized Gaussian process (nonparametric task-parameterized method).
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function benchmark_DS_TP_LWR01 function benchmark_DS_TP_LWR01
% Benchmark of task-parameterized locally weighted regression (nonparametric task-parameterized method) % Benchmark of task-parameterized locally weighted regression (nonparametric task-parameterized method).
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function benchmark_DS_TP_MFA01 function benchmark_DS_TP_MFA01
% Benchmark of task-parameterized mixture of factor analyzers (TP-MFA), with DS-GMR used for reproduction % Benchmark of task-parameterized mixture of factor analyzers (TP-MFA),
% with DS-GMR used for reproduction.
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function benchmark_DS_TP_trajGMM01 function benchmark_DS_TP_trajGMM01
% Benchmark of task-parameterized Gaussian mixture model (TP-GMM), with DS used for reproduction % Benchmark of task-parameterized Gaussian mixture model (TP-GMM),
% with dynamical system used for reproduction.
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function demoIK_nullspace_TPGMM01 function demoIK_nullspace_TPGMM01
% Inverse kinematics with nullspace treated with task-parameterized GMM (bimanual tracking task, version with 4 frames). % Inverse kinematics with nullspace treated with task-parameterized GMM (bimanual tracking task, version with 4 frames).
%
% This example requires Peter Corke's robotics toolbox (run 'startup_rvc' from the robotics toolbox). % This example requires Peter Corke's robotics toolbox (run 'startup_rvc' from the robotics toolbox).
% %
% Sylvain Calinon, 2015 % Sylvain Calinon, 2015
% http://programming-by-demonstration.org/lib/ % http://programming-by-demonstration.org/lib/
% %
% This source code is given for free! In exchange, I would be grateful if you cite % Writing code takes time. Polishing it and making it available to others takes longer!
% the following reference in any academic publication that uses this code or part of it: % If some parts of the code were useful for your research of for a better understanding
% of the algorithms, please reward the authors by citing the related publications,
% and consider making your own research available in this way.
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function demoIK_pointing_TPGMM01 function demoIK_pointing_TPGMM01
% Task-parameterized GMM to encode pointing direction by considering nullspace constraint (4 frames) % Task-parameterized GMM to encode pointing direction by considering nullspace constraint (4 frames)
% (example with two objects and robot frame, starting from the same initial pose (nullspace constraint), % (example with two objects and robot frame, starting from the same initial pose (nullspace constraint),
% by using a single Euler orientation angle and 3 DOFs robot) % by using a single Euler orientation angle and 3 DOFs robot).
%
% This example requires Peter Corke's Robotics Toolbox (run 'startup_rvc' from the Robotics Toolbox). % This example requires Peter Corke's Robotics Toolbox (run 'startup_rvc' from the Robotics Toolbox).
% %
% Sylvain Calinon, 2015 % Writing code takes time. Polishing it and making it available to others takes longer!
% http://programming-by-demonstration.org/lib/ % If some parts of the code were useful for your research of for a better understanding
% % of the algorithms, please reward the authors by citing the related publications,
% This source code is given for free! In exchange, I would be grateful if you cite % and consider making your own research available in this way.
% the following reference in any academic publication that uses this code or part of it:
% %
% @article{Calinon15, % @article{Calinon15,
% author="Calinon, S.", % author="Calinon, S.",
% title="A tutorial on task-parameterized movement learning and retrieval", % title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% year="2015", % journal="Intelligent Service Robotics",
% year="2015"
% } % }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
......
function demo_DMP_GMR01 function demo_DMP_GMR01
%Emulation of a standard dynamic movement primitive (DMP) model by using a Gaussian mixture model (GMM) % Emulation of a standard dynamic movement primitive (DMP) model by using a Gaussian mixture model (GMM)
%with diagonal convariance matrix, and retrieval computed through Gaussian mixture regression (GMR) % with diagonal covariance matrix, and retrieval computed through Gaussian mixture regression (GMR).
%Sylvain Calinon, 2015 %
% Writing code takes time. Polishing it and making it available to others takes longer!
% If some parts of the code were useful for your research of for a better understanding
% of the algorithms, please reward the authors by citing the related publications,
% and consider making your own research available in this way.
%
% @article{Calinon15,
% author="Calinon, S.",
% title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% journal="Intelligent Service Robotics",
% year="2015"
% }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
%% Parameters %% Parameters
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
model.nbStates = 5; %Number of activation functions (i.e., number of states in the GMM) model.nbStates = 5; %Number of activation functions (i.e., number of states in the GMM)
......
function demo_DMP_GMR02 function demo_DMP_GMR02
%Example of enhanced dynamic movement primitive (DMP) model trained with EM by using a Gaussian mixture model (GMM) representation, % Enhanced dynamic movement primitive (DMP) model trained with EM by using a Gaussian mixture
%with full covariance matrices coordinating the different variables in the feature space. After learning (i.e., autonomous organization % model (GMM) representation, with full covariance matrices coordinating the different variables
%of the basis functions (position and spread), Gaussian mixture regression (GMR) is used to regenerate the nonlinear force profile. % in the feature space. After learning (i.e., autonomous organization of the basis functions (position
%Sylvain Calinon, 2015 % and spread), Gaussian mixture regression (GMR) is used to regenerate the nonlinear force profile.
%
% Writing code takes time. Polishing it and making it available to others takes longer!
% If some parts of the code were useful for your research of for a better understanding
% of the algorithms, please reward the authors by citing the related publications,
% and consider making your own research available in this way.
%
% @article{Calinon15,
% author="Calinon, S.",
% title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% journal="Intelligent Service Robotics",
% year="2015"
% }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
%% Parameters %% Parameters
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
model.nbStates = 5; %Number of states in the GMM model.nbStates = 5; %Number of states in the GMM
......
function demo_DMP_GMR03 function demo_DMP_GMR03
%Example of enhanced dynamic movement primitive (DMP) model trained with EM by using a Gaussian mixture model (GMM) representation, % Enhanced dynamic movement primitive (DMP) model trained with EM by using a Gaussian mixture
%with full covariance matrices coordinating the different variables in the feature space. After learning (i.e., autonomous organization % model (GMM) representation, with full covariance matrices coordinating the different variables
%of the basis functions (position and spread), Gaussian mixture regression (GMR) is used to regenerate the path of a spring-damper system, % in the feature space. After learning (i.e., autonomous organization of the basis functions
%resulting in a nonlinear force profile. % (position and spread), Gaussian mixture regression (GMR) is used to regenerate the path of
%Sylvain Calinon, 2015 % a spring-damper system, resulting in a nonlinear force profile.
%
% Writing code takes time. Polishing it and making it available to others takes longer!
% If some parts of the code were useful for your research of for a better understanding
% of the algorithms, please reward the authors by citing the related publications,
% and consider making your own research available in this way.
%
% @article{Calinon15,
% author="Calinon, S.",
% title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% journal="Intelligent Service Robotics",
% year="2015"
% }
%
% Copyright (c) 2015 Idiap Research Institute, http://idiap.ch/
% Written by Sylvain Calinon, http://calinon.ch/
%
% This file is part of PbDlib, http://www.idiap.ch/software/pbdlib/
%
% PbDlib is free software: you can redistribute it and/or modify
% it under the terms of the GNU General Public License version 3 as
% published by the Free Software Foundation.
%
% 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 General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with PbDlib. If not, see <http://www.gnu.org/licenses/>.
addpath('./m_fcts/'); addpath('./m_fcts/');
%% Parameters %% Parameters
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
model.nbStates = 5; %Number of states in the GMM model.nbStates = 5; %Number of states in the GMM
......
function demo_DMP_GMR04 function demo_DMP_GMR04
%Example of enhanced dynamic movement primitive (DMP) model trained with EM by using a Gaussian mixture model (GMM) representation, % Enhanced dynamic movement primitive (DMP) model trained with EM by using a Gaussian mixture
%with full covariance matrices coordinating the different variables in the feature space, and by using the task-parameterized model % model (GMM) representation, with full covariance matrices coordinating the different variables
%formalism. After learning (i.e., autonomous organization of the basis functions (position and spread), Gaussian mixture % in the feature space, and by using the task-parameterized model formalism. After learning
%regression (GMR) is used to regenerate the path of a spring-damper system, resulting in a nonlinear force profile. % (i.e., autonomous organization of the basis functions (position and spread), Gaussian mixture
%Sylvain Calinon, 2015 % regression (GMR) is used to regenerate the path of a spring-damper system, resulting in a
% nonlinear force profile.
%
% Writing code takes time. Polishing it and making it available to others takes longer!
% If some parts of the code were useful for your research of for a better understanding
% of the algorithms, please reward the authors by citing the related publications,
% and consider making your own research available in this way.
%
% @article{Calinon15,
% author="Calinon, S.",
% title="A Tutorial on Task-Parameterized Movement Learning and Retrieval",
% journal="Intelligent Service Robotics",
% year="2015"