Welcome
Welcome to ME 327: Design and Control of Haptic Systems. The CURRENT offering of this course is in Spring 2022 and course materials for this year should be accessed by Stanford students through Canvas. In contrast, this webpage is offered as a service for the worldwide haptics research and teaching community and includes only course materials from when the class was offered online in Spring 2020. The next offering of ME327 at Stanford will be in Spring 2023. 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). Note that due to changes in availability of parts, the current Hapkit (lab kit) parts list and instructions are out of date. We aim to update these in Summer 2022.
In this class, we study 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 for 2020 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 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/6 | Lecture 1: Introduction to haptics (slides,video) |
4/7 | Interactive Session 1: Introductions (slides) |
4/8 | Lecture 2: Tactile and kinesthetic devices (slides,video) |
4/9 | Interactive Session 2: Haptic Design (slides) |
Week 2: | |
4/13 | Lecture 3: Human haptic perception (slides,video) |
4/14 | Interactive Session 3: Human Haptics (slides) |
4/15 | Lecture 4: User studies (slides,video) |
4/16 | Interactive Session 4: User Studies (slides) |
Week 3: | |
4/20 | Lecture 5: Tactile haptic devices (slides,video) |
4/21 | Interactive Session 5: Tactile Haptic Devices (slides) |
4/22 | Lecture 6: Haptic illusions (slides,video) |
4/23 | Interactive Session 6: Haptic Illusions (slides) |
Week 4: | |
4/27 | Lecture 7: Kinesthetic design (slides,video) |
4/28 | Interactive Session 7: Rendering a Wall (slides) |
4/29 | Lecture 8: Kinesthetic sensors and actuators (slides,video) |
4/30 | Interactive Session 8: Kinesthetic haptic devices: sensors and actuators (slides) |
Week 5: | |
5/4 | Lecture 9: Kinesthetic dynamics and control (slides,video) |
5/5 | Interactive Session 9: Kinesthetic haptic devices: Dynamics and Control (slides) |
5/6 | Lecture 10: Kinesthetic Stability (slides,video) |
5/7 | Interactive Session 10: Kinesthetic haptic devices: Stability (slides) |
Week 6: | |
5/11 | Lecture 11: Multi-DOF kinesthetic devices (slides,video) |
5/12 | Interactive Session 11: Kinesthetic haptic devices: multi-DOF design and kinematics (slides) |
5/13 | Lecture 12: Multi-DOF rendering (slides,video) |
5/14 | Interactive Session 12: Kinesthetic haptic devices: multi-DOF rendering (slides) |
Week 7: | |
5/18 | Lecture 13: 1-DOF rendering (slides,video) |
5/19 | Interactive Session 13: Hapkit Assembly, part 1 (slides) |
5/20 | Lecture 14: Hapkit programming (slides,video) |
5/21 | Interactive Session 14: Hapkit Assembly, part 2 (slides) |
Week 8: | |
5/25 | Lecture 15: Teleoperation implementation (slides,video) |
5/26 | Interactive Session 15: Teleoperation: Implementation (slides) |
5/27 | Lecture 16: Teleoperation transparency and stability (slides,video) |
5/28 | Interactive Session 16: Teleoperation: Transparency and Stability (slides) |
Week 9: | |
6/2 | Interactive Session 17: Hands-on Demos 1 |
6/4 | Interactive Session 17: Hands-on Demos 2 |
Week 10: | |
6/8 | Interactive 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, and include a faculty mentor or teacher in the email.
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 consistently available from Seeed Studio, and many of the other parts are no longer available. We are working to update the parts list and assembly instructions, and aim to post these in Summer 2022.
Readings
Any suggested readings are identified in the assignments. Links to PDFs of readings are posted here.
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.