Click here for code. Requires the Myro library

Nick Jones Presents: PACMAN!

Important note for graders: When you run my code, it will automatically collect data from trails, but it will not automatically add this data to the previous data stored. For this reason, when prompted, tell the program to import previous data. This will import in the dataset that was collected during the demo period. To graph this data, click the red square on the interface.

Base topic of this demo

The purpose of this pacman demo is to show the user (targeted at smaller children) roughtly what it is like to program robots

Obviously, actually getting them to write code would be too difficult for them, and thus would be counterproductive in convincing them to love computer science

Thus, my program creates a graphics based programming window in which the users select commands (go forwards, turn left, go back, etc.) and then pushes a play button which executes their "code"

A look at the interface

My Robot

The image above is a screenshot of the interface of my program while it is executing.

the four symbols in the bottom left corner are the command buttons. Clicking on one of these adds it to the command list above the blue line. Clicking on one of the commands in the command list will remove it from the list and shift the other commands back one spot so there are no holesin what I refer to as the "command line".

(The commands bottons in order from left to right are: rotate counterclockwise, go forwards, rotate clockwise, and move backwards)

The three buttons in the bottom right corner are the control buttons. The blue button is the reset button, which erases all commands from the command line. The red X saves data that has been gathered and exits the program. Finally, the green triangle is the execute button. Pushing this button will make the robot perform all of the tasks in its command line in order.

In the picture above, the program is in the process of executing. The task being executed at that exact moment it the one in the top row, third from the right as it is highlighted in green

In the Physical Realm


This is a picture of my physical robot as well as the "maze" that is to navigate. Maze is in quotes as it is not very difficult to navigate at all

Also shown in the picture is the "power pellet" that the user is tasked with helping the robot to "eat". Additionally, there are several ghosts which can provide additional targets for users who want a greater challenge

Things that are here so I get points:

Answers to design document questions:

1. The CS topic that I will be trying to teach/demonstrate is the chain of communication from person to computer to robot and back.

2. I plan on making a program where the user will first interact with the computer (manually input selections to prompt response), then the user will manually input in commands for the robot to achieve the task. Finally, the program will prompt the user to directly interact with the robot, to show this “shortcut” in the chain of command.

3. My human computer interface will be developed by modifying programs such as the interface that I made in class as well as the joystick program supplied to create the various interfaces necessary for my three phase program.

4. I will evaluate my interface by showing it to semi-random people and seeing if they interpret the interface as I expect them to.

5. I will evaluate the user’s interaction by seeing how long it takes for them to accomplish their tasks as well as noting how many errors they make.

6. User information collected will be the time required to perform a task with notes made showing how many “errors” they made.

7. The evaluation report will analyze the data collected in order to determine metrics such as mean time and errors as well as the standard deviation of these values.

As you can see, quite a few things have changed since I first answered my design document questions.

Due to the almost completely graphical nature of the program, there is no terminal based output to display here. However, below is a picture of a graph that was generated by pushing the red suqre control button. This graph shows the relative frequency of the various commands throughout the day. As one can clearly see, the most used command is move forward while the least used command is move backwards. Right turns are more common than left turns due to the fact that I challenged several users to get through the maze without using left turns (The Zoolander Challenge)


Super Awesome Video!

My Group (aka other people with interesting projects)

Steven Francus

Ahmad Ismail

Sagar Miglani

Here is where you can find the source code for my project. Requires the Myro library