Education: Robotics Track at Utah

art_480x290The Robotics Track is a program of study that may be taken either in the School of Computing or the Department of Mechanical Engineering. Regardless of the department, students undertake similar coursework and are able to be supervised by robotics faculty in either department.

Prospective students will choose one or the other of the departments to apply to, guided primarily by undergraduate preparation and by which department the student wishes the graduate degree to be in. Admissions procedures for the two departments are different, and there are slight differences in the program of study. Both departments offer M.S. and Ph.D. degrees. The M.S. program may be taken as a course-only option, a project option, or thesis option.

Undergraduate degrees in engineering, science, applied mathematics or computer science are all excellent backgrounds from which to approach robotics and apply to the Robotics Track. Students are expected to be strong mathematically, and to have some experience working with mechanical, electrical, or computer hardware. Advanced programming skills are desirable but not necessary for admission, since the requisite skills will be taught.

Financial support is typically offered for Ph.D. students and for thesis M.S. students, through teaching assistantships, research assistantships, and fellowships. Our admissions standards are high, and hence the competition is rigorous for the limited number of open positions in the Robotics Track. Admission is based on an evaluation of an applicant’s academic profile and research potential. Students with strong technical backgrounds, an intellectual curiosity about robotics, and an interest in hands-on experience with robots are encouraged to apply. We especially encourage applications from women and under-represented minorities.

The curriculum covers the fundamental elements of robotics (mechanics, control, and geometry) in three core courses. Students also select one course each from Perception (such as Computer Vision or Image Processing), Cognition (such as Artificial Intelligence or Machine Learning), and Action (such as Advanced Manipulation and Locomotion or System Identification for Robotics). Other courses are selected by students to tailor their studies for their particular research topics or interests and departmental requirements. This interdisciplinary training will prepare a student to pursue any topic in robotics, and to broadly approach many technical problems of interest to society.

For more information about the Robotics Track and Admission, please contact John Hollerbach (jmh ‘at’ cs.utah.edu) for the School of Computing and Mark Minor (minor ‘at’ mech.utah.edu) for the Department of Mechanical Engineering.

Required Courses

All students must take the following three courses. For mechanical engineering students, it is recommended to take ME EN 6250 Programming for Engineers before taking ME 6225 or either Perception or Cognition courses.

  • CS 6310/ME EN 6220 Introduction to Robotics (3,F)
    Prereq: CS 1000, MATH 2250, PHYCS 2220
    Instructor: John Hollerbach
    The mechanics of robots, comprising kinematics, dynamics, and trajectories. Planar and spatial transformations and displacements. Representing orientation: Euler angles, angle-axis, and quaternions. Forward and inverse kinematics; Denavit-Hartenberg parameters. Velocity and acceleration: the Jacobian, singularities. Trajectory planning: joint interpolation and Cartesian trajectories. Statics of serial chain mechanisms: center of mass. Inertial parameters, Newton-Euler equations. Recursive inverse dynamics.

  • CS 6330/ME EN 6230 Introduction to Robot Control (3,S)
    Prereq: CS 6310/ME EN 6220, ME EN 6200
    Instructor: Steve Mascaro
    Control of serial manipulators is examined. Topics include control system fundamentals, sensors and actuators, joint level control, centralized control, operational space control, and force control. Projects provide hands on experience controlling a serial link manipulator.

  • CS 6370/ME EN 6225 Motion Planning (3,F)
    Prereq: CS 1020, MATH 2250
    Instructor: Tucker Hermans
    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. Topics to be covered are spatial subdivision and model hierarchies, model intersection, distance queries and distance fields, medial axis computations, configuration space, and motion planning.

 

Restricted Electives

Students must take one course from each of the following three areas:

  • Perception

CS 6320 3D Computer Vision (3,S)
Prereq: CS 3505, MATH 2210, MATH 2270
Instructor: Srikumar Ramalingan
Image formation and image models: projective geometry, modeling cameras, projection matrix, camera distortions and artifacts, camera calibration. Early vision: geometry of muliple views, stereo vision, epipolar constraints, disparity, shape from stereo, correspondence. Shape from X: reflectance map, shape from shading, photometric stereo, shape from optical flow, rotating camera, light stripe encoding, laser range systems. High level vision: model-based vision, aspect graphs, tracking, finding templates and recognition.

CS 6640 Image Processing (3,F)
Prereq: CS 2420, MATH 2250
Instructor: Tolga Tasdizen

Basic principles of processing digital signals and how those principles apply to images. Sampling theory, transforms, and filtering. Basic image-processing problems including enhancement, reconstruction, segmentation, feature detection, and compression.

  • Cognition

CS 6300 Artificial Intelligence (3,S)
Prereq: CS 3505, 3130, 4150
Instructor: Tucker Hermans

This course introduces modern probabilistic approaches towards creating intelligent systems, where rationale decision making is phrased in terms of maximizing expected utility.  Basic concepts of search are introduced, leading to search under uncertainty, Markov decision processes, Bellman’s equations, and reinforcement learning.  Bayes’ nets are introduced to reduce dependencies among variables.  Hidden Markov models and partially observable Markov decision processes are introduced to handle uncertainties in state.

CS 6350 Machine Learning (3,F)
Prereq: CS 3130
Instructor: Vivek Srikumar

This course covers techniques for developing computer programs that can acquire new knowledge automatically or adapt their behavior over time. Topics include several algorithms for supervised and unsupervised learning, decision trees, online learning, linear classifiers, empirical risk minimization, computational learning theory, ensemble methods, Bayesian methods, clustering and dimensionality reduction.

CS 6380 Multi-agent Systems (3,F)
Prereq: Knowledge of Matlab or C, data structures, processes, language syntax
Instructor: Tom Henderson

Covers fundamental notions of (1) software agents, including autonomy, communication, persistence, and intelligence; (2) multi-agent systems, including communication standards, cooperation, competition, and coordination. Methods will be applied to a practical application.

  • Action

ME EN 6240 Advanced Mechatronics (4,S)
Prereq: undergraduate mechatronics or embedded systems course; course in basic electrical circuits; and course in C programming (or permission from instructor)
Instructor: Kam Leang
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, not currently offered)
Prereq: CS 6310/ME 6220.Human interfaces: visual, auditory, haptic, and locomotory displays; position tracking and mapping
Instructor: David Johnson
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.

CS 7310/ME 7230 Robot Mobility and Manipulation (3,F of odd years)
Prereq: CS 6310/ME 6220
Instructor: Mark Minor
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 EN 7220 System Identification for Robotics (3,S of even years)
Prereq: CS 6310/ME EN 6220, CS 6330/ME EN 6230
Instructor: John Hollerbach
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, nonlinear estimation. Specific identification methods for kinematic calibration, inertial parameter estimation, and joint friction modeling. Scaling, observability, and rank reduction.

ME EN 7960-07 Haptics (3, S)
Prereq: CS 6310/ME 6220, ME 5200/6200, C programming
Instructors: Jake Abbott
This course will give students a broad overview of the topic haptics, which is the study of touch: touch sensing, perception, cognition, and feedback. The course is organized into two halves where the first half of the course aims to rapidly bring students up to speed with the basics of haptics through lectures, homeworks, readings on classical and current topics in haptics, and lab exercises. Through lab exercises, students will learn to program basic feedback behaviors with a haptic device. The focus of the second half will be a term project; however, students will continue to meet during class for additional lectures and to discuss readings. Through readings and conducting their own projects, students will learn to think critically about prior work presented in the haptics literature as well as their own work and begin to abstract ideas from prior work to form their own research hypotheses. See the course website for more details.

 

Seminar in Robotics

CS 7939/ME EN 7960-001 Seminar in Robotics (1,FS)
Prereq: none
Coordinator: John Hollerbach
The Robotics Seminar is intended for all robotics students, and for students wishing to learn more about robotics and robotics research at Utah. New students in the robotics track should take this seminar in the first year. The fall session deals with research: current student and faculty presentations, readings, and enrollee presentations. The spring session deals with professional development.

M.S. in Computing, Robotics Track

A student may pursue an M.S. with a course-only option, a project option, or a thesis option. The minimum number of credits is 30. Three courses are required, plus an additional three courses from a restricted selection as described in Robotics Track Courses.

Two additional elective courses at the 6000-level or higher (not including independent study, seminars, or thesis) from any department are required. Depending on whether a student is pursuing a course-only M.S., a project M.S., or a thesis M.S., additional 6000-level or higher courses can be chosen, this time including independent study, seminars, and research credit, in order to reach a 30-credit minimum.

Example Program of Study for an M.S. in Computing, Robotics Track

Below is one possibility for a program of study that satisfies the degree requirements. Thesis students will substitute thesis credits (CS 6970) for elective courses.


Year 1 Fall SemesterYear 1 Spring Semester
NumberTitleCreditsNumberTitleCredits
CS 6310Introduction to Robotics3CS 6330Introduction to Robot Control3
CS 7939Robotics seminar1CS 6300Artificial Intelligence3
?? 6000Elective courses8CS 7939Robotics seminar1
Semester Total12?? 6000Elective courses5
  Semester Total12
 
Year 2 Fall SemesterYear 2 Spring Semester
NumberTitleCreditsNumberTitleCredits
CS 63203D Computer Vision3CS 7320System Identification for Robotics3
CS 6370Motion Planning3?? 6000Elective courses9
?? 6000Elective courses6Semester Total12
Semester Total12  

 

Ph.D. in Computing, Robotics Track

A minimum of 50 credits is required, of which at least 27 credits must be graduate course work, and at least 14 credits must be dissertation research. Of the graduate course work, three are required courses, plus an additional three courses from the restricted electives as described in Robotics Track Courses.

Two additional elective courses at the 6000-level or above (not including independent study, seminars, or thesis) from any department are required. Remaining credits to fill the 50-credit minimum may be chosen from other 6000-level or higher courses or from seminars or dissertation research, but not independent study.

Example Program of Study for a Ph.D. in Computing, Robotics Track


Year 1 Fall SemesterYear 1 Spring Semester
NumberTitleCreditsNumberTitleCredits
CS 6310Introduction to Robotics3CS 6330Introduction to Robot Control3
CS 7939Robotics seminar1CS 6300Artificial Intelligence3
?? 6000Elective courses8CS 7939Robotics seminar1
Semester Total12?? 6000Elective courses5
  Semester Total12
 
Year 2 Fall SemesterYear 2 Spring Semester
NumberTitleCreditsNumberTitleCredits
CS 6320Computer vision3CS 7320System Identification for Robotics3
CS 6370Motion Planning3?? 6000Elective course3
CS 7970Thesis Directed Research6CS 7970Thesis Directed Research6
Semester Total12Semester Total12
 
Year 3 Fall SemesterYear 3 Spring Semester
NumberTitleCreditsNumberTitleCredits
?? 6000Elective courses6?? 6000Elective courses6
CS 7970Thesis Directed Research6CS 7970Thesis Directed Research6
Semester Total12Semester Total12

M.S. in Mechanical Engineering, Robotics Track

A student may pursue an M.S. with a thesis or non-thesis option. The Robotics Track requires three core courses, plus three courses from restricted electives (see track courses for details). The minimum number of credits is 30. Besides the Robotics Track requirements, students must also satisfy certain requirements set by the Department of Mechanical Engineering, depending on the thesis or non-thesis option.

Example Program of Study for an M.S. in Mechanical Engineering, Robotics Track 
Below is one possibility for a program of study that satisfies the thesis-option degree requirements. Non-thesis students would substitute additional courses for thesis credits in order to meet M.S. Non-Thesis degree requirements.


Year 1 Fall SemesterYear 1 Spring Semester
NumberTitleCreditsNumberTitleCredits
CS 6310Introduction to Robotics3ME 6960Introduction to Robot Control3
CS 7939Robotics seminar1ME 6240Advanced Mechatronics3
?? 6000Elective courses6CS 7939Robotics seminar1
ME 6975Thesis credits2?? 6000Elective course3
Semester Total12ME 6975Thesis credits2
  Semester Total12
 
Year 2 Fall SemesterYear 2 Spring Semester
NumberTitleCreditsNumberTitleCredits
CS 6320Computer Vision3CS 7320System Identification for Robotics3
CS 6370Motion Planning3ME 7960Haptics3
?? 6000Elective course3?? 6000Elective course3
ME 6975Thesis credits3ME 6975Thesis credits3
Semester Total12Semester Total12

 

Ph.D. in Mechanical Engineering, Robotics Track

Three core courses are required, plus three additional courses from restricted electives (see track courses for details). Robotics Track students must also satisfy Department of Mechanical Engineering Ph.D. degree requirements, which depend on whether the student is entering the Ph.D. program as a B.S. or M.S. graduate.


Year 1 Fall SemesterYear 1 Spring Semester
NumberTitleCreditsNumberTitleCredits
CS 6310Introduction to Robotics3ME 6960Introduction to Robot Control3
CS 7939Robotics seminar1ME 6240Advanced Mechatronics3
?? 6000Elective courses8CS 7939Robotics seminar1
Semester Total12?? 6000Elective courses5
  Semester Total12
 
Year 2 Fall SemesterYear 2 Spring Semester
NumberTitleCreditsNumberTitleCredits
CS 6320Computer vision3CS 7320System Identification for Robotics3
CS 6370Motion Planning3CS 6360Virtual Reality3
ME 7970Thesis Directed Research6ME 7970Thesis Directed Research6
Semester Total12Semester Total12
 
Year 3 Fall SemesterYear 3 Spring Semester
NumberTitleCreditsNumberTitleCredits
?? 6000Elective courses6?? 6000Elective courses6
ME 7970Thesis Directed Research6ME 7970Thesis Directed Research6
Semester Total12Semester Total12

 

For more information about the Robotics Track and Admission, please contact John Hollerbach (jmh ‘at’ cs.utah.edu) for the School of Computing and Mark Minor (minor ‘at’ mech.utah.edu) for the Department of Mechanical Engineering.

 Additionally, please visit the department websites for School of Computing and Mechanical Engineering for more details about the graduate program and admissions: