Automatic Transmission (non-shifting, multi-speed)


Instead of a motor or pneumatics activating a transmission, is it possible that you could have some mechanism that automatically changes gears once the robot is at the right speed, like a centrifugal governor or something of the sort?

Yes, that is certainly possible. Here are some LEGO examples demonstrating automatic transmissions:

However, while looking very impressive, some of those transmissions are not very efficient, wasting portion of the energy to friction.

Depending on the specific application, you could either prefer to have transmission shift automatically with the change in the load or control when shift happens by running some of the motors in opposite direction -that’s what I had in mind for the exercise in OP.

I love transmissions, but I doubt that they will be useful this year.

(To clarify, they’ll be extremely useful, but not for this purpose)

Yeah, at this point I don’t see any clear need for a transmission in Starstruck either. Will just run this thread as side-topic for anyone fascinated with the transmissions.

Only reason I can think of is a launcher/lift transmission.

It looks like with latest pushbot news transmissions are popular again.

I would like to revive this topic and explain some interesting design options. But first we need to go over important background information about differentials:


On the left is a classic differential and on the right is an alternative implementation of the same functionality. Believe it or not, but the differential in the following video, built by Stanley Shi and linked in many threads, offers exactly the same functionality, just with different parts.

Since there is no ring gear in VEX, it cleverly substitutes it with chain, but it is still just a differential.

The fundamental property of any differential with three mechanical inputs/outputs is that the sum of the changes over them always holds constant.


For example, if differential casing runs forward with angular velocity z=1 and the right side runs backward with y=1 then the left side will run forward with the velocity x=3, according to the formula (x+y)/2=z for a symmetrical differential. Even if you build something asymmetrical that would be obeying a formula 5x+3y=z you could still consider it a differential…

The angular velocity of the inputs are relatively easy to understand, but relationship between torques applied to differential inputs is a bit tricky.


In the example above there are two resistive loads (wheels) attached to the left and right side of differential. Let say left one resists with a torque Tx=3 and right one with Ty=2. As you start applying mechanical power to the differential casing nothing will move until input torque Tz reaches 4 units, which is twice resistance of the right side 2*Ty. At that point you could expect angular velocity of y = 2z.

Left side (x) will not move until resistance on the right side reaches Ty=Tx=3. Then you would need Tz=Tx+Ty=6 in order to move both sides.

In case when you have a single load and two power sources the behavior is very similar. If one of the inputs is weak and doesn’t have enough torque to move the output then stronger motor will backdrive the weaker one, while the output remains stationary.

Now lets look at the following example of the double-differential “transmission” popular among Lego enthusiasts. There are a couple of videos of similar designs linked earlier in the thread. They are claiming to be multi-speed fully automatic transmissions. Unfortunately, they are not. I have analysed several designs and, even though they appear to “switch gears” under load, none of them offer more torque versus what you would have if you just used direct drive.


There are usually two differentials linking motor with the load through two power paths. On the above diagram left path is linked 1:1 and one on the right geared down 3:1. Also, the right side has some sort of friction pin or brake applied to it. There is a pair of linear equations for both differentials linking the velocities at various points: m, x, y, z. Where (m) corresponds to the motor and (z) to the output.

Tz = -Tr is the output torque to drive the load and Tbr is the breaking torque of the friction pin as measured at the right side of the bottom differential.

If load is very light the power flows through the 1:1 path on the left and output runs at z=m, x=2m, y=0. Then if output resistance (Tr) grows beyond a certain torque level (Tr > 2*Tbr), the right side path will have less resistance than the left side (Tx>Ty). The left side will stop (x=0) and the right side will start rotating delivering some power (y=2m) to the output (z=m/3).

As counter-intuitive as it is, the left side stops (x=0) because the torque Tx=3(Ty-Tbr) reflected through the top differential down to the left side of the bottom differential is greater than torque that motor is pushing into the right side (Tx>Ty). If torques on the two output sides of the differential do not match - only the weaker one will be driven.

Finally, if the load resistance (Tr) grows even further this drivetrain will no longer be able to drive it, because it max output torque (Tz max) is limited as it is related to Tbr. Then motor will simply circulate x and y gears wasting its power counteracting friction Tbr.

Here is a video of the prototype demonstrating demonstrating how it operates through the three different modes of operation:

The brake (a piece of zip-tie) touching the right chain is not very good as it still moves a bit - pretend it stays still at the beginning of the video. Then around 0:06 when I start holding the output (casing of the top differential) the left chain stops and the “transmission” enters low speed mode. Finally, as output is completely stopped you could see both both chains run fast. There is clearly much more torque available from the motor that it takes to stop the output.

Even on the paper if you try to pick a value for Tbr or change gear ratio you still could not get output torque to be greater than max motor torque, according to the formulas. Direct drive will deliver much better results than any friction based “transmission”.

In the next post I will describe how you can actually have both high speed and high torque modes with the aid of the ratchets or worm gears.

Lets look in some details at the angular velocities and torques acting on the inputs and outputs of a differential.

In this example the load (probably a wheel) is attached to the left side of the differential, two motors M1 and M2 are driving the casing, and motor M3 is connected to the right shaft:


Assuming that each motor could run at nominal angular velocity (x) delivering nominal torque (T) we could say that it produces one power unit (P=1) according to the formula P=x*T. When differential casing is not moving we mark it L: (locked) and when it is moving we mark it U: (unlocked).

For example, if motors M1 and M2 are not running, and M3 runs in reverse (down) the output will be the opposite of M3 running with angular velocity (x) and one unit of torque (T) with total power (P=1).

If we run motors M1 and M2 forward (U:) they deliver combined torque 2T at a speed x. The output shaft will run at (3x) with one unit of torque (T). To understand this you need to pretend you are riding on a case of differential. From your point of view shaft of the motor M3 runs backwards with the speed (2x) and will drive output shaft forward with the speed (2x) relative to the differential casing. Since the casing runs forward with the velocity (x) itself the total velocity of the output will be (3x).

The torques are a bit trickier. Since the output shaft is balanced by the M3 there is no way we could deliver more than one unit of torque (T) at the output. If load starts pushing back with more than a (T) it is going to backdrive M3. However, this is fine because torques are balanced: resistance from the load and torque from M3 are both directed backward and total -2T, which is countered in forward direction by 2T from M1 and M2 motors.

To verify the balance in the high speed we check that total power output from motors (P=3) equals to the power delivered by the output shaft P=3 (3x*T).

In order to achieve high torque mode you would need to run all three motors forward to counteract 3T torque that could potentially come from the load. There is no problem running all motors forward, but because of the way this differential works anything more than 1T coming from the output shaft would simply backdrive M3. Or, in this case forward drive it, pushing M3’s velocity over x.

One solution to prevent this would be to place a ratchet (1, 2) between output shaft and differential casing. This would prevent output from driving back M3 and will ensure that both high speed and high torque modes work.

However, the problem with using a ratchet is that it only works in one direction. If you try to reverse all motors and run the load in opposite direction you will find that it doesn’t work.

The alternative to that would be to use worm gears that could prevent backdriving without imposing preferred direction of the operation.

Finally, here is the top-secret (not really) non-shifting transmission design that could electronically switch between high speed and high torque modes by altering direction of one of the motors.

Similar to the previous example, there are three motors that each could deliver: nominal velocity (x), nominal torque (T), and a nominal unit of power P=x*T (P=1).


M1 and M2 are driving the casing of the differential D1 at a speed (x) with combined torque (2T). M3 is connected to the right input of D1 and geared for 2x and T/2. Obviously M1 and M2 deliver (P=2) units of power, while for M3 (P=1).

Casing of D1 is connected to the right input of D2. Left side of D1 is connected to a worm gear that could drive the casing of D2 differential. Those are the two paths for the power and worm gear is required to prevent D2 from backdriving the left path.

When power flows through both paths the system is in High Speed mode and drives the output at 3x nominal speed and 1T torque.

However, if the control algorithm detects that output resistance is getting higher (motors running slower than expected) it needs to switch the direction of M3. This should quickly remove almost all power that drives the worm gear, while increasing the torque going through the right input of D2. At this point you would expect torque on the casing of D1 to jump from 2T to 6T, effectively locking it stationary. It feeds back by locking the left side of D1 ensuring that all power goes into right side of D2 at (x,3T).

The numbers for speed and torque on the diagram add up perfectly, preserving three units of power all the way from the motors to the final output shaft in both high speed and high torque modes. This, obviously, could only be possible if there was no friction and worm gear would lock instantaneously.

In the real life it is going to be less than ideal with all the friction involved. VEX worm gears provide 24:1 reduction, so to achieve transition from 4x at the left output of D1 to (x) on the casing of D2, you would need to, first, gear it up and then gear it back down.

My main concern for implementing this with VEX parts is the worm gear. It needs to continuously transfer power of two motors (P=2 in high speed mode) with the minimal losses, yet be able to reliably lock at up to 6T torque level. It all depends on being able to quickly transition between those modes, otherwise you risk destroying worm gear assembly by excessive friction.

The interesting note, is that this design is based on the worm gear being less than perfect and locking up at a certain point, in a sense turning inherent disadvantage into a key that enables such mode of operation. If this transmission works and provides significant competitive advantage it might still be worth replacing a couple of worm gears after each tournament.

For those who are not jumping on the latest trend of the lightweight clawbots and are sticking with building heavy pushbots, especially 50 lbs and up, this reveal may come handy:

This is a fully automatic two-speed transmission that could operate in either high-speed or high-torque mode with 3x multiplier. For example, if you power it by three turbo motors it could deliver either turbo speed with the combined torque of 3 motors or torque equivalent to 9 turbo motors at 1/3 of the speed.

In this setup, two motors on the left provide 2T torque, while the steering motor on the right either adds 1T torque, if run forward, or adds 2x speed at the expense of 1T torque if it is run in the opposite direction.

It is built around a non-backdriveable differential where power could easily flow from the input shaft (on the right) to the output shaft (on the left), but the worm gear prevents large output resistance torque from backdriving the steering motor.

As opposed to the design described in the previous post, it is a compact version that has worm wheel and gear assembly riding inside the differential casing. Majority of the explanations from the above still apply, but the most important difference would be that forces which are transmitted by the worm gear are limited to 3T (vs 6T in prev example). Here is a more detailed picture:


With the combination of 5:1 gears and 48:10 chain link prior to 1:24 worm gear it achieves a perfect 1:1 ratio. Similar to the challenges of the flywheels last year, increasing speed 24 times requires a lot of attention paid to the friction. It took quite a while to figure out right spacing and alignment to minimize it.

However, once alignment was done and all high speed parts lubricated - it runs very smoothly. In fact, at this point, there is an opposite problem - the friction between worm wheel and worm gear is so low that differential could fail to lock if steering motor runs forward faster than the pair of the power motors. Control algorithm needs to take this into account and match steering motor speed to achieve reliable locking.

Contrary to the common belief, the low-strength chain is not the weakest link in this implementation. If you manually increase output resistance and matching torque on the input side - worm gear would still be running smoothly, while the bevel gears were the first to skip. According to my estimates in the worst case scenario of three torque geared motors at the stalling, you could expect about 15 in-lbs of the load on the bevel gears and about 2.5 lbs of the linear force on the chain (well under its shock-load breaking point of about 5 lbs).

When dealing with any chain, to minimize impact of the the shock loads, you need to make sure it is neither loose nor have any extra tension - it should be relaxed, but with very little free play.

In the initial testing everything seems to work great, but I still have doubts if worm wheel and gear are strong enough to endure continuous drivetrain load. My main concern now is if it will hold well under shock loads and not twist out of the alignment after some rough play, like running robot into a wall at full speed several times.

The differential has an outer diameter of about 3.5", so you could conceivably drive the shaft of 4" wheels without any additional gearing, but I would hesitate to do that without proper casing that would protect it from the dust and foreign objects.


Assuming that you are referring to this design:

Then the answer is: there is a key difference.

Planetary transmission built by @Stanley Shi(2R) is a classic differential. It could easily add contributions to the output speed from both input motors but the output torque is limited by the weaker input (which in the above example is motor connected to the outer chain). So without some sort of locking mechanism that can prevent backdriving of the weaker input you end up underutilizing max power available from your motors. This thread has some additional discussion: and eventually refers to this video with the locking example:

Without locking, by the time you add up all the numbers, it will turn out you would have been better off just linking both motors in the direct drive configuration and relying on MC29’s to be the electrical equivalent of CVT to regulate your output power/velocity.

So the key here is to lock. You could do the locking via external actuation by pneumatics or servos, as many successful shifting transmission do.

However, the design revealed in the previous post uses the property of the worm gear to self lock (by friction) when output load (torque) is above certain level.

This is not a friction based transmission that I explained earlier (and had linked some lego videos) where max output torque is proportional to the friction.

Instead, it uses friction in a step function. The desired behavior is for the worm wheel to rotate freely below 1T load and be locked up somewhere below 2T. In my build it appears to be too well lubricated and step is clearly too high. Ideally, it should start locking much earlier, even before the steering motor reverses to cause some positive locking feedback.

Essentially, this transmission is related to Torsen differential (torque sensing) that has specially shaped gears that lock up when torque imbalance occurs between the wheels.

Sorry, if this was a little bit more of the explanation that you had expected, but it was a very good question, and I wanted to emphasize the key difference - which is locking, and that it is implemented without additional external actuator. The steering motor itself doubles both as the source of driving power and the “shifting” device at the same time.

I did try to make an automatic transmission with the differential acting as a load sensor to shift but it just doesn’t work. The difference of one metal washer(smallest spacing increment) was the difference between locking up and the shifting gears going into neutral. My conclusion is that our parts compared to lego is too rigid and strong to flex and get it to shift. Also the vex differentials are not strong enough to gear down to make a more powerful shifter to “power through the lockup”. Lego isn’t as powerful and it uses the lockup to get into low gear since it spikes the torque. When the lego gears are locked up they move to the side easier than vex. Moral of the story is that our stuff is too powerful compared to lego. It’s not worth it.

@mazama 5686A, I wish you had shared more details about your prototype. From your description, it looks like you tried to build this type of automatic transmission:

Yes, for this design it is necessary to have some friction in the shifter arm to prevent it from randomly switching the gears. It looks like your differential was losing the torque when gears were transitioning through neutral and could not complete the shifting. You might have been able to get it to work if you added some inertia to the arm and eliminated neutral position to make sure it could successfully complete the transition, but that would seriously increase the risk of damaging the gears, since VEX motors have much more power than LEGO’s.

The fundamental problem with this shifter is that it uses purely mechanical means to both sense the torque and complete the shifting. This makes it very sensitive to the alignment and tuning as well as the wear and you had experienced that.

However, the transmission revealed two posts up, would use quad encoders to sense the load (motors slowdown to produce more torque) , then the decision to “shift gears” is done in control software and actively actuated by switching the direction of the steering motor.

This makes it much more predictable and it will work with a range of the acceptable friction values.

The next post will go into more details comparing shifting and non-shifting transmissions. But the quick summary would be that if the friction around the worm gear deviates from the desired value, the software will be able to compensate for that and the transmission will still work. Of course, if friction coefficient moves closer to the edges of the acceptable range, the performance will be degraded, but you could still count on it to deliver about 2T torque at 1x speed in the low gear.

If you were reading this thread, you could come to conclusion that this transmission design sounds too good to be true:

Also, if worm based transmissions are really that good, how come they are not used that often? Actually, there are some solutions like Torsen differential that have special gears that look very similar to the worms:


However, those multi-start worms have much lower gear ratio than 24:1 worm drive used in VEX and are more like the helical gears.

In general, the problem with the worm drives, especially those with high gear ratios, is that they could be very inefficient. Here are the efficiency curves:
VEX worm gear is made of POM and looks like it has 10 deg lead angle with a friction coefficient (POM/POM) somewhere between 0.14 to 0.20. I wouldn’t be surprised that, if not lubricated, VEX worm drive could waste up to 50% of the energy to friction.

Even if you could lubricate it down to 0.07 and cut the losses, then still, why would you want to have something with 25% efficiency loss? That would be insane if somebody pitched this design for the commuter car.

However, in case of VRC, the optimization criteria is slightly different. It is very important what happens during the 2 min of the game, and it is not as important how much charge is left in the battery when the game ends. If something could give you competitive advantage at the expense of 25% efficiency loss it might still be worth it.

Now, lets take a look at the expected performance of the shifting and non-shifting transmissions as a function of the output load. Assume that we have three motors that could run at the nominal speed (1x) and generate torque up to (1T) each. Note that as the load on the motors increases, the output velocity decreases. Also, we are assuming that you do not push motors into the ranges where they will stall or overheat.


Blue lines correspond to the shifting transmission. In the high gear (top blue line) you are expected to get high speed around 3x and usable torque up to 1T. After transmission shifts, you would be getting 1x speed at 3T torque (blue line on the bottom). Shifting transmissions have virtually no overhead vs direct drive in either high or low gear modes.

In case of the worm-based transmission, there are additional friction losses in high speed mode (when worm drive runs), which is represented by the green and violet lines going down at the steeper slopes. You could still get high velocity, but the maximum torque available at the high speed will be reduced, because portion of the motor power needs to go toward the friction losses in the worm drive. The less friction losses there are - the higher output torque you could get.

When you switch into the low gear (high-torque) mode the effect of the worm gear friction is the opposite. If you have too little friction in the worm drive, then combination of the load resistance from the output shaft and the torque coming from the steering motor could break the static friction lock and let the output shaft slide below 1x output velocity. According to my calculations if you have friction coefficient as low as 0.05 you will be limited to 2T torque coming from the power motors and couldn’t get additional 1T from the steering motor.

Depending on the amount of the friction in the worm drive you could have less than ideal torque performance in either high speed or high torque mode.

So what are the possible advantages of the worm-based transmission?

First of all, there is no externally actuated mechanical shifting or locking so you are not risking breaking or jamming any gears. As long as you are careful not to reverse steering motor from -100 to +100 in one step and do some slew control you should be fine. Even with slew control implemented, “switching gears” will be faster or as fast as the pneumatics and definitely faster than what you could get with a servo.

This could allow to “shift” while under load without stopping or slowing down to protect the gears. It could also allow to start in high-torque mode every time robot accelerates and shift into high gear as it reaches 1x speed. This will let you drive heavy vehicles with less motors.

Also, losses due to friction may not be as large as the 2 motor price (for the addition of pneumatics) or 1 motor - for a dedicated shifting or locking device.

If you are already using pneumatics somewhere else on the robot and do not need to shift frequently or under the load, then shifting transmission is definitely the way to go and you don’t have to complicate your life with the worm gears.

However, if you have a heavy robot, do not have pneumatics, and need to get the most out of your motors then you could give this a try.

It all depends on the specific game strategy if you could benefit from the transmission and whether you should choose shifting, locking or non-shifting worm gear based design.


I had a private conversation with a team who is giving a try to this transmission and it centered around VEX parts not being very precise. Essentially, this line could very well summarize it:

The good news (for me) is that somebody is trying to build it, and the bad news (for other teams) is that it is a strong team and they could successfully pull it off!

Just imagine a fast clawbot that doubles as a pushbot with 15 motor equivalent of pushing force from the 6 turbo motor drivebase.

Now, I would like to counter the precision arguments. VEX robots could have much higher precision, than most people believe, if you use certain tricks. For example, I built this demonstration prototype optimizing it for lots of open space that makes it easy to see and understand its inner-workings. Most spacers are on the shafts and it is true that one washer thickness is the best precision you seem to get:

However, if you turn it around and manage spacing adjustments by bringing supporting structures closer or further apart, then you could get much tighter tolerances with these tricks:

  1. Hammer standard metal or teflon washers to be thinner.
  2. File off or hammer aluminum flat pieces to fractional thickness.
  3. When even better tolerances are necessary, you could insert a thick white spacer and vary its compression with tightening screws.

Also, you may need to use double nuts and/or thread locker to fix your parts in place.

Once some of those tricks were applied everybody were quite surprised of the improvements in the build quality.

I’ll just say now that I got very excited when I saw the new and even more compact design and if I get permission I will post some pictures later.

1 Like

After going to our first competition with a 12 motor pushbot, we really wanted to emphasize pushing ability with our next (real) build. We put a 2 speed transmission in, but we found that it never really added any value to the robot. The transmission is awesome @technick3k but robots just don’t need it. It takes very little force to push a star under the fence.

It takes significantly more force to push a clump of stars and/or cubes under the fence… while another bot is trying to counter your push. It may be unlikely, but likely enough to be justified. This approach opens up tonnes of possibilities in the gearing.

On another thought:
I guess, if you really wanted to, you could gear multiples of these together to get insane gear ratios on both the high and low ends.

If you are on the winning side on the field and keep it clean from the beginning then, yes, it is very easy to push an occasional star or two under the fence as you are carrying a cube in your claws.

However, as @Mr_L_on_Yoshi said, if game is close and there are clumps of stars on your side, it takes much more force to push them because some are sticking up and catching the bottom plank of the fence.

Also, at the last competition both us and our sister team were “lucky” to get partnered with a robot that was prone to tipping over and falling - it did so in both qualification matches we played. Our sister team was cut off from the part of the field and ended up losing. They could not do much with their 4 motor tank drive.

My team had 8 motor drive base (direct drive, no transmission yet) and was able to easily push fallen robot out of the way and ended up winning.

Finally, another advantage in having a pushbot is that if you could get cube stuck under the fence and your opponents have weak claws it will, essentially, permanently score the cube in your favor. It takes extra time and strong siderollers could pull the cubes out, but we found it to be very effective against some robots.

I am not saying everybody will benefit from a transmission. If you are building a light, fast cycling robot, it is totally unnecessary. But if your build style tends to produce heavier robots and you like an idea of the secondary scoring mechanism, then it might be a promising direction and you will, certainly, learn a lot even if you endup going with a direct drive.

Our robot was equipped with a PTO (8 motor drive and 0 motor lift or 4 motors on both) and a 2 speed transmission, so we could run 8 motors on a 1:1 gear ratio with 4" wheels. Torque isn’t what’s missing in pushing a clump of stars under the fence. I feel like others can also back me up here; if 2 or more stars are in the wrong orientation, more torque just pushes the fence away, not the stars under the fence. Also, in such a scenario, it would be far faster just to turn around, pick up the clump, and dump it over the fence. To be honest I can’t really think of any reason to run a transmission this year. The extra torque isn’t necessary.