Tray Torque Calculator

Please welcome, the BarcBots Tray Calculator

At the tournaments, especially early in the season, I have seen quite some teams struggle with lifting the tray.
My students initially designed a monster compound gearbox for that task. It was slow, unreliable (gear clicking) and used a lot of space inside the robot, but it worked. We thought there must be a better way. After trying few different designs, we have thrown a bit of science at the problem and figured out that a lever mechanism represents a kind of variable gear. To help my students better understand this complex lever and gear interaction and to help them find a good design, I wrote a simple HTML/Canvas/Javascript simulator, in which you can play with various aspects of your design and observe the changes it makes to the torque needed to raise the tray.

Some usage tips are directly on the page. Details of the internals are in the page source. Feel free to modify if it doesn’t fit your use case. Feel free to ask if something isn’t clear.

After evaluating different configurations, we ended up with the powered lever attached to a simple 1:7 gearbox (~14Nm available torque with the red cartridge), 7Nm computed maximum torque needed to raise our fully-loaded 12-cube tray and actually verified that the motor behind the 1:7 gearbox never needs more than 1Nm during 12-cube scoring.


That is a nifty little tool!

I had good time playing with it.

Is there any chance you could modify it to rotate arm through the lower left quadrant and, maybe, display an additional curve for bottom side rotation? I suspect that it might be slightly more efficient for some geometries.

1 Like

Thanks this is a great tool, I had been trying to calculate the right gear ratio and this helped a lot.

Quite a simple change, you can grab the HTML (use “view page source”, then save as. Direct save page might show some nasty dynamic HTML artifacts) and change the limits at line 305.

305: var armAngle = makeInput(“angle”, “Arm angle [degrees]:”, 90, 0, 360, 1);

(Edit: and also the limit of the loop at line 258)
I understand it might also need to change the axes on the chart, since the arm torque would be considered mostly negative in that quadrant, but with the default setup, it reveals interesting behavior in that quadrant - it was a great teaching opportunity I missed by initially dismissing that quadrant as useless (you’ll see why once you try).

I’ll try to improve it a bit next week. Also, I don’t have direct access to the team web, I’ll need the students to update the page.

1 Like

I have been playing around with the tray torque calculator a bit and realized that the minimums on each of the sliders could be quite restricting depending on how small your tilter is. If I were to make one suggestion it would be to set each tilter with a minimum of 0 (and maybe an area to insert the value with a keyboard without rounding) just to make sure all scenarios are covered for. Other than that the calculator is great!


Great tool! What is the formula that this uses?

I agree, this is an excellent tool which I have pointed out to my team using a tray design. Looks to be a custom script from the OP, so view source is your friend.

1 Like

We have updated the Tray Torque Calculator based on the feedback here.
Besides extending the range of control variables, there are 2 new features:

Both features are implemented through the URL modification. If you open the tool in a new window (e.g. by following one the the links above), you’ll see the long and ugly URL (cough hosting CMS cough) that has individual variables configured after the ‘?’ delimiter.
If you find your preferred setup and wanted to share it, just click “Save configuration”, which will update URL to capture your current configuration. You can then share the URL and it would open in the same state.
The same approach is used for 3rd quadrant, except of no UI to switch it (either use the link above, or add “&q4=1” to enable).
We have made the Q3 optional and disabled by default, since it often makes the display of maximum torque useless.



Sorry for bringing this back up a few months after the latest post but I’m slightly confused as to how the torque slider works.

What does the 1-100 Nm torque slider on the left-hand side represent? Is that the output from the motor (~14 Nm with a red cartridge and 1:7 gear ratio) and if it is do I put 14 for the slider to see the actual torque output?

Also, when I make the crank arm shorter (the bar directly attached to the last driven gear), the torque curve decreases, which makes sense as the radius of the crank arm is shortened. However, wouldn’t this actually be better for the tilter as a shorter crank would make it easier to tilt the tray? I guess what I’m trying to ask is how do I know if the geometry is actually good? Is it with a high torque curve?


The torque relates to the affect of the weight of the tray and cubes. There is some description from @nenik in his Jan 22 post links.

1 Like

The torque curve shows the torque the gearbox has to provide along the tray trajectory. The lower the curve is, the better (*).
Say you have 100rpm cartridge with 1:7 gearbox. That gives you a budget of about 14Nm, so if you keep the curve below, say 10Nm over the relevant tray angles, you’re good.

[*] Within reason. You still need to cover the tray working range and the lower torque requirement you get, the slower will the tray move. For the geometry our team uses (with 100rpm, 1:7 and max torque of about 7Nm, 1Nm at the motor), it takes about 3s to safely raise the stack, while fastest safe move of a 12 cube stack from 45deg to upright is about 1.7s


Ah okay so I was just misunderstanding the curve. Thank you!