He doesn't have control of any musculature below the chin. Muscles in the neck are not strong enough to support the weight of our client's head, which means that a headrest must be used to keep it in-place. It has become tiresome for him to utilize two joysticks that control the wheelchair. Due to his deteriorating condition, an additional button or joystick would require too much neck movement. To remedy this issue, we sought to integrate a technology that he was familiar with, into the functionality of his wheelchair; thus, we came up with the idea for an interface that would allow him to use his existing pupil tracking (Tobii) to toggle between the "Modes" of his wheelchair.
We needed to incorporate a delay functionality into our solution for multiple reasons. The pupil tracking device will only initiate a button click, and not a button hold. Consequently, positioning of the seat is relative to the duration button press or joystick motion. In our interface, the delay functionality allows the user to select the amount of time that the seat should travel along the reclining/inclining path, press the button once, and be finished.
Using Processing to create a front-end GUI, he is able to use his existing Tobii device for pupil tracking. We take that input and pipe out serial data to an Arduino that is connected to the chair. When he selects a button press, the Arduino simulates a button press which the chair electronics understands. While the existing Tobii device was sufficient for him to use the computer, the front-end software can use any input method (Mouse, Keyboard, Sip and Puff, Etc.)