2.2.6. Calibration and Validation Software

Calibration is with the Arduino board connected to the PC, running a calibration program in processing. The basic program reads the IMU measurements and captures readings from the draw-wire sensors through the ADC inputs. The raw data are integer values with signs 2 bytes wide, the two 1-byte registers converted to 2-byte integers. An exponentially weighted moving average (EWMA) algorithm filters the raw signals and sends them to the PC via a serial port. The lengths computed are from the initial values plus the scaled sensor inputs with:

$$d\_{\rm iMj} = d\_{\rm iMj} + \frac{m\_{\rm iMj}}{s\_{\rm iMj}},\tag{61}$$

here, *liMj* is the length in cm from the *i* wire to the *j* module, *diMj* is the initial distance, *miMj* is the measured digital value, and *siM* is the scale factor in digital units per cm.

We present a rendered image with a scaled 175 cm model in Figure 23.

**Figure 23.** Rendered image with a 175 cm height patient.

#### **3. Results**

We organize this section as follows: first, we show the simulation; second, the final prototype; third, the trilateration and axis orientation; and finally, an ankle manifold representation.
