Welcome to Synthiam!

Program robots using technologies created from industry experts. ARC is our free-to-use robot programming software that makes features like vision recognition, navigation and artificial intelligence easy.
Get Started

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-Robot EZ-B v4
United Kingdom
#2  
Hi EzAng,

Thank you for your prompt reply and offer of help.  Unfortunatley this does not answer my question, but I do appreciate you trying to assist me, thank you.
:)
#3  
mav2k9

an open finger is always 90 degree   , excample servo(d9,90) is open
                                                                             servo(d9,100 ) can be close or servo(d9.70) depends witsh side left or right

depend how far you want the finger to close.you can see that in your auto position.
5 fingers means 5 servo's in auto position.
United Kingdom
#5  
Hi all,

Yes I have watched the video tutorial and read the guide.

I will video my current setup, showing what I have done so far, as they say a picture can speak a thousand words.  I will provide a youtube link to my video for your help as soon as I am able this week.

Many thanks
:)
Synthiam
#6  
Excellent:) 

also, this video might be useful...

United Kingdom
#7  
Hi All,

As discussed, here is a link to a video showing my ARC setup and my project hand being controlled.

https://youtu.be/pD_8BCSeA2k

Please do not pay any attention to my frame names etc, they are not named in keeping with what they are doing, this is because I have been performing lots of tests to get it working to this stage, however the actions are appropriately named.

The video does clearly show all the information I hope you will require to see what I have done and how it is working.

Your help is always appreciated and if you have any further questions or need any further information please just let me know and I will try to provide it for you.

Many thanks,
:)
Synthiam
#8   — Edited
The delay is set to 1 for all frames in the action. As the question mark text reads, the delay is how long to delay between servo movements 

1 ms is almost non existent delay. Set the delay to either the recommended default setting or something higher than 1. Much higher than 1.

Im pretty much repeating what’s in the help, question mark hover text, and video tutorials:)
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.
:)
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
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,
:)