You are on page 1of 78

A Behaviorally Complete Control-Theoretic Model of the Optokinetic

Reflex under Sinusoidal and Constant Stimulus

By

Jonathan Tegart

Supervisor: Mireille Broucke


April 2022

B.A.Sc. Thesis
___________________________________________
___________________________________________
___________________________________________
___________________________________________
____________________________________________________________________________________________________________________________________________________________________________
___________________________________ ___________________________________________
___________________________________ ___________________________________________
___________________________________ ___________________________________________
___________________________________ ___________________________________________
___________________________________
___________________________________
___________________________________
___________________________________
Abstract

This thesis presents an extension of the work done by Erin Battle, Katie Allison and Professor Mireille Broucke
on the application of modern adaptive control theory to the oculomotor system; particularly for the Optokinetic
Reflex. The literature surrounding the Optokinetic Reflex is revisited and the reflex’s behavior summarized from
past research. Erin Battle’s model of the Nodulus Uvula for the Optokinetic Reflex is explored and its limitations
investigated. Considering the behaviors noted from lesion studies and using the same control theory from Erin
Battle’s model, we propose a numerical model of the Flocculus to reproduce the behavior of the Optokinetic
Reflex under sinusoidal stimuli. Verification of the model will stem from simulation studies to see if we recover
the behavior seen in lesion studies. Finally, a model of the Optokinetic system combining the Nodulus Uvula and
Flocculus models is presented displaying the Optokinetic Reflex’s ability to track sinusoidal positional stimuli
and constant velocity stimuli at the same time.

i
I would like to thank my supervisor, Professor Mireille Broucke, for the opportunity to work on such an interesting
thesis and for the support she has given me this past year. You have inspired me to continue to pursue my
interest in control theory into graduate school. I have been taught plenty about adaptive control theory and the
oculomotor system but the most important lesson you have given me was how to debug such complex systems.
Thank you again. I have to also thank my family and my friends for keeping me well throughout the Covid-19
pandemic, supporting my work and listening to my ramblings about my thesis. Finally, I would like to thank
Erin Battle and Katie Allison for providing the strong foundation for my work.

ii
Contents

List of Figures vii

1 Introduction 1

2 Background and Literature Review 2

2.1 Primer on the Oculomotor System and its ties to the Optokinetic Reflex . . . . . . . . . . . . . . 2

2.2 Prior Work on a Nodulus Uvula Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.3 The Flocculus Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.4 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Primer on Nikiforov’s Observers of External Deterministic Disturbances 6

4 Investigation of the limitations of the Nodulus Uvula Model 7

4.1 The Nodulus Uvula Model for the Optokinetic Reflex . . . . . . . . . . . . . . . . . . . . . . . . 7

4.2 Simulation Study: Constant Disturbances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

4.2.1 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.2.2 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4.3 Simulation Study: Sinusoidal disturbances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4.3.1 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.3.2 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.3.3 Showcase of Model Behavior for Sinusoidal Disturbances . . . . . . . . . . . . . . . . . . . 17

4.4 Simulation Study: Trained model behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.4.1 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4.4.2 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

5 Development of the Numerical Flocculus Model 20

5.1 The Flocculus Model for the Optokinetic Reflex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

5.2 Development of the Flocculus MATLAB Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

iii
5.2.1 Removal of the algebraic loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5.2.2 Simulation Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2.3 Selection of Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.3 Debugging the Internal Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.4 Simulation Study: Sinusoidal Disturbance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

5.4.1 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.4.2 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.5 Simulation Study: Constant Disturbance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

5.6 Simulation Study: Comparison to Optokinetic Responses of Rabbits . . . . . . . . . . . . . . . . 37

6 Combined Nodulus Uvula and Flocculus Model 38

6.1 The second order plant Flocculus Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.2 The Combined Flocculus and Nodulus Uvula Model . . . . . . . . . . . . . . . . . . . . . . . . . 42

6.3 Simulation Study of the Combined Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.3.1 Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6.3.2 Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

7 Conclusion 55

Appendix A: Analytical Models 57

Appendix B: MATLAB Code for the combined Flocculus and Nodulus Uvula Models 60

References 69

iv
List of Figures
1 Optical flow of a scene outside of a moving vehicle. Note that the close foreground has a higher
world velocity than of the trees in the background. This scene of the world is also known as the
visual surround . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Summary of the structure of the Optokinetic Reflex and the relevant behaviors to recognize . . . 4

3 Control Architecture of the Optokinetic System. NU - Nodulus Uvula, P - Plant, B - Brainstem. 8

4 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance
of 60 deg/s and γ = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

5 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance
of 60 deg/s and γ = 1−16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

6 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance
of 60 deg/s and γ = 1−12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

7 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance
of 60 deg/s and γ = 1−10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

8 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance
of 60 deg/s and γ = 1−8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

9 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance
of 60 deg/s and γ = 1−4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

10 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a sinusoidal disturbance
of 2 sin(t + π) + 2 deg/s and γ = 1−12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

11 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a sinusoidal disturbance
of 2 sin(t + π) + 2 deg/s and γ = 1−10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

12 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a sinusoidal disturbance
of 2 sin(t + π) + 2 deg/s and γ = 1−8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

13 Simulation of the Optokinetic System regulated by the Nodulus Uvula for a sinusoidal disturbance
of sin(t + π) + 2 deg/s. γ = 1−6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

14 Simulation of a trained Optokinetic System regulated by the Nodulus Uvula for a constant dis-
turbance of 60 deg/s and γ = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

15 Simulation of a trained Optokinetic System regulated by the Nodulus Uvula for a constant dis-
turbance of 60 deg/s and γ = 1−16 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

v
16 Simulation of a trained Optokinetic System regulated by the Nodulus Uvula for a sinusoidal
disturbance of 2 sin(t + π) + 2 deg/s and γ = 1−12 . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

17 Block diagram of the Flocculus model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

18 Simulation of the Optokinetic System with γ = 0 and x0 = 0 ∈ R1×9 . . . . . . . . . . . . . . . . 25

19 Simulation of the Optokinetic Reflex with γ = 0 and x0 such that uim = d . . . . . . . . . . . . . 28

20 Errors from simulation of the Optokinetic Reflex with γ = 0 and x0 such that uim = d . . . . . . 29

21 Flocculus command during simulation of the Optokinetic Reflex with γ = 0 and x0 such that
uim = d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

22 ŵ during simulation of the Optokinetic Reflex with γ = 0 and x0 such that uim = d . . . . . . . 30

23 Simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and x0 = 0 . . . . . . . . . . . 30

24 Errors from simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and x0 = 0 . . . . 31

25 Flocculus command during simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and
x0 = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

26 ŵ during simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and x0 = 0 . . . . . 33

27 Ψ̂ during simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and x0 = 0 . . . . . 33

28 Simulation of the Optokinetic Reflex with γ = 1e − 2, xw = 2sin(5t + π/6) and x0 = 0 . . . . . . 34

29 Errors from simulation of the Optokinetic Reflex with γ = 1e − 2, xw = 2sin(5t + π/6) and x0 = 0 34

30 Ψ̂ during simulation of the Optokinetic Reflex with γ = 1e − 2, xw = 2sin(5t + π/6) and x0 = 0 . 35

31 Simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) + 3 and x0 = 0 . . . . . . . . . 36

32 Errors from simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) + 3 and x0 = 0 . . 36

33 Ψ̂ from simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) + 3 and x0 = 0 . . . . 37

34 Rabbit Eye position vs sinusoidal velocity stimulus measured from rabbits during an Optokinetic
Study performed by Nagao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

35 Eye position vs sinusoidal velocity stimulus from Flocculus Model Simulation using adjusted con-
stants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

36 Simulation of the Optokinetic Reflex regulated by the Flocculus with a second order plant with
γ = 0, xw = sin(t) and x0 = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

37 Simulation of the Optokinetic Reflex regulated by the Flocculus with a second order plant with
γ = 1e − 2, xw = sin(t) and x0 = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

vi
38 Errors from simulation of the Optokinetic Reflex regulated by the Flocculus with a second order
plant with γ = 1e − 2, xw = sin(t) and x0 = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

39 Block diagram of the combined Nodulus Uvula and Flocculus Models. FC - Flocculus, NU -
Nodulus Uvula, B - Brainstem, VSM - Velocity Storage Mechanism, P - Oculomotor Plant . . . . 43

40 OKR response from xw = sin(t) and x0 = 0 with Nodulus Uvula and Flocculus commands removed 47

41 Error in OKR response from xw = sin(t) and x0 = 0 with Nodulus Uvula and Flocculus commands
removed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

42 OKR response from xw = 3t and x0 = 0 with Nodulus Uvula and Flocculus commands removed . 48

43 Error in OKR response from xw = 3t and x0 = 0 with Nodulus Uvula and Flocculus commands
removed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

44 OKR response from xw = sin(t) and x0 = 0 using the combined model . . . . . . . . . . . . . . . 49

45 Error in OKR response from xw = sin(t) and x0 = 0 using the combined model . . . . . . . . . . 49

46 Flocculus command during OKR response from xw = sin(t) and x0 = 0 using the combined model 50

47 Nodulus Uvula command during OKR response from xw = sin(t) and x0 = 0 using the combined
model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

48 OKR response from ẋw = 3 and x0 = 0 using the combined model . . . . . . . . . . . . . . . . . 51

49 Error in OKR response from ẋw = 3 and x0 = 0 using the combined model . . . . . . . . . . . . 51

50 Flocculus command during OKR response from ẋw = 3 and x0 = 0 using the combined model . . 52

51 Nodulus Uvula command during OKR response from ẋw = 3 and x0 = 0 using the combined model 52

52 OKR response from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the combined model . . . . . . . 53

53 Error in OKR response from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the combined model . . 53

54 Flocculus command during OKR response from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the
combined model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

55 Nodulus Uvula command during OKR response from xw = 3sin(5t + π/6) + 3t and x0 = 0 using
the combined model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

56 Detrended OKR response after from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the combined model 55

57 Summary of the structure of the Optokinetic Reflex and the relevant behaviors to recognize . . . 56

vii
1 Introduction
It has been widely accepted that the cerebellum is the seat of motor control, however, its precise inner workings
have been an enigma for researchers over the past few decades. One of these motor systems called the oculomotor
system, has been of particular interest for the past 35 years. The oculomotor system is comprised of the elements
of the central nervous system responsible for the control of a variety of eye movements. What we do know about
the oculomotor system comes from two places. The first is lesion studies, where parts of the cerebellum are
removed, which have been conducted on a variety of animals to isolate neuron circuitry responsible for particular
behaviors. The second are other attempts at mathematically modelling the cerebellum structures responsible
for the oculomotor system and comparing these models to lesion studies. One of the underlying motivations
to exploring the oculomotor system is the assertion by Michael Land in 2019 that human motor control began
it’s development millions of years ago in the form of vision stabilization in prehistoric fish. The solution to this
control problem of maintaining steady vision in fish during swimming movements [1] became the blueprint for
limb motor control. By understanding the oculomotor control mechanism, one could potentially uncover how
the brain controls our arms and legs.

The oculomotor system can be separated into a series of reflexes, each with their own control architecture and
purpose. The focus of this thesis is on the Optokinetic Reflex (OKR). The Optokinetic Reflex is responsible
for focusing the eyes on a rapidly moving world and for tracking an object of interest moving in and out of
the peripheral vision [2]. A great example of the Optokinetic Reflex in action is found when looking out of the
passenger side window of a vehicle on the highway. The scenery is moving past at 100 kilometers per hour. The
Optokinetic Reflex moves the eyes in a way such that objects in the scene stay in focus despite the speed at
which the world is moving in relation to the person. See figure 1 for a visual.

Currently a model exists for the Optokinetic Reflex for tracking a world frame moving at a constant velocity.
However this model only captures half of the picture. Where this thesis develops new knowledge is in the
development of a numerical model from a mathematical model provided by Allison [3] which captures the
tracking behavior of the Optokinetic Reflex for sinusoidal world frame positions seen in Optokinetic Reflex
studies. From the literature, we find that these constant and sinusoidal stimuli are handled by separate portions
of the cerebellum which will be expanded upon in this report.

1
2 Background and Literature Review
This thesis is a continuation of research accomplished by Professor Mireille Broucke [4], Erin Battle [5] and Katie
Allison [3] regarding the Optokinetic Reflex (OKR), and more broadly, the oculomotor system. What will be
discussed in this section is a primer of the Optokinetic Reflex from a neuroscience perspective, a review of prior
work this thesis is to build upon and evidence supporting the investigation of a Flocculus model to complete a
model of the Optokinetic Reflex.

2.1 Primer on the Oculomotor System and its ties to the Optokinetic Reflex

Within the central nervous system, the Optokinetic Reflex primarily resides in two parts of the cerebellum, the
Nodulus Uvula [6] and the Flocculus [7], and in the brain stem [8]. Therefore to fully model the Optokinetic
Reflex, all three structures must be sufficiently modelled. An important detail is the inability of the oculomotor
system to utilize eye position as there are no structures within the eye that facilitates position measurements [5].
Rather, the oculomotor system relies on optical flow or the error between the velocity of the world ẋw and the
velocity of the eye ẋ. This is also known as the retinal slip error [9] [10] and it is the only measurement available
to the oculomotor system.

Figure 1: Optical flow of a scene outside of a moving vehicle. Note that the close foreground has a higher world
velocity than of the trees in the background. This scene of the world is also known as the visual surround

The behaviors and stimuli associated with the Flocculus, brainstem and Nodulus Uvula have been identified by
various lesion studies during which the Optokinetic Reflex was elicited. The purpose of the Nodulus Uvula is to

2
eliminate constant world velocity error [5]. This means that the eye velocity is capable of tracking a constant
world velocity. We can think of the world velocity as the stimulus for this component of the Optokinetic Reflex.
The purpose of the Flocculus is to eliminate sinuosidal world position errors [7]. Hence, the eye must be able
to track a sinusoidal world position. The stimulus for the Flocculus is world position. During these lesion
studies, removal of the Nodulus Uvula or Flocculus did not compromise eye velocity stability or eye position
stability respectively. It is postulated that the brainstem acts as a P or PI controller on the retinal slip velocity
and an estimate of the position of the eye. This controller ensures stability but the command it sends to the
oculomotor system must be ”topped up” by the Nodulus Uvula and Flocculus to achieve tracking of a constant
world velocity or sinusoidal world position respectively [11][5]. This topping up command from the Flocculus and
Nodulus Uvula is hypothesized to be determined from prediction of future stimulus from past sequences of stimuli
[12]. The cerebellum provides ”internal models of persistent, exogenous signals acting on a biological system”
[11] which adapt over time to these error signals. The biological connection to the speed of Optokinetic Reflex
adaptation is γ-aminobutyric acid receptors within the cerebellum [13]. Higher activation of these receptors is
analogous to larger values of γ seen in the models that will be presented. A quick summary the behaviors that
should be recreated by the models are presented in figure 2.

3
Figure 2: Summary of the structure of the Optokinetic Reflex and the relevant behaviors to recognize

2.2 Prior Work on a Nodulus Uvula Model

In prior work completed by Battle, a model of the Nodulus Uvula was achieved that simulates the Optokinetic
Reflex for the case where a world frame was moving at a constant rate. In control theory, instead of thinking of
this as a reference tracking problem, this can be thought of as a constant disturbance rejection problem. The
control architecture representing the Nodulus Uvula was developed from lesion studies pinpointing the areas of
the cerebellum responsible for each Optokinetic Reflex behavior (as discussed in section 2.1). A short primer on
the literature influencing the design of the Nodulus Uvula model will now be presented. Recent work performed by
Miki and Hirata in 2020 noted that the cerebellum can predict future sensory stimulus from previous sequences of
stimuli [12]. Following this discovery, an adaptive internal model theory of the oculomotor system was developed

4
by Broucke [11]. This adaptive internal model theory utilizes observable states to predict future disturbances
(or stimuli) from the effects of past stimuli. One lesion study conducted by Cohen et al. identified a velocity
storage mechanism (VSM) in the Nodulus Uvula (NU) which maintains eye velocity at a constant rate during
Optokinetic stimulation [2]. Cohen in 1992 also identified that VSM is not present in the Flocculus, maintaining
that constant disturbances are only rejected by the NU [6]. It was also determined that the brainstem responds
to moving visual stimuli and provides input to the NU [8]. Along with Katz’s work identifying that the rostral
medulla, a part of the brainstem, also had connections to VSM [14], OKR for constant disturbances was isolated
in Erin’s Thesis to the brain stem and Nodulus Uvula. The brainstem would provide a traditional control design
while the Nodulus Uvula provides adaptive disturbance rejection through the use of Broucke’s adaptive internal
model theory [8][5]. Nikiforov’s Observers of External Deterministic Disturbances [15] were chosen to model the
Nodulus Uvula’s adaptive nature to unknown constant disturbances. As the model generated by Battle only
simulates the brain stem and Nodulus Uvula, it cannot account for sinusoidal stimuli as investigated further in
this report [5].

2.3 The Flocculus Model

As stated in section 2.1, the Flocculus permits eyes tracking of a world frame moving with a sinusoidal position.
Similar to the Nodulus Uvula model, we can re-frame this problem from a sinusoidal reference tracking control
problem as a sinusoidal disturbance rejection problem. A summary of the relevant neurological literature study
conducted by Allison [3] is as follows. Lesion studies conducted by Nagao provides evidence that loss of the
Flocculus results in the lack of adaptability in OKR for sinusoidal stimuli. However, when the Nodulus Uvula
was removed, sinusoidal OKR was preserved [7]. Therefore, we can use the same oculomotor adaptive internal
model theory developed by Broucke [11] to model the Flocculus as a sinusoidal disturbance compensator. Five
years later, Nageo used micro-electrodes to record the floccular neuron potentials of a rabbit during sinusoidal
oscillation of a striped screen around the animal. This confirmed that the Flocculus is the site of adaptive
control for OKR with sinusoidal disturbances.[16] Waespe [17] further finds that removing the Flocculus does
not impact the velocity storage mechanism (VSM) which keeps it separated in function from the NU. Removal
of the Flocculus also impairs the ability of the OKR to track accelerations beyond 5 deg/s2 [17]. Therefore,
OKR for sinusoidal disturbances can be isolated to the brain-stem and Flocculus. There is strong evidence that
by modelling the workings of the Flocculus for OKR, one will be able to replicate the sinusoidal disturbance
rejection seen in lesion studies.

2.4 Problem Statement

The Nodulus Uvula model has already been constructed by Erin Battle [5] and a mathematical model of the
Flocculus has been derived by Katie Allision [3]. This thesis can be summarized as a simulation study and de-
bugging exercise of a numerical model of the OKR under sinusoidal stimuli to reproduce the behaviors associated
with the Flocculus. Then the Nodulus Uvula Model is combined with the Flocculus model to reproduce all of the
behaviors associated with the Optokinetic Reflex covered in section 2.1. There are two simplifications that will

5
be made for the models. First, there is an assumption of no head movement and second, although biologically
the eye position is estimated through an observer, it will be assumed that the eye estimate is equal to the eye
position x̂ = x.

The significance of this thesis is the potential for laying the foundation for further studies into adapting this
oculomotor control system into the limbs which has implications in the design of prosthesis or humanoid robots
[18].

3 Primer on Nikiforov’s Observers of External Deterministic Distur-


bances
The model of the Nodulus Uvula provided by Erin Battle and the proposed model of the Flocculus [3] rely on a
disturbance rejection approach developed by Nikiforov [15] [19]. In order to fully appreciate how the Flocculus
and Nodulus Uvula models can predict future stimuli and compensate for them, a very short background primer
on the adaptive control theory will be presented. This primer will only present key ideas behind Nikiforov’s
Oberservers of External Deterministic Disturbances. For a detailed review, see [15] [19][5].

According to Nikiforov, a disturbance d can be represented as a weighted sum of the output of an unknown
homogeneous LTI system with unknown initial conditions. This is known as the canonical form for an exosystem.

χ̇ = Γχ

d = hχ

where Γ ∈ Rq×q has eigenvalues in the closed right hand plane and χ ∈ Rq×1 . The pair (h, Γ) is completely
observable. We can take this above generator and reduce the number of unknown parameters.

Lemma 3.1

Let F ∈ Rq×q be Hurwitz, G ∈ Rq×1 such that the pair (F, G) is controllable and Ψ ∈ R1×q . A deterministic
disturbance d can be represented by,

ẇ = F w + Gd (1)

d = Ψw (2)

Note that if we rearrange the form in (1) using (2), the resulting system is similar to the canonical form of the
exosystem,

ẇ = (F + GΨ)w

d = Ψw

We can view this disturbance as a product of a vector of weights Ψ and a vector of functions w. The type of the
functions present in w depend on the eigenvalues of the F + GΨ matrix. Therefore, using this form it is possible

6
to recreate constant, sinusoidal and piece-wise polynomial disturbances. Since the disturbance is unknown, the
Ψ and w parameters must be estimated. The (·) ˆ notation will be used for estimates. The estimation of w is done

using regressors working with observable states. The estimation of Ψ is performed using gradient descent. The
structure of the regressors ensures convergence of ŵ → w as t → ∞. Given a controlled system in state space
ẋ = Ax + bu + Ed where x ∈ Rn and is measurable and A,b and E are constant coefficient matrices of suitable
size, Nikiforov presents the following form for the estimate of ŵ,

ŵ = η + N x (3)

where N satisfies N E = G and η is generated by the following filter,

η̇ = F η + (F N − N A)x − N bu (4)

Taking the derivative of (3), substituting in (4) and substituting for ẋ with the state space system,

ŵ˙ = η̇ + N ẋ

= F η + (F N − N A)x − N bu + N (Ax + bu + Ed)

= F (η + N x) + N Ed

= F ŵ + Gd

Essentially, the form of ŵ, the regressors and d = Ψw ensures the following,

ŵ˙ = F ŵ + GΨ̂ŵ

= (F + GΨ̂)ŵ

Let the w error be defined as w̃ := ŵ − w. Taking the derivative yields,

w̃˙ = ŵ˙ − ẇ

= F ŵ + Gd − (F w + Gd)

= F w̃

Recall F is hurwitz, therefore the w error will exponentially decay to 0. Coupled with a gradient descent
algorithm for Ψ̇, the estimation of the disturbance converges to the disturbance as time approaches infinity.

4 Investigation of the limitations of the Nodulus Uvula Model

4.1 The Nodulus Uvula Model for the Optokinetic Reflex

The model for the Optokinetic Reflex regulated by the Nodulus Uvula has been provided by Erin Battle in her
Masters thesis [5]. The model leverages the idea that the OKR regulated by the Nodulus Uvula is driven by
velocity error rather than positional error. This report will not be delving into the derivation of the model but
rather will present it and provide commentary as necessary for the scope of this thesis. Before starting, in terms
of mathematical notation, (·)ˆ is used for estimates while (·)
˜ = (·) − (·)
ˆ is used for errors.

7
Figure 3: Control Architecture of the Optokinetic System. NU - Nodulus Uvula, P - Plant, B - Brainstem.

Note for figure 3, ẋh is the head angular velocity and is equal to 0 under the scope of this report. The second
order plant model of the oculomotor system is as follows,

x˙1 = x2 (5)

x˙2 = α2 (−x2 − Kx x1 + u) (6)

where Kx is the plant time constant and is positive, x1 is the horizontal angular position of the eye in degrees,
x2 is the horizontal angular velocity of the eye in degrees per second, α2 is a positive constant, u is the control
input. The Optokinetic System contains a Velocity Storage Mechanism (VSM) modeled as a leaky integrator.
This VSM stores angular velocity error and discharges exponentially with the stimulus removed. The VSM is
modeled as,
v̇ = −Kv v + Kv en (7)

where Kv is the strictly positive VSM Time Constant and en is the angular velocity error. The angular velocity
error is defined as,

en = ẋw − ẋ2

where xw is the angular velocity of the visual stimulus and is the reference signal for the OKR. The control input
into the system can be split into two parts; the input from the brainstem and the input from the Nodulus Uvula.
The brainstem portion of the control input is,

ub = αx x − αOK en + αv v

where αx , αOK , αv are constant gains. The output from the brainstem can be seen as a traditional controller
in control theory. The Nodulus Uvula is modelled using Nikiforov’s Observers of External Deterministic Distur-
bances [15]. The purpose of the Nodulus Uvula in the context of the OKR is to reject disturbances. Therefore
the control signal from the Nodulus Uvula must counteract disturbances. The disturbance dn can be assumed

8
to be generated by a first order exosystem in the form of,

ẇn = Fn wn + Gn dn

dn = Ψn wn

where wn ∈ R, Fn is Hurwitz and (Fn , Gn ) is controllable. Ψn is an unknown parameter thus Ψn must be


ˆ is used for estimates while (·)
estimated. Recall, (·) ˜ = (·) − (·)
ˆ is used for errors.

An internal model is proposed of the signal dn which is represented by filters of the form,

η̇n,0 = Fn ηn,0 + Fn Gn en (8)

η̇n,1 = Fn ηn,1 − Gn en (9)

η̇n,2 = Fn ηn,2 − Gn un (10)

η̇n,3 = Fn ηn,3 − Gn x1 (11)

η̇n,4 = Fn ηn,4 (12)

η̇n,5 = Fn ηn,5 − Gn v (13)

The estimate for wn is constructed from these regulators as follows,

1 1
ŵn = ηn,0 + Gn en − (1 + αOK )ηn,1 − ηn,2 + (Kx − αx )ηn,3 − (1 − αV OR )ηn,4 − αv ηn,5
α2 α2

Essentially, the regulators are designed such that the estimation error w˜n exponentially converges to 0 as t
approaches infinity. This is proven in section 3 and in lemme 6.2.1 in Battle’s Thesis [5]. Therefore at t → ∞,
wn = ŵn . Recall that dn = Ψn wn . This formula can be rewritten in an extended form where,

dn = Ψd ŵd
1
Ψd := [ Ψn , −(1 + αOK )Ψn , −Ψn , (Kx − αx )Ψn , −(1 − αV OR )Ψn , −αv Ψn ]
α2
ŵd := [ηn,0 + Gn en , ηn,1 , ηn,2 , ηn,3 , ηn,4 , ηn,5 ]T

Therefore,
dn = Ψn wn = Ψn ŵn + Ψn w̃n = Ψd ŵd + Ψn w̃n (14)

This result is important for visualizing how the model reacts to constant disturbances compared to sinusoidal
disturbances. Note that Ψn w̃n converges to 0 as t → ∞ also as a consequence of Lemma 6.2.1 in Battle’s Thesis.
Now that the disturbance can be defined using estimates, the adaptive controller can be defined as,

un = Ψ̂d ŵd

and the adaptive rate defined as,

˙
Ψ̂d := γen ŵd (15)

Where Ψ̂d is an estimate of the parameters and is updated using the above law. γ > 0 is the adaptation rate.

9
An important quantity to know is the true value of the unknown parameters Ψd . Coupled with equation (14),
it will allow for plotting how ŵd approaches wd . At t → ∞, ŵ˙ d = ẇd = 0. Therefore, returning to the first order
exosystem at t → ∞,

ẇn = ŵ˙ n = Fn wn + Gn dn = 0

0 = Fn wn + Gn Ψn wn

0 = Fn + Gn Ψn
Fn
Ψn = −
Gn

Therefore:

Fn 1
Ψd = − [ , −(1 + αOK ), −1, (Kx − αx ), −(1 − αV OR ), −αv ]
Gn α2

The above model is implemented in MATLAB with the state vector:

x̄ = [x1 , x2 , v, ηn,0 , ηn,1 , ηn,2 , ηn,3 , ηn,4 , ηn,5 , Ψ̂d ]T

The current MATLAB model uses ode45, equations 5-13, 15 and initial condition x̄0 = 0 ∈ R15 .

4.2 Simulation Study: Constant Disturbances

The model was tested with varying γ with a constant visual stimulus of 60 deg/sec. Each plot consists of 5
subplots. The top left plot is horizontal angular velocity of the eye over time overlayed with the angular velocity
of the visual stimulus. The top middle plot is the error en . The top right plot shows the evolution of Ψd ŵd . It
is expected that Ψd ŵd = ẋw as t → ∞. The bottom left plot is the un command from the Nodulus Uvula. This
command supplements the brainstem command ub in order to track the reference ẋw . The bottom middle plot
is the velocity storage mechanism v. As time passes it is expected to charge. If the visual stimulus vanished at
a some time during the simulation, it is expected to discharge exponentially.

The γ term in the update law for Ψ̇d determines how fast the command from the Nodulus Uvula approaches
the value required to supplement the brainstem command to achieve tracking of the reference ẋw . Simulations
are run with varying γ for constant disturbances to check for expected behavior. Figures 4 through 9 show the
response of the model with γ = 0, γ = 1e − 16, γ = 1e − 12, γ = 1e − 10, γ = 1e − 8 and γ = 1e − 4 respectively.

10
The model constants were set to the following,

Kx = 5

Kxh = 5

Kv = 0.05

α2 = 200

aOK = 1

av = 10

ax = Kx

where Kx is the plant time constant, Kxh is the neural integrator time constant, Kv is the velocity storage
mechanism time constant, α2 is the gain on the derivative of x2 , αOK is the Optokinetic gain, αv is the velocity
storage mechanism gain and αx = Kx .

4.2.1 Remarks

The time constant governing wn is set by Fn . From the results in figures 4 and 5, it can be seen that the Velocity
Storage Mechanism (VSM) and the plant both have much faster time constants than the adaption of ŵn . This
is due to the large α2 term.

4.2.2 Figures

Figure 4: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance of
60 deg/s and γ = 0.

11
With γ = 0, there should be no un command, thus the system never achieves tracking.

Figure 5: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance of
60 deg/s and γ = 1−16 .

The required simulation time to display the full transient until un converges to dn would be impractical for such
a small γ.

Figure 6: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance of
60 deg/s and γ = 1−12 .

12
Figure 7: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance of
60 deg/s and γ = 1−10 .

Figure 8: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance of
60 deg/s and γ = 1−8 .

13
Figure 9: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a constant disturbance of
60 deg/s and γ = 1−4 .

4.3 Simulation Study: Sinusoidal disturbances

The current model provided by Erin Battle in [5] covers behavior under constant disturbances. Under sinusoidal
disturbances, the model is unable to fully capture the behavior of the Optokinetic system and produce a command
which achieves tracking of the reference signal x˙w . In the following figures, the MATLAB model was run with
varying γ and a sinusoidal disturbance of x˙w = 2 ∗ sin(t + π) + 2. It is expected that the model only captures the
constant portion of the disturbance signal. Again, each plot consists of 5 subplots. The top left plot is horizontal
angular velocity of the eye over time overlaid with the angular velocity of the visual stimulus. The top middle
plot is the error en . The top right plot shows the evolution of Ψd ŵd . It is expected that Ψd ŵd = 2 as t → ∞.
The bottom left plot is the un command from the Nodulus Uvula. This command supplements the brainstem
command ub in order to track the reference ẋw . The bottom middle plot is the velocity storage mechanism v.

What should be noted is the inability for the current OKR model to compensate for sinusoidal disturbances and
track. Figures 10 through 12 show the response of the model with sinusoidal disturbances with γ = 1e − 12,
γ = 1e − 10 and γ = 1e − 8 respectively. Constants are set to the following, The model constants were set to the

14
following,

Kx = 5

Kxh = 5

Kv = 0.05

α2 = 200

aOK = 1

av = 10

ax = Kx

where Kx is the plant time constant, Kxh is the neural integrator time constant, Kv is the velocity storage
mechanism time constant, α2 is the gain on the derivative of x2 , αOK is the Optokinetic gain, αv is the velocity
storage mechanism gain and αx = Kx .

4.3.1 Remarks

Notice how ŵn converges to a value fairly quickly which satisfies Ψd ŵn = dn . As time passes Ψ̂d converges to
a values such that Ψ̂d ŵn = dn as well. Looking at the values provided by the simulations Ψ̂d ̸= Ψd however
Ψ̃d = 0. This makes sense as the closed loop model of the system (under equation 6.11 in [5]) is:

ėn = −α2 (1 + αOK )en − α2 αv v + α2 Ψ̃d ŵd

v̇ = −Kv v + Kv en
˙ = −γe ŵT
Ψ̃ d n d

Ψd is not unique. There are multiple Ψd such that Ψd ŵd = dn when the disturbance dn is constant. Theorem
6.3.2 in [5] demonstrates exponential stability of en , vn and Ψ̃d under the condition that dn is constant.

With a sinusoidal ẋw in the form of a sin(t + ϕ) + c, dn = α2 (a cos(t + ϕ)) + a sin(t + ϕ) + c


1
(From page 79 in [5]).
This is not representable by the current form of the disturbance exosystem as Fn and Gn are scalars. Therefore,
the order of the exosystem must be increased to represent sinusoidal dn , which will be taken advantage of in the
Flocculus model. The current exosystem model for the Nodulus Uvula model is:

ẇn = Fn wn + Gn dn

dn = Ψn wn

Where Ψn and wn are scalars.

15
4.3.2 Figures

Figure 10: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a sinusoidal disturbance
of 2 sin(t + π) + 2 deg/s and γ = 1−12 .

Figure 11: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a sinusoidal disturbance
of 2 sin(t + π) + 2 deg/s and γ = 1−10 .

16
Figure 12: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a sinusoidal disturbance
of 2 sin(t + π) + 2 deg/s and γ = 1−8 .

4.3.3 Showcase of Model Behavior for Sinusoidal Disturbances

Changing the disturbance to dn = sin(t + π) + 2 from dn = 2 sin(t + π) + 2 results in behavior shown in figure 11.

Figure 13: Simulation of the Optokinetic System regulated by the Nodulus Uvula for a sinusoidal disturbance
of sin(t + π) + 2 deg/s. γ = 1−6 .

17
Note that ŵd converges to a value such that Ψd ŵd = 2 which displays how the current OKR Model can only
compensate for constant disturbances. This is consistent with the expected behavior of the Nodulus Uvula as
described in section 2.

4.4 Simulation Study: Trained model behavior

The trained model behaviors were also investigated for constant and sinusoidal disturbances. For these simula-
tions, the Ψ̂d and ŵd initial conditions are set to,

Ψ̂d = −(Fn /Gn )[1/α2 , −(1 + αOK ), −1, (Kx − αx ), −(1 − αV OR ), −αv ]

For a constant disturbance of 60 deg/s,

ŵd = [0, 0, −50, 0, 0, 0]T

For a sinusoidal disturbance of 2 sin(t + π) + 2 deg/s,

ŵd = [0, 0, −2.0455, 0, 0, 0]T

By setting these values, it replicates the scenario where the NU already had time to adapt to the disturbance.
Figures 14 and 15 show the trained response to a constant disturbance with γ = 0 and γ = 1−16 respectively.
Figure 16 shows the trained response to a sinusoidal disturbance with γ = 1−12 . Constants are set the same as
in section 3.3 and 3.2.

4.4.1 Remarks

From the results of the simulations with constant disturbances, one can see that the model achieves tracking of
the stimulus in about 10 seconds with limited VSM charging in comparison to the figures ii and iii. Even with
γ = 0, the NU model achieves tracking of the stimulus as expected. For the trained model with a sinusoidal
disturbance in figure 16, the model achieves tracking of the constant portion of the disturbance as expected.

18
4.4.2 Figures

Figure 14: Simulation of a trained Optokinetic System regulated by the Nodulus Uvula for a constant disturbance
of 60 deg/s and γ = 0.

Figure 15: Simulation of a trained Optokinetic System regulated by the Nodulus Uvula for a constant disturbance
of 60 deg/s and γ = 1−16 .

19
Figure 16: Simulation of a trained Optokinetic System regulated by the Nodulus Uvula for a sinusoidal distur-
bance of 2 sin(t + π) + 2 deg/s and γ = 1−12 .

5 Development of the Numerical Flocculus Model


The mathematical model of the Optokinetic Reflex regulated by the Flocculus has been provided by Katie Allison
[3] utilizing the same internal model theory presented in [11]. This report will not delve into the derivation of
the model, rather will be presenting it from a simulation study and debugging point of view to ensure behaviors
seen in literature are reproduced. The block diagram for the Flocculus model is presented in figure 17.

Figure 17: Block diagram of the Flocculus model

What is important to notice is that the removal of the Flocculus block reverts the control architecture back to

20
a standard controller and plant; where the brain stem (B) is acting as a P controller as stated in the literature
to ensure eye stability. The other aspect of the diagram is the Flocculus (FC) block utilizing the observable
retinal slip velocity signal to produce a command uf which rejects the sinusoidal disturbance caused by the world
position stimulus xw .

5.1 The Flocculus Model for the Optokinetic Reflex

To simplify the mathematics, we assume that we have a perfect estimation of the eye position. Therefore, we’ll
use the actually eye position within the model. A first order plant is derived for the oculomotor system. We
treat the dynamics for the horizontal position of the eye as a spring system with some external force acting upon
it. This system is analogous to the eye suspended in fluid being pulled on by muscles in either direction with a
elastic restoring force.

ẋ = −Kx x + u (16)

where Kx > 0 is a constant. The positional error between the world position and the eye position is denoted as,

e = xw − x

The control input to the plant can be decomposed into two parts; the brainstem contribution and the Flocculus
contribution.

u = ub + uf

The brain stem command is modelled as a pole placement controller,

ub = αx x + αOK ė (17)

Where αx > 0, αOK > 0 are constants. The command from the Flocculus is comprised of two parts; a stabilizing
component us which ensures stability of the error dynamics and a disturbance rejection component uim .

uf = us + uim

us = −αOK

ė + K̃x Ke ė

uim = Ψ̂ŵ

K̃x = Kx − αx

αOK = 1 + αOK

Where Ke > 0 is a constant. Note that uim is the estimation of the disturbance. The error dynamics of the
system is represented as follows,


αOK ė = −K̃x e − us − uim + ẋw + K̃x xw (18)

Let the disturbance to be rejected by the Flocculus be defined as,

d := ẋw + K̃x xw

21
By substituting in the expression for us , the following error dynamics is achieved,
1
ė = (−K̃x e − uim + d)
K̃x Ke
Note that when the command uim , the estimate of the disturbance d, equals the disturbance, the resulting error
dynamics will force the positional error to converge exponentially to 0. The command from the Flocculus is the
estimate of the exosystem representing the disturbance (see section 3).

uim = Ψ̂ŵ

Due to the fact that the Flocculus cannot deal with constant disturbances [3], one adjustment must be made
with regards to the exosystem and what is estimated. We assume that the disturbance is generated from the
following exosystem,

ẇ = F w + Gd

d = Ψ′ w

By rearranging the ẇ equation, the following is achieved,

w = (F + GΨ′ )−1 ẇ

d = Ψ′ (F + GΨ′ )−1 ẇ

Ψ := Ψ′ (F + GΨ′ )−1

Instead of estimating w as was done in the Nodulus Uvula model, ẇ is estimated instead for the Flocculus. Let
ŵ be the estimate of ẇ within the exosystem. The reasoning is simple. Recall that w is a vector of functions and
Ψ is a vector of constant weights. The type of functions in w are dependant on the eigenvalues of (F + GΨ). If
the disturbance is constant, w must be constant and ẇ = 0. Therefore, since ŵ → 0 as t → ∞, the disturbance
cannot be captured in uim .

Using the same adaptive internal model theory of the oculomotor system as used in the Nodulus Uvula Model
[11] [5], the following internal model is proposed to produce an estimate ŵ.

η̇0 = F η0 + F Gė (19)

η̇1 = F η1 − Gė (20)

η̇2 = F η2 + F G(us + uim ) (21)

ŵ = αOK

η0 + G(αOK

ė + us + uim ) − K̃x η1 + η2 (22)

Using equation 18, the following form for ŵ is achieved,

ŵ = αOK

η0 + G(−K̃x e + d) − K̃x η1 + η2

Note that if the time derivative is taken of the above, the following is recovered,

ŵ˙ = F ŵ + Gd˙

22
The estimation error for w is defined as w̃ := ŵ − ẇ. Similar to what was presented in section 3, one can take
the time derivative of the estimation error to procure the estimation error dynamics.

w̃˙ = ŵ˙ − F ẇ − Gd˙

w̃˙ = F w̃

Hence, as F is hurwitz, the estimation error dynamics ensure that w̃ → 0 exponentially as t → ∞. Finally, a
gradient descent adaptation law is chosen,

˙
Ψ̂ = γ ėŵT

where γ > 0 is the adaptation rate.

5.2 Development of the Flocculus MATLAB Model

Implementation of the analytical Flocculus model to a numerical MATLAB model requires the removal of an
algebraic loop and the determination of constants to ensure behaviors regarding stability are maintained. The
exact values of the constants within the model are not important as long as they recreate these behaviors
summarized in figure 2 in section 2.1. Biologically these ”constants” vary slowly and differ from individual to
individual [5].

5.2.1 Removal of the algebraic loop

Note that in the Flocculus analytical model (see Appendix A), computing ŵ requires ė however the dynamics
for ė require ŵ. Recall that ė is the retinal slip error, which is the only measurement the Optokinetic system
has. Therefore, in simulation, ė may use unobservable states such as d = ẋw + K̃x xw and e = xw − x. Thus,
the usable terms for the ŵ expression were d, Ψ̂, e, η0 , η1 and η2 . Once ŵ is computed, it may be used in the
expression for ė. Starting from,

ŵ = αOK

η0 + G(αOK

ė + us + uim ) − K̃x η1 + η2

αOK ė = −K̃x e − us − uim + d

Plugging into the ŵ expression for ė,

ŵ = αOK

η0 + G(−K̃x e + d) − K̃x η1 + η2 (23)

Plugging into the ė expression for us and uim ,

K̃x Ke ė = −K̃x e − Ψ̂ŵ + d (24)

An important property to notice in equation 25 is, K̃x ̸= 0, Ke ̸= 0.

23
5.2.2 Simulation Considerations

The system of differential equations ẋ = f (x, ė) representing the oculomotor plant, the brainstem and the internal
model contained within the Flocculus has a state x and initial conditions x0 of the form,

x = [x1 , η0T , η1T , η2T , Ψ̂]T

x0 = [0, 0, 0, 0, 0, 0, 0, 0, 0]T

where,

x ∈ R9x1

η0 , η1 , η2 ∈ R2x1

Ψ̂ ∈ R1x2

The system is also stiff requiring the use of the MATLAB differential equation solver ode15s rather than ode45.

5.2.3 Selection of Constants

As the brainstem ensures the stability of the Optokinetic Reflex even without the Flocculus, the constants must
reflect this behavior. An investigation of plant stability was performed to determine conditions on the constants
and to verify the plant and the inputs.

x˙1 = −Kx x1 + us + ub

x˙1 = −Kx x1 + αx x1 + αOK ė − αOK



ė + K̃x Ke ė

sX1 (s) = −Kx X1 (s) + αx X1 (s) + αOK Ė(s) − αOK



Ė(s) + K̃x Ke Ė(s)

Rearranging for the transfer function, we get,

X1 (s) ′
αOK − αOK + K̃x Ke
=
Ė(s) s + (Kx − ax )

Therefore for stability,

−1 + (Kx − ax )Ke < 0

Kx > ax

The following values were chosen for the constants in the simulation,

Kx = 4

ax = 3.5

Ke = 0.9

24
The plant is stable, see figure 18. Varying ax to be closer to Kx improves tracking of reference as expected
(larger gain). The plant and its inputs for the Flocculus model listed in appendix A is verified to be stable.

Figure 18: Simulation of the Optokinetic System with γ = 0 and x0 = 0 ∈ R1×9

5.3 Debugging the Internal Model

Before moving on to the simulation study, there is value in determining the ”correct” values of ŵ and Ψ̂ which
should be converged to as t → ∞. A known sinusoidal world position xw will be used as an example to debug
this model.

xw = sin(t)

d = cos(t) + K̃x sin(t)

The constant K̃x = Kx − αx = 0.5 will be used. Again, it is assumed that d is generated from an exosystem of
the form,

ẇ = F w + Gd

d = Ψ′ w

Plugging in for d,

ẇ = F w + GΨ′ w

= (F + GΨ′ )w

This is a homogeneous LTI system. Since I know the disturbance is a linear combination of sin(t) and cos(t),
the eigenvalues of (F + GΨ′ ) must be ±i. In order to achieve this, one must chose the constant coefficient vector

25
Ψ′ = [0, 2]. The solution to a homogeneous LTI system ẋ = Ax is,

x = eAt x0

Therefore, for the homogeneous LTI system, the solution for w is,
 
cos(t) sin(t)
w=  w0 (25)
−sin(t) cos(t)

From Nikiforov’s paper [15], w0 are unknown initial conditions which are compensated for by the observer of w.
In this debugging exercise where the disturbance is known, one can find the value of w0 .
 
h i cos(t) sin(t)
d = cos(t) + K̃x sin(t) = 0 2   w0 (26)
−sin(t) cos(t)

Therefore, w0 must be equal to,


 
−K̃x /2
w0 =  
1/2

A linear transformation was performed on the disturbance exosystem to ensure that the disturbance is dependant
on ẇ as described in section 5.1. Recall this limits the efficacy of this module to sinusoidal disturbances. Starting
from our homogeneous LTI for w and rearranging,

ẇ = (F + GΨ′ )w

w = (F + GΨ′ )−1 ẇ

Plugging into our exosystem expression for d,

d = Ψ′ (F + GΨ′ )−1 ẇ

Let Ψ := Ψ′ (F + GΨ′ )−1 ,

d = Ψẇ

To determine the value to which ŵ must converge to, the time derivative can be taken of equation 25.
    
d  cos(t) sin(t) −sin(t) cos(t) −K̃x /2
ẇ = w0 =   
dt −sin(t) cos(t) −cos(t) −sin(t) 1/2
 
K̃x
sin(t) + 12 cos(t)
= 2 
K̃x 1
2 cos(t) − 2 sin(t)

Ψ = Ψ′ (F + GΨ′ )−1

= [2, 0]

Ψẇ = K̃x sin(t) + cos(t) = d

26
At this point, the exosystem dynamics have been verified and it has been determined what ŵ must converge to
in order to achieve tracking of a sinusoidal disturbance. Now to verify the dynamics of ŵ. Recall from section 3
the dynamics for ŵ which is a consequence of the choice of regressors η0 , η1 , η2 and dynamic filter ŵ.

ŵ˙ = F ŵ + Gd˙

If the time derivative of d = Ψŵ is taken,

d˙ = Ψŵ˙

Plugging in and rearranging,

ŵ˙ = (I − GΨ)−1 F ŵ

The eigenvalues of (I − GΨ)−1 F are ±i. The solution to this homogeneous LTI system is thus,
 
cos(t) sin(t)
ŵ =   ŵ0
−sin(t) cos(t)

To conclude this section, it is expected that with a sinusoidal position stimulus xw = sin(t), the exosystem Ψ
and w parameter estimates must converge to,

Ψtrue = [2, 0]
 
K̃x
sin(t) + 1
2 cos(t)
wtrue =  2
K̃x 1
2 cos(t) − 2 sin(t)

5.4 Simulation Study: Sinusoidal Disturbance

The model was tested with a sinusoidal world position stimulus of xw = sin(t) deg. The γ term in the adaptation
law for Ψ̇d determines how fast the command from the Flocculus approaches the value required to supplement
the brainstem command to achieve tracking of the position reference xw . Simulations are run with γ = 1e − 2 for
sinusoidal disturbances to check for expected behavior. Smaller γ only increase the time to reach convergence.
The sinusoidal stimulus is then altered in frequency, amplitude and phase to showcase the ability of the Flocculus
to compensate for any sinusoidal position stimulus. However, prior to verifying the adaptive behavior of the
Flocculus, it is first important to check how the model performs with initial conditions set such that,

Ψ̂0 = [2, 0]
 
K̃x
sin(t) + 1
2 cos(t)
ŵ0 =  2
K̃x 1
2 cos(t) − 2 sin(t)

and with γ = 0 to remove adaptation.

27
5.4.1 Remarks

In figures 19 to 24, the results from the Flocculus model when initial conditions are set such that uim = d are
presented. Notice that the eye position is able to to perfectly track the sinusoidal world position and there is
0 positional error. Further, the ŵ dynamics track the ”true” ŵ presented in section 5.3 for xw = sin(t). Now
that there is confidence in the error dynamics of the model, the initial conditions can be set back to 0 and the
gradient descent Ψ̇ dynamics reinstated with a γ ̸= 0.

Starting with γ = 1e − 2 and xw = sin(t), in figures 25 - 27, it is shown that the Ψ̂ and ŵ values converge to
the predicted values in section 5.3. Once this happens, the uim command converges to the disturbance and the
positional error converges to 0.

Using γ = 1e − 2 and xw = 2 sin(5 ∗ t + pi/6), one is able to see in figures 28 - 30 the versatility of the Flocculus
model to reject sinusoidal position stimulus. Again, the internal models have no measurements other than the
retinal slip error and an estimate of the eye position to work with. The disturbance from the stimuli is unknown.
Note that once Ψ̂ converges, the position error goes to 0.

5.4.2 Figures

Figure 19: Simulation of the Optokinetic Reflex with γ = 0 and x0 such that uim = d

28
Figure 20: Errors from simulation of the Optokinetic Reflex with γ = 0 and x0 such that uim = d

Figure 21: Flocculus command during simulation of the Optokinetic Reflex with γ = 0 and x0 such that uim = d

29
Figure 22: ŵ during simulation of the Optokinetic Reflex with γ = 0 and x0 such that uim = d

Figure 23: Simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and x0 = 0

30
Figure 24: Errors from simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and x0 = 0

31
Figure 25: Flocculus command during simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and
x0 = 0

32
Figure 26: ŵ during simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and x0 = 0

Figure 27: Ψ̂ during simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) and x0 = 0

33
Figure 28: Simulation of the Optokinetic Reflex with γ = 1e − 2, xw = 2sin(5t + π/6) and x0 = 0

Figure 29: Errors from simulation of the Optokinetic Reflex with γ = 1e − 2, xw = 2sin(5t + π/6) and x0 = 0

34
Figure 30: Ψ̂ during simulation of the Optokinetic Reflex with γ = 1e − 2, xw = 2sin(5t + π/6) and x0 = 0

5.5 Simulation Study: Constant Disturbance

A quick example of the Flocculus model under a combined sinusoidal and constant position stimulus will be
presented using a γ = 1e − 2 and initial conditions set to 0.

35
Figure 31: Simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) + 3 and x0 = 0

Figure 32: Errors from simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) + 3 and x0 = 0

36
Figure 33: Ψ̂ from simulation of the Optokinetic Reflex with γ = 1e − 2, xw = sin(t) + 3 and x0 = 0

The Flocculus model is capable of tracking the sinusoidal stimulus component and is incapable of tracking the
constant component.

5.6 Simulation Study: Comparison to Optokinetic Responses of Rabbits

With an adjustment to the constants, one can recreate the behaviors seen in Rabbits during an Optokinetic
study performed by Nagao in 1988 [16]. The eye position response from the rabbits after their first encounter
(no time to adapt prior) with a sinusoidal velocity stimulus is shown in figure 34. Using the following constants,

Kx = 5

αOK = 1

αx = 2.5

Ke = 0.9

and with zero initial conditions and an adaptation rate set to zero γ = 0, the response in figure 35 was recorded
from the Flocculus model.

37
Figure 34: Rabbit Eye position vs sinusoidal velocity stimulus measured from rabbits during an Optokinetic
Study performed by Nagao

Figure 35: Eye position vs sinusoidal velocity stimulus from Flocculus Model Simulation using adjusted constants

6 Combined Nodulus Uvula and Flocculus Model


The two models are combined to work on a second order plant. This second order plant is important as it allows
for the simulation to use a direct calculation for ė = ẋw − ẋ. The internal models of the Flocculus and Nodulus
Uvula work separately to provide commands to supplement the brainstem command to the plant. Although the
Flocculus internal model was designed to work with a first order model, it will be shown that it still is capable
of working on a second order plant. The methodology that was followed to debug this combined model is as
follows,

1. Ensure stability and desired behaviors in a second order plant Flocculus Model

2. Integrate the Nodulus Uvula model in the 2nd order plant Flocculus model including the velocity storage
mechanism

38
3. Test the combined model by removing the Nodulus Uvula internal model and provide a sinusoidal position
stimuli

4. Test the combined model by removing the Flocculus internal model and provide a constant velocity stimului

5. Test the combined model providing a sinusoidal position and constant velocity stimulus

6.1 The second order plant Flocculus Model

Changing the plant from a first order plant to a second order plant allows for the direct computation of ė = ẋw − ẋ.
The second order plant to be used is identical to the one in the Nodulus Uvula model,

x˙1 = x2

x˙2 = α2 (−x2 − Kx x1 + u)

ė = ẋw − x2

where x1 is the eye position and x2 is the eye velocity. There is a new constant α2 within the second order plant
which needs to be determined to ensure stability without a command from the Flocculus uim . Using a similar
derivation to section 5.2.3, the following transfer function was found between the eye position and ė,

X(s) −α2 + K̃x Ke


= 2
Ė(s) s + α2 s + α2 K̃x

In order to ensure stability of the plant using only the brainstem contribution, α2 ≥ 4K̃x . Hence, we choose
α2 = 4K̃x . The full 2nd order plant for the Flocculus model is as follows,

x˙1 = x2 (27)

x˙2 = α2 (−x2 − Kx x1 + u) (28)

η̇0 = F η0 + F Gė (29)

η̇1 = F η1 − Gė (30)

η̇2 = F η2 + F G(us + uim ) (31)

ŵ = αOK

η0 + G(αOK

ė + us + uim ) − K̃x η1 + η2 (32)

ub = αx x1 + αOK ė (33)

us = −αOK

ė + K̃x Ke ė (34)

uim = Ψ̂ŵ (35)

u = ub + us + uim (36)
˙
Ψ̂ = γ ėŵT (37)

ė = ẋw − x2 (38)

d := ẋw + K̃x xw (39)

39
where,

K̃x = Kx − αx

αOK = 1 + αOK

α2 = 4K̃x

and F and G is in Controllable Canonical Form,


 
0 1
F = 
−1 −2
 
0
G= 
1

Applying the same sinusoidal position stimulus in prior simulation studies xw = sin(t), the following stable
response was recorded from this second order plant model with no adaptation γ = 0. See figures 36.

Figure 36: Simulation of the Optokinetic Reflex regulated by the Flocculus with a second order plant with γ = 0,
xw = sin(t) and x0 = 0

With γ = 1e − 2, the following response is achieved in figures 37 and 38,

40
Figure 37: Simulation of the Optokinetic Reflex regulated by the Flocculus with a second order plant with
γ = 1e − 2, xw = sin(t) and x0 = 0

41
Figure 38: Errors from simulation of the Optokinetic Reflex regulated by the Flocculus with a second order plant
with γ = 1e − 2, xw = sin(t) and x0 = 0

Hence, the behaviors expected to be seen from the Flocculus is still present when the plant is changed to a second
order plant.

6.2 The Combined Flocculus and Nodulus Uvula Model

The inspiration for how the two models could be combined comes from a 2020 paper from Nikiforov which
combines two exosystems; one for a disturbance and one for the reference signal[20]. Essentially, two exosystems,
for example 1 and 2, and the estimates for each can be combined linearly such that,

Ψ = [Ψ1 , Ψ2 ]

w = [w1 , w2 ]T

Ψ̂ = [Ψ̂1 , Ψ̂2 ]

ŵ = [ŵ1 , ŵ2 ]T

Hence for our models, the combined disturbance rejection command would be,

unf = Ψ̂ŵ = [Ψ̂n , Ψ̂f ] ∗ [ŵn , ŵf ]T

= un + uf

42
Thus we only need to add both compensating commands uim + un to the stabilizing commands us + ub in the
command to the plant. The block diagram for the combined model is presented in figure 39.

Figure 39: Block diagram of the combined Nodulus Uvula and Flocculus Models. FC - Flocculus, NU - Nodulus
Uvula, B - Brainstem, VSM - Velocity Storage Mechanism, P - Oculomotor Plant

A second order plant is utilized in this model and the velocity storage mechanism is reinstated as it was in
Nodulus Uvula model. The Flocculus, brainstem, velocity storage mechanism and Nodulus Uvula all use a
common measurement of the retinal slip error ė = ẋw − x2 . The brainstem also utilizes the velocity storage
mechanism to determine the brainstem command similar to the Nodulus Uvula model. The behavior to be
expected of this model is the elimination of sinusoidal position errors and constant velocity errors. When the
Flocculus and Nodulus Uvula blocks are removed, the system should still remain stable. The combined model
is as follows,

43
ẋ1 = x2 (40)

ẋ2 = α2 (−x2 − Kx x1 + u) (41)

v̇ = −Kv v + Kv ė (42)

u = ub + us + uim + un (43)

ė = ẋw − x2 (44)

e = xw − x1 (45)

η̇n,0 = Fn ηn,0 + Fn Gn ė (46)

η̇n,1 = Fn ηn,1 − Gn ė (47)

η̇n,2 = Fn ηn,2 − Gn un (48)

η̇n,3 = Fn ηn,3 − Gn x1 (49)

η̇n,4 = Fn ηn,4 (50)

η̇n,5 = Fn ηn,5 − Gn v (51)

ŵn = [ηn,0 + Gn ė, ηn,1 , ηn,2 , ηn,3 , ηn,4 , ηn,5 ]T (52)

η̇f,0 = Ff ηf,0 + Ff Gf ė (53)

η̇f,1 = Ff ηf,1 − Gf ė (54)

η̇f,2 = Ff ηf,2 + Ff Gf (us + uim ) (55)

ŵf = αOK

ηf,0 + G(αOK

ė + us + uim ) − K̃x ηf,1 + ηf,2 (56)

ub = −αx x1 + αOK ė + αv v (57)

us = −αOK

ė + K̃x Ke ė (58)

uim = Ψ̂f ŵf (59)

un = Ψ̂n ŵn (60)


˙
Ψ̂n = γn ėŵnT (61)
˙
Ψ̂f = γf ėŵfT (62)

Once again, there are new constants to consider to ensure stability of the eye without commands from the
Flocculus or Nodulus Uvula. These constants are the VSM constants, αv and Kv . The simulation will use the
same Kv = 0.05 as used in the Nodulus Uvula only model as it has no bearing on the combined model dynamics.
One possible value of αv to ensure stability is αv = 1. The summary of the values of the constants used in the

44
combined model simulation are as follows,

Kx = 5

αx = 4.5

K̃x = Kx − αx

αOK = 1

αOK = 1 + αOK

Ke = 0.9

Kv = 0.05

α2 = 4K̃x

αv = 1

The values of exosystem constants Ff ,Gf ,Fn ,Gn in the simulation are,
 
0 1
Ff =  
−1 −2
 
0
Gf =  
1

Fn = −0.01

Gn = 0.01

6.3 Simulation Study of the Combined Model

When performing a simulation study on the combined model, the following behaviors from the literature must
be recreated in order for the model to be plausible,

1. The system is stable with the Nodulus Uvula and Flocculus removed

2. A sinusoidal positional stimulus can be tracked by the eye

3. A constant velocity stimulus can be tracked by the eye

4. A combined sinusoidal positional and constant velocity stimulus can be tracked

The code for the combined model simulation can be found in Appendix B.

6.3.1 Remarks

The first order of business is to verify system stability with the Nodulus Uvula and Flocculus modules removed.
In order to do this, both uim and un commands were removed from u, thus u = ub + us . Note, the same effect

45
would be acheived with zero initial conditions and γf = γn = 0. Again, the us command does not reject any
disturbance, rather it provides stability to the error dynamics. Using a world position stimulus of xw = sin(t),
figures 40 and 41 show the response and errors respectively. The response and errors are bounded hence the
behavior of eye position and velocity stability without the Nodulus Uvula and Flocculus is reproduced. Using a
constant velocity stimulus, a stable eye velocity response is also achieved in figures 42 and 43.

We now reinstate the Flocculus and Nodulus Uvula commands to the plant and set γf = 1e − 2, γn = 1e − 8 for
testing the adaptive rejection behaviors of both modules. First we provide a sinusoidal positional stimulus to the
system and expect to see the Flocculus stimulated only and providing a command to facilitate tracking of the
sinusoidal positional stimulus (as per the behaviors outlined in section 2). The response, errors and commands
from the Nodulus Uvula and Flocculus are presented in figures 44 to 47. Note that the error in position, and
thus velocity, decay to 0 once the command from the Flocculus uim converges on the disturbance caused by the
stimulus. Also notice the lack of a response from the Nodulus Uvula. Hence we have reproduced the behavior
of the Optokinetic Reflex to track sinusoidal world positions.

We perform the same experiment but instead with a constant velocity stimulus, ẋw = 3, xw = 3t. We expect
to see the Nodulus Uvula stimulated and providing a command to facilitate tracking of the constant velocity
stimulus. The results of this experiment are visualized in figures 48-51. As we are using what is a ramp position
stimulus with no constraints on the maximum position of the eye, the Flocculus command continues to grow
as ŵf utilizes an estimate of the positional error. However, this large Flocculus command does not affect the
models ability to recreate the behavior of the Optokinetic Reflex to track constant world positions.

The final test of the model is in a combined constant velocity and sinusoidal position stimulus, xw = 3sin(5t +
π/6) + 3t. We expect both the Flocculus and Nodulus Uvula to provide commands to reject both disturbances.
The results from this test are contained in figures 52-56. The velocity error depicted in figure 51 decays into a
sinusoid centered around 0. Given that the Nodulus Uvula is only capable of eliminate constant velocity error,
this result is in line with the desired behavior. In figure 56, the eye position and world position stimulus signals
when the system is in steady state have been detrended to remove the ramp component. From figure 54, we can
see that the system is able to track the sinusoidal world position component of the position stimulus. Therefore,
both the Flocculus and Nodulus Uvula are performing their expected behaviors when faced with a combined
sinusoidal and constant stimulus.

46
6.3.2 Figures

Figure 40: OKR response from xw = sin(t) and x0 = 0 with Nodulus Uvula and Flocculus commands removed

Figure 41: Error in OKR response from xw = sin(t) and x0 = 0 with Nodulus Uvula and Flocculus commands
removed

47
Figure 42: OKR response from xw = 3t and x0 = 0 with Nodulus Uvula and Flocculus commands removed

Figure 43: Error in OKR response from xw = 3t and x0 = 0 with Nodulus Uvula and Flocculus commands
removed

48
Figure 44: OKR response from xw = sin(t) and x0 = 0 using the combined model

Figure 45: Error in OKR response from xw = sin(t) and x0 = 0 using the combined model

49
Figure 46: Flocculus command during OKR response from xw = sin(t) and x0 = 0 using the combined model

Figure 47: Nodulus Uvula command during OKR response from xw = sin(t) and x0 = 0 using the combined
model

50
Figure 48: OKR response from ẋw = 3 and x0 = 0 using the combined model

Figure 49: Error in OKR response from ẋw = 3 and x0 = 0 using the combined model

51
Figure 50: Flocculus command during OKR response from ẋw = 3 and x0 = 0 using the combined model

Figure 51: Nodulus Uvula command during OKR response from ẋw = 3 and x0 = 0 using the combined model

52
Figure 52: OKR response from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the combined model

Figure 53: Error in OKR response from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the combined model

53
Figure 54: Flocculus command during OKR response from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the
combined model

Figure 55: Nodulus Uvula command during OKR response from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the
combined model

54
Figure 56: Detrended OKR response after from xw = 3sin(5t + π/6) + 3t and x0 = 0 using the combined model

7 Conclusion
This thesis started with an investigation of the behaviors associated with the Optokinetic Reflex seen in lesion
studies (see figure 57) and studied a numerical model of the OKR as regulated by the Nodulus Uvula for use
under constant stimuli. This Nodulus Uvula model was unable to compensate for sinusoidal disturbances. A
numerical model of the OKR regulated by the Flocculus was produced using the same internal model theory
proposed by Broucke [11]. This numerical model of the Flocculus reproduced the behaviors seen in studies of
the Optokinetic Reflex under sinusoidal stimuli. The Flocculus model was then used to produce a potential
numerical model of the Optokinetic Reflex as regulated by the Nodulus Uvula, Flocculus and brainstem which
reproduces the behaviors that are seen in literature regarding the Optokinetic Reflex under constant velocity
and sinusoidal position stimuli.

The combined model successfully utilized the same internal model theory of the oculomotor system presented
by [11] for models of the Flocculus and Nodulus Uvula. These internal models predicted future stimuli from
past sequences of stimuli to produce a command which ”tops up” the brainstem command to allow tracking of
sinusoidal position and constant velocity stimuli. The only measurement these internal models have access to is
the retinal slip error and an estimate of the position of the eye. Further, the Nodulus Uvula and Flocculus both
respond only to their respective stimuli; world Velocity and World position respectively. Through simulation
studies using stimuli similar to those utilized in lesion studies, this thesis was able to verify the similarity of
behavior between the model and the studies as summarized in figure 57.

Future work would include removal of assumptions such as a lack of head velocity and a perfect estimate of
the eye position to produce a higher fidelity model. It is also possible to add in other behavioral components
such as Optokinetic after-nystagmus which is the eye movements that occur when light is removed from the
environment during an Optokinetic response. Saccades, a rapid eye movement which shifts gaze, can also be

55
introduced similar to what was done in Battle’s Thesis [5]. Furthermore, a complete model of the oculomotor
system which reproduces the behaviors of all of the eye reflexes could be a notable problem to solve. On the
horizon could be the use of similar internal models to reproduce arm movements.

Figure 57: Summary of the structure of the Optokinetic Reflex and the relevant behaviors to recognize

56
Appendix A: Analytical Models

The Nodulus Uvula-Brainstem only Model of the Optokinetic Reflex

The Optokinetic Reflex (OKR) as regulated by the Nodulus Uvula and brainstem model developed by Erin
Battle for constant disturbances is as follows,

x˙1 = x2

x˙2 = α2 (−x2 − Kx x1 + u)

v̇ = −Kv v + Kv en

˙ = Fn ηn,0 + Fn Gn en
ηn,0

˙ = Fn ηn,1 − Gn en
ηn,1

˙ = Fn ηn,2 − Gn un
ηn,2

˙ = Fn ηn,3 − Gn x1
ηn,3

˙ = Fn ηn,4
ηn,4

˙ = Fn ηn,5 − Gn v
ηn,5
˙
Ψ̂d = γen wˆd

wˆd = [ηn,0 + Gn en , ηn,1 , ηn,2 , ηn,3 , ηn,4 , ηn,5 ]T

Where the state vector is,

x̄ = [x1 , x2 , v, ηn,0 , ηn,1 , ηn,2 , ηn,3 , ηn,4 , ηn,5 , Ψ̂d ]T ∈ R15

and constants are,

Kx = 5

Kxh = 5

Kv = 0.05

α2 = 200

aOK = 1

av = 10

Kx is the plant time constant. Kxh is the neural integrator time constant. Kv is the velocity storage mechanism
time constant. α2 is the gain on the derivative of x2 . αOK is the Optokinetic gain. αv is the velocity storage
mechanism gain. αx = Kx

57
The Flocculus-Brainstem only model of the Optokinetic Reflex

The Flocculus-brainstem regulated Optokinetic Reflex analytical model derived by Katie Allison for sinusoidal
disturbances is as follows,

ẋ1 = −Kx x1 + u

η̇0 = F η0 + F Gė

η̇1 = F η1 − Gė

η̇2 = F η2 + F G(us + uim )

ŵ = αOK

η0 + G(αOK

ė + us + uim ) − K̃x η1 + η2

ub = αx x1 + αOK ė

us = −αOK

ė + K̃x Ke ė

uim = Ψ̂ŵ

u = ub + us + uim
˙
Ψ̂ = γ ėŵT

αOK ė = −K̃x e − us − uim + d

d := ẋw + K̃x xw

where,

K̃x = Kx − αx

αOK = 1 + αOK

F and G is in Controllable Canonical Form,


 
0 1
F = 
−1 −2
 
0
G= 
1

58
The Nodulus Uvula-Flocculus-Brainstem model of the Optokinetic Reflex

The combined model using both the Flocculus and Nodulus Uvula models is as follows,

ẋ1 = x2

ẋ2 = α2 (−x2 − Kx x1 + u)

v̇ = −Kv v + Kv ė

u = ub + us + uim + un

ė = ẋw − x2

e = xw − x1

η̇n,0 = Fn ηn,0 + Fn Gn ė

η̇n,1 = Fn ηn,1 − Gn ė

η̇n,2 = Fn ηn,2 − Gn un

η̇n,3 = Fn ηn,3 − Gn x1

η̇n,4 = Fn ηn,4

η̇n,5 = Fn ηn,5 − Gn v

ŵn = [ηn,0 + Gn ė, ηn,1 , ηn,2 , ηn,3 , ηn,4 , ηn,5 ]T

η̇f,0 = Ff ηf,0 + Ff Gf ė

η̇f,1 = Ff ηf,1 − Gf ė

η̇f,2 = Ff ηf,2 + Ff Gf (us + uim )

ŵf = αOK

ηf,0 + G(αOK

ė + us + uim ) − K̃x ηf,1 + ηf,2

ub = −αx x1 + αOK ė + αv v

us = −αOK

ė + K̃x Ke ė

uim = Ψ̂f ŵf

un = Ψ̂n ŵn
˙
Ψ̂n = γn ėŵnT
˙
Ψ̂f = γf ėŵfT

59
with constants set for stability,

Kx = 5

αx = 4.5

K̃x = Kx − αx

αOK = 1

αOK = 1 + αOK

Ke = 0.9

Kv = 0.05

α2 = 4K̃x

αv = 1

and exosystem constants set as,


 
0 1
Ff =  
−1 −2
 
0
Gf =  
1

Fn = −0.01

Gn = 0.01

Appendix B: MATLAB Code for the combined Flocculus and Nodulus


Uvula Models
1 close all ;
2 clear all ;
3

4 g l o b a l aOK Kx ax w o r l d p o s w o r l d v e l G F Gs Fs Ke gammaFC w o r l d a c c e l a2 Kxh Kv


av gammaNU
5

6 %% Model S e t t i n g s and C o n s t a n t s
7

8 % Disturbance
9 frq = 1;
10 amp = 1 ;
11 phase = 0 ;

60
12 w o r l d p o s = @( t ) amp∗ s i n ( f r q ∗ t + phase ) + 3∗ t ;
13 w o r l d v e l = @( t ) amp∗ f r q ∗ c o s ( f r q ∗ t + phase ) + 3 ;
14 w o r l d a c c e l = @( t ) −amp∗ f r q ˆ2∗ s i n ( f r q ∗ t + phase ) ;
15

16 %C o n s t a n t s
17 Kx = 5 ; %p l a n t time c o n s t a n t
18 aOK = 1 ; %O p t o k i n e t i c g a i n
19 ax = 4 . 5 ; %Cannot be e q u a l t o Kx
20 Ke = 0 . 9 ;
21 KxT = Kx − ax ;
22 a2 = 4∗KxT ;
23 Kxh = 5 ; %n e u r a l i n t e g r a t o r time c o n s t a n t
24 Kv = 0 . 0 5 ; %VSM time c o n s t a n t
25 av = 1 ; %VSM g a i n
26

27 %Adaption Rates
28 gammaFC = 1 e −2;
29 gammaNU = 1 e −8;
30

31 %Exosystem C o n st a n t s
32 lamb1 = −1;
33 lamb2 = −2;
34

35 Fs = [ 0 1 ; lamb1 lamb2 ] ;
36 Gs = [ 0 ; 1 ] ;
37

38 F = −0.01;
39 G = 0.01;
40

41 %time s e t t i n g s ( s e c o n d s )
42 t0 = 0 ;
43 t f = 60∗120;
44

45 %i n i t i a l c o n d i t i o n s
46 x0 = [ 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ] ; %u n t r a i n e d
47

48 %% Main Code Body


49 %Setup ode45

61
50 tspan = [ t0 t f ] ;
51 o p t i o n s = o d e s e t ( ’ RelTol ’ , 1 e −7) ;
52

53 %Run o d e 1 5 s
54 [ t , x ] = o d e 1 5 s (@modelOKR FC NU , tspan , x0 ) ;
55

56 %% R e d e r i v e command , head movement , e r r o r , ub o u t s i d e ode45 f o r p l o t t i n g


57 nf = length ( t ) ;
58

59 xw = [ w o r l d p o s ( t ( 1 : n f ) ’ ) ] ’ ;
60 ds = [ w o r l d v e l ( t ( 1 : n f ) ’ ) + (Kx−ax ) ∗ w o r l d p o s ( t ( 1 : n f ) ’ ) ] ’ ;
61 d s d o t = [ w o r l d a c c e l ( t ( 1 : n f ) ’ ) + (Kx−ax ) ∗ w o r l d v e l ( t ( 1 : n f ) ’ ) ] ’ ;
62 xwdot = [ w o r l d v e l ( t ( 1 : n f ) ’ ) ] ’ ;
63

64 %r e d e r i v e e r r o r e
65 e = xw − x ( : , 1 ) ;
66

67 %g e t e d o t
68 e d o t = xwdot − x ( : , 2 ) ;
69

70 %r e d e r i v e what f o r FC
71 whatfc = ( ( 1 + aOK) ∗x ( : , 3 : 4 ) ’ − Gs ∗ (Kx−ax ) ∗ e ’ + Gs∗ ds ’ − (Kx−ax ) ∗x ( : , 5 : 6 ) ’ + x
( : , 7 : 8 ) ’) ’;
72

73 %r e d e r i v e what f o r NU
74 whatnu = [ x ( : , 1 2 ) + G∗ edot , x ( : , 1 3 ) , x ( : , 1 4 ) , x ( : , 1 5 ) , x ( : , 1 6 ) , x ( : , 1 7 ) ] ;
75

76 %r e d e r i v e p s i h a t f o r FC
77 psihatfc = x (: ,9:10) ;
78

79 %r e d e r i v e p s i h a t f o r NU
80 psihatnu = x ( : , 1 8 : 2 3 ) ;
81

82 %r e d e r i v e uim
83 uim = sum ( p s i h a t f c . ∗ whatfc , 2 ) ;
84

85 %r e d e r i v e un
86 un = sum ( p s i h a t n u . ∗ whatnu , 2 ) ;

62
87

88 %g e t us
89 us = −aOK∗ e d o t − Ke∗ (Kx−ax ) ∗ e d o t ;
90

91 %g e t ub
92 ub = ax ∗x ( : , 1 ) + aOK∗ e d o t + av ∗x ( : , 1 1 ) ;
93

94 %% P l o t t i n g
95

96 % Eye p o s i t i o n , v e l o c i t y vs World p o s i t i o n , v e l o c i t y
97 figure (1) ;
98 subplot (2 ,1 ,1)
99 h o l d on
100 p l o t ( t , xw , ’ LineWidth ’ , 6 , ’ C o l o r ’ , [ 0 . 9 , 0 . 6 , 0 . 2 ] )
101 p l o t ( t , x ( : , 1 ) , ’ LineWidth ’ , 3 , ’ C o l o r ’ , [ 0 . 1 , 0 . 5 , 0 . 7 ] ) ;
102 l e g e n d ( ’xw ’ , ’ x ’ )
103 x l a b e l ( ’ time ( s ) ’ )
104 y l a b e l ( ’ H o r i z o n t a l Pos . ( deg ) ’ )
105 hold o f f
106 subplot (2 ,1 ,2)
107 h o l d on
108 p l o t ( t , xwdot , ’ LineWidth ’ , 6 , ’ C o l o r ’ , [ 0 . 9 , 0 . 6 , 0 . 2 ] )
109 p l o t ( t , x ( : , 2 ) , ’ LineWidth ’ , 3 , ’ C o l o r ’ , [ 0 . 1 , 0 . 5 , 0 . 7 ] ) ;
110 l e g e n d ( ’ xwdot ’ , ’ xdot ’ )
111 x l a b e l ( ’ time ( s ) ’ )
112 y l a b e l ( ’ H o r i z o n t a l Vel . ( deg / s ) ’ )
113 hold o f f
114

115 %F l o c c u l u s u im
116 figure (2)
117 h o l d on
118 p l o t ( t , uim , ’ LineWidth ’ , 3 , ’ C o l o r ’ , [ 0 . 9 2 9 , 0 . 6 8 4 , 0 . 1 2 5 ] ) ;
119 l e g e n d ( ’ uim ’ )
120 x l a b e l ( ’ time ( s ) ’ )
121 y l a b e l ( ’Command uim ( deg / s ) ’ )
122

123 hold o f f
124

63
125 %E r r o r s
126 figure (3)
127 subplot (2 ,1 ,1)
128 h o l d on
129 p l o t ( t , edot , ’ LineWidth ’ , 6 , ’ C o l o r ’ , [ 0 . 8 , 0 . 2 , 0 . 4 ] )
130 x l a b e l ( ’ time ( s ) ’ )
131 y l a b e l ( ’ e d o t ( deg / s ) ’ )
132 %ylim ([ −5 5 ] )
133 hold o f f
134 subplot (2 ,1 ,2)
135 h o l d on
136 p l o t ( t , e , ’ LineWidth ’ , 6 , ’ C o l o r ’ , [ 0 . 8 , 0 . 2 , 0 . 4 ] )
137 x l a b e l ( ’ time ( s ) ’ )
138 y l a b e l ( ’ e ( deg ) ’ )
139 %ylim ([ −5 5 ] )
140 hold o f f
141

142 %F l o c c u l u s p s i h a t dynamics
143 figure (4)
144 h o l d on
145 p l o t ( t , p s i h a t f c ( : , 1 ) , ’ LineWidth ’ , 4 )
146 p l o t ( t , p s i h a t f c ( : , 2 ) , ’ LineWidth ’ , 4 )
147 legend ( ’ Psihat1 ’ , ’ Psihat2 ’ )
148 x l a b e l ( ’ time ( s ) ’ )
149 ylabel ( ’ Psihat ’ )
150 hold o f f
151

152 %Nodulus Uvula u n


153 figure (5)
154 h o l d on
155 p l o t ( t , un , ’ LineWidth ’ , 3 , ’ C o l o r ’ , [ 0 . 9 2 9 , 0 . 6 8 4 , 0 . 1 2 5 ] ) ;
156 l e g e n d ( ’ un ’ )%’ us ’ )
157 x l a b e l ( ’ time ( s ) ’ )
158 y l a b e l ( ’Command un ( deg / s ) ’ )
159 hold o f f
160 %% Model
161

162 f u n c t i o n xprime = modelOKR FC NU( t , x )

64
163 g l o b a l aOK Kx ax w o r l d p o s w o r l d v e l F G Fs Gs Ke gammaFC w o r l d a c c e l a2 Kv av
gammaNU
164

165 % Stimulus
166 xw = w o r l d p o s ( t ) ;
167 xwdot = w o r l d v e l ( t ) ;
168

169 % Disturbance
170 ds = w o r l d v e l ( t ) + (Kx−ax ) ∗ w o r l d p o s ( t ) ;
171 d s d o t = w o r l d a c c e l ( t ) + (Kx−ax ) ∗ w o r l d v e l ( t ) ;
172

173 %eye p o s i t i o n and v e l o c i t y


174 x1 = x ( 1 ) ;
175 x2 = x ( 2 ) ;
176

177 %FLOCCULUS
178 %Adaptive I n t e r n a l Model
179 n0fc = [ x (3) ; x (4) ] ;
180 n1fc = [ x (5) ; x (6) ] ;
181 n2fc = [ x (7) ; x (8) ] ;
182

183 %Parameter E s t i m a t i o n
184 psihatfc = [ x (9) ; x(10) ] ’ ;
185

186 %NODULUS UVULA


187 %V e l o c i t y S t o r a g e Mechanism
188 v = x(11) ;
189

190 %D i s t u r b a n c e Observer / I n t e r n a l Model


191 n0nu = x ( 1 2 ) ;
192 n1nu = x ( 1 3 ) ;
193 n2nu = x ( 1 4 ) ;
194 n3nu = x ( 1 5 ) ;
195 n4nu = x ( 1 6 ) ;
196 n5nu = x ( 1 7 ) ;
197

198 %Parameter e s t i m a t i o n s
199 psihatnu = x (18:23) ’ ;

65
200

201 %SIGNALS
202 %c a l c u l a t e e
203 e = xw − x1 ;
204

205 %C a l c u l a t e what f o r t h e f l o c c u l u s
206 whatfc = (1+aOK) ∗ n 0 f c + Gs∗ ds − Gs ∗ (Kx−ax ) ∗ e − (Kx − ax ) ∗ n 1 f c + n 2 f c ;
207

208 %C a l c u l a t e e d o t
209 e d o t = xwdot − x2 ;
210

211 %C a l c u l a t e us
212 us = −(1+aOK) ∗ e d o t + (Kx − ax ) ∗Ke∗ e d o t ;
213

214 %C a l c u l a t e uim
215 uim = p s i h a t f c ∗ whatfc ;
216

217 %C a l c u l a t e ub
218 ub = ax ∗ x1 + aOK∗ e d o t + av ∗v ;
219

220 %C a l c u l a t e what f o r t h e n o d u l u s uvula


221 whatnu = [ n0nu + G∗ edot , n1nu , n2nu , n3nu , n4nu , n5nu ] ’ ;
222

223 %C a l c u l a t e un
224 un = p s i h a t n u ∗whatnu ;
225

226 %C a l c u a t e t o t a l command t o p l a n t
227 u = ub + us + uim + un ;
228

229 %PLANT
230 %Second Order Oculomotor P la nt
231 xdot ( 1 ) = x2 ;
232 xdot ( 2 ) = a2∗(−x2 − Kx∗ x1 + u ) ;
233

234 %FLOCCLUS
235 %F l o c c u l u s Adaptive I n t e r n a l Model
236 n 0 d o t f c = Fs ∗ n 0 f c + Fs ∗Gs∗ e d o t ;
237 n 1 d o t f c = Fs ∗ n 1 f c − Gs∗ e d o t ;

66
238 n 2 d o t f c = Fs ∗ n 2 f c + Fs ∗Gs ∗ ( us+uim ) ;
239

240 xdot ( 3 ) = n 0 d o t f c ( 1 ) ;
241 xdot ( 4 ) = n 0 d o t f c ( 2 ) ;
242

243 xdot ( 5 ) = n 1 d o t f c ( 1 ) ;
244 xdot ( 6 ) = n 1 d o t f c ( 2 ) ;
245

246 xdot ( 7 ) = n 2 d o t f c ( 1 ) ;
247 xdot ( 8 ) = n 2 d o t f c ( 2 ) ;
248

249 p s i h a t d o t f c = gammaFC∗ e d o t ∗ whatfc ’ ;


250

251 xdot ( 9 ) = p s i h a t d o t f c ( 1 ) ;
252 xdot ( 1 0 ) = p s i h a t d o t f c ( 2 ) ;
253

254 %NODULUS UVULA


255 %VSM
256 xdot ( 1 1 ) = Kv ∗ ( −v + e d o t ) ;
257

258 % Nodulus Uvula Adaptive I n t e r n a l Model


259 xdot ( 1 2 ) = F ∗ n0nu + F ∗ G ∗ e d o t ; % n 0
260 xdot ( 1 3 ) = F ∗ n1nu − G ∗ e d o t ; % n 1
261 xdot ( 1 4 ) = F ∗ n2nu − G ∗ un ; % n 2
262 xdot ( 1 5 ) = F ∗ n3nu − G ∗ x1 ; % n 3
263 xdot ( 1 6 ) = F ∗ n4nu − G ∗ 0 ; % n 4 %0 b e c a u s e i t s head v e l o c i t y
264 xdot ( 1 7 ) = F ∗ n5nu − G ∗ v ; % n 5
265

266 xdot ( 1 8 : 2 3 ) = gammaNU ∗ e d o t ∗ whatnu ’ ; % p s i h a t


267

268 xprime = xdot ’ ;


269

270 end

67
References
[1] M. Land, “Eye movements in man and other animals,” Vision Research, vol. 162, pp. 1–7, 2019, issn:
0042-6989. doi: https : / / doi . org / 10 . 1016 / j . visres . 2019 . 06 . 004. [Online]. Available: https :
//www.sciencedirect.com/science/article/pii/S0042698919301245.

[2] B. Cohen, “The nodulus and uvula, source of cerebellar control of spatial orientation of the angular
vestibulo-ocular reflex,” Annals of the New York Academy of Sciences, vol. 978, no. 1, pp. 28–45, 2006.
doi: https://doi.org/10.1111/j.1749-6632.2002.tb07553.x.

[3] K. Allison, “Control-theoretic model for flocculus to simulate optokinetic response behaviors,” Apr. 2021.

[4] M. E. Broucke, “Model of the oculomotor system based on adaptive internal models∗∗supported by the
natural sciences and engineering research council of canada (nserc).,” IFAC-PapersOnLine, vol. 53, no. 2,
pp. 16 430–16 437, 2020, 21st IFAC World Congress, issn: 2405-8963. doi: https://doi.org/10.1016/
j.ifacol.2020.12.729. [Online]. Available: https://www.sciencedirect.com/science/article/pii/
S240589632031048X.

[5] E. Battle, “A control-theoretic model of the optokinetic system,” ProQuest Dissertations Publishing, 2021.

[6] H. Cohen, “Habituation and adaptation of the vestibuloocular reflex: A model of differential control by the
vestibulocerebellum,” Experimental brain research, vol. 90, pp. 526–538, 1992. doi: 110.1007/BF00230935.

[7] S. Nagao, “Effects of vestibulocerebellar lesions upon dynamic characteristics and adaptation of vestibulo-
ocular and optokinetic responses in pigmented rabbits,” Experimental brain research, vol. 53, no. 1, pp. 36–
46, 1983. doi: 10.1007/BF00239396.

[8] S. J. Heinen and E. L. Keller, “The function of the cerebellar uvula in monkey during optokinetic and
pursuit eye movements: Single-unit responses and lesion effects,” Experimental brain research, vol. 110,
no. 1, pp. 1–14, 1996. doi: 10.1007/BF00241368.

[9] D. Robinson, “The use of control systems analysis in the neurophysiology of eye movements,” Annual
Reviews Neuroscience, vol. 4, no. 1, pp. 463–503, 1981. doi: 10.1146/annurev.ne.04.030181.002335.

[10] B. Cohen, V. Matsuo, and T. Raphan, “Quantitative analysis of the velocity characteristics of optokinetic
nystagmus and optokinetic after-nystagmus,” J. Physiol, vol. 270, pp. 321–344, 1977.

[11] M. E. Broucke, “Adaptive internal model theory of the oculomotor system and the cerebellum,” IEEE
Transactions on Automatic Control, Feb. 2021. doi: https://doi.org/10.48550/arXiv.1901.01309.
[Online]. Available: https://arxiv.org/abs/1901.01309v2.

[12] S. Miki and Y. Hirata, “Velocity storage mechanism drive a cerebellar clock for predictive eye control,”
Scientific Reports, pp. 1–13, 2020.

[13] S. Shirai, “Activation of cerebellar b-type -aminobutyric acid receptor modulates optokinetic reflex adapta-
tion,” Yakugaku Zasshi, vol. 134, no. 3, pp. 439–445, 2014. doi: https://doi.org/10.1248/yakushi.13-
00233.

68
[14] E. Katz, “Effects of midline medullary lesions on velocity storage and the vestibulo-ocular reflex,” Experi-
mental brain research, vol. 87, no. 3, pp. 505–520, 1991. doi: 10.1007/BF00227076.

[15] V. Nikiforov, “Observers of external deterministic disturbances. i. objects with known parameters,” Au-
tomation and Remote Control, vol. 65, no. 10, pp. 1531–1541, 2004. doi: https://doi.org/10.1023/B:
AURC.0000044264.74470.48.

[16] S. Nagao, “Behavior of floccular purkinje cells correlated with adaptation of horizontal optokinetic eye
movement response in pigmented rabbits,” Experimental brain research, vol. 73, no. 3, pp. 489–497, 1988.
doi: 10.1007/BF00406606.

[17] W. Waespe, B. Cohen, and T. Raphan, “Role of the flocculus and paraflocculus in optokinetic nystagmus
and visual-vestibular interactions: Effects of lesions,” Experimental brain research, vol. 50, no. 1, pp. 9–33,
1983. doi: 10.1007/BF00238229.

[18] J. Goldberg, V. Wilson, K. Cullen, et al., “The cerebellum and the vestibular system,” in Mar. 2012,
pp. 364–405, isbn: 9780195167085. doi: 10.1093/acprof:oso/9780195167085.003.0012.

[19] V. Nikiforov, “Observers of external deterministic disturbances. ii. objects with unknown parameters,”
Automation and Remote Control, vol. 65, pp. 1724–1732, Nov. 2004. doi: 10.1023/B:AURC.0000047887.
61058.b0.

[20] V. O. Nikiforov, A. Paramonov, and D. Gerasimov, “Adaptive control algorithms in mimo linear systems
with control delay,” Automation and Remote Control, vol. 81, no. 6, pp. 1091–1106, 2020, issn: 0005-1179.
doi: 10.1134/S0005117920060107.

69
70

You might also like