Andrew Yocca's Robot

My Robot "Crush":

"Crush" is my rather slow sea turtle robot that can move around in many different ways. His shell provides good armor that should protect him from other robot enemies.

Interests and Hobbies:

I like Computer Science because of the fact that you can create whatever you want through coding. I feel like I could do something very clever with the knowledge that I hope to attain in Computer Science. Over the summer I played a lot of beach volleyball and spent some quality time with my high school friends. My hobbies include beach volleyball, soccer, golf, and football. I also like to play videogames if I have nothing else to do. I am very passionate about spending time on any sort of work and making it a success.

Lab 1 with: Dallas Heyden

Star Drawing

In this lab Dallas and I programmed my robot to draw a star. It turned out to be decent but I know we have potential to be Gods amongst mere mortals.

Lab 2 with: Garv Manocha, Jessica Shin, and Lizhi Fan

Output of Sensing Code:

My Output Garv's Output Jessica's Output Lizhi's Output
getLight: 65400 getLight: 64772 getLight: 64254 getLight: 64924
getIR: 1, 1 getIR: 1, 1 getIR: 1, 1 getIR: 1, 1
getBattery: 7.57818 getBattery: 7.0539 getBattery: 7.24455 getBattery: 7.19688
getObstacle: 0, 0, 0 getObstacle: 5120, 6400, 6400 getObstacle: 6400, 6400, 6400 getObstacle: 0, 0, 0

Lab 3 with: Tanner Zigrang and Dallas Heyden

Line Sensor Test:

We used the left line sensor to cause the robot to do different things when set on a light surface and a dark surface. When "Crush" was set on a dark surface, he would beep once and while he was still on the light surface he would continuously beep until changed to a dark surface. Then when "Crush" was set on a light surface, he would rotate for 1 second and then stop.

Obstacle Sensor Test:

We used Dallas' robot to test the obstacle sensor. While the robot did not sense an object in its pathway it would be moving forward. Once it recognized an obstacle, the while statement ended and then we coded the robot to move backwards from the obstacle... it was biblical...

Lab 4 with: Dallas Heyden, Michael Ciesielka, and Jon Goodheart

With time and determination, we managed to draw a spectacular Fibonacci Sequence

Lab 5 with: Dallas Heyden

I was in charge of creating the paranoid function

Lab 5 Code

Robot's Got Talent Pre-Lab Questions:

1.) Write a description of the song(s) your robot will sing and what is your algorithm and sensors for triggering the song.

When the center light sensor is triggered and calculated to be above 60,000, my robot "Crush" will sing "He's a Pirate" from Pirates of the Caribbean. If the lgih sensor calculates below 60,000, then the robot will rotate for however many seconds I choose.

2.) Write a description of what your robot will draw and what is your algorithm and sensors for triggering the drawing(s).

When "Crush" senses a light surface from the line sensor, he will draw a star.

3.) Write a description of your robot's surprise ability what is your algorithm and sensors for triggering the surprise ability.

My robot's surprise ability will be activated at the end of the performance. I will cause the robot to output a random beep for however long I feel is necessary.

4.) Write a description of what is your algorithm and sensors for triggering the structuring your robot's performance.

Once the program is ran, "Crush" will first check his center light sensor and if there's enough light he will sing "He's A Pirate." If there isn't enough light, "Crush" will rotate for 2 seconds. Next, my robot will check if he is on a light surface with his line sensor. If its been confirmed that he's on a light surface, he will then draw a star. After, "Crush" will check his left IR sensor. If something is detected, then he will beep twice with a lower pitch. If something is not detected, he will beep twice with a very high pitch. Next, "Crush" will check his center obstacle sensor and if something is in range, he will beep 3 times in a row. He will continue to beep until three rounds have been completed or until the obstacle is no longer recognized by the sensor. Then "Crush" will check the level of his battery and if it is above "7" he will turn in a circle. If the battery level is below 7 he will do a long and high pitched beep. Then, surprisingly, "Crush" will make a random pitched beep.

Robot's Got Talent Video of Crush:

Robot's Got Talent Code

The Robot Games: Pre-lab

In order to make my robot draw as quickly as possible, I will need to utlitize the least amount of turns possible because that will slow down the drawing. This code will not use any sensors since I need to look at the drawing myself and code the fastest method.

The Robot Games Code

HW3 with Dallas Heyden, Michael Ciesielka, and Kushaan Kumar

1. My group plans to assign each person a different area of the grid. We will each start from a different corner and then search for the lost robots. My algorithm that I plan to use will involve a vector that will grow as more pictures are taken. It will then search the whole picture using for loops and if there are enough red pixels found then it will announce that a robot has been identified. Then I plan to create an algorithm that finds all the extreme outer red pixels and create a rectangle around the robot. I will use obstacle sensors whenever I move forward or backward just to make sure I know where obstacles are.

2. The robot will be guided through user input and I plan to have the sensors be printed out when I move. I should be able to navigate through my whole designated area and easily take pictures with one easy key so I should be able to find any in my area.

3. I will control my robot around my designated area and I plan on taking many pictures. I plan on programming my robot to print out when it has identified a robot which will let me know if I've successfully found a lost robot. The obstacle sensors that I will use should let me know if there's an obstacle in front of the robot which will block it off from being identified.

4. Our teams mapping strategy is to be dependent on each others reasoning. Since we will split up the different areas, we plan to have each person contribute and view the pictures in the robots found vector and reason where the robot was according to the grid. So the algorithm is basically to use the slideshows to our advantage.


HW4 Prelab

1. I will find aliens in the pictures by getting the RBG values from each pixel and running different programs if the color abides by the alien pixel range.

2. My alien class holds a few programs. One of them stores the alien pixels. Another one finds the (x,y) location of each alien. The last one sorts the aliens.

3. Through recursion, I search all the pixels around a pixel that has the alien color. Whenever it finds another alien colored pixel, it adds 1 to a certain value. Once the pixel search is over, it will add 1 to a variable if the number of alien pixels is high enough to determine that there is an alien.

4. I chose the fourth one so I could try out the extra credit opportunity by identifying the 3 aliens in that picture.

5. For my sorting algorithm by size, I stored the number of pixels of each alien in an array. Then, I used Bubble Sort to put the alien with the higest number of pixels first.. and so on.

6. For my sorting algorithm by closeness, I stored the lowest pixel from each alien and the Bubble Sorted it so that the closest alien was first.

7. The Big O for my sorting algorithms are n^3 each.

HW4 Code

Final Project Pre-Lab

1. I am trying to demonstrate "If Statements" to the middle school students. My demo will be rock, paper, or scissors.

2. My program will engage the user by asking him/her whether he wants to play the game. Then it will ask him if he wants to choose rock, paper, or scissors against the computer.

3. In my process, I wanted to make sure the user knew exactly what he/she was supposed to do. I also wanted to make sure the user knew whether he/she won or not.

4. I will evaluate my interface by observing the students and seeing how quickly they react to the computers interactions with them; that will tell me how I did with it.

5. I will evaluate the user's interaction by observing how they respond to the program.

6. My program will take in their answers and find out how many times they were right out of the times they attempted rock, paper, and scissors.

7. I will evaluate how close the users are to the 50% winning and 50% tieing standard.

Valid XHTML 1.0 Transitional!Valid CSS!

Here is the link to the HTML Sample