============================================================
Neuromechanic - A neuromechanic model of button-pressing

Authors: Antti Oulasvirta (1), Byungjoo Lee (2), Sunjun Kim (1)
(1) Aalto University
(2) KAIST
 
Version: September 19 2017

This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

The simulink model was built upon Contact Forces Lib by Steve Miller:
https://www.mathworks.com/matlabcentral/fileexchange/47417

============================================================
Version overview

This is the version reported in the Proceedings of CHI 2018
(Oulasvirta, Kim, & Lee, 2018). Read full paper at
http://doi.org/10.1145/3173574.3174082

============================================================
BibTeX citation: 

@inproceedings{oulasvirta2018neuromechanics,
  title={Neuromechanics of a Button Press},
  author={Oulasvirta, Antti and Kim, Sunjun and Lee, Byungjoo},
  booktitle={Proceedings of the 36th Annual ACM Conference on Human Factors in Computing Systems (CHI'18)},
  year={2018},
  organization={ACM Press},
  doi={http://doi.org/10.1145/3173574.3174082}
}

============================================================
Installation

This version has been created using Matlab 2017a. bayesopt, Simulink and SimScape are required.

============================================================
Key files

- /FDdatabase stores an executable for measuring force-displacement curves (using apparatus described in the paper) and readings from 5 types of buttons
- /Results stores simulation results (.png, .fig, and .txt)

============================================================
Usage
- Parameters are edited in-line and via associated csv files (see code)
- You can turn on a visual simulation of button-pressing from Simscape (Mechanics Explorer)
- Execution is divided into Training and Testing. Example output:

Training
|===============================================================================================================================|
| Iter | Eval   | Objective  | Objective  | BestSoFar  | BestSoFar  |         amag |         pwag |         onag |       exp_ap |
|      | result |            | runtime    | (observed) | (estim.)   |              |              |              |              |
|===============================================================================================================================|
|    1 | Best   |     1.6722 |     42.075 |     1.6722 |     1.6722 |       0.7196 |       2.7325 |       0.6267 |       2.5424 |

Best observed feasible point:
     amag      pwag      onag     exp_ap
    ______    ______    ______    ______

    0.7196    2.7325    0.6267    2.5424

Estimated objective function value = 1.6722
Estimated function evaluation time = 42.0747

Testing

    delta_avg    delta_std    success_avg    ovs_avg    activation_point_avg    activation_point_std    muscleforce_avg    muscleforce_std
    _________    _________    ___________    _______    ____________________    ____________________    _______________    _______________

    1.7093       0.051376     1              1.7093     0.78218                 0.051737                1.9861             0.11262        

