Visible Robot Project
Funded by Microsoft University Relations with equipment donations from Evolution Robotics.
About the Project
The objectives of the project are to:
- create a programming lab supplement to Introduction to AI Robotics using low cost ER-1s to go into Microsoft repository
-
See "inside" robot code at the appropriate level, or time available for the class
- Introduce computing and good software practices in a hands-on format
In order to meet these objectives, we are making the robot software "visible" at four different levels below. Each exercise has four levels, allowing the instructor to choose the right level for their class. A traditional, no lab class or a class for non-CS majors might go with Level 1 while a more hard-core computer science class might go with Level 3 and a graduate class, Level 4.
-
Level 1 Inspection: Review and execute code. This level is appropriate for undergraduate students with little or no programming experience. Students examine the existing code, isolate key components, and learn how the implementation follows the theory.
-
Level 2 Interaction: Review, execute, change parameters, execute. This level is appropriate for undergraduate students with some programming experience. Students trace the impact of parameters or other aspects of execution through the code.
-
Level 3 Implementation: Correct minor errors in implementation and in logic. This level is appropriate for upper-level undergraduates, or graduate students with a strong background in programming but little time to complete the lab. This level provides students with an opportunity to improve their debugging skills while reinforcing their understanding of the classroom material.
-
Level 4 Creation: Use the existing solution to create a new, but similar, solution. This level is appropriate for first-year graduate students with programming experience and intellectual maturity.
What's Available
Three complete Level 1-4 Labs are available plus
9 complete "traditional" labs for the ER-1 platform. These can be adapted to other platforms. It is expected that the six remaining traditional labs will be converted to Visible Robot labs by Dec. 2006.
The 3 Visible Robot labs
cover the following topics from Introduction to AI Robotics (Murphy, 2000):
- Potential Fields (Chapter 4)
- Trulla Path Planning (Chapter 10)
- A* Path Planning (Chapter 9)
The 9 traditional labs
cover the following topics from Introduction to AI Robotics (Murphy, 2000):
-
Dead Reckoning (Chapters 1 and 2)
-
Biological Foundations (Chapter 3)
-
The Reactive Paradigm (Chapter 4)
-
Potential Fields (Chapter 4) - Lab, Visible Robot Toolbox
-
Design of a Reactive System (Chapter 5) - Lab
-
Multi-agent Systems (Chapter 6) - Lab
-
Trulla Path Planning (Chapter 10) - Lab, Visible Robot Toolbox
-
A* Path Planning (Chapter 9) - Lab, Visible Robot Toolbox
-
Human-Robot Interaction (TBD) - Lab
For each lab, Visible or traditional, the following items are provided:
-
Brief synopsis of the lab for the students
-
Brief synopsis of the lab for the instructor including the required steps for preparing for the lab, approximate setup time, and general notes and suggestions
-
Instructions for completing the lab (i.e. the lab procedure)
-
Pre-lab worksheet reviewing relevant topics from the textbook (with answer key)
-
Post-lab worksheet instructing students to applying observations made in the lab to course material (with answer key)
In addition to the above materials this manual includes the following for these three labs:
-
Source code for Level 1 and 2. Clearly designed and documented source code the students can inspect and interact with to change parameters and observe the result either in the robot's behavior (Potential Fields and A* Path Planning) or the application itself (Trulla Path Planning).
-
Source code for Level 3. The same source code as above modified to include multiple syntax errors and at most two logic errors for the students to locate and fix.
-
Suggested projects for Level 4 in which the students are asked to add features and/or support for new applications using the existing source code.
-
Level 1 worksheet with answer key. This worksheet instructs students to find key components of the application in the source code and report the file and/or lines of code that implement that component.
-
Level 2 worksheet with answer key. This worksheet instructs students to trace the impact distinct parameters through the source code, predict the impact if those parameters are changed in some pre-defined fashion, make the change, and then observe the robot's (or program's) behavior to determine if their predictions were correct.
-
Level 3 worksheet with answer key. This worksheet instructs students to locate, report, and fix all syntax errors in the Level 3 source code, then run the program noting any discrepancies between the expected outcome and how the robot (or application) actually responded, and finally to fix the identified logical error(s) and report their solution.
-
Instructions for installing, building, and executing the source code.
-
Instructions for using the application.
To get the materials...
Download the instructor's manual and related files here.
Thanks!!!!
Thanks go to the students at USF who have done all the work!
Ralph Skibinski guided the synthesis of the ER-1 exercises recommended by students in the Fall 04 CIS Intro to Robotics course and supplemented by a cadre of hard working undergrads ( T. Abraham, R, Agarwal, I. Akyoli, C. Bethel, J. Craighead, R. Dominquez, D. Ernst, Z. Miernik, R. Paulk, A. Puri, A. Riggs, T. Rupe, E. Veras-Jorge, C. Williams)
into a core set of exercises forming the Level 1 basis for the 3 Visible robot exercises. These exercises were expanded by the students in Fall 05 CIS Intro to Robotics course (R. Barkely, A. Costa, S. Grafton, A. Hildoer, S. King, B. Kumar, M. Muzzi, C. Neugebauer, P. Nyugen, R. Oates) under
Jen Carlson (now Jen Gage), who also finalized Level's 2-4 and created the instructor's manual. Jen put significant time into this beyond the call of duty while she was pregnant with Tristan!
Thanks also go to John Nordlinger (and Stewart Tansley) of Microsoft University Relations for facilitating the grant which supported students, Maynard Holliday and Joy Chou of Evolution Robotics who gave us the largest robot donation in Evolution's history, and the CSE department who helped support the labs and TAs.