A Second Generation Embedded Reconfigurable Input Device for
Kinetically Challenged Persons
Kyprianos Papademetriou Apostolos Dollas Stamatios Sotiropoulos
Department of Electronic and Computer Engineering
Technical University of Crete
Chania, 73100, Greece
Abstract
A second generation of an embedded input device for
kinetically challenged persons is presented. The new
system can detect O(n
2
) free motions in space with O(n)
hardware, and has the capability to form extendable
vocabularies of motions. The improved motion detection
computational model is presented, together with
experimental results.
KEYWORDS: Embedded, Reconfigurable,
Architecture, Motion Detection, I/O Device
1. Introduction
Various assistive devices have been developed for persons
with kinetic challenges, including voice-activated systems,
head motion detection systems, and eye movement
tracking systems [2], [3], [4]. Most of these systems use
either large FPGA’s or PC-class fixed computer resources.
The present system, comprising of a low-cost 8-bit
ATMEL AVR microcontroller, a low-end Xilinx XC4010
FPGA, and Analog Devices ADXL210 accelerometers as
sensors aims at a less-than $70 total system cost. In a
previous publication [1], we showed that a model of
independently operating finite state machines (FSM)
offers a good design tradeoff vs. the usage of
microcontrollers alone for free space motion detection.
The main contribution of this work is the improved model
for motion detection, with ability to recognize O(n
2
)
distinct motions (vs. O(n) in the first generation) with
O(n) hardware complexity, and the generation of complex
motion vocabularies from synthesis of simpler motions.
2. Motion Detection Model
The computational model of the first generation system is
that of parallel FSM’s, each of which is comprised of
stages for detection of values/ranges of X-Y data,
followed by stages to wait for a predefined period of time
(including 0-time). This way, each detectable motion was
represented in terms of thresholds, which needed to be
exceeded for the state to be active, followed by periods of
“not examining the input”, which were useful in avoiding
X,Y-axes acceleration data are available.
The comparators check which thresholds are exceeded.
The appropriate FSM’s will be triggered.
FSM_
Left
FSM_
Forward
FSM_
Back
FSM_
Right
“MotionCounter” increases by one
if one of the FSM’s is active.
Deactivate FSM’s
“MotionCounter” value is recorded whenever an
FSM detect a motion. One register per FSM is
available, in order to compare their values and
decide which FSM finished first.
Has the last
threshold of anyone of the FSM’s
been exceeded?
The above process
is continued.
“MotionCounter” >
“Recognition value”?
YES
NO
YES
NO
FSM’s are ready to operate.
None of the predefined
motions is recognized
The samples are ignored.
The process has frozen.
Is the number of motions
recognized greater than one?
“MotionCounter” >
“ReturnToIdle value”?
The recognized motion
corresponds to the FSM,
which its register has the
smaller value.
Is the motion that was
recognized basic?
Find which two
movements have
started and been
completed.
Is any of
these rough?
Compare movement’s
registers and find
which movement
started first.
Indicate the complex
motion recognized.
Ignore rough
motion
YES
NO
YES
NO
YES
NO
Gate OR
NO YES
Figure 1 Second generation model of parallel FSM’s
local minima (from irregular motion or noise). The model
was based on the concept that the complex motions are
constituted by detectable sequences of basic motions, e.g.
circular movements were represented by more thresholds
of accelerations than basic motions. During preliminary
clinical evaluation of the system it turned out that a large
Proceedings of the 11th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM’03)
1082-3409/03 $17.00 © 2003 IEEE