Back home
Project Info
The brief was to design a light water tower from a bio-degradable material which could support an 800 litre water container.
David Prior Hope, Amy Mather, Josh Moody
Completion date
Josh and Amy worked on programming and tuning the PID controller to make the robot self balance, while me and David programmed the beat detection algorithm and dance routine.
Firstly we attempted to program the robot to be able to dance to any music.
The goal was to enable the robot to detect the frequency of the music and choose the dance routine accordingly. This proved defficult as the microcontroller that the robot runs on is a PyBoard running microPython.
To analyse the frequency range from the microphone, the robot needs to continuously perform Fourrier transform calculations. The Numpy library that contains FFT is not available on microPython. I was successful in the end using a custom library, but the solution proved to be unreliable as the Pyboard was not fast enough to perform the necessary calculations.
David used MATLAB to analyse the music and wrote a code that would identify the most predominant frequency and average energy (loudness) at each beat of the song. Using this data we mapped dance moves to frequency and dance move speed to energy. We then played around with different moves to create a dance routine.
The final dance begins after the robot detects 4 beats in a row from the song of our choice. It then performs it's dance routine activating each move whenever a beat is detected.
A colourful pharmacy
The Mouse
Hardware / software game
Lend a Hand
Crowd sourcing electricity
Sustainable laundry detergent
Hand-powered hand warmer
Crash Defender
Smart football shoe
Yulife app
Atomic UI design system
Driver Interface
In an autonomous vehicle
See all projects...
See all projects...