ARC Pro

Upgrade to ARC Pro

Become a Synthiam ARC Pro subscriber to unleash the power of easy and powerful robot programming

#2  

Good question. Mine have done that since day 1. I'm new to robotics and EZB so I figured that was the normal reaction due to the initial power up. Or a response to a connect request signal or something like tcp. confused

#3  

The while project would be pointless if lithe servos freak every time it connects.

Come on guys, you've either figured it out ( and not telling us) or we all suffer from the same situation.

And I choose not to belive that.

Help us.

PRO
Synthiam
#4  

First off, i can't even begin to tell you how disappointed i am in your language and tone. You are not honoring the culture of EZ-Robot. What has caused you to think that you would need to swear and be so rude in order to obtain help?

As you can tell, i'm not helping you until you apologize. Next time this happens your account and ip address will be banned.

#5  

I had this problem and solved it eaisly. There is a lot of posts about it and I along with others listed solutions. Do a search and you should find ways to fix this.

Hopefully you were under the influance of something when you made that awful post only a few hours after your first and after you correct this you can be a wecomed member around here.

Dave Schulpius

#6  

I must have read the post after the edit. I just saw the question and I never thought to ask it. I apologize if I jumped into the wrong band wagon:(

I figured it had to do with the initial voltage running through. I'll try another search. I can say that the EZ forum search forum is one of the only forum searches I've ever used that actually gives decent results.

Once again I sincerely apologize if I've offended anyone or crossed any lines. stress I love the EZ community;)

#7  

OK EVERYONE CALM DOWN...

were not all super smart robot people here....sometimes I speak with bad words (most people online do) look at all my other post, and im super cool.

wasn't talking smack about the ezb or the reply...

I was just saying f that, I need to figure this out....I know most of you are super smart and look down on that language, so ill check my self

sorry. we good now?

#8  

Also, I have searched, again not smart so im looking up phrases like:

servo position on start up servo initial connection position servo unwanted movement

Everything I find is on auto connect. but im assuming thats for the board connecting to the software. not the servos getting power.

#9  

ok, now that I think of iit, I was a little.....tilted...so I can see how it came off.

but I didn't mean it like that......never talked with your friend and they say something and your like NO WAY but with more colorfull language? no? cool......I do, and ill stop it...

sorry bros.

#10  

I want the record to show that this has completely ruined my lunch.

PRO
Synthiam
#11  

I removed your swear. I edited your post and removed the swear that you wrote. It wasn't a nice word. It started with the letter F. Every question is answered. Every concern is addressed. That is what makes us unique. That is what makes us the most awesomest company in the world! And, we invent word... like awesomest.

#12  

yes, you did. yes you are and ive been using awesomest since 92- ha!

where? mr awesome.....where is it addressed?

every video I find the robot is already on....

im searching page by page...I looked in all the current threads and now im the process of going page by page in the software section.

#13  

Bueller?

Bueller?

..............Bueller?

#14  

think I found my answer.......problem is I don't understand.

I only just opened my EZ-Robot Package tonight, but it seems the centering button on the horizontal servo control is not working correctly.

I think the center position should be the maximum value minus the minimum divided by two then added to the min. OR,

CENTER = (MAX-MIN)/2+MIN

It appears to be simply (MAX-MIN)/2.

For example if you set the MAX value to 70 and the MIN value to 30, the CENTER value should be 50. It is 30. That is because the minimum value has to be 30, but (70-30)/2 is 20. If you set the value MIN value to 15, the CENTER value will incorrectly be 28. That is (70-15)/2=27.5. It should be (70-15)/2+15=42.5. So the Center should be 43.

I hope this helps

#15  

@hooligan What pray tell was that answer? I's like to know more about the power up twitch.

#16  

Yo. All of the gibberish up there.

So one thing I'm noticing is. Even if I center the servo. The widget drops to 1 as soon as the board makes a connection.

Once the servo is moved. The sevo shoots to 1 then the requested position.

Hence the jitter or random movement I'm trying to avoid.

So again I ask the robot gods

How do I stop the initial shake from a servo.

Or How do I stop the widget from dropping to 1 once the board connects to the software?

#17  

@hoolagen1 hey man, I understand what your saying, I too swear frequently when I'm around my buddies, but when I'm around, for instance, my grandma, young children, professionals, the elderly ect. (And I'm willing to bet we have members that fall into all of these categories) I don't swear and I use a respectful tone. I could care less personally (as long as you leave my momma out of it ;] ) but out of respect for the rest of the community just throw the filter on and pretend your grandma is reading your posts. Help comes quick around here from my experiences and Dj (even though he is busy running a company) is crazy helpful. Just my 2¢ to aid in your success.

#18  

Understood.

Think I said that in a previous post.

How's about some help with my problem?

Or do I have to wait for everyone to come in and wag their finger at me?

United Kingdom
#19  

First, on foul language, just check my facebook or speak to me personally, I swear like it's my first language but here it's understood that it's got to be kept in check. You need to realise that EZ-Robot has taken a huge risk with the public forum and very little moderation (personally I feel it may not be the best move to have as little moderation as it does have but so far it's proved OK 99% of the time). But with moderators comes power, power leads to abuse of power on > 95% of all forums I've ever been on and ruins the experience so it's catch 22.

Anyway, enough about that, your wrists have been slapped, you don't need me to do it too:) Just some friendly advice so everyone has a good EZ-Experience.

OK the problem... I guess I should read what that actually is/was... I thought the centre button issue was fixed with the update, I knew it was wrong previously but if it is still wrong I expect DJ wasn't aware and I am sure he will fix it in an update (if it needs fixing). Centre position will always be correct if it's (min+max)/2; I use that formula in the ping roam script to calculate the centre position for the sweep servo.

A few updates ago DJ changed how the servo reacts on initialisation. Since the servo position is unknown when you first turn on, for safety it would go to the minimum limit position on a servo control, it then knows it's position too. (DJ, correct me if I am wrong).

To counter this safety measure, run an init script on connect and also make sure your min positions are within any safe zones. Melvin sets all servo speeds and positions on connection, his head is very delicate and can break the servo/mount if it goes too far up or down. He turns on, goes to lowest of both, speed sets, the centres the servos. This is the script for resetting all servos on Melvin;


# Reset all servos
ServoSpeed(D1,0)
ServoSpeed(D2,0)
ServoSpeed(D7,0)
ServoSpeed(D10,0)
ServoSpeed(D11,0)
ServoSpeed(D12,0)
ServoSpeed(D13,0)
ServoSpeed(D14,0)
ServoSpeed(D19,0)

# Set Speeds
ServoSpeed(D1, 2)
ServoSpeed(D2, 2)
ServoSpeed(D10, 3)
ServoSpeed(D11, 3)
ServoSpeed(D12, 3)
ServoSpeed(D13, 3)
ServoSpeed(D14, 3)

# Set positions
Servo(D7,50)
Servo(D9,45)
Servo(D10,50)
Servo(D11,50)
Servo(D12,50)
Servo(D13,50)
Servo(D14,50)
Servo(D19,50)

# Release All
ReleaseAll()

# Position and hold Head
Servo(D1,50)
Servo(D2,60)
Servo(D8,45)
Sleep(500)

#20  

Mr rich thank you I know I k now. I'm lame. I swear I went link by link on you're collection of scripts and didn't see this one.

I'm still a little lost.

But I will re read what you posted. And tinker a little with it.

I've jammed 4 micro servos into a wall e head. I have the motion working and it's great.

But it all fall apart as soon as I connct the ezb to the software. Using 2 relative servo widgets to contrill all 4

#21  

My issue isn't software related. When I apply power to the ezb my servos jump. I just figured it was normal. I have no issues with the software. As far as centering goes, for me, center is always 50. I set a min and max to keep from over extending or colliding with other parts but 50 is center for me. I haven't messed with the controls much, I just have them added for now so I haven't checked the centering button on any of them.

Maybe in the future they will pull out the calculated value and let us define what we want center to be. Sorry I'm of no help but I'm still curious as to why I twitch when plugging in.

#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



# 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.