Meet Killa. Killa is cool. Killa likes to do all the fun things robots do!

Meet Me. My name is Paige Kehoe. I am from Portland, Oregon.

This is me in a coffee shop in Spain, where I went this summer (I <3 coffee)
I am studying Computer Science and Business Administration at USC
I am super excited to learn how to make Killa do cool things!

Lab One

Look what Killa can do

Lab Two

Our group learned lots about robots today!





KILLA fell ill and has been sent to the robot hospital, so from now on we will be experimenting with Gulliver. Gulliver is a nice, friendly, and healthy robot who is much better at following commands.

Lab Three

Today we learned if, while, and for statements. I wrote a code that looks like this:

Fibonacci Code!


Gulliver has Talent!

1. My robot, Gulliver, will sing 100 years by Five for Fighting while dancing. The battery will trigger this performance. I will program various note commands with time variables in an h file and then run the note commands on the .cpp file with different times for various note lengths. 2. Gulliver will draw a multi-pointed star using the robot forward and turn commands and a for loop. 3. The robot will simulate a coin flip between two pre-programmed commands. One will be a siren and the other will be a little dance. After it will go forward if there are no obstacles until it leaves the whiteboard and senses dark surface. 4. The robot will move through each part of the performance sequentially and exit loops after it has run the pre-programmed number of times.

Woohooo he's such a good robot!
Now you can try too right here!
Don't forget theheader file!

Lab Four

The function Gulliver did is Love. He runs until he sees light and then turns away!
Group = Daria, Jack, Erik


1. There will be an if loop with user input options for choices of movement, left, right, back, or forward. After the loop is broken by a stop command, the robot will play the USC fight song.
2. The line following behavior utilizes the line sensors to follow a line beneath the robot. To do this, the robot frequently checks the data returned by the line sensors. If both sensors detect a line, the robot is directly atop the line and so it continues forward. If only the right or left sensor detects a line, the robot is beginning to stray and so turns to position both sensors over the line. If neither sensor detects a line, the robot turns in place in a last-ditch effort to recover the line.
3. The robot drives forward until the obstacle sensor sees an obstacle, then it will continue going until it is up against the obstacle. It will then look left, check for an obstacle, and if there is one it will check right and go forward.

4. The robot’s algorithm for the fastest drawer is first to figure out the most efficient way to draw the shape (without retracing any lines). We will then figure out the speed of the robot so we can know how long it takes to travel 3 inches (the length of a small triangle) and also the time it takes for the robot to turn 60 degrees. Then the robot will draw the figure using the robot.turnLeft and robot.turnRight commands as well as the robot.forward command to navigate the drawing.
5. The terminal will ask for the user to input a, b, c, or d and each letter will correspond to one of the functions mentioned above.

Robot Games Code

Group Members' Sites
Daria Caraway Jack Luca Erik Strottman


PRELAB 1. Our USAR Strategy is to divide and conquer. Each member will be assigned a different part of the grid to search and take pictures of. We all should have good code that is able to edit the pictures to see where the robots are. After the ten minutes of picture taking, we will edit the pictures and create a graph together. We will use all the sensors to accomplish this task, most importantly, the camera.
2. My robot will have a continuous looped switch sequence that allows robot to move and stop and take pictures whenever prompted. I will make sure to use all sensors, mostly camera.
3. During the first ten minutes, the robot will move toward the fallen robots that I see. After all the pictures have been taken, I will edit the pictures with user input to draw red boxes around scribblers. Then I will map out the arena to show where robots are located. I will make sure to use all sensors, mostly camera.
4. Our team will work together to compile all our gathered information and pictures and draw out which scribblers were where. In each section, each of us will be responsible for noting the location of any and all robots located in that area.

Valid XHTML 1.0 Transitional!Valid CSS!


1. My function will sort through the picture pixels until it finds green and turn anything matching the RGB values of that green to pink. Everything not matching those RGB values will be turned black.
2. The alien class will hold variables for size, height, width, location, and the x and y values of all sides of the alien. (most right x and most left x, highest y and lowest y). There will be functions to access and set all variables. 3. The object recognition function will sort through a picture’s pixels vertically until it finds pink (the changed alien). The x value of this will be saved as fist x. Once it finds this, a subsequent function will start at that location and continue to sort until it no longer recognizes any pink in a column. It will stop there and save the x pixel value as the x1 – last x. Another function to find y will be called and it will sort horizontally through the pixels between each x value until it finds pink and save that as first y. Then it will continue in a new function until it no longer finds pink in an entire row and save the last y value as y1.
4. I started testing my algorithm with MARS2 because it was not too large and had two distinct aliens. This would show me if the function can recognize each separate alien.
5. The sorting algorithm will use bubble sort for size and place largest aliens first. It will go through the data in pairs and move the larger of the two closer to space 0.
6. After saving the size, height, width, and location of each alien object, the sorting function will use bubble sort for the highest y value (closest to rover). The highest value gets moved to the first place in the vector.
7. The sorting algorithm has a Big O of n^2 because it has two for loops that iterate according to size.


1. The CS topic that I am demonstrating/ teaching is human computer interaction. I will do this by informing students about the code I have written to allow them to control the robot through WASD commands. Then I will let them race the robot through a maze I have set up.
2. This program will engage the user by allowing them to directly control the robot through their own commands. Activities such as this, both hands on and competitive, are most interesting and educational for the user.
3. The interface for human computer interaction will be the terminal of my computer. Users will be allowed to interact with my robot through simple commands entered into the terminal.
4. I will evaluate the effectiveness of the HCI by timing how long it takes users to complete the maze. The faster the time to completion, the better the HCI worked.
5. I will evaluate the users’ interaction by timing how long they interact and then asking them how they felt about the project.
6. The program will collect the interaction by timing each user as they input commands until they finish the maze. When they finish, it will store the amount of time they took into an object and output that information into a file.
7. The evaluation report will be created by running a function called evaluate, that tabulates all of the user data and stores it as variables. These then will be outputted to a window to display the information. For various outcomes, there will be different potential analysis sentences that display.