i.MX515 Project
A computer for people with cerebral palsy

in category Embedded
proposed by ajitq on 10th March 2009
Project Proposal
Introduction

I work in collaboration with an organization in Chennai, India that specializes in the education of children with spastic cerebral palsy.

People with cerebral palsy are often non-verbal, have limited control over muscle movements, and usually have some degree of visual impairment. Typically, even basic communication has been a challenge for such people. People with cerebral palsy do not inherently have any mental retardation; however, their inability to communicate, access education, and find gainful employment acts as a significant barrier to their intellectual development.

Recently, the development of Adaptive and Augmentative Communication (AAC) devices has allowed limited ability for people with cerebral palsy to communicate. In particular, Voice Output Communication Aids (VOCA) have allowed many of them to regain some degree of communication skills.

Prior work

I have been working with a small team in India to build VOCA devices that are a fraction of the cost of commercially available AAC devices. Using an ARM9 processor (Atmel's AT91 series), we built a Linux-based portable computing system which acts as an AAC device. In combination with a speech synthesizer and a combined audio and visual UI, users are able to construct sentences rapidly and accurately, and these sentences are read out by the device. We also invented a novel input device, which can be controlled by limited head or limb movements without much strain. The entire system was designed with usability and ergonomics in mind; for example, features included a wheelchair mountable form factor, two audio channels (one, through headphones, as the UI for the child and another, through speakers, for the child's interlocutor), the ability to switch on and off the device without the help of a third party, and a battery that lasts through an entire day's classes.

Some older coverage of this work may be found at the website of the International Society for Alternative and Augmentative Communication, under India.

Proposed device

The hugely positive response to this device from children with Cerebral palsy, their parents, and their educators has triggered a demand for the next step up in sophistication: the use of embedded power to device an entire computing environment for a spastic child. The addition of an innovatively designed user interface, built around an input device that makes sense for them, would allow these children to use the Internet, interact with each other, learn vocational skills such as the use of commercial software, create their own programs, and even to control their environment in a limited way. In a way, the computer would fill in for a few places where their own disabilities have held them back.

I propose to construct such a device around the i.MX515 processor and the Linux operating system. It is my intention to create a hardware platform with an open SDK that will be used by a number of professionals, volunteers and educationists to create add-on software in the space of disability aids. It is also my intention to use the features that i.MX515 provides to create more sophisticated versions of our input peripheral, including head tracking, eye tracking and neurological signal processing.

My existing relationships with organizations and schools that work with children with cerebral palsy would allow me to design, prototype and field-test this device most effectively.

Hardware features of the i.MX515 that make it suitable for this application

1. Low power. It is envisaged that this device will be a constantly used assistive device for people with cerebral palsy; it will be with them always (mounted on their wheelchair), and it must be active most of the time. This means it will be predominantly battery operated, and predominantly in the 'on' state. It is critical that battery life be extended as much as possible in such an environment. The i.MX515 makes a lot of sense from this perspective.

2. Low cost. AAC devices used in developed nations are typically in the price range of 5000 to 10000 USD. This is, of course, entirely unaffordable even for affluent sections of society in developing countries. Our earlier device targeted a $200 price point; we hope to be able to add all of the additional features of the new device without increasing that price point.

3. High level of peripheral integration. The i.MX515 appears to have a number of highly desirable peripherals integrated onto it. Internet access through wireless add-on modules (SDIO) and Ethernet. CMOS sensor interface for head- and eye-tracking. HS USB interfaces for integration with existing AAC devices. LCD controller and I2S audio for a meaningful audio-visual UI. Fall sensors to be integrated through SPI. The existence of many spare GPIOs would help add new switch-based peripherals as well as the ability to control various aspects of the child's environment, including the child's wheelchair.

4. The ability to support a rich GUI. An innovative GUI -- with new, innovative graphical and audio components that compensate for certain amounts of visual impairment -- will be greatly assisted by the powerful multimedia components of the i.MX515. Many existing AAC applications (such as Slate have been developed on Adobe Flash; the 2-D GPU that accelerates Flash on the i.MX515 will enable these applications to run on my device.

Software packages that will need to be ported for this application

The previous avatar of the device described in this proposal ran on the Linux 2.6.28 kernel, with audio support provided by alsa, mplayer and flite, and the GUI built on gtk+-2.0. An alternate UI was also constructed by my collaborators on top of qtopia 4.4.

For the new device, however, I would like to start with a mainstream Linux distribution, such as Ubuntu, and build from there onwards. This would allow me to concentrate on creating the input and output interfaces appropriate to cerebral palsy, while being able to take for granted the availability of a huge number of applications that can be ported on to the device.

An important consideration will be to accelerate boot time. This will allow the device to be 'instantly-on', meaning that it can be switched off when not in use even for brief periods of time. Newly released boot acceleration techniques (readahead, asynchronous initialization) may well allow this device to boot in less than 10 seconds.

Project Blog Entries

No blog entries for this project
Genesi Network: Genesi - Main Site Power2People PowerDeveloper