There will be a discussion site / bulletin board for the class.
It will be linked from the course home page.
Philosophical Overview
This class takes a broad view of what robotics means.
For our purposes, robotic systems are systems that interact with
people, each other, and the world around them, using sensors,
actuators, communications, and a control program.
The term robot, is too mentally confining. The images
that come to mind when someone says robot is likely one or
the other of: factory automation (assembly lines and mechanical arms),
humanoid robotics (e.g., C3PO), and mobile robots (BattleBots and the
like).
While all of these things clearly are robots, by my
definition and thinking, so too are:
musical light shows, particularly ones that may incorporate
environmental sensing or sound processing into their control the
equipment's movement and illumination;
highway monitoring and control systems, with distributed nets of
traffic sensors, ways of redirecting traffic, and human-supervised
control logic;
hydroponic farms, with chemical sensors and environmental
controllers;
exercise machines, which incorporate body sensors and other features
to monitor and guide human performance.
Practical Overview
The course will be a combination of a hands-on, project-based class
and a graduate reading and discussion seminar.
The specific concepts, technologies, and methods which will be
introduced include:
Embedded development, including use of the Cricket (a simple yet powerful
embedded controller), the LogoChip,
a unique programming environment for PIC code development, and PIC
assembly language. Students will also be free to choose other
processors for their own projects.
Writing drivers for interfacing to various sensors and
actuators, including assembly language coding, circuit design, and
networking of physically separate devices
Circuit design, including theory and practical approaches,
Ohm's law, voltage dividers, sensors, op-amps, transistors, diodes,
H-bridge circuits, inductance, power supplies. Also construction
techniques including prototyping, electronic CAD, and printed-circuit
board design and fabrication.
Communications, including serial RS-232, 40 kHz modulated
infrared (e.g., Sony consumer remotes), IrDA, i2c, and Cricket Bus,
including implementation methods with UARTs, bit-banging code, level
shifters, and drivers from conventional high-level languges. Students
will be invited to also explore USB, radio, TCP/IP and other relevant
technologies.
The course has no specific prerequisites (other than good standing
in the Department), but you must be willing to deal with a course that
involves as much problem-finding as it does problem-solving.
In other words, the class will introduce you to a rich set of
methods, tools, and techniques, but it will be up you to generate
interesting projects and then carry them forward.
In practice, this will mean a solid six to ten hour time commitment
per week, outside of classroom hours, for practical work in the
Engaging Computing Lab (OS306).
Applications
In addition to introducing the aforementioned technologies, the
class will explore a number of applications areas, including:
Toy design including audio I/O, sensor I/O (including object
detection), actuators (lights, movement), interaction with
screen-based computer or TV.
Interpersonal communication based on wearable computational
tags.
Environmental installations such as museum exhibits,
spatially distributed computation (e.g., Pinwheels),
interactive robots (e.g., Kismet).
Ubiquituous computing/pervasive technologies such as
traffic sensing nteworks, process control, and distributed data
collection.