Author:

Mariella Mischinger
Supervisor:Prof. Gudrun Klinker
Advisor:Adnane Jadid
Submission Date:15.06.2019

Abstract

In this thesis the Master Hoop, a professional LED hula hoop is constructed that is used for visionary art performances. The LED hoop recognizes the body part around which it is currently turning and lights the LEDs in the corresponding color. The Master Hoop is constructed with respect to the requirements of a professional LED hula hoop. It is equipped with an inertial measurement unit(IMU). The IMU measurements are collected, visualized and evaluated. The differences in circumference of each body part and the rotation speed of the turning hoop result in distinguishable IMU measurements. A method is developed how the differences in measurements are used to determine the current body part.

Project Description

Goal of the Thesis

The goal of this thesis is to develop the Hyper Hoop, a LED hula hoop that fulfills all  requirements for a professional LED hula hoop and is able to differentiate between knee hooping, waist hooping, chest hooping and hand hooping. For each of those motions, the hoop’s LEDs should shine in a different color. This should be realized with an integrated inertial measurement unit (IMU), that continuously measures the impulse of movement and angular momentum of the hoop. The measured data will be transferred to the PC via a Bluetooth module to evaluate it. A suitable method how the motions can be recognized will be derived. Finally, the motion detection and the light shows will be implemented.

The Requirements for a Professional LED Hula Hoop

Limited space:
The hoop only has a diameter of 1.6 cm of space on the inside, where all hardware including the controller, the sensor, the LEDs and batteries have to fit.

Light Weight:
A light hoop is important for agile and comfortable dancing.

Long Playtime:
Also the hoop should have a long play time. Since battery capacity is directly related to battery weight a trade-off needs to be done between ensuring sufficient battery capacity and minimizing the weight of the hoop.

Balanced Weight:
Furthermore for a balanced weight it is required to distribute the hardware inside the hoop.

Construction / Hardware Design

Hardware

The following hardware was used to construct the hoop

  • Teensy 3.2
  • GY-BMI160 6DOF Sensor
  • WS2812B 60 LEDs/m IP30 LED Strip
  • 5 801350 Lithium Polymer Batteries
  • Lithium Polymer Charger Basic with 500 mA

  • Lithium Battery Protection Board for overdischarge protection
  • Boost converter 0,9-5 V to 5V
  • On/Off Switch
  • Polypropylene Hula Hoop
  • HC-06 Bluetooth Module (not included inside the hoop, attached on the outside as only used for testing)

Power connection

The batteries are charged with the lithium battery charger. The voltage of lithium batteries is at 3,7 V. The on/off switch controls outgoing power. As lithium batteries break if the voltage is to low, a discharge protector is included. The consuming hardware uses 5 V, therefore a boost converter transforms the voltage.

Fulfilling the requirements

Limited Space

All hardware is small enough to fit inside the hoop, except for the Teensy board. To make it fit, one pin row was removed.

Balanced Weight

The hardware was weight:

5 batteries with ~ 8,7 g

Other hardware with ~ 9,1 g

→ 6 pieces with almoust equal weight are distributed inside the hoop to achive balanced weight

Light Weight / Long playtime

Batteries are the only hardware that can be left out to minimize weight. But batteries also directly relate with the playtime.

5 Batteries with ~8,7g each = 43 g in total

→ The construction was tested by observing the hoop during its usage. The weight is light enough to perform all tricks with acceptable effort.

5 Batteries with 500 mAh each = 2500 mAh in total

→ Fatigue test: Turning all LEDs on at white color (most energy) lasted for 3h20

Software Design

The IMU is configured and the measured data is converted. With two experiments, it is ensured that the IMU data is reliable for further usage. Furthermore, the Bluetooth module is connected for later data transfer. Also, to save the IMU data and the ledColor the structure vec3 was defined. Additionally some useful Vec3 functions simplify further steps.

Preparations for Motion Detection

To recognize the current hoop motion one needs to get an idea of how a certain motion looks like, or better said, how the measured IMU data looks like. Therefore, the Bluetooth module was connected with the PC, and the measured IMU data was transferred. On the PC a Python code was written that receives, collects and plots the measured Master Hoop data automatically.

The following figure shows an example of what the received data for chest hoopin looked like:

Motion Detection

Hyper Hoop should be able do differentiate between waist hooping, chest hooping, knee hooping and hooping around the hand above the head. All four moves are in horizontal position, like visible in below.

There are different approaches on how to recognize the current body part. The first idea was to calculate the euclidean distance for further calculations. But as visible below the euclidean distance for hand waist and chest hooping was too similar to use the data for further calculations.

Euclidean Distance for hand (red), chest (green), waist (blue) and knee (orange) hooping

Also the first and second derivative where considered, which also where not usable because the Drift-Random errors made it hard to extract information. The figure shows the first derivative (upper graph) and the second derivative (lower graph) for the gyroscope y-axes for each motion.

1st (upper graph) and 2nd (lower graph) derivative for knee(orange), waist (blue), chest (green) and hand(red) hooping


Finally, it was decided to only use the y-axis of the gyroscope and evaluate the graph concerning it’s wavelength.

Average Wavelengths

Chest Hooping

Average wavelength: 1485,2 ms

Knee Hooping

Average wavelength: 1605,5 ms

Waist Hooping

Average wavelength: 1878 ms

Hand Hooping

Average wavelength: 8234 ms

Implementation

To determine the wavelength, the time difference between the maxima is calculated.

To find the maxima, a threshold was defined. Sequential values beyond that threshold are defined as one maxima. The maxima are the groups of values above that threshold, colored in red. The time between those maxima indicates which motion is currently happening.


The motion detection is programmed in C and uploaded to the Teensy 3.2 board, that is included in the Master Hoop.

According to the discovered wavelength, the corresponding color lights up. Color ranges have been defined around the measured averages, so that chest hooping lights up in blue, knee hooping in purple, waist hooping in red and hand hooping in green.


Conclusion:

In this thesis the Master Hoop was constructed, which is a smart LED hoop that recognizes the difference between knee, waist, chest and hand hooping. Additionally, the LEDs visualize the colors according to the recognized motion. While designing and constructing the hoop, it was paid attention to meet all the in the requirements of a professional LED hula hoop. All the hardware fits into the limited space of the tube. The weight of the hoop is balanced and light enough for performing. Also the playtime is more than sufficient. An integrated IMU measures the acceleration and angular momentum continuously. To ensure correctness of the data, two experiments have been conducted. The measured data was transferred to the PC via a Bluetooth module. There, the data was visualized graphically by generating a graph for each motion. All four charts looked like steady waves but they differentiated in wavelengths. Therefore, the wavelength was used to differentiate between the four motions. For this purpose, the Master Hoop saves the timestamps of the maxima of last three waves and calculates the average duration. Depending on that average, different colors light up. If it is turned around the hand, the Master Hoops LEDs shine green. The LEDs turn blue when hooped around the chest, red for the waist, and purple for the knees.


Final Presentation: