From the course catalog:
An introduction to the design and implementation of intelligent mobile robot systems. This course will cover the fundamental elements of mobile robot systems from a computational standpoint. Issues such as software control architectures, sensor interpretation, map building and navigation will be covered, drawing from current research in the field. Students will also design and build a small mobile robot and program it to perform simple tasks in real-world environments. Class size limited to 20. Prerequisites: CSE 131/CS 101G, SSM 326A, Math 320 or permission of instructor.
The textbook has a web site with some extra materials on it. We won't be using any of these materials for the class, but you might find some interesting supplementary material here.
Although they are not required for the class, there are a couple of other texts that you might find useful if you're interested in digging more deeply into some of the material that we cover.
The class has a software focus, but there are a number of good books on actually building robots. Here's a brief and incomplete sampling.
Unless explicitly instructed otherwise, everything that you turn in for this course must be your own work. If you willfully misrepresent someone else's work as your own, you are guilty of cheating. Cheating, in any form, will not be tolerated in this class.
If you are guilty of cheating on any assignment or exam, you will be penalized the number of points that the assignment is worth. For example, if you are guilty of cheating on an assignment worth 10 points, your score on that assignment will be -10. If you copy from anyone in the class all parties involved will be penalized, regardless of which direction the information flowed. Two or more instances of cheating in the course will result in a grade of F for the class, and will be referred to the School of Engineering Discipline Committee.
We will follow the guidelines of the University Undergradate Academic Integrity Policy, but we reserve the right to make the final determination of what constitutes cheating for this class. If you suspect that you may be entering an ambiguous situation, it is your responsibility to clarify it before we detect it. If in doubt, please ask.
You are also encouraged to look things up on the web. While there's a lot of information out there, there's also a lot of nonsense. You should always exercise caution before using anything you find on the web. You should never download and use code if you do not understand how it works. For several of the assignments, you will be asked to write code that you might reasonably find on the web. If you download and use code (even if you're just "inspired" by it, and don't use it character-for-character), you must tell us. Using other's code is fine, but if you do not tell us that you did it, you will be considered to have cheated, and will be subject to the integrity policy, above.
Grades in this class will be assigned as follows:
85% A 75% B 65% C 50% D 0% F
The late policy for the class is 10% per day late, up to a maximum of three days. If you're more than three days late on an assignment, you get zero points for that assignment. If you have some valid reason for needing more time on an assignment, then you should contact me at least two days before the deadline to request an extension. Last-minute requests will only be considered in exceptional circumstances.
ROS is installed on the CEC Linux Lab machines. If you want to install it on your own personal machine, there are instructions. If you can, we recommend using Ubuntu Linux and not doing a source-based install. This is the path of least pain. Trust us. If you must use some other system, or want to do a source-based install, talk to us first. If you install your own version of ROS, make sure you install diamondback and not the newer electric release. There are differences between the two, and we'll be using diamondback for the class. You can install diamondback by following the instructions for electric, and replacing all occurrences of the word "electric" by the word "diamondback".
ROS is open-source software. Although the development is led by Willow Garage, there are many active developers in the larger robotics community. You can see the current list of contributing sites and a list of the available packages.
If you use ROS and develop something useful, then you should really consider contributing it back to the ROS community. Instructions on how to do that are here. Open source software only works if people contribute back their code for others to use.
If you want to contribute your code back to the ROS community let me know, and we can talk about adding it to our repository at WU.
|Page written by Bill Smart.|