Hi, my name's Tam Henry Le Nguyen.

Me

Hi, I'm a freshman studying Computer Engineering and Computer Science at the University of Southern California. I am an 18 year old from San Jose. In my free time I like to watch TV shows and play basketball.

My Robot

GAZEBRO 3000

robot

My owner is Tam Henry Le Nguyen. I was born on August 31st, 2012. I am made by Parallax.

Journal

Day 1
Day 2
Day 3
Day 4
Day 5
Day 6
Day 7
Day 8
Day 9
Day 10
Day 11
Day 12
Day 13

Day 1

Day1description

Today, GAZEBRO3000 finally got some programming in. He attempted to write "Hi." My other teammates, Zach, Daniel, and Brandon could not connect to their robots. Through my computer, they drew a circle and a Z.

Day 2

Marcus Engs Values

Today, my teammates (Maggie Yang, Adrian Mendoza, Marcus Eng) and I tested out the light sensors, the fluke IR sensors, and the scribbler's IR sensors on all our respective robots. The above picture is of Marcus's values. Below is a list of values.

GAZEBRO3000 (my robot)
Line Sensors: 0, 0
Scribbler IR Sensors: 1, 1
Fluke IR Sensors: Left: 0, Center: 0, Right: 0
Light Sensors: Left: 65072, Center: 64771, Right: 63991
MYbot (Maggi's robot)
Line Sensors: 0, 0
Scribbler IR Sensors: 1, 1
Fluke IR Sensors: Left: 1201, Center: 1201, Right: 1201
Light Sensors: Left: 64394, Center: 65194, Right: 64988
El Chupacabra (Marcus's robot)
Line Sensors: 0, 0
Scribbler IR Sensors: 1, 1
Fluke IR Sensors: Left:0, Center: 0, Right: 0
Light Sensors: Left: 65276, Center: 64889, Right: 64780
Chuck Norris (Adrian's robot)
Line Sensors: 0, 0
Scribbler IR Sensors: 1, 1
Fluke IR Sensors: Left: 6400, Center: 6400, Right: 6400
Light Sensors: Left: 63987, Center: 64492, Right: 64672

Day 3

Treasure Hunt

I have tried putting in the fluke IR sensors, or robot.getObstacle coding into action. I have written a program where it will continuously search the room until it hits an object. At that point, it will play 3 notes indicating it has found something.

Day 4

Lab 4

I integrated my earlier treasure hunt program into today's lab, and added a for statement that made my robot turn left three times. I also printed out my light sensors, which are unusually unsensitive to light and barely changes in darkness.

Day 5

Lab 5

This is the Fibonacci sequence. The time is based on the fibonacci sequence, so it increases while the motor speeds decreases. I worked on this lab with Jesse, Adrian, and Denzel. The above picture shows our fibonacci spiral.

Day 6

This is my homework assignment #1: "Robots got Talent." I have created a pirate themed presentation.
1.) The song I will playing is “He's a Pirate” by Klaus Badelt, popularly known as the theme song of the Pirates of the Caribbean. I will be using the “battery” and “line” sensors to start the song, and playing the song through a series of robotic beeps.
2.) I will be drawing a skull to keep with my “pirate” theme. I will be using the “light” and “IR” sensor to start drawing. I have coded pauses during which the audience must interactively take away the pen or put the pen back. The computer will also print out commands for when you do this.
3.) My surprise ability begins with the obstacle sensors located on the fluke. If there are no obstacles, Gazebro 3000 will continue to “sail.” A random number generator is used to create a random set of turns in order to mimi “sailing.” If the number is 0-4, it turns left, if it's 5-9, it turns right.
4.) I have used all the sensors and control commands separately in each three parts of the performance. I did this so that I can omit or “fail” certain sensors in order to tell my robot not to do one of the three performances.
Download

Day 7

Lab 7

Today, my lab partners and I worked with the Vehicle behaviors in Chapter 6. Alive means whenever there light is sensed, the robot will move forward. Coward means the robot will move in the opposite direction of the light. Aggressive means the robot will move to the same side of the light. Love means the robot will follow the light. Explorer means that the robot will move right to the side of the light. I "voided" or defined each of the function at the top so that the program will be able to run smoother. I want to try and use a string so that the computer can ask the user a question and have clickable answers rather than have the user enter a number.
Download my code

Day 8

On Day 8, we had the Robot Games. Jesse Chand, Adrian Mendoza, Denzel Alexander, and I formed team "Wu Tang" to compete in the hopes of a gold medal.
1. Write a description of your robot’s performance for the Opening Ceremony. What is your algorithm and sensors used for this event?
Collectively, the class will spell out the letters “USC”. Our team’s robots will be a part of the “U”. The algorithm we used was assigning each position along “U” a number. Specifically, my robot is in the eighth position of the formation. To reach the position, the robot will be controlled via user input. Using WASD will move the robot, and F will stop it. This is activated through the light sensor. If the user presses Q, the robot will sing the Fight Song. This is to be done in unison with all of the other robots.
2. Write a description of your robot’s Line Following behavior. What is your algorithm and sensors used for this event?
The robot will use an infinite while loop to follow the line. The body of the while loop consists of an If, Else If, and Then statement. \ First the robot will check to see if its left sensor returns 0 for white if it does then it adjusts itself till it’s line sensors report 1,1. It does the same for the right sensor. Then if it’s sensors do return 1,1, then it just moves forward. Basically, the robot always tries to get itself back to it’s line sensors being 1,1.
3. Write a description of your robot’s Maze Solving ability. What is your algorithm and sensors used for this event?
The robot will use an infinite for loop in order to solve the maze. It starts by moving forward. If it sees an obstacle through the obstacle sensor, it moves left. From there, it checks to see if there is another obstacle - if so, it will turn right by 180 degrees. This is because the robot assumes that there must be a rightward path, since the left is obstructed. From there, it will continue to move forward and repeat the logic.
4. Write a description of your robot’s Fastest Drawer behavior. What is your algorithm and/or sensors used for this event?
The robot will draw the triangles without going over any lines. I used three different forward amounts for each triangle. Since each triangle has a 120 degree turn radius,i used mots with number -1 and 1 for left and 1,-1 for right turns. Other than that I used the IR sensor in a if else statement to utilize this sensor.
5. Write a description of what is your algorithm for structuring your robot team’s behaviors.
Upon running the program, the user is given a menu in the Terminal. The user can then press the numbers 1 - 4 in order to select an action. Each action is given its own function, so by pressing a number, the program calls the appropriate function.
Download the Wu Tang Code

Day 9

Today, my group and I worked with arrays. We made a playlist of songs and a drawlist. Download my code

Day 10

Today, my group and I worked with pointers. We combined pointers with arrays together. Download my code

Day 11

Jesse Chand, Adrian Mendoza, Denzel Alexander,

1.)Write a description of your team’s USAR strategy. What is your algorithm and sensors used for this task?
Instead of using sensors such as getObstacle to understand the position of the robot, we are using the camera. The robot inches forward bit by bit through user input, just like the Moon rovers. Then, if the user decides, he or she can take a picture at any time. By taking a picture, moving, and then taking another picture, the user can judge the distance traveled, and make appropriate decisions. The decisions available, and thus our algorithm, is very flexible based on the situation. At any ‘step’, the user can choose to move, rotate, take a picture, or view the slideshow. If the player does take a picture and he sees a robot, then the coordinates are obtained and a new image with a rectangle over the robot is stored. Then, the player returns to the menu of options.
2.) Write a description of your robot’s performance for navigating through the mock disaster area. What is your algorithm and sensors used for this sub-­-problem?
Because we have four robots, that means we have four different ‘eyes’ (camera ‘sensor’) to scout the area. As a result, each robot will travel in a different direction and split up the area by four quarters. Each user will thoroughly search their section by slowing inching around and making decisions based on the situation. The user inputs a command (move, picture, brake) until the ten minutes are up. Then, the user will view the slideshow. Together, we will create the map based and fill in each quarter at a time. Our strategy is not to quickly breeze through the area, but rather take our time and make sure we are accurate. By splitting the area in quarters, we are able to afford this.
3.) Write a description of your robot’s locating lost scribblers behavior. What is your algorithm is to sensors used for this sub-­-problem?
Locating the lost robot is based entirely on user input. The user inputs a direction, and then the robot moves one step forward in that direction. Then, the user can take a picture. If the picture is in fact a robot, then the user will locate it within the picture. Then, it is stored in an array for later viewing.
4.) Write a description of your team’s mapping strategy. What is your algorithm for this task?
Our mapping strategy is to split the area into four quarters. Then, each user will enter the course and use the camera to position themselves in their assigned area. Lastly, they will inch around the area and take as many pictures of lost robots as they can. Once our ten minutes are up, each user will fill out their own section of the map for maximum efficiency.
Download the Wu Tang Code

Day 12

Homework 4

1. My search algorithm for finding aliens in the pictures of MARS involved getting the pixel color of the aliens. Once I found the range, I ran through every pixel in the picture, and if any of the pixels fell within the range of the alien's color, it would get recolored to black.
2. My class Alien has xa, xb, ya, yb, and distance.
3. It was really difficult to develop the object recognition algorithm. Essentially, the algorithm recognizes how many pixels are recolored in a certain area for it to recognize the object.
4. I started testing my algorithm with MARS1. This is because there is one alien in the picture, so therefore it's the most basic picture for me to use. I wanted to see if my algorithm worked at first.
5. I organized the pictures by area or amount of pixels recolored or "blocks".
6. I also organized the pictures by area or amount of pixels recolored and how close these pixels were to the bottom the picture (since top aliens tended to be farther away).
7. The big O for my sorting algorithm is N^2.
Download my Code

Day 13

Final Project

1. The Computer Science Topics that my group and I have chosen are Critical Thinking and Problem Solving. The reason why we chose this program is because I these are two assets that are important beyond the field of Computer Science, yet are still integral to Computer Science. Not only that, but these are two topics that will not distance the audience and are simple enough for the audience to be interested in.
2. My program is essentially a choiced base story video game. I believe that a choice based video game is a really interesting way to teach material. Many users will naturally want to reach the "end"¯ and so they will keep completing the process until they finish the game. At the same time, I have hidden clues in the game in order for the user to think critically about what they have read in order to solve the problem.
3. I always want to make the user interface as simple as possible. As a user myself, I want to be able to make the program simple so that the user can go about without asking a question. I also only utilize the two same commands every scenario so that the user will not be confused.
4. I will interview the user after to ask them about the quality of my human-user interface. I believe this is the best way to evaluate my human-user interface, because the critiques are usually qualitative and not quantitative.
5. The user's interaction is quite simple. I have put in the evaluation report how many times they have gone through the program. The lower the number, the easier it was for them to solve the program and therefore understand my topics.
6. Most of my evaluations are based around how many times the user took to go through the program and how long the user took overall. I based these statistics"¯ around the game in ways such as saying "miles traveled" and "deaths.
7. I will use the command outfile. All of the user evaluations will be sent to the text file that can be opened later.
Download my Code

Validations

W3 Markup Validation Service

CSS Validation

This is a work in progress, so there's definitely more coming soon!

The University of Southern California does not screen or control the content on this website and thus does not guarantee the accuracy, integrity, or quality of such content. All content on this website is provided by and is the sole responsibility of the person from which such content originated, and such content does not necessarily reflect the opinions of the University administration or the Board of Trustees