Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Once Again, Servo Position Once Ezb Is Connected.

Video update 7-10-2013


problem fixed!



ARC Pro

Upgrade to ARC Pro

Synthiam ARC Pro is a cool new tool that will help unleash your creativity with programming robots in just seconds!

#22  
so wait.....you keep the max and min at 50 so the servo doesn't move once the board connects to the software?

how do you get motion out of the servo?
example
max 50
min 50

on the xbox controller if I hit a certain button I want that servo to move 20 positions (either 1 to 20 or 30 to 50 etc. etc.)....how can it? (if the max and min are both 50)

as far as the slight jerk when power is attached.....I get that too, but I can live with it, for me its very slight so no damage to the robot once I attach power

just not sure what the point of centering the servo is for, if the widget is just going to drop to the min value by default.

example
min 30
max 50 center is 40

I leave the servo at center position (40) then turn off the board. and leave it.
then I re-connect the board to software and the widgets drops to min value of 30 (but the servo is still at 40)
so if I touch the widget of try to move the servo......it jump to 30 then to 40............whaddup?

if I add the script per Mr. Rich above.
(thinking out loud)

I can change the script to make the servos.....set the center value that I want based on the widget I have assigned?

therefor bypassing the default setting of the widget dropping tot he min value?

ok brain cramp!
#23  
lol I re read the script.....Mr Rich thank you.

I will do that run some test and see how it goes....I think I see what you are saying.
United Kingdom
#24  
When you disconnect the board etc. and then reconnect it doesn't know which position it is currently in so will always jump to the min value set when you first use a control to move it. I can't be 100% sure since I seldom use servo controls but if you use a script command to move the servo to a position on initialisation (i.e. Servo(D0,50)) it will move direct to there, then the control will know where it is too avoiding that initial jump.
#25  
OMG!

so, don't use the servo control, only use scripts!
This will avoid the drop to min value and just go to center (per a script) and if the servo is already at center, the servo wont move! boom! gotcha!

One last thing!

im trying to use inverted motion with multiple servos. for the eyes of the wall-e

for this I have to use a servo control and click multiple servos or use the relative servo controller.

leaving back with the min value max value problem.
United Kingdom
#26  
Well I mainly use scripts because my robots are autonomous and I have very little user interaction in their design, others may have a requirement for the servo controls depending on the application and design.

You can use multi-servos in scripts too, just put the Servo(D1,50) directly after Servo(D0,50) (or whatever), the script should run fast enough to carry out the commands in nano seconds of each other.

What I always do though is set the positions in an init script so all servo controls (I do have them, I just don't use them) know the servo position. I assume (however haven't used it for a long time so can't be 100% certain) once they are set in a script then using the controls will no longer go to min position prior to moving to the position you want it to move to, the scripts update the servo position on the servo control so clicking it and adjusting starts from the position the script put it in (if that makes sense, if not please excuse me I am running on no sleep and still incredibly buzzing from last night's Bon Jovi concert so my mind is elsewhere :)).
#27  
@hooligan, I set my min and max as needed. (Right now my arms and camera pan are 90max 10min my tilt however is 85max 30min) I use a script for centering as well because of the "center bug" with the last version of ARC's servo controls. So its just a habit when I start a new project to add Script Manager and write up a quick reset script that centers my servos. Servo(#,50) repeat as necessary. I enjoy scripting so eventually those guys are going to disappear. I just like watching the values change. Lame, I know but, what's a nerd to do?

As far as the power up issue. I guess I really don't care that much either but, I saw the subject floating around and figured I'd do some prying. Could the power up twitch be due to power supply? I've only used the battery case that came with my ez complete. Even with brand new batteries they twitch. I got a few sets of rechargeables I'm using now. Actually still on my first set. I'm wondering, if when they weaken, will my servos still jump? Or are they jumping because the 6 AA really aren't enough to power the 4 standard and 2 modified servo to begin with? Power and firmware are the only things I can think of. I've searched the forum to no avail:(
PRO
Synthiam
#28  
hoolagen, post your project here.
#29  
@rich
so, servo controls for the motion I want but the use the script to override the widget dropping to min value!

boom got it! ill try it tonight.

@antron007
gotcha...same thing as rich, use the script to over ride the widget and then I wont need to touch the widget....
again thank you.

@djsures
will do......but at the moment its just a relative servo control and a regular servo control.

The fiancée is doing something or another regarding the wedding tonight so.....I see a few hours tonight working on my wall-e

if I get this going I will post a pic of the head and neck motion....not to toot my own horn....but its pretty damn impressive.

thanks guys!
#30  
Along with the other advice give by others try this:

"Take the screws out of the servo arms, power up the system, pop off the servo arms and put them on again as close to center as possible, put the screws back in again.
The servos will always correct themselves to what they consider their default position. No matter how much you move them when there is no battery in. Unfortunately the only way to fix this is to (while the batery is plugged in) unscrew the screw and take of the servo horn and install it to correct trim. "

I found the above advice on a few RC sites with other guys having this Lurching problem. I followed the advice and it's one of the things I did to end my jumping problem. The other thing that totaly stopped my servo "lurch" was to set the servo speed on all servos to zero in the Int script that runs when ARC starts up. Put this into your INT Script for each servo Port:

ServoSpeed(D1,0)

Let me know if this helps.

Good luck and have fun:
Dave Schulpius
PRO
Synthiam
#31  
- Always initialize the servo using servo Speed set to ZERO (0)... ServoSpeed(d1, 0)

- When the EZ-B is powered up, the servos will move. That is not because the EZ-B moves them. It is because the servos move. The jolt of current causes the servos to move a tiny bit. That's something we cannot change. That's how they work:)
#32  
@DJ Thank you. That's what I figured. I can live with that. As long as I know that's normal. I have no connection issues. I'm good.

@Dave thanks for the tip. If I ever have this problem I'll know several methods to solve it.

@hooligan, Thanks for starting this thread.
PRO
Synthiam
#33  
Here is an example of how to init the servos correctly in a connection script

Code:



# Clear the servo speed for initialization
ServoSpeed(d0, 0)
ServoSpeed(d1, 0)
ServoSpeed(d2, 0)

# Move the servos into desired initialization positions
Servo(d0, 50)
Servo(d1, 30)
Servo(d2, 45)

# Set the servo speed for these servos which will be used from now on
ServoSpeed(d0, 4)
ServoSpeed(d1, 3)
ServoSpeed(d2, 4)
#34  
Thank you.

@djsures will a digital servo react the same way, in regards to the initial jolt.
#35  
I ask because, the initial jolt is more than just a small twitch...its big enough where it continues to destroy the wall-e eyes set up I have.

not sure what to do.

I have done the calibration script. and @rich script he mentioned a few pages ago....and still the initial battery jolt is killing my project.

thinking of scrapping the wall-e...and moving on to the r2

help? ideas?
PRO
Synthiam
#36  
Yeah it'll always do that no matter what kind of servo. This is because servos work on a pulse width of current. Meaning, it's not a digital signal that controls the servo - it's the length of an electrical pulse. So when you plug in a servo, you get a pulse of current - which the servo will respond too.

In short, it's a product of their behavior.
United Kingdom
#37  
The initial jolt should only be a very small jolt, can you do a quick video of the jolt you are getting? It shouldn't be enough to destroy anything.

Is there a safe position you could have the servos in so that a jolt in either direction wouldn't cause any problem? Say centre of the set positions?
#38  
thanks guys..... really appreciate the help....

@rich
I've tried to set the min and max at 30 and 70 center being 50
I set the servo at center then i power down um[plug battery.
when I re plug the battery I think the jolt is pushing the servo past the min setting of 30
I will make a video tonight.

I was also thinking (like you mentioned) Will the initial jolt always be the same?
like, will it always move in the same direction for the same amount of radius?
if so, then I will try to set the servo as close as possible to that point and re connect the battery. to see if it minimizes the jolt.

@djsures and @rich
Will a servo saver work? one with a soft spring?
I think the purpose of the servo saver arm is to protect the servo from stripping, but I think in this case it should eliminate the jolt because the saver spring will absorb the jolt? what do you think?

@djsures
what happened tot he magnetic servo saver in store.....I was thinking that would be perfect for my issue.

thanks again, I really don't want to give up on this wall-e I have the awesome set up....and can do wonders with scripts (due to @rich index) but the power up is killing my project.
PRO
Synthiam
#39  
The servo saver was discontinued by the manufacturer. It only worked on micro servos also.

What port is that servo connected to on the ezb?
#40  
hello,

using ports 15-19

I changed the ports.

set my min and max centered them.
unplugged power, plugged back in and BOOM! only a slight twitch, YAY!

then I noticed all my servo controls drop to the lowest setting but the servo isn't at that setting.
I hit the center button on each servo control (ill make a script for this) instead of sliding the bar to the center spot and BOOM! ALL SERVOS CENTER! with no massacre of the wall-e head. Only a second slight twitch, and im cool with that.

I tried this several times and I cant say that it always worked.
on a couple of occasions the eye servos power jolt was huge, but for the most part it was very minimal.

I will post a video tonight. sorry for not posting one already....you know how it is....as soon as you get one thing going its way hard to stop "making progress"

thank you all for your help.