Candace Dechant's Rogue

Candace Dechant Presents

The ROGUE ROVER

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

About The Rogue Rover:

This robot with has the capabilities of beeping, turning, driving and drawing.

It likes long drives on the beach and is currently working on drawing hearts.

About Me:

I am an Industrial and Systems Engineering major from Edmonton, Alberta, Canada

This summer I worked for a Venture Capital firm in Salt Lake City, UT.

Computer science is fascinating to me because I love the idea of creating things.

An interesting fact about me is that I just recently tried surfing for the first time and saw a dolphin!

Links to our Team's Webpage:

Skyler

Parker

Fitz

Wednesday, September 5th:

We used our commands to make the robot draw pictures.

Our Masterpiece:

Friday, September 7th Lab:

Today we checked the sensors on each of our groupmates robots.

The results were as follows:

IR Obstacle (Left/Right) Obstacle (Center) Light (Center) Battery
Skyler 1.1 0,0 0 65297 6.95858
Fitz 1.1 0,0 0 64829 7.29221
Parker 1.1 6400,6400 6400 64514 7.34213
Candace 1.1 0,0 0 64778 7.12843

Monday, September 10th:

Our assignment today was to learn to use the commands "if" and "while".

Using "if" made the robot check a specific quality before performing an action.

Our specific code had the robot check the light sensor - if it saw white, it would move forward and beep.

Next, using the "while" code had the robot perform an action while performing another.

Our "while" code had the robot move forward while checking all three of its sensors.

Wednesday, September 19th:

Using algorithms we designed a code command that made our robot perform a spiral.

The spiral got progressively larger in the sequence coined by Fibonacci.

This sequence caused the radius of the spiral to increase in intervals of 1,1,2,3,5,8,13,21...

My spiral looked like this:

Friday, September 21st:

Our homework project was due today, with a prelab indicating the performance of our Robot.

Prelab:

1. The robot will be triggered to sing after it has completed its drawing of a heart. The song it will attempt is a version of the intro to the song “Escape Me” by Tiesto feat. CC Sheffield.

2. The drawing will come before the song. The robot will draw a heart upon its activation. As soon as it is powered up, it will begin drawing a heart.

3. The surprise feature of my robot is its ability to drive while sensing what is around it. After it has reached something within its parameters, it will stop and beep three times. Meanwhile, its sensors will collect the data of its surroundings. The idea is that the rover is discovering its environment through exploration as well as data collection.

4. The structure of my robots performance is simply draw, then sing, then explore. The sensor data is all designed near the end, as the triggering happens after it is exploring. Approaching an obstacle is what triggers all of the sensory information. An extra component that includes the rand() function, is that after it approaches an obstacle, it will change direction in a random way.

Download Code

Wednesday, September 26th

Today we worked on creating functions and user interactions.

I worked with John, Dallas and Andrew. Each of us created one extra characteristic for our robot.

My robot's extra function was "Love" in which it moved towards light.

Click here to download my code

Friday, October 5th

Robot Games - Homework 2

My robot will be participating in the line following event and going for the gold.

Click here to download my code

Monday, October 7th

Click here to see my Song Code

Friday, October 26th

Click here to see my Playlist Lab Code

Click here to see my Swapit Lab Code

Click here to see my Slideshow Lab Code

Homework 3: Urban Search and Rescue

Prelab:

1. Our team's general strategy will be to communicate with eachother effectively in our "control zone". This is essentially the area where we are all using our computers to control our robots. If we communicate effectively we should be able to divide the region and find all of the "lost" robots.

2. Our navigation strategy is to control our robots using the keypads until we have reached an obstacle. Because the obstacle sensors are used, our Robots will automatically stop and take a picture of the obstacle infront of us. An image will be displayed onto our screens and stored on our computers. We can continue to move around using the key pad and take pictures until all of the robots are located.

3. The behavior when the "lost" robots are detected is to edit the image that the robot has taken by using inputs of length and width coordinates to draw a box around the lost robot.

4. Our team's mapping strategy is to divide the region into quadrants and attempt to stay in these quadrants while we determine the location of the robots. If we successfully remain in our region, we should be efficient in our efforts.

Click here to see my code for the search and rescue mission

Homework 4: Mars Rovers

Prelab:

1. My search algorithm is going to simply ask the computer to scan through the pixels in the picture from top to bottom, moving from column to column. If the computer finds a pixel that is near the same color as the aliens, it will trigger a boolen that will mark “true” (indicating an alien has been found).

2. The Alien class will have member functions that calculate the size of the Alien and execute them. Its data members will hold the size of the Aliens in an array.

3. The recognition algorithm is based on the pixel colors. If any pixel in the image is detected to be within a given “Red”, “Green” or “Blue” range, it will trigger a Boolean that indicates an alien has been found.

4. I first began testing MARS1.jpg image. This is because it only had one alien in it. Figuring out the algorithm to detect one alien was the most difficult part. However after the algorithm was successful at finding the size and location of one, it was ready to be tweaked to find more than one.

5. To sort the Aliens based on size, I first had the function store all of the sizes into an array. Next, in a separate function, I had the function pull the data from that array and sort it. It simply went through each data point in the array and found the smallest magnitude. This was then given a new name, and its position was reset to a large number. The function repeated until all of the smallest values were saved in a new array, in order of magnitude. This used Selection Sorting.

6. To sort the Aliens based on location, I did the same thing, however, it sorted from smallest x and smallest y values.

7. The big O of my algorithms was linear because no variable was more complex than a single element. The performance of the algorithm would decrease proportionally with the amount of data I forced it to filter.

Click here to see my code for the Alien Discovery

Click here to see my Class code

email me at cdechant@usc.edu