capstone banu ali

Upload: banuali89

Post on 14-Apr-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/30/2019 Capstone Banu Ali

    1/17

    1

  • 7/30/2019 Capstone Banu Ali

    2/17

    2

    TABLE OF CONTENTS

    Part-I Project Definition _________________________________________________ 3

    Project Title __________________________________________________________ 3

    Project Type__________________________________________________________ 3

    Key Areas ___________________________________________________________ 3

    Problem Definition ____________________________________________________ 3

    Proposed Solution _____________________________________________________ 3

    Aims and Objectives ___________________________________________________ 4

    Outcomes and Deliverables ______________________________________________ 4

    Research Methodology _________________________________________________ 4

    Part-II Requirements ____________________________________________________ 5

    Hardware and Software requirements ______________________________________ 5

    Project Planning _______________________________________________________ 5

    Part-III Gantt Chart_____________________________________________________ 6

    Gantt Chart __________________________________________________________ 7

    Part-IV Risk Management ________________________________________________ 8

    Potential Risks _______________________________________________________ 8Controling Risks ______________________________________________________ 9

    Part-V Litreture Review __________________________________________________ 9

    Literture Review ______________________________________________________ 9

    Part-VI Project Implementation __________________________________________ 11

    Project Structure______________________________________________________ 11

    Part-VII Project Challenges _____________________________________________ 14

    Project Challenges ____________________________________________________ 14

    Part-VIII Future Plan __________________________________________________ 15

    Future Plan Ideas _____________________________________________________ 15

    Reference ____________________________________________________________ 16

  • 7/30/2019 Capstone Banu Ali

    3/17

    3

    Part-I Project Definition

    Project Title:Piano Player Robot

    Project Type:Research and Development

    Key Areas:- Programming (Using NXC ( Not Exactly C) language) - Robotics (Using Lego Mindstorm 2.0 robots)- Automation

    Problem Definition:The lack of piano players is what this project aims to solve. For instance, The American

    University of Iraq Sulaimani does not have a piano player. Music and piano is always

    good to have it everywhere. There are a lot of noises in the Cafeteria. A piano player can

    solve this issue, when there is music, people will enjoy and calm down. At the same time,

    when the music is played people can also enjoy the conversation with friends more than

    before. This robot can also be used in the library, too. Students always use iPods to listen

    to music while the study, but if there is a piano and a player, students does not even need

    to use the iPod.

    Proposed Solution:The piano player project involves two robotic arms with a head to make it look similar to

    human. The robotic arms are used to create an automated piano player to be able to press

    the keys on the piano keyboard and produce sounds. The robot will be pre-programmed

    to play some nice music. This robot will have two hands. Each hand will have two to four

    fingers. The fingers will start playing the music when we turn on the robot through

    the NXT Intelligent Brick. Another functionality we can do is to pre-program the robot

    that can generate random music and play them on the piano. This can improve the

    performance of the robot. Therefore, to fix the problem that is mentioned in the problem

  • 7/30/2019 Capstone Banu Ali

    4/17

    4

    definition, a robot is required that can play music. As humans, playing piano is not easy;

    they have to go through some certain of practical and academic instructions to be able to

    play it. Therefore, a robot can solve this difficulty for those who like to have a piano

    player in any places they want. Also, instead of giving a very big salary for a piano player

    every month, the American University of Iraq Sulaimani can buy a robot once. This will

    also save some money for the AUIS.

    Aims and Objectives:- Aim:

    The aim is to show that not only humans can play piano but also robots.

    - CoreObjectives: Experiments with Lego NXT Mindstorms 2.0. Experiments with NXC Programing Language. Experiments with automating the Robot to play music.

    - Advanced Objectives: Experiments with making the robot compose music randomly. Experiments with making the robot record music and play it back.

    Outcomes and Deliverables: A NXT well organized Robot that can function anywhere. Lego Mindstroms NXT 2.0 is a programmable robotics kit. This is used to build

    the robot. This kit is very easy to use. The robot can be shaped as how we would

    like to. Therefore, this makes it different and easier to use than any other kinds of

    robotic kits.

    The arms of the robot which are going to be programmed to play certain kinds ofnotes or melodies using NXC programming language.

  • 7/30/2019 Capstone Banu Ali

    5/17

    5

    Research Methodology:My methodology would be Case Study and Action Research. This is my first time to

    build a robot and program it. Therefore, I need to study the programming languages that I

    have not practiced or learned before. In this case, I need to research to find out tutorials

    or eBooks to teach me programming languages like NXC. The current project can solve

    the lack of a piano player anywhere. One of the places that can get benefit from this is the

    AUIS (American University of Iraq-Sulaimani) in their cafeteria or the library.

    Part-II Requirements

    Hardware and Software requirements:- Hardware:

    Lego Mindstorms NXT kit ( This is used to build the robot ) NXT Intelligent Brick ( It is the computer of the robot, it will be

    used to input the sensors and the motors via RJ12 cables )

    One Piano

    - Software:

    NXC editor and compiler

    Project Planning:- The project consists of three parts:

    Submission One (It consists of the project proposal, project plan and riskmanagement, and literature review.)

    Submission Two (It consists of implementing the project and developingit.)

    Submission Three (It consists of recording a video, presenting it, andthinking about the future plan for it.)

  • 7/30/2019 Capstone Banu Ali

    6/17

    6

    Part-III Gantt Chart

    On the next page, I have provided a detailed plan Gantt Chart for the Project

    - Gantt Chart All the steps with details are provided in the Gantt Chart The dates on the Gantt Chart are somehow fixed. Time and the Gantt Chart Plan are two of the things that may change as

    the project and plan Progresses.

  • 7/30/2019 Capstone Banu Ali

    7/17

    7

  • 7/30/2019 Capstone Banu Ali

    8/17

    8

    Part-IV Risk Management

    Risk Management

    Potential Risks- Technical

    1. When working with hardware and software, risks are always taken,therefore problems are sometimes occurring. One of the problems with the

    Robot is the Lego NXT Mindstorms kit. It is very easy to be broken. For

    example, when the piano starts playing, one or two of the fingers might

    get broken.

    2. One other problem is with the piano. The piano is a real piano and it mightbe difficult for the robot to press the keys as a human does.

    3. Also, the noise with the motors is another risk. Because we use the Legokit, we might get some noise of the motors with the music when the robot

    plays the piano. This may annoy the listener.

    - Non-Technical

    1. Due to the short time that is given to the project research anddevelopment, it might cause failing to finish the project. For this kind of

    project two-month is probably a short time to finish everything, but still

    there is a possibility and it will be a big challenge to submit everything

    perfect and on time

    2. Due to other courses I have during this semester, I do not probably havethe whole time provided for the capstone. I will also need time for them

    when the time comes to quizzes and exams. I have to perfectly manage mytime to succeed in all the classes.

  • 7/30/2019 Capstone Banu Ali

    9/17

    9

    Controlling Risks:

    - Technical

    1. To control the first risk is to avoid spaces between the piano keys and therobot. The fingers should be in a place that the fingers are very close to the

    keys.

    - Non-Technical

    1. The only solution to organize my time to this project and the other classes

    Will be through studying for the other courses whenever I have free time.

    For example, during the break time between the classes.

    Part-V Literature Review

    In the fall 2011, when I had Dr. Hemin teaching me Advanced programming and Web

    systems classes, and when I got to know him more about what his specialists are, how interests

    he is in robotics, and how he successfully could achieve what he wanted in this field, I also

    became interested when he was talking about his experiences in robots. Also, when I was a kid, I

    thought that robot is not meant to ordinary people to have it or create it, or sometimes I thought it

    does not even exist. But now, the situation is different; therefore, to try building a robot, I

    thought about developing a piano player robot.

    When I have done research about this idea, I saw that there are others who tried this. Few

    of them used NXT to build it, some other did not.

    The very advanced piano player robot that has been built until now is one called

    Teotronico. It has 19 fingers, its ways faster than human and it can sing as well. It is made by anItalian roboticist. It took 4 whole years for him to

    finish it. (Teotronico, 2012)

    Teotronico

  • 7/30/2019 Capstone Banu Ali

    10/17

    10

    When I did my research, I saw some piano player robots that have been built with NXT,

    but lots of them are very simple or have got only one finger that can only play some basic notes.

    The two most interesting once are Piano Playing Lego Mindstorm NXT Robot with

    iPhone and another one which is called NXT Lego Piano Player Robot.

    The first one is built by two roboticists on 30 April 2012. That tells it is new. As they

    talks about it in the objectives it is a piano player robot

    that can play piano using computer vision.

    (Frostyslug, 2010)

    I watched the second one on YouTube. It has got 6 fingers and can play Beethoven with a

    human Piano player. The blow image is a picture of it.

    The piano player robot that I am planning to build is way different than the ones I

    mentioned above. The first one I mentioned is very advanced, it is not built using NXT, it took a

    long time to make it done. The second one is built with NXT, but it is very slow, it uses iPhone,

    NXT Robot with

    iPhone

  • 7/30/2019 Capstone Banu Ali

    11/17

    11

    and it does not look like a human. The third one might be a bit similar as mine, but still it is one

    single arm with six fingers, mine will be having two arms, more fingers, and a head as well to

    make it look exactly like a human which it has not built yet having all these functionalities

    together with NXT.

    Part-VI Project Implementation

    Project Structure:I will divide the project structure into two parts, Software and Hardware.

    Hardware:The following hardware structure is used to implement this project:

    1. Lego Mindstorms NXT kitIt is used to build and design the robot from scratch. The good

    thing about it is that you will design according to what you have in

    mind and how you want you robot o look like. This is enough to

    build a very nice Robot to do the requirements.

    2. NXT Intelligent BrickThis intelligent brick is used to use it as a computer for the robot.

    The robot cannot do anything without this brick. This brick makes

    a connection between the robot and an actual computer to send the

    programming code and make it work as how it is programmed.

    3. A computerOne computer is enough to test the robot and send the data to the

    robot to make it work. This connection is made through with using

    a USB cable.4. A Piano

    One piano is enough to test the music. This is used to setup the

    robot according to the height, width and the keys of the piano to

    make it play the notes.

  • 7/30/2019 Capstone Banu Ali

    12/17

    12

    SoftwareThe only software I used to implement and program the Robot wasBricx

    Command Center. It is a very powerful software that I could totally

    control the robot like how I wished to with using a USB cable to connect it

    to the computer. I could turn on an off the Robot. I could tell the robot to

    play and stop the music whenever I wanted to, and I could compile the

    codding before sending it the robot to see if I have any error.

    The Hardware Implementation:- At the first time, when I designed the robot, I used only 2 motors and 4 fingers. The following

    is the screenshot:

  • 7/30/2019 Capstone Banu Ali

    13/17

    13

    Then I searched a lot to find out if there is a possibility to play music with four fingers.

    But I could find any, Then, I changed the design and added another motor with two more fingers.

    This time I could find a lot of music that anyone can play them using six fingers. Then, at the

    first time, I chose a song which was called what are words I programmed half of the music.

    Then, my second choice was Jingle Bell to program it and I did. Before the programing, I had to

    add two legs to the robots to make it look nicer and better attached to the piano.

    The following is the screenshot:

  • 7/30/2019 Capstone Banu Ali

    14/17

    14

    How it works:When I finished programming, I downloaded the program to the NXT brick to

    make it work and play the music with making it connect it to the computer. On the brick

    there is an orange button that you can touch it to make the Robot on. Then, you can use

    the next and previous buttons to choose the software programs that is being downloaded.

    I named the softwarepiano.nxc. If, anyone chooses the software program piano, the robot

    would start moving it is fingers to play the piano and the music that is being

    programmed.

    The following is a screenshot of some of the codding I did with the interface of the Bricx

    Command Center:

    The Piano

    The Fingers

    The Brick

    The Gears

    The Motors

    The Legs

    The HeadUSBs

  • 7/30/2019 Capstone Banu Ali

    15/17

    15

    Part-VII Project Challenges

    To find a suitable music was the biggest challenge I have faced. One of the reasons was

    that I do not how to play piano otherwise I could have written music for it. Also, the limited

    motors and fingers was another problem. Another problem was the piano, at the first two

    weeks I was having a piano that it was difficult for the robot to press the keys, because it was not

    a professional piano. Therefore, I had to buy one that is easy to be pressed by the robot. Then, I

    had to start from the beginning to design and implement the robot according to the new piano.

    Another big challenge was with programming and how to find sources to learn the NXClanguage. I could not really find any source on the internet to teach me NXC. There is only one

    book called Programming LEGO NXT Robots Using NXC by Daniel Banditelli. It was my

    only source to finish this project. Beside the videos I have watched on YouTube about the other

    NXT robots that have been already built.

  • 7/30/2019 Capstone Banu Ali

    16/17

    16

    Part-VIII Future Plan

    Two ideas for the future1. Play back music

    Write now, the project includes two music and it is being downloaded into the Robot.

    The future plan would be making the robot listen to music and after that plays it back

    on the piano.

    2. Adding more fingersThe robot is currently having 6 fingers. The future plan would be adding more fingers

    using more motors and one or two other bricks to make it play longer music.

  • 7/30/2019 Capstone Banu Ali

    17/17

    17

    References:

    1. Liao, Alvin, and Ronald Orozco. Piano Playing Lego Mindstorm NXT Robot withIPhone. N.p.: n.p., 2012. WinLab. Web. .

    2. Frostyslug. "Bothoven - Lego NXT Piano Playing Robot." YouTube. YouTube, 11 Sept.2010. Web. 03 Dec. 2012. .

    3. "Teotronico, the Well Dressed Robot Pianist." Teotronico, the Well Dressed RobotPianist. N.p., n.d. Web. 03 Dec. 2012.

    .

    4. Banditelli, Daniel. Programming LEGO NXT Robots Using NXC. Ed. John Hansen. Vol.2.2. Italy: n.p., 2007. Web.