2026-Group 16

Caption:
Put a representative image
of your project here.
Project Title Goes Here
Project team member(s): Allison Sample
Give a one-paragraph description/summary of the project, which includes information like the motivation for the project, the goals of the project, and the resulting implementation and success of the project.
On this page... (hide)
Introduction
Explain the motivation for your project in terms of the educational objectives and why your haptic device is an appropriate approach.
Background
Explain the relevant prior work in the field of haptics and provide references. These will likely be different from the references in your project proposal. Make sure to do a thorough literature search on relevant haptic devices/application.
Methods
Provide a detailed description of your project, such that another student from the class could generally re-create your project/experiment from the report if necessary. (You don't need to document every screw, but the design should be clear.) Add images and videos as needed to support the description. You can refer to downloadable drawings and code in the "Files" section (later). You should divide this section into subsections, which can vary depending on your particular project. Here is an example set of subsections:
Hardware Design and Implementation
System Analysis and Control
Demonstration / Application
Results
Describe the results, which may include qualitative responses from users at the open house.
Future Work
Describe how your system could be tested (e.g., through experiments if you have not already done so), how it can be improved, and how it might be applied.
Acknowledgments
Here you can list any individuals or groups who helped you with your project. (e.g., another student in the class, a course assistant, or an especially helpful PRL TA). Optional, so delete this section if you aren't using it.
Files
Code and drawings should be linked here. You should be able to upload these using the Attach command. If you aren't willing to share these data on a public site, please discuss with the instructor. Also, in this section include a link to a file with a list of major components and their approximate costs.
References
List the referenced literature, websites, etc. here.
Appendix: Project Checkpoints
Checkpoint 1
Preliminary Prototyping and Proof of Concept:
Our group was uncertain about the effectiveness of our proposed setup, and so we constructed a simple functional prototype to test the concept and potential design options.
Our prototype consisted of two eccentric rotating mass (ERM) motors, two different solenoids, and the Hapkit board.
The two solenoids were powered by the hapkit’s two motor drivers. Though this meant the solenoids could only be powered with 5V even though they were nominally 12V solenoids, the actuation force generated was adequate for testing and reduced system complexity. The ERMs were powered directly from the hapkit board.
To test our proposed project concept, one member of our group had ERMs taped to their fingers. Based on the results of prior work (https://hal.univ-lorraine.fr/HAID2020/hal-02901205v1), we initially tested a ramping vibrotactile sensation over a short period followed by a short hold at maximum intensity to signify when a valve depress should occur.
The two solenoids we found in the Charm Lab were compared as potential valve options. We found that one was too weak and heated up quickly, while the other had neither issue. The solenoid was used in the prototype to signify when the user should release the note. After the ERM ramp was completed, the user depressed the valve (solenoid), and held it for some amount of time, the force exerted by the solenoid would ramp quadratically. This was also found to be effective at conveying information to the user.
Finally, we tested the use of haptics on two fingers simultaneously, and with overlapping stimuli. We found that stimuli was still helpful and parseable within a reasonable amount of overlap, and that having stimuli going to both fingers was not overly confusing. While ideally we would like the final device to utilize three fingers, we did not have a third solenoid to test with and are convinced from the two finger test that the concept has a reasonable chance to scale well to three fingers.

Initial Dynamics Modeling:

The valve was modeled as a mass m_v with forces from the solenoid’s spring k_v*x_v, natural damping b_v*dot{x}_v, input force as a function of voltage (and potentially position, ignored for the current analysis) f_v, the finger’s natural “spring” force k_h*(x_h-x_v) and damping force b_h*(dot{x}_h-dot{x}_v). This therefore gives equations of motion as follows:

The state variables to fully describe the system are x_h, dot{x}_h, x_v, and dot{x}_v. The output variables are x_v and dot{x}_v. The input variables are x_h and f_v. Therefore, the state-space model is as follows:



We found that the system is not inherently stable, so careful consideration must be given to both the full range of possible user inputs and the selection of the solenoids.
Preliminary Arduino Code for Checkpoint 1:
To test our proposed setup, an Arduino sketch was developed to actuate two ERM-motor pairs sequentially, with distinct ramp-up and ramp peak hold times for the ERM and solenoids respectively. The duty cycles for the solenoids and ERMs were tuned. The sketch enabled us to test our concept on one of our team members (Ilana) to ensure that the concept is feasible. Our Arduino sketch code for Checkpoint Week 1 is uploaded on on a public GitHub repository: Checkpoint Week 1 Code
Next Steps:
Following the successful proof of concept, we will now transition to our final system design. We will CAD and manufacture a mount and valve caps for the solenoids, ergonomic finger mounts for the ERMs, and a robust, soldered wiring network between the actuators, motor drivers, and microcontroller. We will also source and integrate a time of flight or similar sensor to collect data on when the user plays a note.
Additionally, we will improve the control system code to enable easier refinement of experimental parameters, potentially using object-oriented programming to abstract the ERM-motor pairs, and the programming of haptic stimuli corresponding to music. In combination with this, we will begin programming a user interface using Unity engine which communicates with the microcontroller to display to the user what notes they should play and their performance. Also, we will integrate audio feedback as each note is played.
Finally, we want to expand on our analysis of the system dynamics to look at system stability under different operating and design conditions. This could be used to influence our physical system’s gain selection, or we can use our physical device to validate our analytical modeling.
Checkpoint 2
Here you will write a few paragraphs about what you accomplished in the project so far. Include the checkpoint goals and describe which goals were met (and how), which were not (what were the challenges?), and any change of plans for the project based on what you learned. Include images and/or drawings where appropriate.
Example Video: https://www.youtube.com/watch?v=i_aLBql4Ufo

