This is me and my robot. My name is Jeff Kang and I'm a freshman studying Computer Science/Business Administration at the University of Southern California.
1. The CS topic that my team will present is "Exploring with Robots." In the current world we live in today, technological advances are the norm and the usage of robots in human society has become more common than ever. One particular field of study that takes great advantages of the special qualities robots have to offer is the field of exploration. Robots are now commonly being used to explorer uncharted places, that are almost impossible to reach as humans. Robots are able to go to places that humans would not be able to, and collect and relay information.
2. My demo will have a human send folded index cards with math problems inside to another human. The index cards will be ordered from 1 to 8. The human at the computer will send them in order, and the human receiving the messages from the robot will solve the math problem and send back an index card with the answer to the math problem. The human at the computer then looks at a translation sheet with numbers and corresponding letters and selects the correct letter for the answer returned. This will spell out "ROBOTICS," simulating the interpretation of data that robots gather from where they explore.
3. My process for developing the human-computer interface is to have the program give out clear directions at the start, detailing the steps that must be completed. From here, the user will place notes on the robot and press enter to send the robot back and forth. There will be more interaction, as the other human will solve a math problem. Though this is not exactly interacting with the computer, it is interacting with the robot and communicating to the other individual. When the human at the computer receives the notes, they will input the correct letter, and the computer will check to see if it is correct.
4. I am evaluating the user interaction by collecting time data of how long it takes pairs or groups to complete the whole process. This involves understanding and avoiding mistakes in the communication process, as well as how long it takes humans to solve the math problem, write answers, and decode the answers.
5. The user's interaction will be evaluated mainly when it checks if the input character is the correct character. If the input is wrong, the robot will make a "negative" sounding beep, and the computer will prompt the user to try again. When the input is correct, the robot makes a "positive" sounding beep and continues to transmit messages.
6. My program will collect this time data using stopwatch functions in the ctime library that will collect real time. It was challenging to figure out how to do this, and I used online resources to direct me in figuring it out. Most of the time functions were correlating to run time as opposed to real time, and I had to look for a function that would give me the difference in two real time markers in seconds. The total elapsed times will be saved in a vector and then translated into a txt file every time the project is run.
7. I will generate an evaluation report using the total time data in the txt file by creating a graph. This will map out the total number of seconds of each runtime in bars on the image, allowing the user to compare the speed of each interaction done during the day.
The purpose of this lab was to analyze a robot's images of a QR code and play a song for each QR code found.
Design Document
vision.cpp
qrcode.cpp
qrcode.h
song.cpp
song.h