Faulty Transitions

Dear Chris,

I am encountering a problem with an experiment which I hope you can help.

The problem lies in the Sampling Protocol, task system states “Target”, “Saccade Hold First Target”, and “Saccade Hold Second Target”. Basically what I want to do is if subjects look at target 1 (indicated by IO_target1_fixated) or target 2 (IO_target2_fixated), then transition to the corresponding task system:“Saccade Hold First Target” or “Saccade Hold Second Target”. In these states, the correctness of subjects saccade is determined by these criteria:

if subjects look at target 1 and target_location variable (which is in the range replicator) is 0, then it is correct.

if subjects look at target 2 and target_location variable is 1, then it is correct.

Any other conditions are incorrect.

If correct, transition to “Reward”. If incorrect, transition to “Wrong Location”. However, when I instructed a subject to look at the incorrect location, Works still transitioned to Reward. In other words, MWorks considered that as a correct. I monitored the subject’s eye location in the Eye Window, so I know that the subject really looked at the incorrect location. I also had someone tested myself in this experiment and the same thing happened.

I have tried several things but I could not for the life of me figure out what is wrong with my code. Can you please help me with this?

Thank you
Tenri

Hi Tenri,

I think I see the problem.

The states “Saccade Hold First Target” and “Saccade Hold Second Target” each have three timer_expired transitions, each of which waits on a different timer. However, when the transitions are evaluated, only one of the timers has been set. MWorks treats unset timers as expired, so a timer_expired transition on an unset timer will always succeed.

To fix the problem, I think you should add three additional states: “sacHold”, “fastRT”, and “wrongRT”, corresponding to each of the outcomes you test for in the “Saccade Hold…” states. Those new states would just wait for the desired amount of time, then transition to “Reward”, “Faster Response”, or “Wrong Location”, respectively. In the “Saccade Hold…” states, replace the three “if” actions with three conditional transitions, each of which goes to one of the new states.

I think that should resolve the problem. If not, please let me know!

Cheers,
Chris

Hi Chris,

Thanks for the fast response. I will try to change the code according to your suggestions and test it tomorrow. I will let you know the result.

Cheers,
Tenri

Hi Chris,

The problem is solved, the transition works now. Thank you very much!

Cheers,
Tenri