Robotics Track Courses


Required Courses

All students must take the following three courses.
    CS 6310/ME 6220 Introduction to Robotics (3,F). Steve Mascaro, instructor for Fall 2007. Prereq: CS 1000, MATH 2250, PHYCS 2220.

    The mechanics of robots, comprising kinematics, dynamics, and trajectories. Planar, spherical, and spatial transformations and displacements. Representing orientation: Euler angles, angle-axis, and quaternions. Velocity and acceleration: the Jacobian and screw theory. Inverse kinematics: solvability and singularities. Trajectory planning: joint interpolation and Cartesian trajectories. Statics of serial chain mechanisms. Inertial parameters, Newton-Euler equations, D'Alembert's principle. Recursive forward and inverse dynamics.

    ME 6960 (Section 4) Introduction to Robot Control (3,S). Mark Minor, instructor. Prereq: CS 6310/ME 6220.

    Control of manipulation and mobile robots is studied. Topics include control system fundamentals, sensors and actuators, joint level control, centralized control, and operational space control. Projects provide hands on experience controlling a serial link manipulator.

    CS 6370 Geometric Computation for Motion Planning (3,F). David Johnson, instructor. Prereq: CS 1020, MATH 2250.

    Geometric computation is the study of practical algorithms for solving queries about geometric properties of computer models and relationships between computer models. Robot motion planning uses these algorithms to formulate safe motion through a modeled environment. In addition, algorithms for geometric computation are used in computer animation, simulation, computer-aided design, haptics, and virtual reality. Topics to be covered in this course are spatial subdivision and model hierarchies, model intersection, distance queries and distance fields, medial axis computations, configuration space, and motion planning. The course will rely on lectures, readings, and projects to provide understanding of current practices in the field.


Restricted Electives

M.S. students must take one course from each of the following three areas. Ph.D. students are required to take a fourth course from this list.
  • Perception.

    CS 6320 Computer Vision (3, S of odd years). Tom Henderson, instructor. Prereq: CS 3510, MATH 2210, MATH 2270.

    Basic pattern-recognition and image-analysis techniques, low-level representation, intrinsic images, ``shape from'' methods, segmentation, texture and motion analysis, and representation of 2-D and 3-D shape.

    CS 6640 Image Processing for Graphics and Vision (3,S). Ross Whitaker, instructor. Prereq: Programming, data structures, linear algebra, calculus.

    This is an introductory course in processing grey-scale and color images --- taught at the senior/grad level. This course will cover both mathematical funadmentals and implementation. It will introduce students to the basic principles of processing digital signals and how those principles apply to images. These fundamentals will include sampling theory, transforms, and filtering. The course will also cover a series of basic image-processing problems including enhancement, reconstruction, segmentation, feature detection, and compression. Assignments will include several projects with software implementations and analysis of real data.

    (The current course number CS 7966 is temporary.)

  • Cognition.

    CS 6300 Artificial Intelligence (3,S). William Thompson instructor. Prereq: CS 3510.

    Introduction to the field of artificial intelligence, including heuristic programming, problem-solving, search, theorem proving, question answering, machine learning, pattern recognition, game playing, robotics, computer vision.

    CS 6350 Machine Learning (3,S). Hal Daume, instructor. Prereq: CS 3510. CS 5300/6300 recommended.

    Techniques for developing computer systems that can acquire new knowledge automatically or adapt their behavior over time. Topics include concept learning, decision trees, evaluation functions, clustering methods, explanation-based learning, language learning, cognitive learning architectures, connectionist methods, reinforcement learning, genetic algorithms, hybrid methods, and discovery.

    CS 6380 Multiagent Systems (3, not currently scheduled). Tom Henderson, instructor. Prereq: Knowledge of programming, data structures, processes, language syntax, Matlab or C.

    Covers fundamental notions of (1) software agents, including: autonomy, communication, persistence, and intelligence; and (2) multiagent systems, including: communication standards, cooperation, competition and coordination. Methods will be applied to a practical application (usually in Matlab or C).


  • Action.

    ME5960/6960 Advanced Mechatronics (3, S of odd years). Will Provancher, instructor. Prereq: undergraduate mechatronics or embedded systems course; course in basic electrical circuits; and course in C programming (or permission from instructor).

    This course gives students an experience in integrating electromechanical systems by utilizing a commodity microcontroller. Students will review basic electronics, and then focus more directly on the basics of microcontrollers, learning to interface a PIC microcontroller with a broad variety of peripheral devices including motor drivers, LCDs, shift registers, DAC and encoder chips among others. The course will also emphasize the basics of serial communication, including wireless serial communication. The course will culminate with a biocentric themed group term project. Students will leave the course with a broad set of skills necessary to build custom embedded systems through the use of a microcontroller and off-the-shelf components.

    CS 6360 Virtual Reality (3, S of even years). David Johnson, instructor. Prereq: CS 6310/ME 6220.

    Human interfaces: visual, auditory, haptic, and locomotory displays; position tracking and mapping. Computer hardware and software for the generation of virtual environments. Networking and communications. Telerobotics: remote manipulators and vehicles, low-level control, supervisory control, and real-time architectures. Applications: manufacturing, medicine, hazardous environments, and training.

    ME 7200 Nonlinear Controls (3, S of even years). Instructor: Mark Minor. Prerep: ME 6210 or 5210 and ME Graduate status.

    The modeling, analysis, and control of nonlinear systems are discussed.

    CS 7310/ME 7230 Advanced Manipulation and Locomotion (3, S of odd years) Instructor: Mark Minor. Prereq: CS 6310/ME 6220.

    This course will examine grasping, rolling, and sliding manipulation from two perspectives; (1) manipulating the pose of an object with an end-effector via grasping, rolling, and sliding manipulation, and, (2) manipulating the trajectory of a mobile robot via the rolling and sliding contact of wheels, feet, or curved exoskeletons and the ground.

    CS 7320/ME 7960 (section 7) System Identification for Robotics (3, S of even years). John Hollerbach, instructor. Prereq: CS 6310/ME 6220.

    Modeling and identification of the mechanical properties of robots and their environments. Review of probability and statistics. Parametric versus nonparametric estimation. Linear least squares parameter estimation, total least squares, and Kalman filters. Nonlinear estimation and extended Kalman filters. State estimation. Specific identification methods for kinematic calibration, inertial parameter estimation, and joint friction modeling.

    (The current numbers CS 7961 and ME 7960 Section 7 are temporary.)

CS 7939/ME 7960-001  Seminar in Robotics (1,FS). John Hollerbach, coordinator. Prereq: none.

The Robotics Seminar is intended for all robotics students, and for students wishing to learn more about robotics and robotics research at Utah. It is a chance for the Utah robotics community to get together on a weekly basis. The course will feature overviews of research projects by the robotics faculty, technical presentations by robotics graduate students, and discussions of recent trends and important results elsewhere. Students enrolled for this 1-credit course will be expected to choose a topic or paper in robotics, and write and present a critique.