Smart Soles: Unlocking More Value in Additive Footwear
Creating a higher value argument for AM in footwear
Motivation
I had the (mis)fortune of experiencing two spontaneously collapsed right lungs in the Fall semester of 2022 which meant visiting the ER twice and staying a couple days in the thoracic ward. Thankfully, I've since recovered with a successful surgery and managed to pass all my classes for that semester. Fun fact, according to the thoracic surgeon, a single collapsed lung is non-fatal as long as it doesn't impact your other organs! If it ever happens to you, take your time packing your bags and taking a shower before heading to the ER.
While I was in the ER the first time, I noticed the nurses all had fairly new shoes. One ward of the ER was all in on Hoka while another ward had a majority of New Balance wearers and another was all Nike. While talking to a nurse, she mentioned that the nursing profession is, in general, pretty interested in performance footwear since they're on their feet all day. This nurse in particular was 2 years into the profession and was in the process of finding the shoe that fit her feet since she had been developing blisters and bloody feet at the end of her 14 hour shifts. It was not reassuring to hear that the person putting an IV in my arm was suffering from raw, bloody feet. Through the rest of my stay, I asked some other nurses about their experiences with shoes and the majority had similar experiences of suffering through their early years until they found shoes that fit them just right. The more senior nurses, rather surprisingly, tended to have the least foot pain since most of them had developed a strategy of trying on various shoes, finding one that worked, and then buying a stockpile for the next few years. Once they had gone through half of the stockpile, they would begin experimenting with new shoes and start the cycle again.
From this, I saw two problems. There was the paradox of choice in the market and it is not financially feasible for people to try multiple pairs of shoes. Shoes are currently mass produced in a "design for all" method which means, in practice, each design is not designed for any particular person. If there were a way to design and produce shoes at scale at a personal level, the problem could be fixed.
As an engineer lying in bed all day, a little delusional from painkillers, and with nothing better to do, I figured it "can't be that hard..." and started the Smart Soles project.
Market Analysis
The footwear market is massive. It's $14.9B massive in the US alone. It makes sense, what other product does everybody use with a built in subscription model? While the sheer volume of footwear present in the market is infeasible for additive manufacturing (AM) to address the entire market with its current limitations, there is a smaller subset of customers that can potentially be addressed by AM. There has been a consistent set of ~20% of customers who have been unsatisfied with current athletic shoes according to Statista. Keep in mind, this is still a $2.98B market in the US alone.
Concept
The Smart Soles project takes the approach of using plantar pressure data to generate customized midsoles. This means creating a system to capture plantar pressure data, a software system to analyze it, and then a mechanical model to create customized geometry.
The plantar pressure system uses off the shelf capacitive pressure sensors connected to a SEEED Xiao nrf52840 dev board. This then transmits data to a PC to process the data using Python scripts. The midsole is formed of a TPMS structure that is spatially graded to create softer and stiffer sections depending on the plantar pressure and design goals.
Sensor System
Singletact's capacitive pressure sensor's were chosen for their fast response rate, form factor, and plug and play capability with their breakout boards which can be interfaced with over I2C. After having done some experiments with a piezoresistive sensor, capacitive pressure sensors became much more appealing due to hysteresis and the permanent deformation that piezoresistive materials such as Velostat can experience under high repeated load in a high moisture environment.
Data Processing
All data processing is handled offboard on a separate computer with a handful of Python scripts to ingest data, filter out the outliers, and return the characteristics of the average step. Data is transferred wirelessly over BLE from the Arduino to the PC with the incredibly convenient Bleak library. Since this was my first project using extensive amounts of Python, I've been pleasantly surprised by the convenience of Python. And while my code may not be efficient, the 80/20 rule definitely holds true as a mechanical engineer when coding.
Currently, the data is split to identify two phases in the step: "landing" and "pushoff."
Geometry Generation
One of the major challenges with this project is to attempt to use as little sensor data as possible to adjust the midsole for each person. Traditional treadmill based data collection systems are used for mass market product injection molded designs which require a high amount of upfront capital. This means there is a high amount of risk that needs to be mitigated with extensive data collection. Generalizations need to be made about almost every aspect of the biomechanics involved with running such as the runner's expected leg length as a function of their foot size (the effect of leg length is similar to the mechanics of a grandfather clock).
To this end, the focus on using a lower cost sensor setup is used in conjunction with a lean product development method. Since additive manufacturing is excellent for rapid prototyping, this allows for the intangibles to be tuned based on qualitative feedback for individual wearers on a case by case basis. The same parameters may be "too stiff" and "too soft" for two people with identical gaits purely based on personal preference.
Because of this, the geometry generation optimizes to provide for cushioning during landing while being incredibly stiff during pushoff. The goal is to optimize the sweet spot for each wearer based on feedback in a similar manner to going to the same barber consistently.
Material Property Tests
How do I determine how much material to put in what location? This relies on physical testing because of the hyperelastic behavior of the TPU. It becomes more cost effective to test the material with various periodicities instead of simulating material behavior in a solver such as LS-DYNA or OpenRadioss especially since the ultimate metric is comfort which is inherently subjective. I've uploaded a copy of the print files for material testing to Printables if you'd like to test it yourself!
My test setup is shown below with Excel charts of the material behavior following. It's incredibly interesting to see the collapse of the curve into an exponential function as the periodicity increases (due to the z-axis of the wall thickness being reduced as the periodicity increases).
Data Processing
With most hyperelastic materials, a 3rd degree polynomial can be fitted to approximate its stress-strain curve instead of a linear elastic curve you would see with something like aluminum or steel. This turned out to be the case with the this material+structure combination as well and the curves, qualitatively, look decently well put together. With the lack of sampled points for some samples, using a statistical method of quantifying the curve fit is not yet appropriate.
Even with this rather limited set of data points, one can see that the estimated curve for each unique combination of parameters (solid black line) closely follows the actual measured data of the same parameters (black "X" markers) using polynomial interpolation. While the root cause of this phenomena wasn't able to be investigated due to equipment and time constraints, the interpolated values were accurate enough to comfortably use in an optimization algorithm.
Early Form Prototypes
Early printed prototypes were created with Varioshore TPU as it is easily printable and has a wide range of durometers it can simulate. While it looked cool, it unfortunately had no spring back and would act solely as a damper (if approximating the shoe as a mass-spring-damper). This was the main cause of the shift to another material (PEBA-S). This did, however, provide a cheaper means of creating display pieces that could communicate the idea when looking to secure funding.
Optimization Algorithm
Due to the low "fidelity" of the pressure sensors embedded into the soles, an existing database of plantar pressure maps is used as demonstration from the CADWALK database (found here: http://visiesrv1.cde.uantwerpen.be/cadwalk/index.html). The 4D (X, Y, Time, Scalar) tensors were flattened into 3D images (X, Y, Scalar) for simplicity first by breaking a step into a "landing" and "pushoff" phase and then, for each phase, summing the scalars from each pixel for every frame of that phase and then multiplying each value by the time per frame. This is, in effect, the Riemann sum that represents total work for each phase. This is used as the "target" for the optimization.
Each pixel (X, Y) volume in space now has a target amount of work to be absorbed by the lattice structure though in the future, this can be expanded to any variety of other desires that may include minimizing jerk as described by Sarah McFay. In the implementation of this algorithm, it uses the interpolated polynomials to minimize the gradient of the various parameters of the lattice such as wall thickness and cell count to maintain continuity.
As an experiment, a Deep Convolutional Generative Adversarial Network (DCGAN) was trained on the set of CADWALK images (after they were flattened into 3D tensors) to see if the algorithm could use lower quality data to optimize for. This was done in the hopes that the data from the pressure sensors embedded in the soles could be "upscaled" or interpolated based on the dataset. As there was nobody on the team with existing knowledge of machine learning, I developed the DCGAN model but wasn't able to connect my own walking data with the data from CADWALK to infer plantar pressure.
The image below shows the resulting parameters of cell thickness and cell count/verticality multiple. The error array (R²) is also shown to ensure that there are no major areas of deficiencies
Optimization Improvements
Continued work on the optimization algorithm involves utilizing biomechanics models that, instead of simply absorbing all energy, redirects the foot to correct gait and minimize energy expenditure in particular muscles. As this is not my background nor expertise, it has been a goal that has been perpetually pushed outwards in favor of structural mechanics research.
Current Development
With the midsole printed, now it's learning about soft goods manufacturing. Onwards!