## Introduction

This is Bugsy, a Scribbler 2 robot. Bugsy is capable of many things, such as interfacing with a computer, moving, beeping, and sensing lines, obstacles, and taking light and infrared photos of his environment. Sadly, the one thing Bugsy wants to do the most is also what he will never be able to- experience true love.

#### HW3: Urban Search and Rescue Prelab:

1. Our team srategy will be to spread out through the disaster area in an effort to search for robots in as many places as possible in the room.

2. The robot will use a switch function combined with user input to navigate through the area. Depending on user input, the user can move using WASD controls or stop using 'Q'. The robot can take a picture using the image sensor to check if there are any lost robots, and to determine where to move next.

3. When the robot detects a robot by taking a picture of it, the user can decide to edit that photograph. The program will ask for user input to determine the coordinates of the robot, and draw a green bounding-box around it according to the coordinates.

4. A function that displays all the images taken during the rescue operation will be used to help us map out the disaster area.

My group members are: Tanner Zigrang, Josh Chung, Kevin Li, Code

Bugsy is owned by USC Computer Science, but used by Kevin K. Yang, a sophomore at USC who is just starting out in Computer Science. Kevin's interest in computers began at an early age, and he is fascinated with the potential of computers to change the way we interact with the world. Besides computers, Kevin likes cars, plays music and tennis, and is a member of the Trojan Marching Band.

9.20.12 Fibonacci Spiral: We wrote an algorithm to make Bugsy and other Scribblers draw a spiral according to the Fibonacci sequence. Click here to see it.

9.26.12 Braitenberg Vehicles:We built into the robot a brain from which you can choose from four Braitenberg vehicles, Alive, Coward, Aggressive, and Paranoid. Get the code here.

### Robots Got Talent

On Friday, September 21st, Bugsy participated in an in-lab showcase of his talents. On this particular day, Bugsy was running as an assistant to help you when you woke up. In addition, there were some other requirements:

1. Bugsy plays Tribute To Troy when you first wake up, in order to get you excited for the day. To trigger the song, Bugsy must have adequate Battery remaining; in addition, he will sense the light level to ensure that it is morning, and, since he is pointed at your body on the bed, he will make sure there's no obstacle so that he knows you've gotten out of bed. All of these sensors are in an "if" control structure.

2. If Bugsy detects a line under him, he will start to draw; this is an "if" control structure as well. Because Bugsy is looking out for you, he will draw the letters "HW" to remind you to take your homework with you before you leave the house. He does this using the robot's various movement commands.

3. Unfortunately for Bugsy, soon after he reminds you to get your homework, he is trapped on three sides by obstacles! This is where he reveals his surprise ability. Bugsy will spin around for a random number of seconds from 1 to 3, and search for an opening so he can escape. This is accomplished using a while-loop; while there is an obstacle in front of him, Bugsy will keep spinning around for a random amount of time. Once he sees that there is no obstacle, the while-loop ends and he will go forward out of the obstacles.

4. Bugsy's performance is triggered when he senses that there is light in the room, and when there is no obstacle in front of him, signaling that you have gotten out of bed. What then follows is that Bugsy will initiate the sequence of Song, Draw, and his Surprise.

### HW2: The Robot Games

1. For the robot opening ceremony, we will use the W,A,S, and D keys to move the robot around. The F key will be used to stop the robot, and the P key will have the robot sing the fight song. No sensors will be used for this exercise because all of the robot's commands will be given manually through the keyboard.

2. The algorithm for the line following event is designed so that the robot can follow the line as precisely as possible, with mechanisms in place in case the robot veers off the line. The robot is programmed to move backwards, since the line sensors are located near the back of the robot; this allows for more precise movements. Inside a while-loop, the robot continuously checks to see what value each line sensor is returning, and it feeds these values into the robot.move() function. By treating the left line sensor as a negative value and the right line sensor as positive, and adding them together to form the ROTATE_SPEED of the robot, the robot will move straight if both sensors detect a line(-1+1=0), left if only the left sensor detects a line(-1+0=-1) and right if only the right sensor detects a line(0+1=1). The robot moves slowly to prevent veering too far off the line, and in the case that neither sensors detect a line, it will quickly move backwards in order to try to find the line again.

3. The robot moves forward until it gets to a certain distance from the wall. Then it turns right and checks or an obstacle. If there is no obstacle, it moves forward. If there is, it turns 180 degrees and continues straight.

4. Make Tail, Turn Right 45 degrees, turn left 90 degrees go straight for distance, turn left 90 degrees, go straight for distance, turn left 45 degrees, go straight for a distance, go back half distance, turn right 90 degrees, go back for half distance, turn right 90 degrees, go straight for distance, turn left 45 degrees, go back for distance.

5. All of the functions are defined before the main function. When the robot first connects, it will ask for user input to decide which function it runs. It then runs the selected function.

Group members:Tanner Zigrang, Josh Chung, and Zach Zeff

#### My Robot Sensor Information:

 Me Tanner Zigrang Josh Chung Zach Zeff Lights (left, center, right) 65151, 65288, 65056 65403, 65281, 65283 65322, 65192, 65284 65257(center) Line Sensor 1,0 1,0 1,0 0,0 IR Sensors (left,right) 1,1 1,1 1,1 1,1 Fluke Sensors 0,0,0 0,0,0 0,0,0 640,0,0 Battery 7.33897 7.33897 7.19688 7.29221

You can e-mail me at: yangkevi@usc.edu

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