|
|
Course Overview: From the bluebook:
Time: MWF 2:30-3:20 Autonomous Systems is the CS Department's "robotics course". Despite the description above, it does not involve "building" robots in the mechanical or electrical sense. (If you want to do that, you should take Roman Kuc's EE201 or EE350.) Instead, you will "build" robots by writing programs that deal with the fundamental control, navigation, and planning issues in mobile robotics. We will use a high-level programming language called FRP (functional reactive programming) for this purpose, and initially the robots will be simulated. As a final project, you will write FRP programs for real robots in our robotics lab. Of course, you will learn more than just how to program robots. You will learn the fundamental issues in robot design: locomotion, sensing, kinematics, and control. For that purpose, basic knowledge of linear algebra, calculus, and differential equations will be required. You will also learn about higher-level issues of planning, obstacle avoidance, coordinated motion, learning about the environment, and so on. Enrollment: Because of the limited laboratory equipment, this course will be capped at about 25 students. Priority will be given to juniors, seniors, and first-year PhD students for which vision or robotics may be a potential research interest. We will do our best to accommodate everyone's needs. Instructors: Textbooks: There is one required textbook for the course: Computational Principles of Mobile Robotics This book should be available now at the Yale Bookstore. It will be supplemented with other material. FRP is a domain-specific language embedded in Haskell, and thus it is beneficial to learn Haskell, which is a purely functional language that is quite a bit different from mainstream languages such as C, C++, or Java. If you are taking CS-429 concurrently with CS-474, your problem is solved. Otherwise, I recommend at a minimum the tutorial: A Gentle Introduction to Haskell found at: http://haskell.org/tutorial/, or just use the on-line version if you like. Better than that, you will find the following book useful: The Haskell School of Expression -- I have ordered some of these for CS-474, but it is also being used in CS-429. Computing Resources: The Haskell implementation that we will use is called Hugs, and it is installed in the Department's educational computing cluster (the Zoo), which is located on the third floor of A.K. Watson Hall (the Computer Science Department, at 51 Prospect Street). Please visit: http://www.yale.edu/zooaccount to register for this class in the Zoo, even if you already have an account in the Zoo. By registering for the class, a work directory will be created for you in /home/classes/cs474/class. If you prefer to run Hugs on your own machine (laptop or otherwise), go to http://haskell.org/hugs where you will find easy instructions on how to download the system for either Windows or Linux machines. Details on how to use Haskell and Hugs will be forthcoming. Web Page and Newsgroup: This web page (plucky.cs.yale.edu/cs474) will the
source of programming assignments, solutions, and other relevant information. There
is also a newsgroup for the course: yale.cs.cs474. You can ignore anything
in this newsgroup before Jan 8, 2001, but be sure to read it regularly -- it may contain
important information, such as hints for and/or corrections to homework assignments! Grades:
|