CHARM LAB ME327/Avinash And Chris

Avinash And Chris

Fun with Friction Final Design

Fun with Friction

Project team members: Avinash Balachandran and Chris Ploch

College educators have indicated that many incoming students have trouble understanding the concept of friction. For our project, we built a device with which students can interact and learn more about frictional forces in different environments and the effect of normal force on friction. Our device consisted of an actuated 1 DOF block that students interact with while varying parameters related to friction. Frictional forces are rendered and displayed directly through the block. The normal force being exerted is measured so that students can investigate how this affects the frictional force felt. Through these tasks, we expected that students would gain a more intuitive understanding of friction. We received positive feedback from students and teachers at the Haptics Open House about the educational value of our device. Students were able to connect what they had learned about friction in school with what they felt from our haptic device.


Physics is a fascinating field. At its most fundamental, it aims to explain the natural world and helps us understand many of the phenomena that we see every day. However, one common issue is that despite explaining everyday phenomena, physics is not easy to teach in an intuitive way. In particular, when physics concepts are not taught with easily identifiable demonstrations, students find that they are unable to connect concepts presented and gain intuition into the problems. In our project, we aim to make clear one of these concepts, namely friction, using the aid of a haptic friction rendering device. The user will be able to vary the coefficient of friction and the normal force and investigate how these parameters affect friction. Different friction models will also be implemented to show the user that various friction models exist.


Our team spoke to an educational professional (community college physics professor) to find out what concepts incoming freshman in his class had problems grasping. One major area in which he said students had problems was the concept of friction. One issue we identified as causing confusion was the difference between ideal and non-ideal systems when it comes to friction. Traditionally, students have trouble correlating real world friction intuition that they have already with idealized (frictionless) systems. For example, students have problems realizing that in a frictionless system a block will ‘feel’ the same when moving it despite its mass. This is obviously not true for a real system, so students’ real world intuition clashes with this concept, making it hard for them to grasp. Another area in which students have problems is understanding the difference between normal force and weight. Many students assume friction is directly related to weight rather than normal force, which is incorrect. Lastly, we identified that students tended to view the friction models they were taught as set in stone. They failed to realize that it is an approximation of actual friction and that different approximations and models exist. These were the three main aspects of friction that we intended to shed more light on.


Basic concept

The basic concept for the our system was to create a low friction and inexpensive linearly actuated haptic device as illustrated in Fig 1. The user would be able to interact with the linearly actuated portion of this device and the actuator would render different levels of friction for the user to feel. The user would also be able to interact with the device via a linear potentiometer and force sensor to control the coefficient of friction and measure the normal force applied onto the device.

Fig 1: Linear Actuation Design


The hardware is split into two main components: the linearly actuated system and the enclosure. The enclosure was designed in SolidWorks and the components are found in the files section. It was then lasercut and put together using hot glue and wood glue.

insert CAD drawing

The linearly actuated system consisted of a dc motor and capstan drive used to actuate a linear sleeve-bearing carriage on a guide rail. The friction forces were rendered and displayed to a linearly constrained block that the user could interact with by sliding it back and forth and exerting downward force onto it. This kind of bearing worked well because it had relatively low friction by itself. As seen in the figure below, the ends of the cable of the capstan drive were attached to a straight piece of acrylic that was fixed to the bearing. This piece of acrylic acted like the drum of a regular capstan drive, except it was straight instead of round. The rotation of the motor shaft caused the bearing to travel along the rail linearly, and allowed lateral forces to be exerted on the block.

Fig 2: Prototype Linearly Actuated System


The electrical system consisted of connecting 4 sensors to an arduino board. They are the encoder, switch, linear potentiometer and force sensitive resistor (FSR). The switch, potentiometer, and FSR are shown in the image below:

Fig 3: Electrical Components


The encoder was interfaced with the Arduino using the same interface we used in lab. We connected the A and B encoder channels to pins 2 and 9. We then used the encoder library to read in the signal.


The switch was connected to pin A1 through a pull down resistor. This avoided the pin floating when the switch was not depressed.


The linear potentiometer was connected to a standard voltage divider circuit. The potentiometer had a 10 kohm resistance so the 2nd resistor in the voltage divider also was 10kohm.


The FSR was connected to a standard voltage divider circuit. Based on its spec sheet, the 2nd resistor was also 10kohm. This was what was recommended in the spec sheet for the FSR.


The software is attached below. It is written in the Arduino script. For the project, two main friction models were implemented:

Traditional Model:

This model took in the normal force and coefficient of friction as inputs from the FSR and linear potentiometer, respectively. This information was then used to generate a friction force. At low friction a simple friction compensation algorithm was designed using the FSR as an input. The algorithm would aid the user in moving the slide depending on the normal force.

Karnopp Model:

The Karnopp model used depended on velocity. It gave a force vs velocity graph as seen in the figure below. This was scaled using the coefficient of friction and normal force to ensure that it matched our intuition about the effect of the coefficient of friction and normal force on friction force.

Fig 4: Karnopp Model Used


Overall, we were satisfied with our finished device and we received positive feedback during the Haptics Open House. It was able to provide a compelling simulation of the F =μN model. The majority of the students who tried it seemed interested once they realized how it worked, and many seemed to make the connection between the effects of adjusting the model parameters with their previous knowledge of friction from school. Through the student voting, we received feedback that our device had relatively high educational value. We also had good results when we provided a task where the user would stop a moving block by tuning the friction coefficient parameter. The teachers who tried it were generally enthusiastic that the device provided an intuitive way to explore the commonly taught Coulomb friction model, as well as the ability to simulate other models. The Karnopp model we simulated was also well received, and users remarked that they could feel the transition between the static and kinetic friction regions. However, the improvements were somewhat subtle, and it would have been desirable to also use the modified Karnopp model described by Richard (2000). This model unfortunately required us to calculate the acceleration of the moving block, and this value turned out to be too noisy to use.

Future Work

It would be advantageous to have access to a good measurement of the acceleration of the block in order to render the modified Karnopp model and other models requiring this value. To improve our device, we could find a way to determine acceleration, either by applying a robust filter to our acceleration calculated through differentiation, or by measuring acceleration directly with an accelerometer. The mechanical design of the device could be improved by finding a way to better constrain the sleeve-bearing carriage onto the rail, so that it does not wobble or tilt from side to side. A lower friction carriage, such as a ball-bearing carriage, would also improve the device, though it would increase the cost.

It would be valuable to test our device to determine if it is helpful in teaching students about friction concepts. The test could consist of teaching two groups of high school students who have not yet studied friction concepts about the Coulomb friction model, and providing additional tasks for them to complete using the haptic device. We could then test if there was any significant difference in learning the concepts between the two groups. A Fitts' Law test could also be conducted to see if the simulated friction affects performance in the same way that real friction does. This is similar to a test conduced by Richard (2000).

The intended application for this device is primarily to teach students about friction by providing them with an intuitive sense of how it is affected by parameters such as normal force and the friction coefficient. The device can be built at a relatively low cost. The methods and models used in this device may be applicable to future haptic devices that are not limited to education as well. Since friction is such an important phenomenon in our everyday lives, being able to render it realistically will be an important requirement for many haptic devices.


This project benefitted from discussions with Joe Lowry, a physics professor at Oakland Community College.


Arduino Code


Solidworks CAD Files

Bill of Materials


Linear Bearing:





1. Richard, Christopher. On the identification and haptic display of friction. Diss. Stanford University, 2000.

2. J. Minogue and M. G. Jones, “Haptics in Education: Exploring an Untapped Sensory Modality,” Review of Educational Research, vol. 76, no. 3, pp. 317–348, Jan. 2006.

3. H. Olsson, K. J. Astrom, C. C. de Wit, M. Gafvert, and P. Lischinsky, "Friction models and friction compensation", Eur. J. Control, vol. 4, pp.176 -195, 1998.

4. U. Besson, L. Borghi, A.D. Ambrosis, and P. Mascheretti, How to teach friction: Experiments and models. American Journal of Physics, 75(12): 1106–1113, 2007.

5. M. Reiner, Conceptual Construction of Fields Through Tactile Interface, Interactive Learning Environments, 7:1, 31-55, 1999.

6. R. L. Williams, M. Chen, & J. M. Seaton, Haptics-augmented simple-machine educational tools, Journal of Science Education and Technology, 12, 1–12, 2003.

Appendix: Project Checkpoints

Checkpoint 1


1) Design low friction actuation mechanism for block ---> Done

2) Design Enclosure ---> Done

3) Create drawings for laser cutting ---> Done

4) Purchase required electronics/parts for device ---> Done

5) Use Lasercutter to cut pieces ---> Not Done (Will be complete on 26 Nov Mon after break)

Goal 1

Instead of using a belt drive mechanism as originally intended, we decided to use a dc motor and capstan drive to actuate a linear sleeve-bearing carriage on a guide rail. This kind of bearing turned out to have relatively low friction, which is desirable for this project. A sketch of this design can be seen in the following figure.

The ends of the cable of the capstan drive will be attached to a straight piece of acrylic that is fixed to the bearing. This piece of acrylic is like the drum of a regular capstan drive, but it is straight instead of round. The rotation of the motor shaft should cause the bearing to travel along the rail linearly.

Goal 2

The design of the enclosure is done. We plan on using lasercut Masonite as the frame for the enclosure. Each piece was cut with 1" tabs so that they would lock together. The top piece is show below as an illustration.


The main challenges here were trying to fit our dimension constraints (we can only lasercut 24"x18" at the TLTL) while ensuring that the block on our device still had enough travel to give a meaningful experience to the user. Since we are using a long linear bearing and capstan drive mechanism, we also need to ensure that the mechanism fits inside the enclosure. The last point to note was that we took into account the thickness of the laser in our drawings (we asked Nick and he said about 50 thousands was a good guess) so that we would have a good fit.

Goal 3

We completed the CAD drawings of the parts that we plan to laser cut. The drawings are shown below:


Enclosure Top:

Enclosure Bottom:

Enclosure Sides:

Motor Mount:

Goal 4

Linear Bearing:

We obtained a linear bearing for our actuation mechanism. We managed to get this for no cost as we obtained it from one of our labs. The part was previously obtained from Mcmaster-Carr. A link is given below:


A force-sensing resistor will be attached to the top of the block so that the user’s applied force can be measured, and the wiring from the resistor will have to be attached to a microcontroller inside of the enclosure. We were able to obtain the force-sensing resistor from the teaching team. Details of the sensor can be seen in the link below:


The potentiometer which will allow the user to adjust the friction coefficient has also been ordered and we are waiting for it to arrive. The details for this sensors can be seen in the link below:


A SPST button was also purchased to allow users to initiate the test mode on the device.

Misc. Electronics:

We may also need misc. resistors/capacitors for filtering, voltage dividers, etc. We intend to get this on an as needed basis and will purchase them from RadioShack/Fry's etc.

Goal 5

Unfortunately, we were not able to obtain our Masonite in time to begin lasercutting this week. However, since we already have all our drawings prepared, the actual cutting should be pretty straightforward and relatively quick. We intend to cut all our pieces on Mon (26 Nov) at the TLTL.

Checkpoint 2


1) Use Lasercutter to cut pieces ---> Done

2) Put together basic frame ---> Done

3) Build preliminary linear actuator mechanism ---> Done

4) Design electronics architecture ---> Done

5) Interface electronics with Arduino ---> Done

Goal 1

At the last checkpoint, we were unable to laser cut our complete designs. We did this on 26 Nov. However, our first iteration of our design had several dimensioning flaws in the tab design. We redid the drawings and laser cut a second batch. This batch works well and the tabs fit well.

Goal 2

Once we completed the laser cutting, we put together our device. Everything fits and the dimensions are correct. However, we did not glue together the Masonite pieces yet as we are still working on implementing the final linear actuator system which is mounted on the base plate. If we glue everything together now we will not be able to work on the base plate easily.

Goal 3

Based on our design from the last checkpoint, we built our preliminary linear actuator mechanism. This was used mostly as a proof of concept. As you can see in the images below, some parts have not been lasercut yet and were made of Styrofoam. The reason for this was that we need to tune the height of the linear bearing to ensure that we minimize friction. We did this by prototyping different heights using the Styrofoam. We also used tape to hold down the mechanism as we tested it. The initial tests showed that this mechanism worked. We will now laser cut the final mounting pieces and secure it firmly to the base plate

" "

Goal 4

The basic electronics architecture was designed in altium designer. We have 4 inputs. They are the encoder, switch, linear potentiometer and force sensitive resistor (FSR).

The switch, potentiometer, and FSR are shown in the image below:


The encoder was interfaced with the Arduino using the same interface we used in lab. We connected the A and B encoder channels to pins 2 and 9. We then used the encoder library to read in the signal.


The switch was connected to pin A1 through a pull down resistor. This avoided the pin floating when the switch was not depressed.

Linear Potentiometer:

The linear potentiometer was connected to a standard voltage divider circuit. The potentiometer had a 10 kohm resistance so the 2nd resistor in the voltage divider also was 10kohm.


The FSR was connected to a standard voltage divider circuit. Based on its spec sheet, the 2nd resistor was also 10kohm. This was what was recommended in the spec sheet for the FSR.

The entire schematic can be seen in the link below:


Goal 5

All the electronics we ordered arrived by 26 Nov. Using these we were able to fabricate the circuits designed above.

The entire electronic system is shown below:

The arduino, motor shield, and power board we created is shown below:

Checkpoint 3


1) Complete Hardware Assembly ---> Mostly Done

2) Ruggedize Electronics --> Done

3) Complete Software Algorithm ---> Done

Goal 1 Most of the hardware set-up has been completed. The image below shows the final product:

The finger slider (shown in black) is complete and interfaced with the force sensor (FSR). It is shown in the image below:

The linear actuator mechanism has been built and has relatively low intrinsic friction. The linear potentiometer and the push button have also been interfaced with the Arduino and have been mounted to the back plate as shown below:

There are 4 further minor hardware changes that are necessary.

Firstly, the linear guide rail needs to have mechanical stops to ensure that participants do not go beyond the capstan limits and damage the capstan. This will be done by mounting fixed slides on both sides of the mechanism to ensure that it does not go beyond that point.

Secondly, currently tape is used to hold down the linear rail. This was done to ensure that we still had flexibility in moving the linear rail while adjusting the capstan drive. Since this is now down, we will mount these more permanently using double sided tape or glue.

Thirdly, we need to create some labels for the linear potentiometer and push button to indicate what they are.

Lastly, we need to ensure that there is a hole on the back side to allow for power cables to be routed to the system. This will be done using a simple drill or mill.

These will all be complete by Saturday.

Goal 2

This was done by ensuring that all connections worked with the current circuit architecture and then the circuits were covered in hot glue. They were then tested to ensure that the connections were not loose and that they still worked. The results is that the system can now operate under significant lateral force.

''Goal 3'

Three algorithms were designed. They are the standard friction model using F=mu*N, the evaluation model which tested the user and finally the Karnopp Model introduced in class.

First Algorithm:

The standard model used input from the linear potentiometer and the force resistive sensor to render frictional force proportional to the normal force exerted by the user (F = uN). The friction coefficient can be varied by the user by adjusting the linear potentiometer. This is the basic model for friction that most high school students have been taught.

Second Algorithm:

The second algorithm is meant to test what the user has learned about the first model. A constant external force is applied to the block, and there is also a constant normal force acting on the block. The user adjusts the friction coefficient using the linear potentiometer until the block stops moving. This tests that the student understands that friction opposes motion and is proportional to the friction coefficient.

Third Algorithm:

In order for students to have a different model to feel, the Karnopp model will also be introduced. It will be rendered using the algorithm introduced in A2. This will be the third mode and the point of this will be to emphasis that all friction models are an approximation and that there are many models out there.