2009-01-24: The NYU computer store has received about 100
Arduino boards on 01/23. Get yours before Tuesday!
A list of additional equipment and description of the
projects for the week of 01/26-01/30 are available
on the assignment page.
Course Description
The robotics industry has been expanding at a very fast pace in recent
years. Several companies now sell mobile robots to consumers for
entertainment, surveillance, cleaning, and other applications.
Concurrently, robotic-like capabilities are being integrated into
traditional products such as cars, vacuum cleaners, lawnmowers.
Over the next decade, intelligent domestic robots will become
ubiquitous. Automonous vacuum cleaners and lawnmowers will become
widely available, as well as cars that essentially drive themselves
Autonomous unmanned vehicles of various types (UGV on the ground, UAV
in the air, UUV under water) will be widely deployed for inspection,
search and rescue operations, surveillance, and military applications.
Robots are computers with sensors and actuators that can interact
directly with the physical world. The course will consist of hands-on
sessions in which students will write software for a variety of robot
platforms for tasks such as maze solving, grasping, obstacle
avoidance, and target tracking using vision. Class projects will
include various challenges and robot races. Topics will include
sensors and actuators, micro-controler programming and real-time
embedded systems, simple kinematics, trajectory planning, simple
vision and pattern recognition methods, and elementary machine
learning techniques.
prerequisite: V22.0201 or familiarity with C programming, Calculus.
Who Can Take This Course?
This course has very little prerequisites, besides calculus. It
requires some familiarity with C programming, Some optional projects
requires some notion of linear algebra.
The course is designed for seniors, juniors and advanced sophomores of
all majors, as long as they satisfy the prerequisites.
Projects will use a variety of robotics platforms, from fully
autonomous wheeled robots, to legged robots, to robots with wireless
IP cameras remote controlled from a laptop.
Students are expected to bring a laptop to the class
(preferrably running Ubuntu Linux).
The best way (some would say the only way) to understand an algorithm
is to implement it and apply it. Building working systems is also a
lot more fun, more creative, and more relevant than taking formal exams.
Therefore students will be evaluated primarily (almost exclusively) on
project assignments given on a 2 week cycle, and on a final project.
There is no single textbook for the class, but the following books
contain useful reference material:
Embedded Robotics, by Thomas Braunl (Springer): covers many aspects of robotics and embedded computing, although
the code samples are specific to a particular robot controller platform.
Introduction to Autonomous Mobile Robots, by Roland Siegwart and Illah Nourbakhsh (MIT Press):
everything about mobile robots: kinematics, localization/mapping, planning, perception, sensors.
Planning Algorithms, by Steven Lavalle (Cambridge)
This book has the considerable advantage of being freely available on-line. It is a very thorough treatise
on motion planning.
Probabilistic Robotics by Thrun, Burgard and Fox (MIT Press):
a rather mathematical treatment of localization/mapping topics such as Kalman filters, SLAM, particle filters and such.
There are other robotics book from the "MIT" school. These books talk about "behavior-based robotics",
which attempt to reproduce the behavior of simple animals, such as insects:
Cambrian Intelligence by Rodney Brooks (MIT Press): "intelligence without reason", "elephants don't play chess".
Robot Programming: a Practical Guide to Behavior-Based Robotics, by Joseph Jones (McGraw Hill):
a more recent and more practical book on behavior-based robotics, by engineers fro iRobot (of Roomba fame).