Design for Interaction: How to input device
Imagine, you want to climb some stairs. First, you'll have to get up from your chair, then walk up to and up the stairs. Sounds simple enough. Just do it. There's just one problem. You have a spinal cord injury and a wheelchair.
Luckily, you also have an exoskeleton. But you'll still need to somehow control it. For that, we at project MARCH use a so called input device. Its a small device implemented on the handle of your crutch, that you can use to tell the exoskeleton what you want to do. Sit down, stand up, walk, and so on. That's what I'm responsible for this year. But I'm not alone. I work together with Maxine, who's an industrial designer, and Kenneth, who writes high-level software.
The first thing we did, was to take some clay and some mock-up buttons and to just see what feels good to use. This is to determine what kind of form you want it to have, what buttons and triggers you want to use to activate the different features, and where to put these buttons. This resulted in a few different concepts, of which we chose one, together with our pilot.
Next, there was just the small task of implementing it. For he physical handle, we took the clay from before and scanned it in a 3D scanner. The resulting model was modified and improved in a CAD program to facilitate things like buttons, wiring, and the possibility of vibration feedback.This model was then printed with a SLS 3D printer and treated with some rubber spray for grip.
The device has a small OLED screen, with a PCB on the back containing a small microcontroller and a micro-SD slot. The microcontroller takes commands through a UART connection to display shapes, images and even videos on the screen. This screen is used to display state information and error information of the exoskeleton, and provide a menu for the pilot to select what she wants to do.
Input is given through a set of different types of buttons, slotted into the input device. Wires for these buttons, along with the wires from the screen, all run through a set of channels through the 3D printed handle, out to another PCB on the crutch leg. This device has another, programmable, microcontroller that runs a state machine. It interacts with all the inputs and outputs of the input device, telling the screen what to do based on the button inputs. In addition to this, it interacts with the rest of the exoskeleton through an EtherCAT bus, sending requests to the master and receiving state and error information.
When it all comes together, it creates a solution that makes standing up and climbing a staircase as easy as pressing some buttons, even if you're normally confined to a wheelchair.
-Pim Verton, Project MARCH