United Kingdom
Asked

Auto Positioner

Hi, I am still very new to all this but have actually learned how to use Auto Positioner to open and close my robotic hand, using just two frames.

I have been trying to now make my robotic hand, which conists of four fingers and a thumb, to create a wave motion, where all the fingers open then close again, but with a delayed start between each finger, thus creating a wave motion of the fingers.

I was hoping to be able to use two frames for each finger, open frame and close frame, then run them as I did with a full hand open and close as detailed at the start, but delay the start of each frame to create the desired effect.

To date, I have been unable to find out how to achieve this, so I have had to leave all 5 servos on screen, then create around 50 frames, telling each servo what position to take at each frame, which is quite a long process and can start to get complicated, working out all the required servo positions individually for every frame.

Is there a way I can say, create a routine for each finger, which would consist of only two frames per finger, open and close, then be able to arrange to run these routines as mentioned to create the wave motion of the fingers opening then closing?

Any help would be greatly appreciated.

Thank you.


Related Hardware EZ-B v4

ARC Pro

Upgrade to ARC Pro

ARC Pro is more than a tool; it's a creative playground for robot enthusiasts, where you can turn your wildest ideas into reality.

United Kingdom
#9  

Hi, I have tried setting a longer delay, but then the hand only moves signficantly slower and loses it smooth motion.  When I set it to 0ms delay, and as you saw the servos moved at lightening speed, how can such a signifcant speed difference occur bewteen a setting of 1ms and 0ms?

Also, before asking this question, and reading through all the help tutorials and video examples, which did not offer any help in regard to my current problem, I then thought, ok if 0ms at a speed setting of 0 runs ultra fast, surely setting the speed setting to say 2, would compensate and slow down the motion of the servos, however upon trying this, the hand does not even complete the routine, it simply moves a few degrees then back again, which I know must be my fault but I do not understand how or why?

Finally, my original question was can I make the finger wave routine in a more efficient way, using less than the 17 frames I created as shown in my video please?

Thank you for any assistance you can provide.

:)

PRO
Synthiam
#10  

I believe you are experiencing the limit of the servo resolution. The steps is set to 1, so that means the servos can’t be any smoother than that. Pwm servos don’t have a lot of resolution - you’d have to get into a more expensive servo like robotis dynamixel

you can also experiment with the speed setting. Put it to 1 should be enough. That’ll try to smooth the pwm transition

PRO
Synthiam
#11   — Edited

Oh and to answer your question - zero is millisecond means no millisecond. Zero is like saying nought in Britain:) I’m a top gear fan so bonnets and knickers lol

when zero is specified - there’s no code at all for delaying. When a number other than zero is specified, there is code to calculate delay. So essentially by having zero, there’s no code. When you specify 1 or a small number, you’re delay is actually the time it takes the operating system to generate the code objects for a delay. I can’t tell you what the lowest actual delay can be because it’ll be dependent on the computer cpu speed and the number of programs running. This also includes any programs in the task manager or system tray. And services. And anything else that’s running on the computer. They’re all sharing the same cpu

Computers don’t have real-time operating system features - so you kinda can’t do anything with that much accuracy. It takes about 1ms to initialize the code, let alone actually wait 1 ms

United Kingdom
#13  

Thanks for the replies.  I am currently suffering with a migraine so will not be able to further test for a few days.  As soon as I am able I will be performing additional tests and if applicable, will video my results to help with any further questions I may have.

Many thanks,

:)