1. I chose the Pink Panther as I wanted to choose a non-lyrical song. This is so that in the programming process it is easy to match the robot to the beat of the song.
2. I have completed the first section of the song and started working on having the arm do the harmony simultaneously.
3. In my program I am not using any sensors. However, I did approach this in a more mathematical/musical sense. I found a score of the Pink Panther online and downloaded it. I have a program I use to play back composed pieces in specific formats so that I can follow the score while it plays. I set the tempo custom to 120 beats per minute. I decided to do this as 120 is a multiple of 60 and the program will be much simpler to write due to this. I created multiple functions, such as moving forward, turning in place, performing a swing turn, and moving the arm. In all of these I can input the speed and for how many beats in a measure. This gives me ease in matching the robot with the song as I don’t actually have to time it through trial and error.
Another important function I made was a rest function, to reflect a rest in musical pieces. My approach to match the robot to the song note by note takes slightly more time, however, it is much simpler in timing the robot with the song.
4. In my program, I have set a variable that affects every function I create. It is a speed control, and is multiplied to every wait function. If I find that the robot moves slightly slower than the song, I change it from 1 to 0.95, to make the robot wait less. Similarly, if it moves to fast compared to the song, I change the constant from 1 to 1.005, so that the robot takes more time before performing a task.
5. The only challenge I believe I have had was when I was unaware of the “float” function. Prior I used the integer function, which rounds numbers to the closest integer. I found a problem when I need to the robot to move for 0.25 of a beat, as I would just not move. Mr.Lin helped me with this by showing me the “float” function which just stores the number including decimals.