Introduction to Robotics - Spring 2012

Introduction to Robotics

CMSC 479/679

Spring 2012

 

Instructor

Prof. Tim Oates
Office: ITE 336
Phone: (410) 455-3082
Email: oates@umbc.edu

Where and When

Academic IV room 013
Monday/Wednesday 2:30 - 3:45
Office hours: Thursday 10:30 - 11:30

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.

Course Description

The field of robotics is currently enjoying tremendous scientific, practical, and popular success. Robots vacuum our floors (iRobot's Roomba), entertain us (Sony's Aibo and Honda's Asimo), assist human doctors in performing delicate surgery, compete for the RoboCup soccer trophy, assist the elderly (a function that will become crucial as the baby boomers age), defuse bombs in Iraq and Afghanistan, map abandoned coal mines, assist in search and rescue missions (e.g., after hurricane Katrina), locate and remove land mines, and gather invaluable scientific data from the surface of Mars.

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.

Prerequisites

CMSC 471 or 671, or permission of the instructor

Textbooks

  1. Introduction to Autonomous Mobile Robots, Second Edition, by Roland Siegwart, Illah R. Nourbakhsh, and Davide Scaramuzza, The MIT Press, 2011. Required. This text will serve as the primary source for lectures and material for homework assignments and exams.
  2. Mobile Robots: Inspiration to Implementation, second edition, by Joseph L. Jones, Anita M. Flynn, and Bruce A. Seiger, A. K. Peters, 1999. Recommended. This book provides lots of information useful to anyone who wants to build their own robot from scratch. I will occasionally hand out sections of this book in class.
  3. A variety of technical papers will be used to supplement the textbooks. Links to these papers can be found in the course schedule below.

Academic Objectives

The objectives of the course are for students to gain an in-depth understanding of the challenges and techniques of autonomous mobile robotics; to read and analyze technical papers critically; to communicate effectively in group discussions; and to design and construct an autonomous mobile robot.

Course Work and Grading

My goal is to make this course informative, interactive, and enjoyable. To that end, your grade will be based on the following components: Grading will be on a standard 10 point scale. I never enter a semester planning on curving. That is, a final average of 90% ensures an A, but a final average of 89.99% does not. That said, I may decide to curve grades up (if, for example, one of the homeworks is unintentionally difficult), but will not curve grades down.

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.

Projects

There will be two projects. The first emphasizes mechanical design and gives the students a solid foundation in how to achieve computer control over motors (servos) for the purpose of locomotion. The second project takes advantage of an existing physical base (a remote controlled car) and emphasizes the integration and use of sensor data for robot control.

SumoBot

Current standings on the SumoBot ladder can be found here, and pictures/videos of the robots can be found here.

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).

Rules for Ladder Play

Initial placement on the ladder will be done by a random lottery. The team in position I on the ladder may challenge either the team in position I-1 or the team in position I-2. When the higher seed loses, that team will be replaced by the winner and then moves down one spot. When the higher seed wins, there is no change in the ladder.

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.

Grading

When the SumoBot ladder closes, each team member will be required to submit a written report saying what they and each of their teammates did on the project. Your individual grade will be based on the following factors: contribution to robot design and construction; quality of design and construction; adherence to the design constraints listed above; active participation in SumoBot matches (challenging others, not just always responding to challenges); and improvements made while the ladder is open to best respond to the designs of the other robots. You will not be graded based on your final ranking on the ladder. I want to see students actively participate during all phases, from design to competition.

Obstacle Avoidance:

In this project teams of four (or three) students will be given a remote controlled car and a pair of infrared distance sensors. The goal is to use the microcontroller from the first project to allow the car to move about while successfully avoiding obstacles. In general, there should be no overlap between teams in the first and second projects. The teams are larger for this project because it is slightly more challenging, requiring more code and a deeper understanding of the microcontroller for interfacing the sensors.

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.

Grading

Each team member will be required to submit a written report saying what they and each of their teammates did on the project. Your individual grade will be based on the following factors: contribution to robot design and construction; performance of robot on the obstacle avoidance task as measured in both static and dynamic (i.e., with people walking around) environments.

Academic Integrity

By enrolling in this course, each student assumes the responsibilities of an active participant in UMBC's scholarly community in which everyone's academic work and behavior are held to the highest standards of honesty. Cheating, fabrication, plagiarism, and helping others to commit these acts are all forms of academic dishonesty, and they are wrong. Academic misconduct could result in disciplinary action that may include, but is not limited to, suspension or dismissal. To read the full Student Academic Conduct Policy, consult the UMBC Student Handbook, the Faculty Handbook, or the UMBC Policies section of the UMBC Directory (or for graduate courses, the Graduate School website).

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.

Course Schedule

Class Date
Topic
Reading
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