My senior design team at the University of Pennsylvania has developed a powered upper body exoskeleton for use in physical therapy and assistive mobility applications. We’ve named the suit Titan after the powerful deities of incredible strength and stamina in Greek mythology. Here’s a video that explains what Titan is all about:
Our exoskeleton runs off a master BeagleBone microcomputer running Ubuntu Linux. Thanks to Alexander Hiam, we’re running the entire system using PyBBIO, an open-source Python library for BeagleBone control. A control loop takes velocity input from the joystick on a hand-held controller and filtered absolute positioning from a rotary potentiometer (mounted at the end of the motor shaft) to compute motor PWM signals. The BeagleBone also controls the brake for the ratchet system — the rocker switch manipulates a servo motor to actuate the pawl.
The actual motor control and data acquisition from Hall effect sensors and rotary potentiometers is done by an ATmega32-based microcontroller, the M2. The BeagleBone pulls data and sends commands over serial UART to achieve the desired function, and is protected from the 5V logic used to control the motor driver board. The SparkFun Logic Level Converter is used to facilitate data transfer between the two boards, as the BeagleBone runs on 3V logic and the M2 on 5V.
We’ve been developing data transfer methods between the BeagleBone and a base station computer using the ZeroMQ protocol. Data includes joint angles (captured through Hall effect sensors, motor encoder values, and rotary potentiometers) and battery statistics. The BeagleBone uses a Belkin WiFi dongle to connect to the Internet — the end goal is to allow multiple users to access this data simultaneously in both live-stream and logged formats.
You can check out our website for information on the build, videos, and more. Check out the slideshow below for a closer look at Titan: