From e2d23147cb1e7c2558c9dea236762769fe24daa9 Mon Sep 17 00:00:00 2001
From: scalinon <sylvain.calinon@idiap.ch>
Date: Tue, 2 Feb 2021 12:03:39 +0100
Subject: [PATCH] Renaming of files

---
 CMakeLists.txt                                | 24 ++++-----
 README.md                                     | 51 ++++++++++---------
 ...demo_MPC_batch01.cpp => demo_OC_LQT01.cpp} |  0
 ...tive01.cpp => demo_OC_LQT_recursive01.cpp} |  0
 ...itied01.cpp => demo_OC_LQT_semitied01.cpp} |  0
 ...ocity01.cpp => demo_OC_LQT_velocity01.cpp} |  0
 6 files changed, 38 insertions(+), 37 deletions(-)
 rename src/{demo_MPC_batch01.cpp => demo_OC_LQT01.cpp} (100%)
 rename src/{demo_MPC_iterative01.cpp => demo_OC_LQT_recursive01.cpp} (100%)
 rename src/{demo_MPC_semitied01.cpp => demo_OC_LQT_semitied01.cpp} (100%)
 rename src/{demo_MPC_velocity01.cpp => demo_OC_LQT_velocity01.cpp} (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index edf28de..9de152e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -245,42 +245,42 @@ target_link_libraries(demo_LWR_iterative01
 	${LIBRARIES}
 )
 
-add_executable(demo_MPC_batch01
+add_executable(demo_OC_LQT01
 	${GFX2_SUPPORT_SOURCES}
-	${PROJECT_SOURCE_DIR}/src/demo_MPC_batch01.cpp
+	${PROJECT_SOURCE_DIR}/src/demo_OC_LQT01.cpp
 	${PROJECT_SOURCE_DIR}/src/utils/mpc_utils.cpp
 	${PROJECT_SOURCE_DIR}/src/utils/gl2ps.c
 )
-target_link_libraries(demo_MPC_batch01
+target_link_libraries(demo_OC_LQT01
 	${LIBRARIES}
 )
 
-add_executable(demo_MPC_iterative01
+add_executable(demo_OC_LQT_recursive01
 	${GFX2_SUPPORT_SOURCES}
-	${PROJECT_SOURCE_DIR}/src/demo_MPC_iterative01.cpp
+	${PROJECT_SOURCE_DIR}/src/demo_OC_LQT_recursive01.cpp
 	${PROJECT_SOURCE_DIR}/src/utils/mpc_utils.cpp
 )
-target_link_libraries(demo_MPC_iterative01
+target_link_libraries(demo_OC_LQT_recursive01
 	${LIBRARIES}
 )
 
-add_executable(demo_MPC_semitied01
+add_executable(demo_OC_LQT_semitied01
 	${GFX2_SUPPORT_SOURCES}
-	${PROJECT_SOURCE_DIR}/src/demo_MPC_semitied01.cpp
+	${PROJECT_SOURCE_DIR}/src/demo_OC_LQT_semitied01.cpp
 	${PROJECT_SOURCE_DIR}/src/utils/mpc_utils.cpp
 	${PROJECT_SOURCE_DIR}/src/utils/gl2ps.c
 )
-target_link_libraries(demo_MPC_semitied01
+target_link_libraries(demo_OC_LQT_semitied01
 	${LIBRARIES}
 )
 
-add_executable(demo_MPC_velocity01
+add_executable(demo_OC_LQT_velocity01
 	${GFX2_SUPPORT_SOURCES}
-	${PROJECT_SOURCE_DIR}/src/demo_MPC_velocity01.cpp
+	${PROJECT_SOURCE_DIR}/src/demo_OC_LQT_velocity01.cpp
 	${PROJECT_SOURCE_DIR}/src/utils/mpc_utils.cpp
 	${PROJECT_SOURCE_DIR}/src/utils/gl2ps.c
 )
-target_link_libraries(demo_MPC_velocity01
+target_link_libraries(demo_OC_LQT_velocity01
 	${LIBRARIES}
 )
 
diff --git a/README.md b/README.md
index 2a34226..6628582 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
 # pbdlib-cpp
 
-<p>PbDlib is a collection of C++ source codes for robot programming by demonstration (learning from demonstration). It includes various functionalities at the crossroad of statistical learning, dynamical systems, optimal control and Riemannian geometry.</p>
+<p>PbDlib is a collection of C++ source codes for robot programming by demonstration (learning from demonstration). It includes various functionalities including statistical learning, dynamical systems, optimal control and Riemannian geometry.</p>
 <p>PbDlib can be used in applications requiring task adaptation, human-robot skill transfer, safe controllers based on minimal intervention principle, as well as for probabilistic motion analysis and synthesis in multiple coordinate systems.</p>
-<p>Other versions of the library in Matlab (compatible with GNU Octave) and Python are also available at http://www.idiap.ch/software/pbdlib/ (currently, the Matlab version has the most functionalities).</p>
+<p>Other versions of the library in Matlab (compatible with GNU Octave) and Python are also available at https://www.idiap.ch/software/pbdlib/ (currently, the Matlab version contains the most complete set of examples).</p>
 
 
 ### Usage
@@ -22,10 +22,10 @@ This project builds a number of executables in the `build` folder, with the corr
 | [demo_infHorLQR01.cpp](./src/demo_infHorLQR01.cpp) | [[2]](#ref-2) | Discrete infinite horizon linear quadratic regulation |
 | [demo_LWR_batch01.cpp](./src/demo_LWR_batch01.cpp) | [[2]](#ref-2) | Locally weighted regression (LWR) with radial basis functions (RBF), using batch computation |
 | [demo_LWR_iterative01.cpp](./src/demo_LWR_iterative01.cpp) | [[2]](#ref-2) | Locally weighted regression (LWR) with radial basis functions (RBF), using iterative computation |
-| [demo_MPC_batch01.cpp](./src/demo_MPC_batch01.cpp) | [[2]](#ref-2), [[7]](#ref-7) | Model predictive control (MPC) with batch linear quadratic tracking (LQT) formulation |
-| [demo_MPC_iterative01.cpp](./src/demo_MPC_iterative01.cpp) | [[2]](#ref-2), [[7]](#ref-7) | Model predictive control (MPC) with iterative linear quadratic tracking (LQT) formulation |
-| [demo_MPC_semitied01.cpp](./src/demo_MPC_semitied01.cpp) | [[2]](#ref-2), [[7]](#ref-7) | MPC with semi-tied covariances |
-| [demo_MPC_velocity01.cpp](./src/demo_MPC_velocity01.cpp) | [[2]](#ref-2), [[7]](#ref-7) | MPC with an objective including velocity tracking |
+| [demo_OC_LQT01.cpp](./src/demo_OC_LQT01.cpp) | [[2]](#ref-2), [[7]](#ref-7) | Batch solution of linear quadratic tracking (LQT) optimal control problem |
+| [demo_OC_LQT_recursive01.cpp](./src/demo_OC_LQT_recursive01.cpp) | [[2]](#ref-2), [[7]](#ref-7) | Recursive solution of linear quadratic tracking (LQT) optimal control problem |
+| [demo_OC_LQT01_semitied01.cpp](./src/demo_OC_LQT01_semitied01.cpp) | [[2]](#ref-2), [[7]](#ref-7) | LQT with semi-tied covariances |
+| [demo_OC_LQT01_velocity01.cpp](./src/demo_OC_LQT01_velocity01.cpp) | [[2]](#ref-2), [[7]](#ref-7) | LQT with an objective function including velocity tracking |
 | [demo_online_GMM01.cpp](./src/demo_online_GMM01.cpp) | [[2]](#ref-2), [[6]](#ref-6) | Online GMM learning and LQR-based trajectory generation |
 | [demo_online_HSMM01.cpp](./src/demo_online_HSMM01.cpp) | [[2]](#ref-2), [[6]](#ref-6) | Online HSMM learning and sampling with LQR-based trajectory generation |
 | [demo_proMP01.cpp](./src/demo_proMP01.cpp) | [[5]](#ref-5) | Conditioning on trajectory distributions with ProMP |
@@ -53,67 +53,68 @@ If you find PbDlib useful for your research, please cite the related publication
 <p><a name="ref-1">
 [1] Calinon, S. (2016). <strong>A Tutorial on Task-Parameterized Movement Learning and Retrieval</strong>. Intelligent Service Robotics (Springer), 9:1, 1-29.
 </a><br>
-[[pdf]](http://calinon.ch/papers/Calinon-JIST2015.pdf)
-[[bib]](http://calinon.ch/papers/Calinon-JIST2015.bib)
+[[pdf]](https://calinon.ch/papers/Calinon-JIST2015.pdf)
+[[bib]](https://calinon.ch/papers/Calinon-JIST2015.bib)
 <br><strong>(Ref. for GMM, TP-GMM, MFA, MPPCA, GPR, trajGMM)</strong>
 </p>
 
 <p><a name="ref-2">
 [2] Calinon, S. and Lee, D. (2019). <strong>Learning Control</strong>. Vadakkepat, P. and Goswami, A. (eds.). Humanoid Robotics: a Reference, pp. 1261-1312. Springer.
 </a><br>
-[[pdf]](http://calinon.ch/papers/Calinon-Lee-learningControl.pdf)
-[[bib]](http://calinon.ch/papers/Calinon-Lee-learningControl.bib)
+[[pdf]](https://calinon.ch/papers/Calinon-Lee-learningControl.pdf)
+[[bib]](https://calinon.ch/papers/Calinon-Lee-learningControl.bib)
 <br><strong>(Ref. for MPC, LQR, HMM, HSMM)</strong>
 </p>
 
 <p><a name="ref-3">
-[3] Calinon, S. and Jaquier, N. (2019). <strong>Gaussians on Riemannian Manifolds for Robot Learning and Adaptive Control</strong>. arXiv:1909.05946.
+[3] Calinon, S. (2020). <strong>Gaussians on Riemannian Manifolds: Applications for Robot Learning and Adaptive Control</strong>. IEEE Robotics and Automation Magazine (RAM), 27:2, 33-45.
 </a><br>
-[[pdf]](http://calinon.ch/papers/Calinon-arXiv2019.pdf)
-[[bib]](http://calinon.ch/papers/Calinon-arXiv2019.bib)
+[[pdf]](https://calinon.ch/papers/Calinon-RAM2020.pdf)
+[[bib]](https://calinon.ch/papers/Calinon-RAM2020.bib)
 <br><strong>(Ref. for Riemannian manifolds)</strong>
 </p>
 
 <p><a name="ref-4">
 [4] Jaquier, N. and Calinon, S. (2017). <strong>Gaussian Mixture Regression on Symmetric Positive Definite Matrices Manifolds: Application to Wrist Motion Estimation with sEMG</strong>. In Proc. of the IEEE/RSJ Intl Conf. on Intelligent Robots and Systems (IROS), pp. 59-64.
 </a><br>
-[[pdf]](http://calinon.ch/papers/Jaquier-IROS2017.pdf)
-[[bib]](http://calinon.ch/papers/Jaquier-IROS2017.bib)
+[[pdf]](https://calinon.ch/papers/Jaquier-IROS2017.pdf)
+[[bib]](https://calinon.ch/papers/Jaquier-IROS2017.bib)
 <br><strong>(Ref. for S^+ Riemannian manifolds)</strong>
 </p>
 
 <p><a name="ref-5">
 [5] Calinon, S. (2019). <strong>Mixture Models for the Analysis, Edition, and Synthesis of Continuous Time Series</strong>. Bouguila, N. and Fan, W. (eds). Mixture Models and Applications, pp. 39-57. Springer.
 </a><br>
-[[pdf]](http://calinon.ch/papers/Calinon_MMchapter2019.pdf)
-[[bib]](http://calinon.ch/papers/Calinon_MMchapter2019.bib)
+[[pdf]](https://calinon.ch/papers/Calinon_MMchapter2019.pdf)
+[[bib]](https://calinon.ch/papers/Calinon_MMchapter2019.bib)
 <br><strong>(Ref. for ergodic control, Bezier curves, LWR, GMR, probabilistic movement primitives)</strong>
 </p>
 
 <p><a name="ref-6">
 [6] Bruno, D., Calinon, S. and Caldwell, D.G. (2017). <strong>Learning Autonomous Behaviours for the Body of a Flexible Surgical Robot</strong>. Autonomous Robots, 41:2, 333-347.
 </a><br>
-[[pdf]](http://calinon.ch/papers/Bruno-AURO2017.pdf)
-[[bib]](http://calinon.ch/papers/Bruno-AURO2017.bib)
+[[pdf]](https://calinon.ch/papers/Bruno-AURO2017.pdf)
+[[bib]](https://calinon.ch/papers/Bruno-AURO2017.bib)
 <br><strong>(Ref. for DP-means)</strong>
 </p>
 
 <p><a name="ref-7">
 [7] Berio, D., Calinon, S. and Fol Leymarie, F. (2017). <strong>Generating Calligraphic Trajectories with Model Predictive Control</strong>. In Proc. of the 43rd Conf. on Graphics Interface, pp. 132-139.
 </a><br>
-[[pdf]](http://calinon.ch/papers/Berio-GI2017.pdf)
-[[bib]](http://calinon.ch/papers/Berio-GI2017.bib)
-<br><strong>(Ref. for Bezier curves as MPC with viapoints)</strong>
+[[pdf]](https://calinon.ch/papers/Berio-GI2017.pdf)
+[[bib]](https://calinon.ch/papers/Berio-GI2017.bib)
+<br><strong>(Ref. for Bezier curves as LQT with viapoints)</strong>
 </p>
 
 <p><a name="ref-8">
 [8] EPFL EE613 course "Machine Learning for Engineers"
 </a><br>
-[[url]](http://calinon.ch/teaching.htm)
+[[url]](https://calinon.ch/teaching_EPFL.htm)
 <br><strong>(Ref. for machine learning teaching material)</strong>
 </p>
 
 
+
 ### Installation prerequisite
 
 PbDlib requires:
@@ -214,8 +215,8 @@ and compile as usual.
 | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_ergodicControl_2D01.gif) <br> [demo\_demo\_ergodicControl\_2D01.cpp](./src/demo_ergodicControl_2D01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_GMR01.gif) <br> [demo\_GMR01.cpp](./src/demo_GMR01.cpp) |
 | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_GPR01.gif) <br> [demo\_GPR01.cpp](./src/demo_GPR01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_HSMM_batchLQR01.gif) <br> [demo\_HSMM\_batchLQR01.cpp](./src/demo_HSMM_batchLQR01.cpp) |
 | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_LWR_batch01.gif) <br> [demo\_LWR\_batch01.cpp](./src/demo_LWR_batch01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_LWR_iterative01.gif) <br> [demo\_LWR\_iterative01.cpp](./src/demo_LWR_iterative01.cpp) |
-| ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_MPC_batch01.gif) <br> [demo\_MPC\_batch01.cpp](./src/demo_MPC_batch01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_MPC_iterative01.gif) <br> [demo\_MPC\_iterative01.cpp](./src/demo_MPC_iterative01.cpp) |
-| ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_MPC_semitied01.gif) <br> [demo\_MPC\_semitied01.cpp](./src/demo_MPC_semitied01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_MPC_velocity01.gif) <br> [demo\_MPC\_velocity01.cpp](./src/demo_MPC_velocity01.cpp) |
+| ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_MPC_batch01.gif) <br> [demo\_OC\_LQT01.cpp](./src/demo_OC_LQT01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_MPC_iterative01.gif) <br> [demo\_MPC\_iterative01.cpp](./src/demo_MPC_iterative01.cpp) |
+| ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_MPC_semitied01.gif) <br> [demo\_OC\_LQT\_semitied01.cpp](./src/demo_OC_LQT_semitied01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_MPC_velocity01.gif) <br> [demo\_MPC\_velocity01.cpp](./src/demo_MPC_velocity01.cpp) |
 | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_online_GMM01.gif) <br> [demo\_online\_GMM01.cpp](./src/demo_online_GMM01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_proMP01.gif) <br> [demo\_proMP01.cpp](./src/demo_proMP01.cpp) |
 | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_Riemannian_SPD_GMR01.gif) <br> [demo\_Riemannian\_SPD\_GMR01.cpp](./src/demo_Riemannian_SPD_GMR01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_Riemannian_SPD_interp02.gif) <br> [demo\_Riemannian\_SPD\_interp02.cpp](./src/demo_Riemannian_SPD_interp02.cpp) | 
 | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_Riemannian_pose_batchLQR01.gif) <br> [demo\_Riemannian\_pose\_batchLQR01.cpp](./src/demo_Riemannian_pose_batchLQR01.cpp) | ![](https://gitlab.idiap.ch/rli/pbdlib-cpp-sandbox/raw/master/images/demo_Riemannian_pose_infHorLQR01.gif) <br> [demo\_Riemannian\_pose\_infHorLQR01.cpp](./src/demo_Riemannian_pose_infHorLQR01.cpp) |
diff --git a/src/demo_MPC_batch01.cpp b/src/demo_OC_LQT01.cpp
similarity index 100%
rename from src/demo_MPC_batch01.cpp
rename to src/demo_OC_LQT01.cpp
diff --git a/src/demo_MPC_iterative01.cpp b/src/demo_OC_LQT_recursive01.cpp
similarity index 100%
rename from src/demo_MPC_iterative01.cpp
rename to src/demo_OC_LQT_recursive01.cpp
diff --git a/src/demo_MPC_semitied01.cpp b/src/demo_OC_LQT_semitied01.cpp
similarity index 100%
rename from src/demo_MPC_semitied01.cpp
rename to src/demo_OC_LQT_semitied01.cpp
diff --git a/src/demo_MPC_velocity01.cpp b/src/demo_OC_LQT_velocity01.cpp
similarity index 100%
rename from src/demo_MPC_velocity01.cpp
rename to src/demo_OC_LQT_velocity01.cpp
-- 
GitLab