Germany
Asked — Edited
Resolved Resolved by DJ Sures!

Persistent Servo Calibration

The servos looked almost good, so I skipped the hardware calibration for now. Both arms show a bit to the right, fixed by fine tuning to max. 12 units. Q: what's a unit?

When turned on, the servos move to strange positions. The head is fully thrown back, one arm almost straight, the other one down. This position seems to be reproducable, so I'd guess it's stored somewhere. Q: how to influence the servo turn-on positions?

The "Dance" script seems not to honor fine tuning? The arms seem to have an right offset (like uncalibrated), and the left arm strikes the head while moving. The "Stop" script moves the arms into the expected (straight) position. What am I missing?

Finally, after Stop, the servos tend to produce noise (humming), which sometimes can be reduced or eliminated for a while, by manually lifting the claws a bit. But after some time the noise starts again, well amplified by resonance of the entire body :-( I suspect that this behaviour will stress the battery, and it also stresses my ears. Are the shoulder servos too weak for supporting the weight of the entire arms?

Apropos noise: the Dance music is very nice, but a bit too loud for me. I'm missing a volume control with the soundboard. Even if I know (now) that SetVolume can be used to influence the sound volume, I'm missing according instructions/settings with the project/controls.


ARC Pro

Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

United Kingdom
#9  

The servos supplied by EZ-Robot are strong enough to lift the arms supplied by EZ-Robot without much effort. The arms could be much longer too, my current project uses similar arms however they are very much extended and it has no problems.

If you are showing signs that the servos cannot reach a position you need to check your battery to ensure they are running at maximum voltage to provide the required torque. If you find they are receiving the full 8.4v and still showing signs of struggling then it may be a faulty servo.

I have been using the EZ-Robot servos since they first dispatched my Six, I've since used them in JD and in my own projects, I have not found any issues with them or with the cable causing anything like friction or stress.

Have you gone through and followed all of the tutorials in the learn section? If you are having issues I would suggest checking the tutorials out, especially since I have not had any issues like those you are describing.

Germany
#10  

About calibration: Only two servos really deserved hardware calibration. Even that didn't really help much, the oscillations seem to be caused by design, and the required fine tuning values still can be quite high. The rest seems to be a matter of the scripts. After fine tuning the arms tend to strike the head during "Dance", and "Stop" leaves the arms in quite asymmetric positions. Is this inteded behaviour?

These are 3 sets of servo profiles, for exactly straight, acceptable Dance and somewhat symmetrical Stop conditions, from top-left to bottom-right of the Profile window: straight: 11 2 -4 -2 6 0 -6 5 -8 0 dance: 17 0 -6 -2 6 0 -6 10 -8 0 symm.: 17 0 -4 -2 6 0 0 12 -8 0

I wonder why the left arm hangs down so much (11/17), and the right ellbow goes inward so much (5/12), when straight tuning is applied. Can somebody find out whether this difference is built into the scripts, or what could be wrong with my parts or construction?

BTW I'm also missing an indication of the selected servo profile (file name).

United Kingdom
#11  

If fine tuning is still requiring high numbers then the servo requires calibrating properly. Once calibrated the position will not move if reassembly was done correctly.

What you have described signifies incorrect calibration or incorrect fine tuning. Start by recalibrating all servos. Load the project without a servo profile. Fine tune where necessary (any fine tunings about around 6 would indicate calibration was not carried out correctly).

All movements are set in the Auto Position control. You can check if the positions you are getting are as intended by looking in the control. I cannot speak for the Roli robot as I do not have one however both Six and JD are pretty symmetrical when at a stop and I would presume Roli would be the same.

Also, ensure you are using the latest ARC with the latest example projects.

PRO
Synthiam
#12  
  1. the servo calibration is a manual process and only needs to be done once. As stated in the lessons, the servo calibration is a process where you set the servo to 90 degrees and manually remove and align the bracket to also be 90 degrees. This one ever needs to be done once per sero, ever. It's a one time thing.

  2. servo fine tune is included in all robot products and not unique to ezrobot. Every robot product that requires high resolution for walking, etc requires servo fine tune. The servo fine tune profile is created and saved to your local drive and/or ezcloud. The fine tune helps you set the robot servos to be exactly 90 degrees. This is because even after calibration, they might still be a little off. There is a lesson dedicated to fine tune.

  3. if you are not prompted to load servo fine tune profile when loading a project, it is because you are not using a default ezrobot project.

  4. if the robot is hitting his face in dance animation, the robot has not been fine tuned correctly or you did not load your fine tune profile.

Please visit the JD project and follow the tutorial for servo calibration and fine tune.

Germany
#13  

Quote:

4) if the robot is hitting his face in dance animation, the robot has not been fine tuned correctly or you did not load your fine tune profile.
I've presented the profiles I used, and mocked about missing an indication which file is in use.

Quote:

Please visit the JD project and follow the tutorial for servo calibration and fine tune.
Been there, done that... before asking here :-(

Please understand that I have 50 year experience in electronics and programming, no need to tell me the obvious. Until now I only wanted to make the Roli demo program work, but if you think that I should write my own test programs for finding out more about servo calibaration and positioning, then please suggest what I should do next.

PRO
Synthiam
#14  

Wait, is this for Roli or JD?

I can take a look at Roli's program. Maybe there is an alignment issue. Stay tuned.

Sorry, I had thought this was regarding JD. Too much going on in my head:)

I'll have someone look at the example program tomorrow for you.

Germany
#15  

What I could find out now, using frames for one arm Up, Down and Horizontal: The Horizontal position is reached only from Up, while from Down the arm hangs (at least) one "tick" below 90°, producing noise. When I support the claw a bit, a noticeable step into the correct position occurs and the noise stops (mostly).

This behaviour is also reproducable immediately, by changing the shoulder servo position. The shoulder servos respond immediately to upward moves, while downwards they mostly only react on every other increment, with variations over the total movement range.

To end this story, can somebody confirm that this behaviour is by design? Can it depend on certain settings (Speed, Steps...)? I could not find out yet about the purpose and use of these settings.

BTW the asymmetric positions in Dance are by design (program), not by calibration. It took me a while until I could find out how to inspect the related code (frames). Is it possible that the knocks against the head are caused by slightly different servo resolutions, between the prototype and my robot?

United Kingdom
#16  

The simple answer to solve your problem (to some degree) is to do this;

  1. Calibrate all servos to 90 degrees.
  2. Fine tune as necessary/required.
  3. Modify the positions on any frames where collision occurs.

Calibration should avoid any collisions happening however it doesn't seem like that's solving it for you. All example projects are able to be edited, with some ease too.

The prototype most likely didn't have the Auto Position frames and even if it did I believe the servos didn't change from prototype to retail.