Although I have only one office hour scheduled, I am very fast to respond to emails from students, and it is easy to schedule a different time during the week to meet with me on an ad hoc basis. If it turns out that one formal office hour is insufficient, I will schedule another.
This course will cover fundamental concepts, methodologies, and algorithms related to autonomous mobile robotics, touching on mechanical, motor, sensory, perceptual, and cognitive aspects of the problem of building robots that move about and decide what to do on their own. Specific topics covered include legged and wheeled location, kinematic models and constraints, mobile robot maneuverability, motion control, sensors and sensing, perception, localization, belief representations, map representations, probabilistic map-based localization, autonomous map building, planning, reacting, and navigation architectures.
In addition to the differences in course work described above, a higher grading standard will be applied to students in 691 for exams, homeworks, and classroom participation.
For this project, each team of three students will be given three servos and a servo controller. Using no motors other than the servos, the teams must construct a robot that can locomote. Robots will compete in a ladder of sumo matches during the semester in which the goal is to push the other robot out of a circle. The team sitting atop the ladder at the end of the semester does not have to take the final exam, and their final grade will be based on 85 points rather than 100. However, the students can take the final exam if they choose to do so, in which case the standard percentages apply.
For videos of SumoBots and matches from the last time I taught this course, click here.
In addition to the servos and servo controller, students may use any hardware to construct the robot (e.g. cardboard, foam board, sheet metal, duct tape, glue, Velcro, Lexan, acrylic). The only energy storage device allowed is a single battery pack, which will be provided. The robot must be completely autonomous, with all code running on the microcontroller. No other computer may be used during the contest. Robots may not intentionally damage their competitors.
Each robot must be able to fit in a box 15" x 12" x 10" in some orientation, but may expand beyond that size after a match begins. Robots may weigh no more than 2 pounds.
Matches will be conducted on a wood-laminated 72" x 30" table. In the center of the table will be a circle 25" in diameter with its perimeter marked by pencil. The robots start at opposite long ends of the table, in any position with a distance of not less than 8" between the robot and the circle perimeter.
There must be a sensor-based method for telling your robot to begin the match (e.g. pushing a button, touch two leads, flipping a switch). When the button is pushed (or the leads touched, or the switch flipped), the robot must remain still for three seconds before moving. The robot in its entirety must be mobile - it may not consist of any parts that are affixed to the table.
The winner of the match is determined as follows. We say that a robot has crossed the threshold when any part of the robot crosses the circle perimeter. We say that a robot has left the circle when, after crossing the threshold, the entire robot leaves the circle. If both robots never cross the circle threshold, they tie. If both robots never leave the circle, they tie. If one robot crosses the threshold (any part of it) and the other never crosses the threshold, the former robot wins. If both robots cross the threshold, the first robot to leave the circle loses.
Sumo matches will generally be played in class. Challenges must be issued via email at least 24 hours prior to the start of class to ensure that the challenged team has sufficient time to get their robot in working order. Challenges may also be issued during class and the challenged team must play a match against the challenging team if they brought their robot to class (for example, to play in a different match) and if the robot was not damaged in a prior match that day.
These rules are subject to change to maintain fairness of the competition. I'm much more interested in the intent of the rules than slavishly following precisely what they say if it is discovered that they result in unintended, unanticipated, negative consequences.
More information on this project can be found here.
A video of an obstacle-avoiding robot built by a team of students the last time I taught this course can be found here.
For this course in particular it is both OK and a good idea for students to study together, including discussing homework problems. However, whatever a student turns in must be his/her own. A good rule of thumb is that it is OK to talk about problems, but it is not OK to share written materials or code. If you incorporate written materials or code from any source in the project, an appropriate citation is required.
The minimum penalty for a first offense of academic dishonesty is a grade of zero on the assignment. However, depending on the nature of the offense, the penalty may be more severe, including but not limited to an F for the course. The minimum penalty for a second offense of academic dishonesty is an F for the course.
| Class | Date |
|
|
| 1 | Tue Jan 30 | Administrative, overview | |
| 2 | Thu Feb 1 | Introductory concepts, videos | Chapter 1 (SN) (slides) |
| 3 | Tue Feb 6 | Motors and motor control Homework 1 assigned Assignment, SumoBot.tz, Servo.tz | Chapters 1 - 4 of Vehicles Chapter 7 (JFS) Beakman's DC Motor that we built in class Slides for lecture |
| 4 | Thu Feb 8 | Motors and motor control | |
| 5 | Tue Feb 13 | Locomotion - legged SumoBot teams formed Parts distributed Related discussion | Chapter 2 (SN) (slides) |
| 6 | Thu Feb 15 | Locomotion - wheeled | |
| 7 | Tue Feb 20 | Kinematics - models Homework 1 due at beginning of class | Chapter 3 (SN) (slides) |
| 8 | Thu Feb 22 | Kinematics - constraints | |
| 9 | Tue Feb 27 | Kinematics - maneuverability | |
| 10 | Thu Mar 1 | Kinematics - control SumoBot signs of life | |
| 11 | Tue Mar 6 | Sensing - an inventory of sensors | Chapter 4 (SN) (slides) |
| 12 | Thu Mar 8 | Sensing - more sensors | More sensing slides |
| 13 | Tue Mar 13 | Sensing - vision SumoBot ladder opens | More sensing slides |
| 14 | Thu Mar 15 | Sensing - vision | |
| Tue Mar 20 | Spring Break | ||
| Thu Mar 22 | Spring Break | ||
| 15 | Tue Mar 27 | Sensing - representing and dealing with uncertainty | |
| 16 | Thu Mar 29 | Sensing - feature extraction Homework 2 assigned | |
| 17 | Tue Apr 3 | Localization - problem description, challenges RC car project teams formed Parts distributed Related discussion | Chapter 5 (SN) (slides) |
| 18 | Thu Apr 5 | Localization - belief representations | Book chapter on the Kalman filter |
| 19 | Tue Apr 10 | Localization - belief representations | |
| 20 | Thu Apr 12 | Localization - map representations Homework 2 due at beginning of class Homework 3 assigned | |
| 21 | Tue Apr 17 | Localization - probabilistic map-based localization | |
| 22 | Thu Apr 19 | Localization - probabilistic map-based localization | |
| 23 | Tue Apr 24 | Localization - case studies | |
| 24 | Thu Apr 26 | Path planning - problem description, challenges | Chapter 6 (SN) (slides) |
| 25 | Tue May 1 | Path planning - obstacle avoidance Homework 3 due at beginning of class Homework 4 assigned | |
| 26 | Thu May 3 | Path planning - navigation architectures | |
| 27 | Tue May 8 | Future challenges for the field | |
| 28 | Thu May 10 | Obstacle avoidance project demos | |
| 29 | Tue May 15 | Obstacle avoidance project demos Homework 4 due at beginning of class |