Note: This task has been updated and cleaned up significantly from the first version.
Note 2: I have just updated this again so that there are different force values applied for primary vs. secondary encoder systems.
Note 3: The update I have just added allows the task to be run on the Exoskeleton (not the classic). I have also done some further clean up.
This is a sample task that implements a force channel similar to what is described here:
Scheidt et al. (2000), Persistence of Motor Adaptation During Constrained, Multi-Joint, Arm Movements. J. Neurophys., 84(2): 853-862 (https://www.physiology.org/doi/full/10.1152/jn.2000.84.2.853)
This sample is just a modified reaching task that implements a force channel between the reaching targets. The supplied protocol has 8 targets 10cm from the center. The configurable parameters are:
- Channel width (width over which there is no force, may be zero)
- Wall width (the width of the virtual wall that will push you back to center)
- Wall stiffness
- Viscosity (viscous force perpendicular to the channel, this is required to keep things stable).
Some other key concepts here are:
- The force channel is ramped up over 1.5s once the destination target is turned on. This stops a potential violent jerk into the channel.
- The forces are ramped down over the last 25% of the wall’s width.
- If you break out of the channel then the forces are all off until you re-enter the channel.
This is compiled for Dexterit-E 3.6 and MATLAB 2013a.
Please note that this task is only possible to run on the Kinarm EP and Exoskeleton (not classic!) lab. The Kinarm Exoskeleton Classic Lab and Kinarm NHP Labs do not provide appropriate stiffness to make a force channel useful.