Rapid Reaching Task

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: January 11, 2019

Last Modified: January 06, 2024 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements a version of the Rapid Reaching Task for children - a task to study children’s risk-taking in everyday visuomotor situations when wrong choices could be costly - inspired by the published paradigm by Dekker et al (2016).

The script was originally written for and generously shared with the Millisecond library by Dr. Sara Haas.

References

Dekker TM, Nardini M. Risky visuomotor choices during rapid reaching in childhood. Dev Sci. 2016;19(3):427–439. doi:10.1111/desc.12322

Duration

25 minutes

Description

Participants click/touch a Start button that lies below a fixed frame. Soon after touching down on the Start button two overlapping circles, a green circle and a (e.g.) blue circle, appear in the frame. Participants have to release the Start button and click/touch the area within the green circle as fast as they can without landing in the area of the penalty area (e.g. the blue circle). Different costs for touching the penalty circle as well as outside the green circle are tested.

Procedure

(1) Demo Phase: 20 trials
=> The Demo Phase runs 20 trials with no time limits and additional text reminders on screen
=> the penalty circle is gray (hitting the penalty circle does not result in negative feedback)
=> hitting the green circle results in a point (but the point does not count towards count of total points)

(2) Training Phase: 15 blocks of 20 trials each
=> the Training phase starts with a time limit of 1000s
=> at the end of each training block it is checked whether performance is better or at 90% correct
AND participant has not timed out during any of the trials. In this case, the timeout gets adjusted down:
- the first adjustment will delete 100ms
- any subsequent adjustments will delete 50ms
=> the penalty circle is gray (hitting the penalty circle does not result in negative feedback)
=> hitting the green circle results in a point (but the point does not count towards total points)
=> the last two training blocks are run with the final test timeout (by default - editable parameter)

(3) Test Phase: 10 blocks of 20 trials

a) low penalty blocks: 5 blocks (color of penalty circle is blue; penalty => 1 point deduction)
b) high penalty blocks: 5 blocks (color of penalty circle is yellow; penalty => 5 point deduction)
=> order of low/high penalty blocks is counterbalanced by assigned groupnumber
=> odd groupnumbers run: low penalty -> high penalty
=> even groupnumbers run: high penalty -> low penalty

No Response Penalty: a no response penalty results in deduction of 7 points and a delay of the next trial of 20s
Misses Penalty: clicking/touching anywhere else on the screen does not result in deduction or winning of points


General TrialSequence:

1. Start: fixation cross + Start Button

2. Display: as soon as the start button is pressed down, the fixation frame appears
=> 500ms later the target circle/penalty circle display is presented
(if participant lifts the mouse button/finger of the start button before the display appears or
within 100ms of display presentation, the trial sequence is aborted and a new one is started.
The trial sequence is further aborted if the mouse/finger is moved off the Start Button before the
target display appears.)

3. Response: participants are asked to touch/click on the green circle as fast as possible
within the current time limit

4. Response Feedback: the computer displays a turquoise X where the screen was clicked/touched
and presents the number of points won or lost during this trial
=> if only the green circle was pressed: + 1
=> if only the penalty circle was clicked: -1 or -5
=> if the overlap region was pressed: sum of reward/penalty points

5. TEST only: Reward Meter
A visual reward meter is presented

6. Time out Delay: this trial is only run if a participant did not respond in time and has to wait
20sec for the next trial sequence


Distance Target/Penalty Circle:

this script varies the distance btw. target and penalty circle (within-factor):
two different conditions are run
near: center of penalty circle is 1 radius away from center of target circle
far: center of penalty circle is 1.5 radius away from center of target circle

The order within a block is randomly determined with the constraint that an equal number of each
condition is run within each block

Location Target/Penalty Circle:
The computer randomly jitters the x and y positions of the target circle within 31.5mm (based
on default measurements) of the x and y center position of the fixation frame
(see expressions.maxTargetOffsetMM)


the default height of the fixation frame is 81mm
=> 40.4mm are available on the top and bottom of the center to display the target circle
=> target circle has a radius of 9mm (40.5 - 9 = 31.5mm)
=> the max. displacement for the target center is 31.5mm


1. penalty circle is always to the right or left of target circle
2. it is randomly determined whether the penalty circle is presented to the left or the right of the
target circle

Stimuli

provided by Millisecond (not original) - can be edited under section Editable Stimuli

Instructions

provided by Millisecond (not original) - can be edited under section Editable Instructions

Summary Data

File Name: rapidreachingtask_child_summary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
startDate Date the session was run
startTime Time the session was run
subjectId Participant ID
groupId Group number
sessionId Session number
elapsedTime Session duration in ms
completed 0 = Test was not completed
1 = Test was completed
minScreenHeightMM The minimum needed screen height in mm to run the task with the current default settings
screenHeightMM The screen height of this device in mm
timeout The time out (in ms) used during the test
propCorrect Proportion correct test trials
meanRT Mean response time (in ms) of touching the screen; measured from target onset
meanCorrRT Mean response time (in ms) of touching the target area only; measured from target onset
meanTargetDistancePX Mean distance btw. response coordinate and center of target (measured in screen pixels)
meanTargetDistanceMM Mean distance btw. response coordinate and center of target (converted to mm)
timeoutCounter The number of times participant did not respond in time during the test phase
+ summary data by training/low penalty blocks/high penalty blocks

Raw Data

File Name: rapidreachingtask_child_raw*.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
date Date the session was run
time Time the session was run
subject, group, session With the current subject/groupnumber/sessionnumber
minScreenHeightMM The minimum needed screen height in mm to run the task with the current default settings
screenHeightMM The screen height of this device in mm
blockCode Name of the current block
blockNum Number of the current block
trialCode Name of the current trial
trialNum Number of the current trial
blockCounterPerPhase Tracks the number of blocks run during the current phase
trialCounterBlock Tracks the number of trials run during the current block
phase "training" vs. "test"
timeout The timeOut (in ms) for the current trial
penaltyDisplacementCondition 1 = small displacement btw. target circle and penalty ('near')
2 = far displacement btw. target circle and penalty
penaltyPointsCondition 1 = low penalty point condition; 2 = high penalty point condition
penaltyPoints The currently assigned penalty points if participant touches penalty area
selectPenaltyStim Stores the itemnumber of the stimulus used for the penalty circle in the current trial
1 = blue (low penalty condition); 2 = yellow (high penalty condition); 3 = gray (training)
response The participant's response (will be generic such as mouse.lButtonDown; 0 = noResponse)
mouse.x The horizontal screen coordinate of the response (not valid for no responses)
mouse.y The vertical screen coordinate of the response (not valid for no responses)
responseRegion Stores the response region
target only (= within the green circle only)
target-penalty overlap (= within the overlap of green circle and penalty circle)
penalty only (=within the penalty circle only)
miss (= somewhere else on the screen)
NR = no response
correct 1 = participant touched target area only
0 = any other response
targetOnsetScriptElapsedTime Stores the script.elapsedTime at time of target appearance
startButtonLiftOffScriptElapsedTime Stores the script.elapsedTime at time of start-button lift-off
responseTimeScriptElapsedTime Stores the script.elapsedTime at time of touch response
rtTargetOnset: the difference (in ms) in the script.elapsedTime of the response and target onset
=> time it took after target onset to respond by touching the screen
rtLiftOffStartButton: the difference (in ms) in the script.elapsedTime of the response and lift-off of the start button
=> time it took after lifting figer off the start button to respond by touching the screen
redoCounter Counts the number of times during the test that a trial sequence had to restart
due to a premature lift-off the Start button or a lift-off within 100ms of
target onset (considered a anticipatory response)
trialPoints Stores the trial points earned (or lost) during the current trial
totalPoints Stores the total points earned
timeoutCounter Tracks the number of times a participant did not respond within the time limit within the current block
(resets for each block)
xCenterPX Horizontal x-coordinate in screen pixels
yCenterPX Vertical y-coordinate in screen pixels
xTargetPX Stores the horizontal position of the target in pixels
yTargetPX Stores the vertical position of the target in pixels
xPenaltyPX Stores the horizontal position of the penalty circle in pixels
yPenaltyPX Stores the vertical position of the penalty circle in pixels
targetRadiusPX The radius of the target (image)in screen pixels
responseDistanceTargetPX The calculated distance (in pixels) btw. mouse/touch response and center of target circle
responseDistancePenaltyPX The calculated distance (in pixels) btw. mouse/touch response and center of penalty circle
responseDistanceTargetMM The mm-distance of mouse response and center of target circle
responseDistancePenaltyMM The mm-distance of mouse response and center of penalty circle

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
distanceScreenCenterToFrameCenterMM The distance (in mm) of the fixation frame center to the center of the screen
the center of the frame will always be at (default) or above the center of the screen
0mm
fixationCrossHeightMM The height of the fixation cross in mm 10mm
fixationFrameWidthMM The width of the fixation frame in mm 115mm
fixationFrameHeightMM The height of the fixation frame in mm 81mm
fixationFrameBorderMM The width of the fixation frame border in mm 5mm
targetRadiusMM The radius of target circle in mm 9mm => diameter: 18mm
distanceFrameCenterToStartButtonMM The distance (in mm) of the center of the start button
to the center of the fixation frame (default: 70mm)
the start button will always be located at or below the center of the fixation frame
startButtonSizeMM The size of the square Start button in mm
Experimental Design Parameters
15mm
penaltyDisplacementFactor1 The 'close' displacement btw. target center and penalty circle center as a factor of the circle
radius (default: 1)
=> center of penalty circle lies on target radius
penaltyDisplacementFactor2 The 'far' displacement btw. target center and penalty circle center as a factor of the circle
radius (default: 1.5)
=> center of penalty circle lies outside the target radius
targetPoints The number of points awarded for pressing the target circle 1
penaltyPointsLow The number of points lost for pressing the penalty circle in the low penalty condition 1
penaltyPointsHigh The number of points lost for pressing the penalty circle in the high penalty condition 5
missPenaltyPoints The number of points lost for pressing outside the target and/or penalty circle = miss 0
timeoutPenaltyPoints The number of points lost for not responding in time 7
timeoutDelayPenaltyMSTraining The delay of the next trial after a timed-out response during training20s
timeoutDelayPenaltyMSLowpenalty The delay of the next trial after a timed-out response during low penalty20s
timeoutDelayPenaltyMSHighpenalty The delay of the next trial after a timed-out response during high penalty20s
trialsPerBlockDemo Number of demo trials per block 20
trialsPerBlockTraining Number of training trials per block 20
trialsPerBlockLowpenalty Number of low penalty trials per block 20
trialsPerBlockHighpenalty Number of high penalty trials per block 20
numberTimedTrainingBlocks Number of timed training blocks 15
numberOfTrainingBlocksToRunWithTestTimeout By default the last two training blocks are run with the final test timeout
numberHighPenaltyBlocks Number of high penalty blocks 5
numberLowPenaltyBlocks Number of low penalty blocks 5
targetOnsetMS The time (in ms) btw. pressing on start-button and onset of target 500ms
anticipatoryResponseMS The time (in ms) after onset of target that is considered the timeframe for an anticipatory response 100ms