Introduction (why do we care?)

A project log for FlexSEA: Wearable robotics toolkit

OSHW+OSS to enable the next generation of powered prosthetic limbs and exoskeletons. Let’s make humans faster/better/stronger!

Jean-François DuvalJean-François Duval 06/02/2015 at 11:310 Comments

Note: this is copied from my thesis, please refer to the full document for references and additional graphics.

"Reinventing the wheel" is an idiom often associated with engineering and design. While innovators use the expression to describe a ground breaking solution or design, it mostly has a negative connotation. Engineers will be told not to reinvent the wheel when they are struggling with details or technicalities rather than focusing on the big picture, the problem worth solving. But what if that metaphorical wheel was indeed broken? Looking back at previous work in the field of exoskeletons and powered prostheses can be depressing for an embedded system designer. The wheel, in the form of the embedded electronics, is redesigned year after year, project after project, with no clear progression and many system redesigns. The 'big picture' problem is to give mobility to people that lost it, to augment able-bodied people, not to design electronics, but it is a critical component that can, in the worst case situation, invalidate a revolutionary artificial limb concept.

This thesis is not about the design of a novel wearable robotic device that contains an embedded system; it's purely about the design of the embedded system itself. The objective of the thesis is to advance an accessible and capable embedded system architecture that is useable across all wearable robotic research initiatives, eliminating the need to design a new embedded system for each and every research project. Ironically enough, once more, the goal is to redesign the wheel, but hopefully for the last time. Through a careful analysis of wearable robotic requirements across sensor, actuator and computational modalities, I will demonstrate in this thesis that an embedded system design can be achieved that is scalable across a plethora of wearable robotic research programs, and therefore will be used henceforth for more than one year in one project.

There are two main ways of designing electronic architectures for active wearable robotics: 1) microcontroller-based and 2) embedded computer-based. Figure 1 shows a typical microcontroller-based architecture with a single 80MHz processor [1]. Figure 2 shows an architecture based on an embedded computer, a Raspberry Pi running at 800MHz [2]. Commercial products are mostly microcontroller-based while research prototypes tend to favor systems with embedded computers [2][11][17].


Embedded Computer


  • Small form factor that can easily be adapted to different mechanical designs
  • Low power
  • Unit cost is low
  • Low level software (C and/or ASM): processor efficient
  • Quick design phase
  • High-level software (C++, Python, Java, Matlab): ease of development
  • Minimize the number of specialized skills required to modify the system
  • Cons

    • Development (prototyping) cost can be higher
    • Longer design phase
    • Requires Electrical Engineering skills for the design, maintenance and modification
    • Low level software (C and/or ASM): less portable, requires specialized skills
  • High-level software (C++, Python, Java, Matlab): not processor efficient
  • Higher power (less energy efficient)
  • Relies on commercial parts (no control over the production and life cycle)
  • Harder to modify
  • Integration issues between different subsystems
  • Sub optimal wiring
  • The two approaches have been used in a multitude of published wearable robotic systems, with various degrees of success. A few examples are described here [1][2][13][17]. Since the embedded system aspect of a design is considered a means to an end, documentation is considered unimportant and is usually scarce. Following the evolution of a wearable robotic design, one will read sentences such as "Developed a new embedded electronic system" without a clear justification as to why the previous design had to be abandoned rather than improved.

    In all of the designs made in the MIT Biomechatronics Group over the last 11 years, only one project (AAKP, Agonist-Antagonist Active Knee Prosthesis [18]) used two actuators in one joint. Due to issues with the control electronics of previous prototypes, brushed DC motors (in lieu of brushless DC motors) were used, thus impacting the efficiency and mass of the prosthesis. When experiments were conducted with trans-femoral amputees wearing an active ankle-foot and an active knee the two joints were controlled independently, without an overarching high-level controller. Consequently, the lack of availability of an appropriate embedded system solution had a direct impact on the system design and performance [2][11].

    After reading papers, grant reports and interviewing wearable robotic designers, the following list of general system problems and reasons justifying new designs was compiled:

    These problems are shared by many researchers in related fields such as humanoid robotics and wearable computers, therefore many designers and companies have attempted to design a unified embedded system that could be used in a broad range of projects. Commercially available modular hardware platforms include the Microsoft .NET Gadgeteer system, "an open-source toolkit for building small electronic devices using the .NET Micro Framework"[1] [3], the popular Arduino and its Shields ("Shields are boards that can be plugged on top of the Arduino PCB extending its capabilities."[2]), the BeagleBone Black embedded computer with the Capes and the Intel Edison with the Blocks[3]. SparkFun popularized the use of "breakout boards", minimalist circuit boards that simply prototyping. These products are now commonly integrated in academic research projects [2][3][9][11]. Custom embedded system designs have been published for wireless sensing [5], miniature mobile robots [6], and mechatronics education and teaching [7][8]. The common goals are to minimize the number of circuit redesigns and simplify prototyping [5].

    The price to pay for modularity is often the increase of the number of circuit boards required for an application, and the increase of inter-board connections. Wearable robotics projects have different requirements than most pure robotics and wearable sensing projects. Safety and reliability are major issues, especially in powered prosthetic devices. Simplifying the devices by using a minimal number of circuit boards and by minimizing the number of interconnections helps with safety and reliability. The number of degrees of freedom is relatively small (compared to humanoid robotics), but the instantaneous power requirements are high [2][19]; a greater emphasis has to be placed on power electronics than on digital communication between the modules. The volume and the weight of the embedded system must be minimized because of their direct impact on the efficiency of devices attached to body extremities [19].

    This thesis presents the design of a modular embedded system optimized for wearable robotic applications. A flexible architecture allows FlexSEA to be used in a wide variety of projects, with or without an embedded computer. All the safety features of commercial devices are included onboard, as well as all the typical sensors and output device interfaces required for wearable robotic applications. The highly integrated circuit board designs presented in the thesis minimize the weight of the embedded system, require a minimal amount of wired connections, and are proven to be easy to use by students. The design was evaluated by a user test and by multiple quantifiable metrics related to the electrical performance of the different circuit board, and of the system as a whole.