Team: Paul Flanagan, Ali Al-Shaqaq, Andras Katona
- Three treads: for sensor, control and servo
- Plan the movements and the required processes/threads/functions
Week 1:The first part of the sprint I spent time to be familiar with C/C++ structure, figured out the modular system of mbed and the way micro-controllers work. First time I've found difficulties to work together with the team as we didn't share the code, but everyone had different and multiple versions of code. Finally we agreed to only work on one particular code on mbed's version control system.
Week 2:Ali and Paul were putting a working code together with three threads use mutex, but the movement wasn't fluent and was shaky because of the noise from the sensor.
Week 3:In week three we were focusing on the control thread to find how the sensor can keep the distance from the object.
As team we had different idea and level of capabilities to make modifications on different part of the code.
With the idea of an other group, Ali developed a moving average code which was improved the movement of the servo.
My role was to write comments on the code (mainly for myself to understand the flow).
After multiple modifications of the code, finally we had a simple but working one.
- Implement other team's idea to use moving average
- Stabilise the movement to make it smoother with modifying the sampling time
- To filter out the noise from the sonar, it would worth a try to only modify the output variable to the servo if the input from the sonar changes over a specified range.