Vibro to linear (working)

I thought it might be a nice little fun project to make a python script to convert vibrator scripts to linear (handy) scripts. This has been done before but i thought it might be fun to try and see what happens. The results look a lot better than what i imagined it would work. First I tried i more primitive approach by just changing the frequency of a sine wave, but then i realized that frequency modulation is required to get a smooth curve out. The results look very nice, here are three regions. First a slow ramp in steps:

Then a decrease in to speed to a stop and a peak:

And finally, a part that i would be sure would go wrong:

A kind of ‘stroking’ in the script itself. which goes nicely from slow to fast

A little bit on how it works: the frequency of the wave is taken as position of the vibrator script, 0 means no handy movement 100 means max speed (okay not really max max, i took it at 400 mm/s based on this forum - and if my calculations are correct)

There is one final problem my converted script has waaay to many points one every 20 ms - this is still work in process. I would like to take multiple points per sine wave to little smoothness it lost. Any tips?

Update! now it’s working!

unfortunately i can’t test it yet due to lack of privacy but curious if someone else would like to try it (feedback is very much welcome)

The “reaaaaaly smooth” curve isn’t really needed. With mechanical inertia going on, the Handy will not exactly reproduce your curve anyway.

So you can simplify in two ways:

  • Just keep the extreme points (most scripts work relatively well that way)
  • Keep only the 0%,10%,90% and 100% points to “smooth out” the peaks.

I’m not sure it will make an effective difference, notably at fast speeds.

Ah thanks for the good points! I will try the second one and then post the script in some way