While all the details are available in the thesis, this section offers quick answers and solutions to all the issues identified in the introduction.
Lack of reliability: The issue of reliability is addressed at the board level with good design practice, documented unit tests and the use of safety mechanisms (such as ESD protected inputs). At the system level, the number of connections is reduced by embedding more features in the boards, and robust yet miniature connectors are used.
Lack of processing power, overloaded microcontroller: A dedicated microcontroller with a wide array of sensor inputs on the motor controller (FlexSEA-Execute) offloads the other computing units (FlexSEA-Mange and FlexSEA-Plan) from the intensive motor control functions. The microcontrollers used are also high performance. The optional embedded computer can be used for processor intensive applications.
"The original designer left" & "No electrical engineer in the team": Documentation must be exhaustive and accurate in order to fully enable the user. One of the graduation criteria is a user test. The system is designed in a modular way; the least intrusive way of using FlexSEA is to use a simple Linux terminal.
Slow communication peripherals: Closing control loops requires deterministic timings and fast refresh rates; it places a lot of stress on the board-to-board communication interfaces. By closing the critical control loops on FlexSEA-Execute we offload the communication interfaces. The FlexSEA-Manage board is also used as a bridge, communicating with FlexSEA-Plan via a high-speed SPI interface and communicating with other boards and peripherals via a variety of other communication protocols.
Can only support brushed motors: The Execute board is designed for brushless motors; it can inherently support brushed motors.
Can only support one motor: FlexSEA has been designed with scalability in mind. With its two serial interfaces, FlexSEA-Manage can support two FlexSEA-Execute without any bandwidth restrictions. More than one FlexSEA-Execute can be on each bus, the total bandwidth being divided between the boards.
Commercial motor driver has to be tricked into running a special control loop, no built in functionality: The user has full control over the hardware and the software of the motor driver. Any type of controller can be programmed in C and can run at high speed on the Execute board. The Expansion connector supports a wide variety of external sensors; they can all be used in control loops.
Power consumption: The power consumption of the embedded system can be high when an embedded computer is used. Better energy efficiency can be obtained by using a simpler computer; HD video peripherals, audio amplifiers and wired Ethernet connections are not required in wearable robotics applications. By maximizing the use of FlexSEA-Execute and FlexSEA-Manage, the FlexSEA-Plan computing requirements are lowered. A slower device can be used, or it can be placed in sleep mode between actions. Eliminating FlexSEA-Plan and programming the high-level algorithms on FlexSEA-Manage or FlexSEA-Execute can be extremely energy efficient.
Size, mechanical integration: The Execute and Manage boards were designed to be as small and light as possible. They have an integration level comparable to commercial products while having accessible connectors for inputs and outputs.