Friday, 26 February 2016

Sprint 1 Reflection - Heng

Team: Bohemian Raspbian
Author: Heng Zhen Jing
Date: 26/2/2016
Title: Reflections

First of all, apologize for the late post as I was away for couple of weeks. After catching up with the team progression, I've realized that the script I've written for the sound system in Blog Entry #2 as well as the servo and face recognition scripts were all combined together using thread. The whole system seems to be working after combining, the only plague that troubles us is the unwanted jitter. Several methods were suggested to counter this issue such as Servo Code Redesign, or Relieving Stress on RPi. The explanations were made in this post: http://lampbotics.blogspot.ie/2016/02/team-bohemian-raspbian-sprint-1-test.html

Personal reflection
In my opinion, this module is my favourite as the class is always lively when it comes to robotics stuff. Everybody is busying and playing around with the lampbotics, RaspberryPi, servos etc. This is the only class that is not about memorizing theories, but getting our hands on practical/real stuff. We, from different backgrounds and courses were divided up into teams at the very first week. This makes us blend into one, learning from each other. We often communicate within our team to ensure understanding of each others work, even with the other teams as well. This somehow gives me a feeling of a big family, where all the members are working together towards achieving a goal. 

Technical reflection
As Python and Raspberry Pi are new things for me, I actually took a while to be able to get familiar with them. Fortunately, Python is not as hard as I expected, it turns out quite simple for me as it is not so complicated as C language, and not so tedious as Assembly language. I am very interested towards software programming, and always wanted to learn Python as it is a powerful yet simple language which is used widely among the industries. Now I finally have the chance! (Yay :D) Ok, back to the topic. I've learnt lots of stuff through programming Raspberry Pi using Python. I was assigned for the sound effect of lampbotics. Lots of methods can be used to play sound over RaspiPi, such as Pygame, Omxplayer and the list goes on. After discussion with teammates, we ended up using MPG123 player as it is easy to be implemented. Some of the issues encountered was the audio output modes as no sounds will be outputted if the wrong mode was being used. We have to force the audio to 3.5mm headphone jack by changing the settings. They are being described in my blog entry #2. Now, the problem is to stop playing the music once servo has stopped moving. Script was written for flags to be sent from servo's script to indicate the stopping of servo to my sound's script. However, due to the jitter of the servo, the sound system is unable to sync with the servo perfectly.


Teamwork reflection

In our team, we have Kamil, Luke and Shaun. Each of us was assigned to a specific tasks from the beginning of the first sprint. Kamil was responsible for threads design, Luke for OpenCV Face Recognition, Shaun for Servo and me, myself for sound system. For the first few weeks, none of us are extremely familiar with Python and Raspberry Pi. Fortunately, Luke who had his work placement related to these stuff, was there to teach us the basic things such as Python syntax, RaspPi I/O pins etc. Thanks to Luke, we were able to catch it up quickly. Kamil who is from IT has a strong software background. We all learnt alot from him in designing/coding the thread. Shaun who has his final year project on servo-related stuff was also giving out lots of idea in running the servos. We always communicate with each other to ensure our individual task can be merged into one using Kamil's thread. There is a group chat for us on Facebook to enable sharing of information to keep each of us updated with the project progression. 


Project management reflection

As for the first sprint, each team was assigned to get OpenCV Face Recognition, Sound and Servo systems working together via a combining thread. In our team, we managed the project's timeline efficiently. We all had agreed on the deliverable deadlines due on each Wednesday, as we only have class on Mon, Wed and Thurs. Thus, double classes on Monday enable us to integrate our pieces of codes into one, figuring out the issues and taking measures to solve the problems. For Wed and Thurs, we were working on our own task. The project progression can be considered well managed, as each of us is contributing to the team.

Thoughts on next sprint



Since I had my work placement related to optocoupler stuff, I think it would be necessary for us to implement this so as the high main voltage which is used to turn the lightbulb can be achieved using only small isolated voltage. As for the mechanical side, I think number of servos can be reduced, provided all the movements (tilt,spin..) are available, because additional servos would add on weight to the project. Let's hope for the new lamp to be arrived as soon as possible, so as the ideas and thoughts can be implemented practically. 

Heng Zhen Jing 
entry #3

No comments:

Post a Comment