juliencegarra / OpenMATB

OpenMATB: A Multi-Attribute Task Battery promoting task customization, software extendability and experiment replicability
Other
43 stars 32 forks source link

Ask : Track plugin with assistedsolver #18

Closed thomakl closed 1 year ago

thomakl commented 1 year ago

Hi,

Are you planning to put back the "assistedsolver" property of the Track plugin ? I would like to make this task easier on the Track task. Moreover I could play with the "cutofffrequency" to reduce the variability of the movement or maybe the speed. What property would you recommend playing with to "assist" the subject for the Track task ?

Cheers,

benoitvalery commented 1 year ago

In the new version, things have changed for the Track task. – The assistedsolver parameter has been replaced by the automaticsolver parameter. Each and every task plugin can now by automated via this parameter, like :

0:00:00;track;automaticsolver;True

You can enable or disable automation multiple times if desired. These automation states are linked to the scheduling plugin (if active) and will be rendered differently in the timeline, to allow the operator to take automation phases into account.

For instance the next scenario should implement a 1-minute tracking task, with automation being disabled at 30 sec.

0:00:00;track;start
0:00:00;scheduling;start
0:00:00;track;automaticsolver;True
0:00:30;track;automaticsolver;False
0:01:00;scheduling;stop
0:01:00;track;stop

– As for the speed of the reticle, it is not a parameter anymore, since in the dev version, we compute the path of the reticulum by re-implementing the closest version possible from the original MATB by Comstock & Arnegard. Nevertheless, there is a tweak you can test : the speed of the tracking task is inherent to its taskupdatetime (default to 20, which means "refresh task every 20 milliseconds", i.e., 50 hertz). If you speed up this refreshing rate, there will be much more computations per second, hence speeding up the movement of the reticulum. The problem here is that you will also speed up the rate of the joystick input (i.e, the joystick force is conversely proportional to the taskupdatetime of the task). So, if you want to increase the difficulty without reprogramming the tracking plugin, you can just do :

0:00:00;track;taskupdatetime;10    # This should speed up twice the movement of the tracking task
0:00:00;track;joystickforce;0.9       # This should give less force to the joystick, leading to more difficulty to compensate the task (test different values between 0 and 1, not sure of the relevance of the value used here)

You can also just speed up the task and consider it will trigger much more difficulty by itself. Do not hesitate to give me some feedbacks, Best,

thomakl commented 1 year ago

Hi,

Your tips work perfectly. I have managed to make adjust the difficulty of task with the taskupdatetime and the joystickforce. Thank you for your time,

Cheers,