I'm new, please be gentle :-)

I'd like to control the position of a single-axis joint using one cable for flexion and another for extension.

In many of the anthropomorphic designs I've seen each of these cables are controlled by a separate servos, and I'm wondering why.

I'd think the simplest approach would be to use a single servo, and wrap each cable around its spool in opposite directions. Is there a problem with this approach?

(if not, I assume the dual servo design is to control not only the position of the joint, but its stiffness/rigidity?)


1 Answer 1


Generally speaking, you can't push with a rope.

Tie a rope to a doorknob. From across the room, you can pull the door open, but you cannot push the door closed; the rope just goes slack.

Ropes are only useful when they're in tension.


Re-read your question and realize I didn't answer it all all.

Suppose you have a hinge joint. Use the door example again. The cable actuators attach to either side of the door.

As the door rotates, each side scribes an arc, but because the door has a thickness, and because the hinge is on one side of the door, those arcs with have different arc lengths.

Kind of hard to describe without a picture (on mobile), but side one scribes $r\theta$, where $r$ is the distance between hinge center and the hinge side of the door, and the other side scribes $(r+d)\theta$, where $d$ is the thickness of the door. $\theta$ is how far open the door is.

Hopefully you can see that, if you wrapped a string from one side around a drum and back, the drum would have to "take up" a quantity of rope $r\theta$ while it tries to "pay out" a quantity $(r+d)\theta$, or vice-versa. This is not possible with a regular drum.

Welcome to the frustrating world of web tension control.

  • 1
    $\begingroup$ Designs like that using two servos are sometimes called antagonist-antagonist designs. A great feature of this design is that you can change the joint's impedance, and make it stiffer when operating in free space, but softer when going into hard contact with something in the environment. If you use torque control of the motors, you can actuate both of them all the time to achieve various amounts of stiffness, and the difference in torque will lead to joint motion. $\endgroup$
    – SteveO
    Sep 2, 2017 at 1:31
  • $\begingroup$ To @Chuck's point about the changing radii of the cables: often you will see shafts, or pulleys, which have a spiral track for the cables to ride in which do not require the cable to increase by d for each revolution. $\endgroup$
    – SteveO
    Sep 2, 2017 at 14:50
  • $\begingroup$ I can see the benefit of 2 servos, but the cost, in terms of size, kills it for me. And the dynamic impedance isn't valuable in this case. For small angles and radius the difference seems like it would be small. Could a sort of actuated idler arm be used to take up the slack? $\endgroup$ Sep 4, 2017 at 19:22
  • $\begingroup$ I've not been able to find good info on the servo side...it seems everyone docs about/documents the joint stuff. I've never seen a spiral track or cam setup. Any tips on where I could look? $\endgroup$ Sep 4, 2017 at 19:28
  • $\begingroup$ @user2081488 - You can use a "web tensioner" or "idler arm" to take up the slack in the line (a bicycle uses an idler arm to take up the slack in the chain, but for other reasons). The problem you'll have with that setup is that the idler arm will take up the slack in the line. It will do its job, which means that it takes up slack during operation one way, but then it has to pay out all that slack later while the joint is being actuated. Your servo-to-joint coupling will be 1:1 in one direction (as the idler takes up slack), but it will not be 1:1 in the other direction as it pays out. $\endgroup$
    – Chuck
    Sep 5, 2017 at 12:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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