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