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 679 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.
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 a thick white line. 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.
The last time I taught this course one team used the following strategy, which is now prohibited: They built a simple robot that trailed a long string behind as it moved which, regardless of what happened, almost never entirely left the circle resulting in a win (because it was a part of the robot and the robot this never left the circle).
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 | Mon Jan 30 | Administrative, overview | |
2 | Wed Feb 1 | Introductory concepts, videos | Chapter 1 (SN) (slides part 1, slides part 2) |
3 | Mon Feb 6 | Motors and motor control Homework 1 assigned Assignment, SumoBot.tz | Chapters 1 - 4 of Vehicles Chapter 7 (JFS) Beakman's DC Motor that we built in class Slides for lecture |
4 | Wed Feb 8 | Motors and motor control | |
5 | Mon Feb 13 | Locomotion - legged SumoBot teams formed Parts distributed Related discussion | Chapter 2 (SN) (slides) |
6 | Wed Feb 15 | Locomotion - wheeled | |
7 | Mon Feb 20 | Kinematics - models Homework 1 due at beginning of class | Chapter 3 (SN) (slides) |
8 | Wed Feb 22 | Kinematics - constraints | My hand-written notes: part 1, part 2, part 3 |
9 | Mon Feb 27 | Kinematics - maneuverability | |
10 | Wed Feb 29 | Kinematics - control SumoBot signs of life | |
11 | Mon Mar 5 | Sensing - an inventory of sensors | Chapter 4 (SN) (slides) |
12 | Wed Mar 7 | Sensing - more sensors | More sensing slides |
13 | Mon Mar 12 | Sensing - vision SumoBot ladder opens | More sensing slides |
14 | Wed Mar 14 | Sensing - vision | |
Mon Mar 19 | Spring Break | ||
Wed Mar 21 | Spring Break | ||
15 | Mon Mar 26 | Sensing - representing and dealing with uncertainty | |
16 | Wed Mar 28 | Sensing - feature extraction Homework 2 assigned | |
17 | Mon Apr 2 | Localization - problem description, challenges RC car project teams formed Parts distributed Related discussion | Chapter 5 (SN) (slides) |
18 | Wed Apr 4 | Localization - belief representations | Book chapter on the Kalman filter |
19 | Mon Apr 9 | Localization - belief representations | |
20 | Wed Apr 11 | Localization - map representations Homework 2 due at beginning of class Homework 3 assigned | |
21 | Mon Apr 16 | Localization - probabilistic map-based localization | |
22 | Wed Apr 18 | Localization - probabilistic map-based localization | |
23 | Mon Apr 23 | Localization - case studies | |
24 | Wed Apr 25 | Path planning - problem description, challenges Homework 3 due at beginning of class Homework 4 assigned | Chapter 6 (SN) (slides; ppt) |
25 | Mon Apr 30 | Path planning - obstacle avoidance | |
26 | Wed May 2 | Path planning - navigation architectures | |
27 | Mon May 7 | Future challenges for the field | Slides |
28 | Wed May 9 | Obstacle avoidance project demo Homework 4 due at beginning of class |