Asked — Edited

Servo Speed (Delay,Steps,Speed)

I'm trying to coordinate accurately the joint movements of a walking robot. So I need to understand how to control servo movements with ezb. Writing an Action, I find delay , steps , and speed. I understand well how a servo works. It's obvious for me what delay and steps mean, i.e I can send the command in steps , and set the delay between steps, in a staircase, approximating a sort of ramp. So the servo will execute each step, and after the delay it will execute another one, etc. The actual time to complete the transition will be the result of these settings and of the speed of the servo itself, a mechanical characteristic built-in each servo. I don't understand what else could affect this process.

I don't understand how the "speed" setting works and how to use it. To my knowledge there is no way to change servo speed (except, off-line , with digital programmable servos, by special programmers). It seems it works introducing further delays, so slowing down the movement . But this way the process might not be completed within the time set to execute the next step , and the action transition will not be complete. This happened in my experiments. Can someone explain how to use these settings ?


ARC Pro

Upgrade to ARC Pro

Don't limit your robot's potential – subscribe to ARC Pro and transform it into a dynamic, intelligent machine.

PRO
Synthiam
#1  

Servo speeds are adjusted by the option that you are referring to. Hover over the question mark next to the option to read about it. Also, each control has a question mark next to be X close. Press the question mark and view the manual for the Auto Position control

Many people set the servo speed to a 1 or 2 to work as a slight buffer. Otherwise, hover over the question mark next to the Speed option to read what the options mean.

I can't write anything better in this response that is not in the hover question mark option. Have fun!

#2  

Hi, DJ. Of course I had read carefully all question marks, ezb manual, etc. and made experimentation to see what actually happens. I have found that if I set, for example delay to 25 mS, step to 3, speed to 10 , the steps are performed so slowly that the transition cannot complete. After 25 mS, there must be the next step, but the current one is not yet completed ! In other words, you cannot adjust delay , step, and speed, as you like, because in some istances the action may be non complete, and your robot may behave unexpectedly. This is unpleasant when testing a large walking robot ! It's necessary to coordinate the three parameters , studying well what each combination chosen might cause. The work would be easier if ezb software itself could coordinate the three settings, warning the user and preventing the risk to produce non complete actions . A suggestion for an improvement ?

#3  

Hi leonardo46,

I had the same issues trying to figure out the delay , step, and speed system. There is a learning curve but after a little studying and some experimentation I was able to understand the way each setting works. What also helped was for me to read some old threads where people (including DJ) were discussing these settings.

I'm not sure but I'd think that the "improvement" you're suggesting may not be possible. Everyone's robot has different motors, motor speeds, weights and leverage requirements. The stand alone ARC software wouldn't know about all that unless there's a way to enter these values in manually. Until that feature or some type of auto tune in created I think we're going to have to study, learn, experiment and supply the human touch. :)

PRO
Synthiam
#4  

The Auto Position is unaware of the servo speed, as Dave suggested. If your transitions don't complete using the ridiculously slow speed value of 10, then add PAUSE between frames to assist.

Have fun!

#5  

Hi, Dave. I agree human touch is always essential ....but it needs help, and Ezb is there to help human touch. Obviously I didn't imagine some new release of ezb capable of auto-setting himself to suit the robot I or somebody else had made ( with its own geometry, weight, inertia, servos, etc.) I tried experimentally various settings, and found that some settings are in conflict between them. I gave an example in my previous post. If you, when writing an action, set delay=25 mS, step=3 and speed=10 in a frame , the servo moves slowly , but the movement ends before the final position for that frame is reached. That's because this slow speed is not compatible with the delay of 25 mS and 3 steps. My idea was that ezb should warn the user in these instances, to prevent wrong execution of frames and an unpredictable behavior of the robot.

#6  

Hi, DJ. I had tried adding a long pause , but this doesn't help, with those settings the transition is always not completed. 10 is too slow, but I don't really need it. I was simply making experiments to see what I could do using the settings , and discovered that with those settings the transition was not completed . That was my issue , and I suggested that ezb could warn the user in such instances, preventing wrong execution of the frames in which those settings are. By the way, I can do everything without using the speed setting. It's not really necessary. I'll have it always=0 or 1 or 2.

PRO
Synthiam
#7  

Please use values that correspond to your animation requirements. Even though there are extreme values, for rare requirements, it's best to use values that meet your requirements.

For example, your refrigerator has a tempature adjustment setting that can either freeze the contents, or it can melt the contents. You set the tempature of your refrigerator to a setting that suits your cooking requirements.

Have fun!

#8  

I agree, I was exploring ezb potential .