Course Objectives and Outcomes

Design, analysis and implementation of multi-robot systems in simulation
Robotic systems will be “virtual” and interact in a synthetic environment. Students will have weekly programming assignments with the Player / Stage / Gazebo environment.

At the end of the course, students will

understand the basic concepts of robotics (from a computer-science point of view), including kinematics, dynamics, actuators, controllers, etc;

Grading

The due dates are listed on the week by week breakdown of the course below. When an assignment is due on a particular date, that means the assignment is due at midnight on the date in question.

Please note that May 7th is the last day you may withdraw from the course.

Ways to Fail This Class

To assist students interested in spending the term working toward earning an F in this class, here are some ways to earn your F more quickly: (1) ignore all of the programming assignments by not handing them in or by handing in projects that do not run, in an effort to get partial credit; (2) fail to hand in more than 50% of the homeworks; (3) miss any one exam or obtain less than 25% on all of the exams (does not apply to Robot Lab); (4) falsify any results; (5) mis-represent another's work as your own (i.e., plagiarism) or violate the course Discussion and Collaboration Policy. There will be no warnings.

Discussion and Collaboration Policy

All students should be familiar with the University's policies on academic dishonesty. Any incidents of academic dishonesty will be dealt with harshly, resulting in review by the University Honor Board with the student subject to possible academic suspension or expulsion. While I encourage students to collaborate, all homework, proofs, and code submitted as part of assignments must be the student's own.

Software

This class will be nearly entirely executed in simulation using Play/Stage/Gazebo. Students not comfortable with software development, hacking and programming will find this course difficult, if not impossible. We will not be providing remedial programming or operating systems tutorials in this course. All information needed to execute the assignments is available (or will be made available) on the web, either at the course wiki page or using services like http://lmgtfy.com/.

It is recommended that students use Player / Stage on Ubuntu (or an Ubuntu VM) to use when completing their assignments. The grader will not attempt to recreate the development environment of every student in the class to run their assignments. Students MUST complete the assignments in Java, unless they get permission from Rob to use a different language IN ADVANCE.