DOI: 10.5061/dryad.p2ngf1vzt
title: Kinematic data of humans performing the critical stability task

description: Natural behaviors have redundancy, which implies that humans and animals
 can achieve their goals with different control objectives. Given only
 observations of behavior, is it possible to infer the control strategy
 that the subject is employing? This challenge is particularly acute in
 animal behavior because we cannot ask or instruct the subject to use a
 particular control strategy. This study presents a three-pronged approach
 to infer an animal’s control strategy from behavior. First, both humans
 and monkeys performed a virtual balancing task for which different control
 objectives could be utilized. Under matched experimental conditions,
 corresponding behaviors were observed in humans and monkeys. Second, a
 generative model was developed that represented two main control
 strategies to achieve the task goal. Model simulations were used to
 identify aspects of behavior that could distinguish which control
 objective was being used. Third, these behavioral signatures allowed us to
 infer the control objective used by human subjects who had been instructed
 to use one control objective or the other. Based on this validation, we
 could then infer strategies from animal subjects. Being able to positively
 identify a subject’s control objective from behavior can provide a
 powerful tool to neurophysiologists as they seek the neural mechanisms of
 sensorimotor coordination.
description: Refer to the Methods section in
 https://doi.org/10.7554/eLife.88514.2
description: # Kinematic Data of Humans Performing the Critical Stability Task
 \****************************************** \------------------ Code
 ------------------ \****************************************** The
 'main.m' script includes analysis and simulation codes for the
 paper. The main.m file could be run by specifying the type of analysis as
 follows: Case 1: Analysis_human_data.m ``` This code generates figures
 regarding the human data analysis ``` Case 2: Simulation.m ``` This code
 generates simulation results. ``` Case 3: SensitivityAnalysis_Delay.m ```
 This code generates simulation results for model sensitivity to sensory
 delay ``` Case 4: SensitivityAnalysis_Effort.m ``` This code generates
 simulation results for model sensitivity to Effort cost ``` Case 5:
 SensitivityAnalysis_SDN.m ``` This code generates simulation results for
 model sensitivity to signal dependent noise ``` Each analysis could be run
 both from the main.m file, or directly from its corresponding script
 \****************************************** \------------- Data Structure
 ------------- \****************************************** The data file
 named "cst_data.mat" is a N-by-1 Matlab structure array with N
 trials, and the following fields for each trial: data = 13575×1 struct
 array with fields: ``` subjectID trialType lambda trialNumber
 sessionNumber success lambdaUpdateMode target waitTime reactionTime
 instruction_type t x u ``` \- subjectID: The initials of the subject
 performing that trial (example: "AB", "MS" etc) \-
 trialType: determines one of three trial types used in the given trial-
 "CST" , "reaction_time", "tracking" Only the
 "CST" trials are used in the analysis and reported in the paper.
 \- lambda: The lambda value used for the CST task in the given trial. This
 value only makes sense for the "CST" type trials \- trialNumber:
 The trial number in each session \- sessionNumber: The session number;
 data was collected in multiple sessions (days) for each subject. \-
 success: Determines the success (1) or failure (0) in the CST trial. This
 value is NaN for other trial types \- lambdaUpdateMode: Determines how the
 lambda value was specified for the CST trials within a session. This is
 one of three modes. "dynamic": The lambda value is determined
 based on success/failure in the previous trial. "ramp": lambda
 increases incrementally over blocks of trials "rand": lambda
 changes randomly from trial to trial \- target: This determines the target
 location for the "reaction_time" task- not used in the current
 paper \- waitTime: time before the onset of each trial \- reactionTime:
 the reaction time for the "reaction_time" task- Not included in
 the current paper \- instruction_type: The experimental Group for the CST
 task. This determines the group ID: "position": for the position
 control group "velocity": for the velocity control group
 "none": for the no-instruction group \- t: the elapsed time for
 the given trial \- x: the time-series of the cursor position (only
 one-dimensional) \- u: the time-series of the hand position
 (3-dimensional, but only the x-dimension is used for cursor control and
 analysis)