Skip navigation

ME 327: Design and Control of Haptic Systems

Welcome

Welcome to ME 327: Design and Control of Haptic Systems. In this class (last offered remotely in Spring 2020), we studied the design and control of haptic systems, which provide touch feedback to human users interacting with virtual environments and teleoperated robots. This class is aimed toward graduate students and advanced undergraduates in engineering and computer science. This class requires a background in dynamic systems and programming. Experience with feedback control and mechanical prototyping is also useful. Course information and policies are contained in the syllabus. This course covers device modeling (kinematics and dynamics), synthesis and analysis of control systems, design and implementation of mechatronic devices, and human-machine interaction. The next offering of ME327 at Stanford will be in Spring 2022. You can also access a lower-level, self-paced MOOC for haptics here: https://hapticsonline.class.stanford.edu/ (free to watch videos, pay for quizzes, assignments, and a certificate).

The instructor for ME 327 is Allison Okamura, Professor in Mechanical Engineering at Stanford University. The course assistants in Spring 2020 were Brandon Ritter and Zonghe Chua, both graduate students in Mechanical Engineering.

For announcements, discussion, and grades, please see http://canvas.stanford.edu.

Lectures

PDFs of lecture slides and panopto video recordings (with quizzes), where available, are linked.
Week 1:
4/6Lecture 1: Introduction to haptics (slides,video)
4/7Interactive Session 1: Introductions (slides)
4/8Lecture 2: Tactile and kinesthetic devices (slides,video)
4/9Interactive Session 2: Haptic Design (slides)
Week 2:
4/13Lecture 3: Human haptic perception (slides,video)
4/14Interactive Session 3: Human Haptics (slides)
4/15Lecture 4: User studies (slides,video)
4/16Interactive Session 4: User Studies (slides)
Week 3:
4/20Lecture 5: Tactile haptic devices (slides,video)
4/21Interactive Session 5: Tactile Haptic Devices (slides)
4/22Lecture 6: Haptic illusions (slides,video)
4/23Interactive Session 6: Haptic Illusions (slides)
Week 4:
4/27Lecture 7: Kinesthetic design (slides,video)
4/28Interactive Session 7: Rendering a Wall (slides)
4/29Lecture 8: Kinesthetic sensors and actuators (slides,video)
4/30Interactive Session 8: Kinesthetic haptic devices: sensors and actuators (slides)
Week 5:
5/4Lecture 9: Kinesthetic dynamics and control (slides,video)
5/5Interactive Session 9: Kinesthetic haptic devices: Dynamics and Control (slides)
5/6Lecture 10: Kinesthetic Stability (slides,video)
5/7Interactive Session 10: Kinesthetic haptic devices: Stability (slides)
Week 6:
5/11Lecture 11: Multi-DOF kinesthetic devices (slides,video)
5/12Interactive Session 11: Kinesthetic haptic devices: multi-DOF design and kinematics (slides)
5/13Lecture 12: Multi-DOF rendering (slides,video)
5/14Interactive Session 12: Kinesthetic haptic devices: multi-DOF rendering (slides)
Week 7:
5/18Lecture 13: 1-DOF rendering (slides,video)
5/19Interactive Session 13: Hapkit Assembly, part 1 (slides)
5/20Lecture 14: Hapkit programming (slides,video)
5/21Interactive Session 14: Hapkit Assembly, part 2 (slides)
Week 8:
5/25Lecture 15: Teleoperation implementation (slides,video)
5/26Interactive Session 15: Teleoperation: Implementation (slides)
5/27Lecture 16: Teleoperation transparency and stability (slides,video)
5/28Interactive Session 16: Teleoperation: Transparency and Stability (slides)
Week 9:
6/2Interactive Session 17: Hands-on Demos 1
6/4Interactive Session 17: Hands-on Demos 2
Week 10:
6/8Interactive Session 18: Haptic Rendering Examples and Teleoperation (slides)

Assignments

Access to solutions is restricted to students in the class; if you are not in the class and wish to see the solutions, email Allison and please explain who you are and what you will use the solutions for.

Assignment 1: Introduction to Haptics and Haptic Devices
Assignment 2: Human Haptics
Assignment 3: Tactile Devices
Assignment 4: Kinesthetic Device Design, Sensors, and Actuators
Assignment 5: Kinesthetic Device Design and Control
Assignment 6: Multi-Degree-of-Freedom Kinesthetic Devices (Hapkit Parts List, Hapkit Assembly Instructions)
Assignment 7: Haptic Rendering on a 1-DoF Kinesthetic Haptic Device (Hapkit_Template1, Hapkit Parts List, Hapkit Board Pin Mapping)
Assignment 8: Rendering with Dynamics and Graphics, Vibration Feedback and Teleoperation (Assignment8_processing.zip, Assignment8_tele.zip)

Students in the class will create and use their own versions of Hapkit, a haptic device created specifically for haptics education. NOTE: As of September 2020, Hapkit Boards are no longer available from Seeed Studio. We are working on finding a new vendor.

Readings

Any suggested readings are identified in the assignments. Links to PDFs of readings are posted here.

Campion05-IROS-Pantograph -errorHighlighted.pdf
Hannaford16-RH-Haptics.pdf
Hannaford89-TRO-Teleop.pdf
HashtrudiZaad01-IJRR-Teleop.pdf
Hayward07-RAM-DIY1.pdf
MacLean08-RHFE-Design.pdf
Ruspini97-IROS-Rendering.pdf

Presentation and Demo

Paper comprehension and presentation are important skills for research and development, and paper presentations will introduce the class to a wide variety of haptic systems. Each team will record a paper presentation, give a live hands-on demo, and view each other's presentations.

Presentation and Demonstration Assignment

Project

There was no course project this year. Last time this course was taught with a project, in 2019, the project was to: (1) create a haptic device, (2) analyze its behavior from a dynamic systems and control perspective, and (2) demonstrate an interesting application or use the device. The system must include bidirectional haptic interaction between a person or a robot/agent and an augmented, remote, or virtual environment.

Project Wiki Pages from 2019