0
\$\begingroup\$

I'm working on a humanoid robot project everything works but I have one issue. When I disassemble and then reassemble the joints, the servos will more than likely be placed in a different rotational position than which they were last, meaning that they will need to be calibrated again in the program for when the joint is being moved.

What i mean is that if the knee servo's base position is say 0 (knee is straight) and 180 is the max (knee fully bent), if I took apart the knee and fixed it back together chances are the position values for the knee servo will need to be changed cause the servo was placed in at a different angle.

My question is then essentially what sort of calibration system could I make to fix this problem? Could I modify the servos (HS485HB servo) to be 360 degrees and then find a range of 180 degrees for it to rotate through and set it to that, if so how and if not what else can I do?

enter image description here

\$\endgroup\$
1
  • \$\begingroup\$ When you turn the servos by hand, do they stop at position 0 or can you keep turning them through the un-commandable positions? \$\endgroup\$
    – user253751
    Aug 31 '18 at 1:16
2
\$\begingroup\$

This is a typical RC servo problem. You need to set home position on your servo by simply building a 1.5ms 20 fps servo driver, or use a servo calibrator, or write it into your software.

Activate the servo, and it will now hold it's position and use a simple jig to help attach each joint (this could be as simple as a paper indicator).

Trying to build a multiple servo device when the servos are unpowered is not the way to go.

\$\endgroup\$
1
\$\begingroup\$

I haven't played with that type of servo but I guess your options are:

  • Fit a home sensor on each joint and seek that. (Too much additional wiring and complexity.)
  • Drive to mechanical end stop monitoring for stall current. (Might damage the gearboxes.)
  • Manually jog each joint to the "home" position. Teach the positions as the zero reference. (This seems the best but be aware that the user could over-drive a joint to hard stop.)

A better way might be to figure out where the servos should be when the joints are straight or in an alignment jig, power up, move to the preset positions and then assemble aligning with the jig.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.