J3/J4 Differential Mechanism Design

A project log for RM1 - An Affordable Industrial Robotic Arm

A serious 6-axis robotic arm that performs on-par with commercial robotic arms, but costs less than $1000 to build.

David ShelenevDavid Shelenev 05/20/2018 at 11:561 Comment

Hi guys,

As shown in the project images - sorry they haven't been updated for a while - motion for joint 4 (J4) is transmitted through joint 3 (J3) in a differential pulley/belt mechanism.

This mechanism is part of the secret sauce of the robotic arm's design; without it, there is no elegant way of driving J4 without having a whopping great set of pulleys hanging out the side of the link.

Here is a diagram of the mechanism. I've omitted the structure and bearings for simplicity:

The mechanism works as follows:

  1. Two motors (input 1 and input 2) each drive one of the two J3 outer pulleys, which are on separate collinear shafts.
  2. The J3 outer pulleys transmit the power to their corresponding J3 inner pulley
  3. The J3 inner pulleys are coupled to the J4 pulleys with a single belt. (the belt has four quarter twists to change direction between the J3 and J4 pulleys)
  4. The J4 pulleys share the same shaft, but only one of the pulleys is coupled to the shaft. The other pulley is an idler.
  5. When the two motors are running at equal speed in the same direction, the J4 pulleys cannot turn, and so force J3 to turn
  6. When the two motors are running at equal speed in opposite directions, the J4 pulleys turn (in opposite directions), driving J4. J3 remains stationary.
  7. If we add some proportion of opposing and similar input motions, we can achieve any desired simultaneous motion on J3 and J4

While the idea behind the mechanism may seem relatively simple, the design is not.

The original design used two collinear shafts end-to-end, but since these shafts cannot resist a bending moment, the whole mechanism would have the tendency to flex, which is a major issue. Considering the construction of the arm, which should be quite rigid, it may not be a huge problem, but it would certainly reduce the rigidity and repeatability of the arm's motion.

In summary, the main difficulties are:

I have spent the past three weeks thinking almost exclusively about this complication.

The conclusion that I've come to is that we need to use "shaft-inside-a-shaft" (aka nested shaft) construction, as below: (apologies for the bad drawing)

(All interfaces between pulleys, shafts and bearing races are bonded with Loctite 638)

This solution will definitely do the job, but it require four additional bearings, as well as the two hollow shafts for either side of J3. Also, it requires a lot more assembly effort.

As I mentioned, I've been working on this complication for 3 weeks now, and I'm all out of ideas.

If anyone can think of a simpler solution to this problem, please post and let me know.


Robert H. wrote 05/20/2018 at 20:20 point

Nested shaft designs for J5 and J6 have already been implemented in industrials.  The advantage is that you can remove the bulk of upper arm mass by moving J4,J5 and J6 motors behind J3 acting as a counterweight using long driveshafts.  This works well for servo heat buildup since you aren't holding nearly as much weight while static and also dramatically increases lifting capability while reducing backlash.  Control becomes a bit of a problem since moving each motor affects the mechanics downstream from it, but it is a proven solution.

  Are you sure? yes | no