Skip navigation

ME 327: Design and Control of Haptic Systems


Welcome to ME 327: Design and Control of Haptic Systems. In this class, we will 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. Attendance is required if you are taking the class; guests/auditors are welcome. Course information and policies are contained in the syllabus. (Note that the final lecture schedule, assignment due dates, etc. are given on this web page; dates and topics listed in the syllabus are tentative.) 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 primary instructor for ME 327 is Allison Okamura, Professor in Mechanical Engineering at Stanford University. The course assistants are Julie Walker, Cara Nunez, and Michael Cheung, all graduate students in Mechanical Engineering.

LecturesTuTh 9:00-10:20 am in Y2E2-111
Lab and Project SpaceAs needed in 520-145 (D'Arbeloff Teaching Lab)
Julie's Office HoursTuesdays from 5-7 pm in 520-145
Cara's Office HoursMondays and Wednesdays from 9-10 am in 520-145
Michael's Office Hoursby appointment
Allison's Office HoursThursdays 10:30-11:50 am in 550-107 or 520-145
520-145 (D'Arbeloff Teaching Lab) schedule

For announcements and questions/answers, please use piazza at Grades will be posted at


PDFs of lecture slides will be posted before lecture when possible.
4/2Lecture 1: Introduction to haptics and course overview
4/4Lecture 2: Kinesthetic haptic devices: design and kinematics
4/9Lecture 3: Kinesthetic haptic devices: dynamics and control
4/11Lecture 4: Kinesthetic haptic devices: sensors and actuators
4/16Lecture 5: Hapkit distribution and assembly
4/18Lecture 6: Kinesthetic haptic devices: 1-DOF rendering
4/23Lecture 7: Kinesthetic haptic devices: multi-DOF design and kinematics
4/25Lecture 8: Kinesthetic haptic devices: multi-DOF rendering
4/30Lecture 9: Teleoperation: implementation and transparency
5/2Lecture 10: Teleoperation: stability and setup
5/7Lecture 11: Project/Presentation discussion
5/9Lecture 12: Human haptics: Mechanoreceptors and Kinesthesia
5/14No lecture; project team advising meetings
5/16No lecture; project team advising meetings
5/21Lecture 13: Human haptics: user studies
5/23Paper Presentations
5/28Paper Presentations
5/30Paper Presentations
6/4Project open house 9:30-10:30 am (in 520-145), with extra time if desired


The dates below show when the assignment is distributed. Assignments will usually be due one week after distribution (the due date will be written on the assignment). 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.

4/4Assignment 1: Introduction to Haptics and Kinesthetic Haptic Devices (Hapkit Solidworks files, Solutions)
4/11Assignment 2: Design and Control of Kinesthetic Haptic Devices (Simulation template)
4/18Assignment 3: Haptic Rendering on a 1-DOF Kinesthetic Haptic Device (Hapkit Parts List, Hapkit Assembly Instructions, Hapkit Board Pin Mapping, Hapkit Template 1, Hapkit Template 2)
4/25Assignment 4: Haptic Rendering on a 3-DOF Kinesthetic Haptic Device
5/2Assignment 5: Teleoperation

Students in the class will create and use their own versions of Hapkit, a haptic device created specifically for haptics education. Note: For this class, use only Hapkit information posted on the ME 327 website, because it may be different from that on the Hapkit website.


Any suggested readings will be identified in the assignments. Links to PDFs of readings are posted here, listed by posting date.

4/4K. E. MacLean. Haptic interaction design for everyday interfaces. Reviews of Human Factors and Ergonomics, 4:149-194, 2008. {pdf}
4/4B. Hannaford and A. M. Okamura. Chapter 42: Haptics. In B. Siciliano and O. Khatib, Eds., Handbook of Robotics. Springer, pp. 1063-1083, 2016. {pdf}
4/4V. Hayward and K. E. MacLean. Do It Yourself Haptics, Part I. IEEE Robotics and Automation Magazine, 14(4):88-104, 2007. {pdf}
4/11D. W. Weir and J. E. Colgate. Stability of haptic displays. In M. C. Lin and M. Otaduy, Eds., Haptic Rendering: Foundations, Algorithms, and Applications. AK Peters, 2008. {pdf}
4/11R. B. Gillespie and M. R. Cutkosky. Stable user-specific rendering of the virtual wall. Proceedings of the ASME International Mechanical Engineering Conference and Exposition, DSC-Vol. 58, pp. 397-406, 1996. {pdf}
4/18K. Salisbury, F. Conti, and F. Barbagli. Haptic rendering: Introductory concepts. IEEE Computer Graphics and Applications, 24(2):24-32, 2004. {pdf}


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 give one 25-minute paper presentation/activity (10-minute talk, 5-minute Q&A, 10-minute activity) to the class.


The course project this year is 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 to measure an aspect of human perception/movement control. The project must include bidirectional haptic interaction between a person or a robot/agent and an augmented, remote, or virtual environment, and a corresponding experiment to characterize human/system capabilities.