Why a SCARA, and what that buys the rest of the design
PRRRR — one prismatic axis, four revoluteThe Engineer picks a 650 g ore cube up near the deck and puts it into an exchange station well above it. That is a lot of vertical travel against a modest horizontal reach, and the two are independent of each other — which is exactly the split a SCARA is built around.
So the arm is PRRRR: a prismatic axis doing the whole tall Z, and four revolute joints doing the rest. Both shoulder axes are vertical, so the links fold in a horizontal plane and the rail sets the height on its own. Three things follow:
- Height and reach are set separately — the rail length fixes one, the link lengths fix the other, and neither constrains the other
- The axes barely interact — moving Z changes neither reach nor orientation
- Gravity is not held by a motor — an RRR shoulder supplies holding torque against the arm's weight forever; here the prismatic axis carries it
That last point decides the sizing: with no gravity term, all a joint has to be sized against is the torque to accelerate its link.
What the drive shaft is actually resisting
Both shoulder motors are bolted to the tail, not to the arm. One turns the first link directly through its flange; the other drives a pulley on a short shaft, and a timing belt carries that torque out along the beam to the elbow. The links accelerate the payload and themselves — they never have to accelerate the actuators as well.
That belt shaft takes exactly two loads. Torque arrives through the flange, and the belt’s preload pulls on the pulley — purely radial, perpendicular to the axis. Nothing pushes along the shaft at all.
So the radial pull is what gets designed for, split between two bearings. Those two loads set the shaft diameter; the axial constraints set nothing, and only keep parts where they belong.
Sizing the joints
Idealize the link as a slender rod turning about its end (J = mL²/3), take α off the trapezoidal velocity ramp, and M = Jα with a 1.2 factor gives the requirement. Selection is graphical from there: the operating point has to land under the manufacturer’s curve.
And then the honest part. The motor actually fitted — an lk8016 — is more than twice the computed torque, because a competition robot lives outside its design case: it gets shoved, it hits walls. The calculation sets the floor; the margin is a judgement about the environment — and on the field that margin is what survived the collisions.
Why the beam is a carbon octagon
The link between the joints is a cantilever: the cube and the arm's own weight act out at the far end. What you want is the smallest deflection δ under that load, and for a given material that means the largest second moment of area of the section.
That quantity is I = ∫y² dA about the neutral axis — the plane through the section carrying no stress, tension above it and compression below. The y² is the whole story: material far from the neutral axis counts far more than material near it. Which is exactly what an I-beam does, and why it is so good in bending.
But this beam is not in pure bending. It is cranked, so a load at the end does not act through the beam's axis, and that offset raises a torque too. An I-beam is an open section: excellent in bending, poor in torsion. So the section has to be closed and still keep material out at the edges — and it has to be easy to clamp to: a round tube will not hold a fitting, and a square one chews up the brackets. A hollow octagonal tube was the best thing we could buy against all of that.
That settles the shape, not the material — an aluminum tube of the same section would carry the bending perfectly well.
The whole vehicle has a mass budget, so the quantity to maximize is specific stiffness: how much stiffness each gram buys.
Carry the bending and the torsion under a fixed mass budget, and a carbon-fiber octagonal tube wins it — 30 × 20 mm across the flats with a 1.5 mm wall, almost all of the material at the perimeter where the y² pays for it.
And it is fitted 30 mm axis vertical, standing in the plane the arm bends in. Run the section through the same integral both ways and it comes out at roughly 17,100 mm⁴ on the deep axis against 8,900 mm⁴ on the shallow one: the same tube turned ninety degrees loses about half its bending stiffness.
Two ways of going up
400 mm first stage, 350 mm second stage
The prismatic axis has to cover a large height and place the cube precisely at the top of it — two requirements wanting two different machines. So it is staged:
- First stage — a cylinder, 400 mm. Fast, light, two useful states, no position feedback and none needed: it raises the whole arm structure.
- Second stage — a servo-driven ball screw, 350 mm. Slower and heavier per millimetre, but it holds a commanded position — this is what puts the arm at the right height for the exchange.
All 750 mm on the screw would have been accurate and far too slow; all of it on the cylinder, quick and unable to stop where it was told. The cylinder skips the dead height in the middle and the screw does the fine work — that split is the whole point.
Why the two carriage blocks are not level with each other
The SCARA platform hangs off the front of the carriage, so what it puts into the rails is weight plus an overturning moment, trying to tip the platform nose-down. There are two rails, one block on each, and the aluminium bracket joining them to the platform deliberately sets them at different heights.
The two rails sit 90 mm apart, and that separation is horizontal — it handles roll and yaw and does nothing for a moment acting about the axis running between them. Level with each other there is no separation along the rails, so no lever arm and no force couple: each block absorbs its share as rated pitch moment, far more restrictive than its load rating.
Staggering them by 24 mm along the rails turns that moment into a pair of forces — the higher block pulled off its rail, the lower one pushed into it, each seeing a normal load instead:
Level, the pair is limited by twice the block’s permissible pitch moment — 2 × 100 = 200 N·m for the HGH15CA blocks this uses. Staggered by 24 mm the limit is instead the static load rating acting on that lever arm — 23.47 kN × 0.024 m = 563 N·m. The same two blocks, close to three times the overturning capacity, for the price of a longer bracket.
Write that gain out and it reduces to d / (2 × Mpitch/C0) — the stagger over twice the block’s own effective moment arm, which is 100 N·m / 23.47 kN = 4.3 mm here. That arm grows with block size, so the same 24 mm stagger returns 2.8× on an HGH15CA, 2.2× on an HGH20CA and 1.9× on an HGH25CA. The trick pays most exactly where you would otherwise be tempted to buy a bigger block.
And that is the cheap side of the trade: the bracket costs a little vertical space, while blocks large enough to take the moment head-on cost mass, money and room — on an axis whose whole job is to lift what it is bolted to.
The chassis fix that outlived the robot
The chassis is an ordinary mecanum platform with a self-designed adaptive suspension — two aluminum square tubes taking the load, vertical carbon plates front and rear, a four-bar linkage through the middle. The part worth writing down is a failure.
The carbon plates either side of each wheel axle were joined only at the top. That makes each plate a cantilever: load the wheel and the lower edge deflects, and the flange bearing in the mecanum hub walks out of the plate. The wheel set goes loose, and it does it mid-match.
The fix closes the cantilever rather than stiffening it: a plane needle-roller bearing on the outer edge of the outer plate, clamped with M6 screws, so the plate is supported at both ends instead of one. It survived the season, and later robots carried the clamping scheme over unchanged.
What I actually did
The Engineer is one robot in a university RoboMaster team, and a team builds it. The mechanical design of this first-generation machine was mine, end to end — the SCARA arm, the two-stage lift and the chassis: configuration, link and joint sizing, motor placement and torque path, section and material, and the shafting, bearings and wheel modules.
- Designed in SolidWorks, load cases checked before anything was machined
- Selected the drivetrain and the actuators — joint motors against computed inertia and torque-speed curves, the lift stages against a force calculation and the supplier's tables, with the margin chosen deliberately over the computed floor