41
Faculty of Technology and Society Computer Engineering Bachelor thesis 180 Credits Lorica: Low cost upper body protective gear that measures hit weight and placement Lorica: Lågkostnads överkroppsskydd som mäter vikten och placering av slag Stefan Angelov Exam: Bachelor of Science in Engineering Examiner: Magnus Krampell Subject area: Computer Engineering Supervisor: Radu Mihailescu Date of final seminar: 21-8-2018

Lorica: Low cost upper body protective gear that measures

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lorica: Low cost upper body protective gear that measures

Faculty of Technology and Society Computer Engineering

Bachelor thesis 180 Credits

Lorica: Low cost upper body protective gear that measures hit weight and placement Lorica: Lågkostnads överkroppsskydd som mäter vikten och placering av slag Stefan Angelov

Exam: Bachelor of Science in Engineering Examiner: Magnus Krampell

Subject area: Computer Engineering Supervisor: Radu Mihailescu Date of final seminar: 21-8-2018

Page 2: Lorica: Low cost upper body protective gear that measures

I

Abstract The goal of this project was to develop a low-cost prototype that could be used to measure the location and weight of a Taekwondo kick. Its purpose being to be used in sparring and training sessions as a helping tool for martial arts practitioners, mainly in Taekwondo. It was constructed using handmade e-textile sensors that were fitted into three matrix pads surrounding an upper body protective gear commonly worn in Taekwondo sparring sessions and competitions. As there is no difference in point awarding based on where the kick is placed in the upper body region, the sensors in the matrix pad are evenly spread to cover more ground and increase impact location detection probability.

The finished prototype has the ability to measure impact weight up to 13 kilograms and determine impact location successfully based on which of the three matrix pads was hit.

Sammanfattning Målet med detta projekt var att utveckla en prototyp som kan användas för att mäta vikten av ett Taekwondo slag samt dess lokalisering. Dess syfte är att användas i sparring- och träningssyften som ett hjälpmedel för utövare av kampsporter, mest inom Taekwondo. Prototypen var utvecklad med hjälp av handgjorda textiler som sätts i tre separata kuddar som omringar en Taekwondo kampväst som vanligtvis bärs under träning och på tävlingar. Sensorerna i kudden är placerade jämnt för att öka sannolikheten att sparken upptäcks. Detta då det inte finns någon skillnad på hur poäng tilldelas beroende på var man träffar med sparken på överkroppen.

Den färdiga prototypen har förmågan att mäta slagvikten upp till 13 kilogram och fastställa var slaget inträffade baserat på vilken av de tre kuddarna det var som blev träffad.

Page 3: Lorica: Low cost upper body protective gear that measures

II

Acknowledgements

I’d like to express my gratitude to Magnus Krampell for providing support and advice, both technical and academic throughout the period of writing this thesis. I’d also like to thank Radu Mihailescu for being available as my supervisor whenever I needed it. A special thanks also goes to friends that assisted in testing the prototype as well as my classmates who provided invaluable feedback on my thesis work.

Page 4: Lorica: Low cost upper body protective gear that measures

III

Contents Abstract .......................................................................................................................................... I

Sammanfattning.............................................................................................................................. I

Acknowledgements ....................................................................................................................... II

Definitions and abbreviations ....................................................................................................... V

1. Introduction ........................................................................................................................... 1

1.1 Background ................................................................................................................... 1

1.2 Research aim and research problems ............................................................................ 2

1.2.1 Research aim ............................................................................................................. 2

1.2.2 Research question ...................................................................................................... 2

1.3 Scope and limiting factors ............................................................................................. 2

2. Theoretical Background ........................................................................................................ 3

2.1 E-textiles ....................................................................................................................... 3

2.2 Velostat ......................................................................................................................... 3

2.3 Piezoresistive effect....................................................................................................... 3

2.4 Neoprene ....................................................................................................................... 3

2.5 Linearization .................................................................... Error! Bookmark not defined.

3. Related work ......................................................................................................................... 4

3.1 David O’Sullivan et al. - Measurement and comparison of Taekwondo and Yongmudo turning kick impact force for two target heights ....................................................................... 4

3.2 Shirley Coyle et al. - Textile-based wearable sensors for assisting sports performance4

3.3 Paul Strohmeier et al. - ”zPatch: Hybrid Resistive/Capacitive eTextile input” ............ 5

4. Method .................................................................................................................................. 6

Design and prototype a system .................................................................................................. 6

4.1 Construct a conceptual framework ................................................................................ 6

4.2 Develop a systems architecture ..................................................................................... 6

4.3 Analyse and design the system ...................................................................................... 7

4.4 Build the system ............................................................................................................ 7

4.5 Observe and evaluate the system .................................................................................. 7

5. Results and Analysis ............................................................................................................. 8

5.1 System requirements ..................................................................................................... 8

5.2 System Architecture ...................................................................................................... 8

5.3 Analyse and design the system ...................................................................................... 9

8.1.1 BLE Nano 2 ............................................................................................................. 10

8.1.2 nRF52 Bluefruit....................................................................................................... 10

Page 5: Lorica: Low cost upper body protective gear that measures

IV

8.1.3 Choice of IDE.......................................................................................................... 11

8.1.4 Data collection ......................................................................................................... 11

8.1.5 Multiplexers ............................................................................................................ 11

8.1.6 Sensor construction ................................................................................................. 15

8.1.7 Weight measurement ............................................................................................... 17

8.1.8 Impact location ........................................................................................................ 19

8.2 Observe and analyse the system .................................................................................. 20

9. Discussion ........................................................................................................................... 22

9.1 Multiplexer speed ........................................................................................................ 22

9.2 Weight measurement ................................................................................................... 22

9.3 Impact location ............................................................................................................ 22

10. Conclusion ....................................................................................................................... 23

10.1 Contribution of this thesis ........................................................................................... 23

10.2 Future work ................................................................................................................. 23

References ................................................................................................................................... 24

Appendices .................................................................................................................................. 25

A – Prototype construction photos .............................................................................................. 25

B – Algorithm code ..................................................................................................................... 29

C – Tables and graphs ................................................................................................................. 30

Page 6: Lorica: Low cost upper body protective gear that measures

V

Definitions and abbreviations MCU – Microcontroller Unit, a integrated circuit designed to govern a specific operation in an embedded system

ADC – Analog to Digital Converter, refers to the analog inputs in an MCU

MUX – short for Multiplexer

6mux – Personal abbreviation, regarding the 6 multiplexers controlling the sensors

DPIO – Digital Pin Input/Output, refers to digital input/outputs in an MCU

Page 7: Lorica: Low cost upper body protective gear that measures

1

1. Introduction This chapter explains the background of this thesis, its research aim and research questions as well as its scope and limiting factors.

1.1 Background Lorica Segmentata[1], meaning segmented cuirass, was a type of personal body armour used by soldiers of the Roman Empire. The armour consisted of metal strips layered on top of each other to create complete protection of the torso. As time went by, the armour was deprecated and substituted by better versions.

Today, besides being on display in a museum, it has served the purpose of giving this project a name and an inspiration for constructing a full upper body armour as one seen in Taekwondo. The metal plates protecting the wearer are instead replaced by textile sensors inside cushions for measuring hit placement and strength.

With IoT becoming ever prevalent in today’s world, prototyping of electronics has become much easier than it was before allowing for new types of technology to be integrated into almost any field.

As sensors have become more advanced and easier to produce, it has also become easier to obtain them and use them in different projects.

Over the last couple of years, there has been a surge of new types of textile sensors, called e-textiles, that have mainly seen their uses in medical and physiotherapeutical products [2][3]. Although these types of sensors also seem to be perfectly suited for sports such as martial arts, they have seen very little use in this field other than in Taekwondo. With Taekwondo being an Olympic martial arts sport, it saw its first electronic chest protector introduced after the 2008 Olympics to remove any human bias or error [4]. At 2016 Rio Olympics, electronic headguards were introduced [4]. The points are awarded based on what kick was performed and not where in the upper body the contestant was hit. However, the threshold for the sensors activating rises with the weight classes meaning the more contestants weigh the higher the threshold. As such, it is important to be able to measure kick weight.

The main and only supplier of electronic gear used at competition events is currently Dae Do Int. with their only competition, at least for sparring gear, being 20/20 Armor[18].

As information about how these two companies’ products are designed and constructed is very scarce, an educated guess would be that they are using some type of pressure sensor or FSR [5]. This stems from the fact that the Dae Do armour costs around 400€ while 20/20 Armor a whopping 999$ meaning that they probably use higher cost sensors like the ones mentioned above.

E-textiles are much cheaper and lighter than their alternatives like the aforementioned FSR or pressure sensors. They also constitute an ideal choice as platforms for wearable devices as they can be worn everywhere in many forms. Thus, e-textiles are used in this project to construct a prototype meant to be a cheap substitute for the Dae Do armour or 20/20 Armor.

Page 8: Lorica: Low cost upper body protective gear that measures

2

1.2 Research aim and research problems This section describes the aim of this thesis and details its research problem, prerequisites and limiting factors.

1.2.1 Research aim The research aim of this thesis is to investigate how a prototype that can measure approximate impact strength and the location of the impact could be built using e-textiles.

1.2.2 Research question RQ1.

• How can a prototype be designed and constructed so that it measures approximate punch/kick weight and impact location?

RQ1.1.

o Can a e-textile based sensor measure impact weight accurately?

1.3 Scope and limiting factors Due to budget restrictions, prototype electronics are limited to three 4x4 sensor matrixes.

Page 9: Lorica: Low cost upper body protective gear that measures

3

2. Theoretical Background In this section, relevant topics to the thesis are presented and explained.

2.1 E-textiles A class of textiles with electronic capabilities is referred to as electronic textiles(e-textiles) [6]. Depending on what their application is, e-textiles can be used for sensing, data processing, actuation and energy storage or generation. The most common area of research within e-textiles is sensing.

2.2 Velostat Velostat is a packaging material impregnated with carbon black to make it electrically conductive. Due to its electrical properties of the material being piezoresistive, it has grown in popularity as being a integral part of a force resistive sensor.

2.3 Piezoresistive effect Piezoresistive effect or piezo resistivity is the change in resistivity with applied stress [7]. This type of resistivity can be used as a conduction mechanism in semiconductors as well as transducer applications.

2.4 Neoprene Neoprene is the first synthetic rubber product ever made. Automobile tires and diving wetsuits are all made from it and it is known for its flexibility and durability as well as being an excellent insulator.

Page 10: Lorica: Low cost upper body protective gear that measures

4

3. Related work 3.1 David O’Sullivan et al. - Measurement and comparison of Taekwondo

and Yongmudo turning kick impact force for two target heights

A research paper [9] with the primary purpose of comparing the strength of two different martial arts kicks, one being Taekwondo and the other Yongmudo. The researchers use a large number of sensors and different calibration techniques to gain the best possible measurements. The sensors being used were 7 vicon cameras, two 3D accelerometers and two AMTI force platforms.

The research included 10 subjects in total, five from each martial art. The subjects were encouraged to warm up prior to kicking and the warm up consisted of 10 jumping jacks and light stretching of the leg muscles. Ten kicks were performed at the trunk area while each kick being performed according to the following conditions: Correct height, appropriate direction and balance etc. In a table presenting a summary of all recorded variables, measurements can be seen ranging from estimated kicking force to hips angular velocity.

The conclusion was that even though the Taekwondo fighters performed their kicks faster, the impact force was similar to Yongmudo fighters.

Comments:

This paper measures Taekwondo kick impact force, the researchers in this paper use a large number of sensors to measure the entire kick procedure from the foot being lifted to it hitting the target. Their findings provide ample data for comparison with my own research.

3.2 Shirley Coyle et al. - Textile-based wearable sensors for assisting sports performance A paper [11] discussing two different types of sensors that were designed and constructed. The first sensor is a pH sensor which collects, and analyses sweat in real-time, the sensor itself being a novel approach to chemical sensing on fabric. The second sensor is a piezoresistive sensor which responds to body movement such as breathing, joint motion and foot plantar pressure. The latter sensor was used in different ways, one being to monitor breathing by having it strapped onto an athlete’s chest. Measuring breathing rates and patterns can provide useful biofeedback for the trainer. The results section shows that the sensor is easily integrated with very simple circuitry. It is connected as a voltage divider with a resistor in series with the signals sampling rate at 2Hz. Time between inflection is converted into breathing rate in breaths/min. The second use of the sensor was joint flexion detection where the sensor was constructed in the shape of a glove. Using multiple analog inputs, sampled at 10Hz, the glove was detecting the movement of the finger joints inside the glove. The detection of finger movement was very simple, with three states ranging from 0-2: 0 = cannot perform; 1 = performs partially; 2 = performs fully;

Page 11: Lorica: Low cost upper body protective gear that measures

5

Overall, the work presents a simple and a low-cost solution to physiological sensing while also being upgradeable for different scenarios. Comments: This paper uses textile sensors directly with sports. The work describes different uses of e-textile sensors and their recognition techniques.

3.3 Paul Strohmeier et al. - ”zPatch: Hybrid Resistive/Capacitive eTextile input” zPatch [12] is a thin and soft, iron-on textile patch that works as a wearable sensor enabling users to control an app on their phone or a video game. As of present reading (15.5.2018), this app is custom made by the authors for testing purposes.

It is constructed by having a resistive material sandwiched between two conductors and then encased in non-conductive textiles. The patch can either have a single sensor or a cluster of sensors measuring either pressure or some form of gesture depending on the configuration.

Comments:

This paper has good overview of how a textile sensor is constructed from scratch and also shows different techniques when recognizing different gestures.

Page 12: Lorica: Low cost upper body protective gear that measures

6

4. Method This section will explain the methods used to solve the research problem.

Design and prototype a system

The prototype was developed using the systems development process done in five stages, as Nunamaker and Chen propose [8]. The process was chosen due to its clear development process and its inclusion of a prototype stage.

The flow of the stages should be done in the correct order but it is encouraged that if new insights are gained, decions made in earlier stages should be revised in order for the system to be improved. The following figure and sections describe the process for this project.

4.1 Construct a conceptual framework

During the first stage, a research question needed to be defined. It was already known that a prototype was to be constructed but not what the research question would be.

It was during this stage that a literature survey was performed that narrowed it down to the research question in chapter 1 as well as the information used in chapter 2 (theoretical background) and chapter 3 (related work).

It was also at this stage that a system requirements specification list(see 5.1) was first constructed.

4.2 Develop a systems architecture

With the research question in place, the stage in the process was performed to identify the components of the system as well as their mutual interaction. A rough sketch up was made of the components and their requirements, presented in chapter 5 (5.2).

Figure 1:Different stages of the method and their respective relation

Page 13: Lorica: Low cost upper body protective gear that measures

7

4.3 Analyse and design the system During this stage the sketch up was further improved by designing a full system with its subsystems in place. Each solution proposed was further analysed to see if it satisfies its requirements or not. This resulted in a design for the sensor matrix pad (see 5.3) as well as possible algorithms. At this point the necessary hardware was bought.

4.4 Build the system This stage resulted in the implementation of the system designed in the previous stage. The first subsystem to be built and implemented were the three matrix sensor pads. With the sensors being the key component to the system, they were extensively tested before moving on to the multiplexing part. Finally, everything was connected to the microchip and placed inside an old Taekwondo chest guard. The entire system with its components was developed using a test-driven development process (see 5.3).

4.5 Observe and evaluate the system

The final stage resulted in evaluation of the system and its subsystems against the requirement list. This can be seen throughout chapter 6 of this paper.

Page 14: Lorica: Low cost upper body protective gear that measures

8

5. Results and Analysis 5.1 System requirements

During the development of system architecture (see section 4.2) a list of system requirements was made:

1. The system can measure approximate weight placed on sensor 2. The system can measure weight up to 120kg. 3. The system can determine impact location 4. The system can register multiple kicks under one sensor readout sequence

Requirement number 1 means that each sensor used in the system can measure approximate weight placed on it in kilogrammes. It is not expected that the sensors would be able to measure the weight that precisely in grams.

Requirement number 2 was conceived during work done during chapter 3. After reading 3.1[9], it was deduced that the average kick weight of the subjects in that paper was 117.7kg which was rounded up to 120kg for this research.

Requirement number 3 means that the sensors can determine impact location based on which matrix pad is struck. As mentioned in abstract, there is no difference in points awarded in Taekwondo based on where you kick on upper body, but rather which kick was performed. As such, impact location is determined by which of the three sensor matrix pads were struck.

Requirement number 4 is about the speed of the multiplexers and the system itself. It means that the system should be able to register multiple kicks in one sensor readout sequence. The system should be able to register at least 2 kicks per second.

5.2 System Architecture During the Nunumaker & Chen [8] method of systems development second stage, a system architecture was designed and can be seen in figure 2.

The above figure illustrates the system architecture of the prototype.

PC

Data visualisation

Application layer

Logic

Communication

Sensor layer

Sensor nodes

Sensor gateway

Figure 2: System architecture

Page 15: Lorica: Low cost upper body protective gear that measures

9

The application layer consists of the microcontroller performing all the logic of the prototype. It is responsible for GPIO, reading the sensors and evaluating the kick weight. It also handles the algorithm for impact location.

The sensor layer encompasses the sensors used for kick weight detection and impact location. Sensor nodes are the three sensor pads and the gateway are the multiplexers linking them to the MCU.

Data visualisation is performed on a PC using Arduino IDE through a Micro Type B USB cable. The baud rate for data transfer is 250000baud

5.3 Analyse and design the system The upper component is the nRF52 Bluefruit microchip. Due to the number of sensors being used and not enough analog inputs being available on the microchip board, multiplexers were used to extend the range of inputs. A total of 7 multiplexers are included in the system, 6 for the sensor pads and 1 main multiplexer that switches between the lower 6. Finally, 48 sensors were used to measure impact location and approximate weight. They were distributed evenly over three sensor matrix pads with a 4x4 resolution. This was done to ensure that the kicks could be registered from different angles. It also ensures better weight measurement from those different angles. A better overview of the system design can be seen in the figure below.

6. 7. 8.

The numbers in parentheses next to 6mux note the channel on the main multiplexer. Each sensor matrix pad has 16 Velostat pressure sensors that are multiplexed by through the main multiplexer onto one analog channel on the microchip.

nRF52 Bluefruit

Main multiplexer

6mux(0) 6mux(1) 6mux(2) 6mux(5) 6mux(4) 6mux(3)

Sensor matrix pad

LEFT

Sensor matrix pad

CENTER

Sensor matrix pad

RIGHT

Figure 3: System design

Page 16: Lorica: Low cost upper body protective gear that measures

10

5.4 Build the system 5.4.1 BLE Nano 2 During the work done in 4.1.3 when the system was first designed, and parts bought, the first-choice microchip board was a BLE Nano 2 [14]. As work progressed and moved forward towards stages described in section 4.1.4 and 4.1.5, it was discovered that the BLE Nano 2 ADC channels were dysfunctional. It was noted that only one of the ADC channels was working properly and with some noise to it and only while the other digital pins were low. After troubleshooting and not finding a solution for the problem, a new microchip board was bought and the design updated.

5.4.2 nRF52 Bluefruit Using the same microchip as BLE Nano 2 namely nRF52832 from Nordic Semiconductor, the nRF52 [15] has a 64Mhz ARM Cortex M4F CPU, 8 12-bit analog inputs and 19 DPIO. It was chosen for its size, speed and availability of inputs. Whereas BLE Nano 2 consisted only of 12 DPIOs / ADC, the Bluefruit also has an onboard battery management system that could be used to further extend the project for wireless data transmitting over the BLE. Currently the data transmission is wired(see section 5.4.4).

As this breakout board uses the same microchip as the previous one, the choice came down not only to functionality but also quality. As I have bought and used Adafruits breakout boards before, I was pretty sure of their quality.

As the system was using DPIO for the multiplexers and analog pins for the sensors, tests on these were performed.

Table 1: Test cases for the microchip DPIO and ADC

Test case ID Test objective Steps Expected result

1 DPIO pins are working, LED lights up

1. Set pin high 2. Connect

LED

The LED lights up on connection

2 Analog input pins are working, correct sensor values are being read

1. Read & display value from analog pin #

2. Connect sensor

Correct values are being read and displayed

Page 17: Lorica: Low cost upper body protective gear that measures

11

Out of the 19 pins available on the Bluefruit, 8 of them are shared between DPIO and ADC on pins 1 through 8 and the rest are exclusive to DPIO.

All of the pins and their respective functions were fully working during the tests, the results are presented in the next table:

Table 2: Results of DPIO and ADC testing from table 1 test cases

PINS Test case 1, result (DPIO) Test case 2, result (ADC)

1 PASS PASS

2 PASS PASS

3 PASS PASS

4 PASS PASS

5 PASS PASS

6 PASS PASS

7 PASS PASS

8 PASS PASS

9 PASS NO PIN

10 PASS NO PIN

11 PASS NO PIN

12 PASS NO PIN

13 PASS NO PIN

14 PASS NO PIN

15 PASS NO PIN

16 PASS NO PIN

17 PASS NO PIN

18 PASS NO PIN

19 PASS NO PIN As the results and the microcontrollers performance was satisfactory the decision was made to use it in building the prototype.

5.4.3 Choice of IDE As part of the Bluefruit breakout board, Adafruit developed a library of functions for it to go along with the Arduino IDE. As a working library was already present as well as prior experience with Arduino IDE, the choice was made that it would be used for the development of the prototype.

5.4.4 Data collection Data collection was performed through Arduino IDEs serial monitor with a baud rate of 250000baud. The MCU itself is connected to a PC through a Micro Type B USB cable during data collection.

5.4.5 Multiplexers As the total of sensors runs up to 48 and the microcontroller only has eight ADC channels or 13 DPIOs with six ADC channels in use, the system makes use of multiplexers to introduce more ADC channels for each of the sensors.

Page 18: Lorica: Low cost upper body protective gear that measures

12

There are two main roles of the multiplexers in the system. Six multiplexers are multiplexing the 48 signals from the Velostat sensors, while the main one controls which of the six multiplexers is being forwarded to the MCU.

Below is a figure that shows how the circuit is connected.

Figure 4: A circuit diagram showing how the two multiplexer roles are connected

As seen in figure above, the Velostat sensors are connected to one of the six multiplexers. Each of the six is responsible for eight Velostat sensors making them 48 in total.

MUX0 MUX2 MUX4

MUX1 MUX3 MUX5

Figure 5: A image showing the 3 sensor matrix pads

A closer look shows that the yellow and red spots are the actual sensors and (MUX#) are the multiplexers responsible for 8 out of the 48 sensors. The eight sensors are positioned horizontally around the yellow MUX#. Each sensor matrix pad has a 4x4 resolution.

Page 19: Lorica: Low cost upper body protective gear that measures

13

As all six sensor controlling multiplexers share DPIOs for channel selection, the role of the main multiplexer is to control which of the six is being read by the MCU at any given time by having them connected to the main MUX itself.

A possible issue was the time that it took while switching between multiplexer channels. According to the 4051b datasheet [16], the typical switching time between channels was 450ns + 20ns rise time. The time it takes to switch between channels rises as voltage is lowered, and the maximum time for channel switching is listed at 720ns at 5V. The Bluefruit runs at 3.3V.

Table 3: 4051b channel switching speeds at different voltages

Voltage(V) Channel switching time(ns)

5 720

10 320

15 240

As the rise in channel switching time as the voltage drops off is exponential and there are too few values to determine the time at 3.3V, 720ns was used to count the expected time of the sequence.

The speed of the ADC on the Bluefruit is 5us and between channel switching a 7us delay is used to let the ADC get ready for the next reading. As such, the following values are attained:

720ns(channel switching time) + 20ns(channel rise time) = 740ns

As there are 48 channels on the 6mux multiplexers and 6 channel switches on the main mux, the total channel switches are 54.

54 * 740ns = 40us

The delay for the ADC is only added after reading one of the 48 channels on 6mux, hence:

48 * 7 = 336us

And there are only 48 channels that the ADC reads, meaning:

48*5 = 240us

All these together:

240us+336us+40us = 610us

The 610us give the expected sequence run time based on calculations presented above.

To measure this, micros()[19] function was used. The function records time from the start of the program until the end of sequence. The program itself consisted of switching between each of the channels and reading the ADC after each switch. Micros() recorded the time from start of the program until the end after all 48 sensor values were read.

The table on the next page shows the recorded data. First column shows how long the program has been running for in its entirety, the second column the expected sequence runtime and the last column the actual sequence runtime.

Page 20: Lorica: Low cost upper body protective gear that measures

14

Table 4: Table measuring the time of a full run through 48 sensors

Expected sequence runtime(us) Average sequence runtime(us)

610 976

610 977

610 976

610 977

610 976

610 977

610 976

610 977

610 977

610 976

610 977

610 976

610 977

610 976

610 977

610 977

Average time = 976

An average time of 976us was recorded for each sequence. That means that there is an excess 366us during each sequence. As previously discussed, the switching time for the multiplexers grows exponentially as the voltage drops and is the probable cause for the extra time measured.

Page 21: Lorica: Low cost upper body protective gear that measures

15

5.4.6 Sensor construction During work done at stage 4.1.3. it was noted that Velostat was the material that was most attainable economically as well as being simple to use in sensor construction. Thus, the choice was made to use Velostat to construct a sensor.

As Velostat is piezoresistive, it could be made into a variable resistor and setting it up as a voltage divider a value could be read by the MCUs ADC.

Per Velostat datasheet [17], the surface resistivity is 31000Ω when dormant or not pressured.

The fixed resistor is 10kΩ and according to voltage division equation: 𝑉𝑜𝑢𝑡 = 𝑉𝑖𝑛 ∗𝑅2

𝑅1+𝑅2 this

gives:

Table 5: Table showing the upper and lower limit of Velostat variable resistor

Volts(V) Ohm(Ω)

Vout 0.8V

Vin 3.3V

R1 31000Ω

R2 10000Ω

The table above shows between which values the sensors can be read. The figure below shows

the variable resistors circuit.

The first-generation sensor was made by taping copper tape to two different sheets of paper to prevent outside conductivity. Velostat was placed between these two, copper tape facing towards the Velostat on each side. A wire was soldered onto one sheet leading to MCUs power supply and the other to ground and the ADC input.

The sensor was tested by applying pressure to it and watching the values change as they were being read through the ADC. The construction of the sensor was a success and it was tested by applying pressure to it and watching the values change as they were being read through the ADC on the microchip. However, it was noted during the initial experiments that the Velostat sheet was only sensing pressure and a change in value reading occurred where the two copper tapes intersected. To counter this, the design was revised so that the copper tape would cover the entirety of the Velostat sheet. The sheets of paper on the outside were also replaced with Neoprene. The final design is illustrated figure 6 below.

Figure 6: Variable resistor made with Velostat

Page 22: Lorica: Low cost upper body protective gear that measures

16

Figure 7: A sketch of the 2nd and final generation of the Velostat sensor

This being only a single sensor, it was necessary to design something to house more of them(see appendix A). The Velostat sheets had to be separated for each and every sensor. A sensor matrix pad was designed to house the sensors on each of the three sides of the Taekwondo body armour. To improve elasticity of the connections, the copper sides were sewn with conductive thread leading to ground, power supply and multiplexers as described in the previous chapter.

Figure 8: Figure showing the size of individual sensors and their placement on a matrix pad.

The individual sensors were placed as seen in the figure above. They were placed over a 16x16cm area with the space between them and their sizes calculated so they cover the pads area evenly.

Neoprene Copper Velostat Copper Neoprene

Page 23: Lorica: Low cost upper body protective gear that measures

17

This was done to ensure that the kick weight could be registered properly occurring from all angles.

5.4.7 Weight measurement A question arose during the construction of the matrix pads if the readings would be any different due to the addition of Neoprene. The sheets of Neoprene were tightly knit around the Velostat as to reduce any movement and/or distortion. The Neoprene sheets were also only 2mm thick.

The tests showed that there was only minor difference in ADC readings with the new Neoprene enclosure.

Table 6: Table showing the results of the experiment testing readings with and without Neoprene enclosure

Weight(kg) Value without Neoprene enclosure

Value with Neoprene enclosure

Percentage difference(%)

1 659 681 3.28%

2 711 733 3.04%

3 754 785 4.02%

4 820 839 2.29%

At this point it was important to correlate the resistance values to the weight being put on the sensors. A crude approach was taken using apothecary weights and placing them on each of the 48 sensors up to 13kg. As the sensor readings did not differentiate above 13kgs this was the upper limit.

Charts over the results can be seen in appendix C.1:C:6.

As there is little information on Velostat and its sensing capabilities, a linearization of the readings had to implemented. By linearizing the readings, we could get a clear picture of how the values would move with heavier weight limits.

To do this, Microsoft Excels line fit tool is being used to extrapolate a linear equation from a graph. The equation obtained is then turned around to solve for x, x being the weight of the impact based on readings. With the equation, an approximation can be made to determine impact weight.

Page 24: Lorica: Low cost upper body protective gear that measures

18

All the values from the measuring were averaged and used with Excels line fit tool to generate an equation to linearize the findings.

Figure 9: Graph showing the linearization of values with the equation

From the line fit tool an equation 𝑦 = 220𝑥 + 42 is obtained. When this equation is turned

around to solve for x, 𝑥 =(𝑦−42)

220. The equation is used in calculating the weight of a hit during

runtime.

y = 220x + 42

0

500

1000

1500

2000

2500

3000

3500

4000

0 2 4 6 8 10 12 14 16

Linearization chart

Page 25: Lorica: Low cost upper body protective gear that measures

19

5.4.8 Impact location One of the system requirements was that the system would be able to locate the impact location on hit. An algorithm was written to detect the hits.

Figure 10: Activity diagram showing the impact location algorithm

Code for the algorithm can be seen in appendix B.1.

Page 26: Lorica: Low cost upper body protective gear that measures

20

5.5 Observe and analyse the system The end system prototype was tested by having a group of subjects perform a Taekwondo turning kick three times while both measuring the location and weight of the impact. The body gear system was placed on a standing bag.

The subjects consisted of:

• Subject 1: Male, 40kg, 12yo • Subject 2: Male, 73kg, 20yo • Subject 3: Male, 84kg, 30yo

Subject 1 was chosen due to the fact that the prior experiments performed on the Velostat sensor showed that it could not measure the weight above 13kgs and it was suspected that subject 1 would not exceed that hit weight.

Subject 2 was chosen as his weight class is the most well rounded one in the sport, meaning members of this weight class are considered to have a good blend of speed and strength.

Subject 3 was chosen primarily to test the construction stability of the prototype due to him being a heavy weight and the one that would hit the hardest.

The following table shows the results:

Table 7: Results from the kick experiment measuring weight

Kick #1 Kick #2 Kick #3

Subject 1 8kg 9kg 8kg

Subject 2 13kg 13kg 13kg

Subject 3 13kg 13kg 13kg

The first test performed was measuring the average weight of the three subjects’ kicks. The subjects performed three kicks each and the results were noted. Out of the three, only subject 1 had satisfying results concerning weight measurement. The other subjects all exceeded the upper limit of the sensor, meaning that they both hit harder than the sensor could measure.

Table 8: Table showing the results from impact location measurements

Left, upper

Left, lower

Centre, upper

Centre, lower

Right, upper

Right, lower

Subject 1 #1 – Miss

#2 – Hit

#3 – Miss

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Miss

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Miss

#2 – Miss

#3 – Miss

#1 – Hit

#2 – Hit

#3 – Hit

Subject 2 #1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

Subject 3 #1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

#1 – Hit

#2 – Hit

#3 – Hit

Page 27: Lorica: Low cost upper body protective gear that measures

21

The table above shows how the subjects hit their intended targets where hit & miss show if the intended target was struck. The test was performed by having the vest mounted on a dummy and the subjects would hit each of the sections while the MCUs serial monitor would show if the intended target area was hit with success. The test subjects performed three kicks each aimed at designated areas. These were the lower and upper sides of a matrix pad. Subject 2 and 3 performed flawlessly, hitting their targets on the spot on each of their three tries. Raw data is available in appendix C.7:9. Subject 1 was less successful, partially missing the upper sections of the sensor array. It was speculated that this was due to subject’s height and not being able to reach the target properly.

Page 28: Lorica: Low cost upper body protective gear that measures

22

6 Discussion 6.1 Multiplexer speed

As seen in 5.3.5, the average speed for the full 48 sensor run 977us which can be rounded up to 1ms. A Taekwondo turning kick takes 0.33s [9] to execute and at this speed one could fit 330 kicks during a sensor readout cycle. This means that the system would not lag behind if multiple kicks were to connect. Overall, the system speed satisfies system requirement 4.

A different option that could increase sensor readout speed even further could possibly be a digital multiplexer. Digital multiplexers are generally faster than their analog counterparts. All of the 48 sensors could have been connected to a single analog input on the MCU while the digital multiplexer would alternate between them by switching the power supply at the right moment. At the same time, a digital multiplexer would eliminate the noise in the signal as voltage would be passing through one sensor at a time. No actual tests were performed to measure the difference.

6.2 Weight measurement There was very little information to be found on Velostat besides a few academic papers and a lot of instructables where all of them describe the construction of a sensor. There was very little testing performed based on weight measurement. The experiments performed have both left me wanting for more and surprised me. The expectations were not very high that a Velostat based pressure sensor could measure high amounts of weight and comparing my own measurements with David O’Sullivans [9] et.al. shows that these expectations were correct.

This was concluded after extrapolating the data from their research. I found that the force of a kick performed by one of their subjects in the same weight class as Subject 2, was 6400N while the velocity of the kick was 17.66m/s and the time 0.33s. As Newtons 2nd law states [10], F = ma

and 𝑎 =𝑑𝑉

𝑑𝑡 we can calculate that 𝑎 = 53.51𝑚/𝑠2 and that the m = 117.7kg. This means that

both subjects can reach up to that kick weight, perhaps more. With the weight classes increasing so does the kick power and subsequently its weight. As the upper limit of the system discussed in this paper is 13kg, the disparity is too high. As such, the weight measurement of the prototype does not satisfy the parameters for system requirement 2. It does however satisfy system requirement number 1 as it is able to measure approximate weight if only up to 13kg.

6.3 Impact location Although the sensor shows that it is not a very good weight measurement tool, it has shown that it works perfectly for impact location. The misses shown in C.7 were due to the subject being too short to properly hit the target, while the other two subjects hit the target on spot as seen in C.8 and C.9. All three of the tables, namely C.7:9, show that the prototypes impact location is functional.

Page 29: Lorica: Low cost upper body protective gear that measures

23

7 Conclusion This thesis has answered both

• RQ1: How can a prototype be designed and constructed so that it measures approximate punch/kick weight and impact location? (see chapter 5 & 6)

• RQ1.1. Can a e-textile based sensor measure impact weight accurately? (see 5.3.5. & 6.2)

It has shown how a system is designed and constructed to measure impact weight and location. It has also shown that Velostat cannot be relied upon to measure weights higher than 13kgs.

7.1 Contribution of this thesis This thesis shows how a force resistive sensor can be made from inexpensive parts. The test results show that Velostat is not the best material for precise weight measurement in the hundreds but that it can be used for weight measurement up to 13kgs. It also shows that through the use of limited hardware, a sensor array can be made and used to detect kinetic impact location with good precision.

7.2 Future work One of the reasons nRF52 Bluefruit was chosen were its BLE capabilities. It was imagined at the beginning of this thesis, that if time allowed, a wireless connection could be made to a phone or a computer do display results in real time. As the 48 multiplexers were taking too long, it was decided to leave this bit for the next version.

Running experiments with a digital multiplexer to compare it to the current analog one would be a good idea considering one could increase the speed of sensor reading by a large amount.

Impact location worked fine, although a better algorithm could be thought of to make full use of the matrix pads resolution. A machine learning algorithm for pattern recognition could be added to enable the system to recognize which type of kick was registered.

As for the weight measurement, two possible solutions are considered. One is to construct a sensor using Velostat in layers and sum up the values on impact. This would require faster multiplexers, either digital or analog as well as much higher level of calibration. The second one would have to mean finding a better replacement for the Velostat material, one being able to measure much higher weight values than the previous version. On top of that, an accelerometer could be added to measure the acceleration after being hit for more precise calculations.

Page 30: Lorica: Low cost upper body protective gear that measures

24

References [1] M.C.Bishop, Lorica Segmentata Volume I: A handbook of Articulated Roman Plate Armour, The Armatura Press, December 2002.

[2] L. Van Langenhove, Smart Textiles for Medicine and Healthcare, Materials, Systems and Applications, Woodhead Publishing, 2007.

[3] Peter Brown, “The Future of Healthcare May Reside In Your Clothes”, Internet: https://eu.mouser.com/applications/healthcare-may-reside-in-smart-clothing/ , [15.5.2018].

[4] “3 Eras of Taekwondo and Electronic Scoring”, Internet: http://2020armor.com/3-eras-of-taekwondo-and-electronic-scoring/ , [15.5.2018].

[5] “Using an FSR”, Internet: https://learn.adafruit.com/force-sensitive-resistor-fsr/using-an-fsr , [15.5.2018].

[6] Hatice A. K. Toprakci & Tushar K. Ghosh, Handbook of Smart Textiles, Springer, 2015.

[7] Lewis E. Hollander, Gerald L. Vick and T.J. Diesel, The Piezoresistive Effect and its Applications, Review of Scientific Instruments, Vol. 31, 1960.

[8] Nunamaker J.F. and M.Chen, “Systems development in information systems research”, Proceedings of the Twenty-Third Annual Hawaii International Conference on System Sciences, 1990.

[9] David O’Sullivan et.al., “Measurement and comparison of Taekwondo and Yongmudo Turning kick for two target heights”, Journal of Sports Science and Medicine, Vol 8., 13-16, 2009

[10] James S. Walker, Physics (4th Edition), Addison-Wesley, 2010.

[11] Shirley Coyle et.al., “Textile-based wearable sensors for assisting sports performance”, “2009 Sixth International Workshop on Wearable and Implantable Body Sensor Networks”, 2009

[12] Paul Strohmeier et.al., “zPatch: Hybrid Resistive/Capacitive eTextile Input”, “TEI2018”, 2018.

[13] Chiu P.H., Wang H.H., Chen Y.C. (2007) Designing a measurement system for Taekwondo training. XXI ISB Congress, July 1-5, Taipei, Taiwan. Journal of Biomechanics 40 (Suppl. 2), S619

[14] “BLE Nano v2”, Internet: https://redbear.cc/product/ble-nano-2.html, [28.3.2018]

[15] “Adafruit Feather nRF52 Bluefruit”, Internet: https://www.adafruit.com/product/3406, [15.5.2018]

[16] “CD405xB CMOS Single 8-Channel Analog Multiplexer/Demultiplexer

With Logic-Level Conversion”, Internet: http://www.ti.com/lit/ds/symlink/cd4053b-mil.pdf , [28.3.2018]

[17] “Velostat datasheet”, Internet: http://www.farnell.com/datasheets/1815591.pdf , [28.3.2018]

[18] ”20/20 Armor”, Internet: http://2020armor.com/ , [28.3.2018]

[19] "Arduino Reference – Micros()” Internet:

https://www.arduino.cc/reference/en/language/functions/time/micros/ , [28.3.2018]

Page 31: Lorica: Low cost upper body protective gear that measures

25

Appendices

A – Prototype construction photos

Figure A.1: A close up on the first generation sensor as a whole

Page 32: Lorica: Low cost upper body protective gear that measures

26

Figure A.2: A photo of the first generations connectors

Page 33: Lorica: Low cost upper body protective gear that measures

27

Figure A.3: A close up on two of the three sensor matrix pads and their wirings

Page 34: Lorica: Low cost upper body protective gear that measures

28

Figure A.4: A full view of the three sensor matrix pads before they were put inside the Taekwondo body gear

Page 35: Lorica: Low cost upper body protective gear that measures

29

B – Algorithm code

const int sensorValueReadings = 47;

int sensorValue[sensorValueReadings];

void hit_location()

int left_low, left_high, center_low, center_high, right_low, right_high = 0;

int sum_left_low, sum_left_high, sum_center_low, sum_center_high, sum_right_low, sum_right_high = 0;

int sum_rest = 0;

i = 0;

for ( i = 0; i <= 47; i++ )

if ( sensorValue[i] > sensorValue[i] + 620 )

for ( i = 0; i <= 7; i++ )

left_high += sensorValue[i];

for ( i = 8; i <= 15; i++ )

left_low += sensorValue[i];

for ( i = 16; i <= 23; i++ )

center_high += sensorValue[i];

for ( i = 24; i <= 31; i++ )

center_low += sensorValue[i];

for ( i = 32; i <= 39; i++ )

right_high += sensorValue[i];

for ( i = 40; i <= 47; i++ )

right_low += sensorValue[i];

sum_left_low = left_low * 5; // Multiply by 5 to compare with rest

sum_rest = left_low + left_high + center_low + center_high + right_low + right_high; // Sum up all values for comparison

if ( sum_left_low > sum )

Serial.println("Hit registered, location was lower left side!"); // Compare values, print out a message if struck

sum_left_low = 0; // Reset the sum values before next poaition measuring

sum_rest = 0;

.

.

. // More of the same for each position

Figure B.1: Code snippet for the algorithm function used to determine impact location

Page 36: Lorica: Low cost upper body protective gear that measures

30

C – Tables and graphs

Figure C.1: Graph showing the correlation between weight and resistance for left matrix pad 1

Figure C.2: Graph showing the correlation between weight and resistance for left matrix pad 1

Sensor 0

Sensor 2

Sensor 4Sensor 6

0

1000

2000

3000

4000

1kg 2kg 3kg 4kg 5kg 6kg 7kg 8kg 9kg 10kg 11kg 12kg 13kg 14kg 15kg

Left matrix pad, MUX 1

Sensor 0 Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 Sensor 6 Sensor 7

Sensor 0

Sensor 2

Sensor 4Sensor 6

0

1000

2000

3000

4000

1kg 2kg 3kg 4kg 5kg 6kg 7kg 8kg 9kg 10kg 11kg 12kg 13kg 14kg 15kg

Left matrix pad, MUX 2

Sensor 0 Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 Sensor 6 Sensor 7

Page 37: Lorica: Low cost upper body protective gear that measures

31

Figure C.3: Graph showing the correlation between weight and resistance for centre matrix pad 1

Figure C.4: Graph showing the correlation between weight and resistance for centre matrix pad 2

Sensor 0

Sensor 2

Sensor 4Sensor 6

0

1000

2000

3000

4000

1kg 2kg 3kg 4kg 5kg 6kg 7kg 8kg 9kg 10kg 11kg 12kg 13kg 14kg 15kg

Center matrix pad, MUX 1

Sensor 0 Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 Sensor 6 Sensor 7

Sensor 0

Sensor 3

Sensor 60

1000

2000

3000

4000

Center matrix pad, MUX 2

Sensor 0 Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 Sensor 6 Sensor 7

Page 38: Lorica: Low cost upper body protective gear that measures

32

Figure C.5: Graph showing the correlation between weight and resistance for right matrix pad 2

Figure C.6: Graph showing the correlation between weight and resistance for right matrix pad 2

Sensor 0

Sensor 2Sensor 4Sensor 6

0

1000

2000

3000

4000

Right matrix pad, MUX 1

Sensor 0 Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 Sensor 6 Sensor 7

Sensor 0

Sensor 2

Sensor 4Sensor 6

0

1000

2000

3000

4000

1kg 2kg 3kg 4kg 5kg 6kg 7kg 8kg 9kg 10kg 11kg 12kg 13kg 14kg 15kg

Right matrix pad, MUX 2

Sensor 0 Sensor 1 Sensor 2 Sensor 3 Sensor 4 Sensor 5 Sensor 6 Sensor 7

Page 39: Lorica: Low cost upper body protective gear that measures

33

Figure C.7: Heatmap colored tables from Subject 1 testing session

Page 40: Lorica: Low cost upper body protective gear that measures

34

Figure C.8: Heatmap colored tables from Subject 2 testing session

Page 41: Lorica: Low cost upper body protective gear that measures

35

Figure C.9: Heatmap colored tables from Subject 3 testing session