DOI: 10.3886/e207801v1
title: A low‑cost robotic oculomotor simulator for assessing eye tracking accuracy in health and disease

description: Eye tracking accuracy is affected in individuals with vision and oculomotor deficits, impeding our ability to answer important scientific and clinical questions about these disorders. It is difficult to disambiguate decreases in eye movement accuracy and changes in accuracy of the eye tracking itself. We propose the EyeRobot—a low-cost, robotic oculomotor simulator capable of emulating healthy and compromised eye movements to provide ground truth assessment of eye tracker performance, and how different aspects of oculomotor deficits might affect tracking accuracy and performance. The device can operate with eccentric optical axes or large deviations between the eyes, as well as simulate oculomotor pathologies, such as large fixational instabilities. We find that our design can provide accurate eye movements for both central and eccentric viewing conditions, which can be tracked by using a head-mounted eye tracker, Pupil Core. As proof of concept, we examine the effects of eccentric fixation on calibration accuracy and find that Pupil Core’s existing eye tracking algorithm is robust to large fixation offsets. In addition, we demonstrate that the EyeRobot can simulate realistic eye movements like saccades and smooth pursuit that can be tracked using video-based eye tracking. These tests suggest that the EyeRobot, an easy to build and flexible tool, can aid with eye tracking validation and future algorithm development in healthy and compromised vision.
description: Table of contents3Dprint - contains the .stl files for the 3D printable parts of the alternative 3D-print version of EyeRobot shown in Figure3 and the eyeballs used in both versions.Arduino scripts - script necessary to control the motors of the EyeRobot and a tutorial text filedata - data used to obtain the results presented in the paperPython scripts - Python script that extracts the reference data from messagepack file outputted by Pupil Core software and saves it in .csv file formatSpecial note about the dataFor broad access, we uploaded the eye tracker data as .csv files. The Pupil Player-readable video eyetracking data files are available by request.The raw eyetracking data was preprocessed in Pupil Player v3.2.20 part of the Pupil Core software.data folder<pre>* Binocular Recordings: eyetracking data related with the binocular recordings made with PupilLabs eyetracker on EyeRobot using Pupil Core software


 In PupilPlayer, were added :
 * Annotations related to start and end of the tasks 
 * Manual or automatic detections of markers, grid positions or laser spot positions named by the Pupil Core software as references
 * Pupil positions were exported to .csv file after offline redetection and fixing the 3D eye model.

 Using Python script read_refrences.py, references data was converted to .csv file for easy access

 - star15sacc: eyetracking data of simulated 15 degrees saccades movements performed by the EyeRobot
 + annotations.csv 
 + pupil_positions.csv
 + refernce_locations1.csv: first, the laser spot positions are recorded for start and end of each saccade; following from frame 13363 by the grid markers locations
 data was used for results presented in Table 2a and Figure 8a,b 
 conversion from pixels to degrees was made by calculating the pixels per degree coefficient. The averge of several outer grid marker locations 
 relative to the location of the central marker was divided by the respective visual angle (15deg).

 - star3sacc: eyetracking data of simulated 3 degrees saccades movements performed by the EyeRobot
 + annotations.csv
 + pupil_positions.csv: data was used for results presented in Figure 10c
 + refernce_locations.csv: first, the laser spot positions are recorded for start and end of each saccade; following from frame 3556 by the grid markers locations
 data was used for results presented in Table 2b
 the pixels per degree coefficient was recalculated using similar method as above and used to convert to degrees

 - ramps: eyetracking data of simulated binocular smooth pursuit movements performed by the EyeRobot
 + annotations.csv
 + pupil_positions.csv: data was used for results presented in Figure 10d

* Motor Tests: measurements of the Incremental steps task presented in section **2.3.1**
 - IncrementalSteps.csv: data was used for results presented in Table 1 and Figure 7
</pre>video dataeyetracking monocular video recordings data was used for results presented in Figure 9links to videos: noOffset<br>5degRHOffset<br>11RH12UVOffset