ECSE600/397: Design and Control of Haptic Systems
Introduction
This course aims to introduce students to the key ideas in designing, modeling, and controlling haptic (touch) interfaces that mediate interaction with virtual or remote environments. Students will study these concepts through simulation- and hardware-based assignments focused around a CWRU-customized version of the “Hapkit” - a low-cost, 3D-printed, haptic paddle.
The broader vision of this course is that students will be able to use their understanding of the fundamentals to:
- Engineer simple haptic interfaces
- Critically evaluate the pros and cons of haptic interfaces for virtual and telerobotic applications
- Progress to academic or professional research and development in the control, modelling, and design of haptic devices and teleoperator systems.
Learning Goals
By the end of this course, students will be able to:
- Know the different ways haptic feedback can be presented through kinesthetic devices and tactile devices
- Understand how to program different types of force feedback haptic effects including: a virtual wall, a box, a sphere, spring-damper, friction, and simple textures
- Understand and apply the mechatronic design approaches to engineering haptic devices by considering factors such as: mechanical leverage, sensor resolution, sampling rate, device and virtual friction and damping, time delay, to balance transparency and stability
- Understand how to characterize and test haptic devices by quantify perceptual thresholds such as the just noticeable difference using experimental techniques such as the staircase method and two alternative force choice paradigms.
- Model and analyze human-in-the-loop robotic control systems using computational simulation
Pre-requisites
Students should have taken introductory controls or signal processing (e.g. ECSE 246/304, EMAE 350/351, EBME 308/309). The mechanical principles of haptic devices are at the level of PHYS 121/123. Students should also possess foundational programming skills at the level of ENGR130/131 so that they can program simple if/else statements, for and while loops using Arduino and MATLAB. Embedded programming experience is useful but not required as it will be introduced (e.g. ECSE 303). If you have questions about whether your course background sets you up well to take the course, do reach out to Zonghe.
Since this class covers material at the interface of electrical and mechanical engineering, it is natural that some students will possess depth in mechanical aspects, while others will possess depth in programming and/or control aspects. Interdisciplinary collaboration is encouraged and beneficial to completing the lab assignments in a timely manner.
Course Structure
The course will consist of bi-weekly lecture/activity sections led by the main instructor. Students will be expected to attend these sessions and participate actively in class discussions and hands-on activities. In the first half of the course, assignments will help students apply and consolidate specific concepts presented in lectures. In the second half of the course, students will present on an advanced topic on haptics in their area of interest, and apply their knowledge to develop a hardware-based fin project.
Sample Course Schedule
| Week | Lecture Topics | Assignment | |
|---|---|---|---|
| 1 | Course Introduction | Human Tactile Perception and Haptic illusions | Survey |
| 2 | Kinesthetic Haptics 1: Design and Kinematics | Kinesthetic Haptics 2: Modeling and Control | Assignment 1: Device Kinematic Modeling |
| 3 | Kinesthetic Haptic 3: Sensing and Actuation | Kinesthetic Haptics 4: Rendering | Assignment 2: Haptic Device Dynamic Simulation |
| 4 | Hapkit Assembly | Kinesthetic Haptics 5: Multi-DOF devices | Assignment 3: Haptic Rendering |
| 5 | Kinesthetic Haptics 6: Multi-DOF rendering | Teleoperation: Control | Assignment 4: Control Analysis and Vibrotactile Haptics |
| 6 | Teleoperation 1: Transparency and Stability | Teleoperation 2: Stability Techniques | Assignment 5: Teleoperation and VR Rendering |
| 7 | Project Discussion, Examples | Tactile Haptic Devices | Assignment 6: Teleoperation Stability and Project Proposal |
| 8 | Human Interface Validation | Perform Human Subject Study | |
| 9 | SPRING BREAK | SPRING BREAK | |
| 10 | Experimental Statistics 1 | Experimental Statistics 2 | Assignment 7: Experimental Statistics |
| 11 | Project Proposal Feedback 1 | Paper Presentation Session 1 | |
| 12 | Paper Presentation Session 2 | Paper Presentation Session 3 | |
| 13 | Paper Presentation Session 4 | Free Working Day | |
| 14 | Project Check In Session 1 | Project Check In Session 2 | |
| 15 | Free Working Day | Project Demo Day | Final project report due |
Course Gallery
Hapkit Assembly

Bilateral Hapkit Teleoperation Over Case WiFi (Assignment 6)
Haptic Display of a Virtual Mass Spring Damper Object using the Hapkit (Assignment 6)
Haptic Display of a Virtual Wall using the Hapkit (Assignment 6)
Project Demo Day
