Motor type for VR glove force feedback

Hi everyone! I am not sure if this is the correct place for this post, sorry if it isn't.

I've seen some force feedback/haptic gloves mainly used for VR and thought it would be a cool idea to implement it using an Arduino. Here is an example.

In the video, it is mentioned that the product is using servos. I thought about using the SG90 servos to hold your fingers in a calculated position using flex sensors and such. But I'm not sure how you would be able to move your fingers freely because rotating the servo by hand is 1) hard to turn and 2) might break the servo's gears. Is there any other motor type that can do this? Or am I looking at the problem the wrong way? I also thought about some way to engage and disengage the servo mechanically, not sure if that would work. Especially because I have no knowledge at all in mechanical stuff. Any help is appreciated. Thanks!

you use springs+wire to decouple and measure the force.

zwieblum:
you use springs+wire to decouple and measure the force.

I’m sorry but I don’t understand you quite well. What do you mean by “decouple and measure the force”?

Basicly the same methode your tendons and muscles work, just muscles are servo+spring fully integrated.

Alright. Thanks!

Well the problem is measuring force isn't easy. Its easier to sense position, and perhaps thus the extension of a spring, but its all rather complex.

What you can do is monitor the current to each servo - that will tell you how hard its working (ie the force involved), but not the direction its working. Also current waveforms in a servo will be rather noisy and need some low-pass filtering.

Taking apart a servo might allow you to bring out the motor's wires to an external current shunt resistor so you can measure the force and direction - but note this requires a floating current shunt amplifier setup.

It might be easier to use a micro-motor directly and implement your own servo loops anyway.

@ measuring: Just use a strain gauge :)

MarkT: Taking apart a servo might allow you to bring out the motor's wires to an external current shunt resistor so you can measure the force and direction - but note this requires a floating current shunt amplifier setup.

Hmm.. This looks promising! I might try this and report how it goes, even though I have no idea what 'floating current shunt amplifier' means. I know that shunts are used to measure current but I don't know about 'floating' current.

Thanks for your answer! (Btw I got another idea to make this work, if it works I will update)

Current shunt resistors only have small voltages across them, else they would heat up and take power away from the load.

Thus you have to amplify the voltage across them to get good measurements.

If neither end of the resistor is at ground you'll need an amp to handle a floating input - a differential amp.

Floating means the voltage isn't tied down, you have to go with it.

https://en.wikipedia.org/wiki/Differential_amplifier#Operational_amplifier_as_differential_amplifier

I really appreciate the explanation! Especially because most of my knowledge is programming and little electronics. I have wired a multimeter in between the small motor in the servo and its PCB. I got some readings when it is moving (obviously) and when I am pushing on it slightly. There is a small current that makes the servo kind of vibrate in place using around 20 mA. I don't think that would be much of an issue later on if I consider the direction and use a threshold when measuring the current.