RoboMaster · Dalian University of Technology · Engineer robot · 2024 season

RoboMaster Engineer — SCARA Arm

The Engineer robot takes a 650 g ore cube off a resource island and puts it into an exchange station well above it. I designed the SCARA arm and its two-stage lift — the configuration, the link lengths, where the motors sit, the beam section, and the shafting that holds it together.

The finished Engineer robot photographed against white: mecanum chassis, the vertical lift column, and the SCARA arm reaching up and to the left with its end effector.
Configuration
PRRRRone prismatic axis, four revolute

Step 1

Why a SCARA, and what that buys the rest of the design

PRRRR — one prismatic axis, four revolute

The 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.

A dimensioned SolidWorks layout sketch: the two arm links drawn as slots at 250 and 270 mm, beside a 200 by 200 mm square target rotated 45 degrees with plus and minus 135 degree swing marked at its center.
A layout sketch, not a rendering. The links come out at 250 and 270 mm, sized against the 200 × 200 mm target and the ±135° swing at its center — settled before any part existed.
CAD view of the complete arm: the vertical lift column on the left, the two links extending right, and the ore cube held at the end effector.
The whole arm in CAD, with the cube where it has to end up.

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.

CAD section of the belt drive shaft: a stepped shaft running down the centre with a ball bearing at the top and another at the bottom, the timing-belt pulley between them, a key seat visible in the shaft, and the carbon beam entering from the right.
The pulley sits between the two bearings — outer rings against housing shoulders, the upper inner ring held by a circlip, the lower one by a sleeve. The slot down the middle is the key seat.
Wide CAD section along the whole arm: the two stacked shoulder motors at the left, the hollow carbon square beam running right, and the elbow joint with its own bearings at the far right.
Both motors sit at the left, at the shoulder; the beam and the elbow carry no actuator.
Engineering drawing of the belt drive shaft: a stepped shaft with a flange and bolt circle, a key seat, and a circlip groove detailed at four to one, with an A-A section below.
The shaft as drawn — the key seat that takes the torque, and the circlip groove that does not, at 4:1. From the write-up, so the sizes on it are that exercise’s; the method is what transfers.
Isometric CAD view of the arm: the small belt motor stacked above the large joint motor at the shoulder, the timing belt running out along the carbon beam, and the elbow flange at the far end.
Motor stack at the shoulder, belt out along the beam, elbow flange at the far end.

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.

A motor datasheet characteristic curve: input current, efficiency, output power and torque plotted against speed.
The kind of chart the operating point has to sit under.

Step 2

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.

A carbon-fibre octagonal tube with its dimensioned cross-section inset: 30 mm across one axis, 20 mm across the other, 1.5 mm wall.
The tube, and its section. 30 × 20 mm across the flats, 1.5 mm wall.
CAD view of the shoulder with the carbon beam cut short at its far end, so the octagonal section shows face-on.
The octagonal section in CAD.

Step 3

Two ways of going up

400 mm first stage, 350 mm second stage
CAD of the two-stage lift: two vertical cylinders flanking a central ball screw driven by a motor at its base, with a separate guide rail column alongside.
The lift.

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.

Close CAD view of the machined aluminium carriage bracket: two rail-block mounting faces set at different heights, with the joint motor and belt pulley above.
The bracket that sets the offset.

Step 4

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.

CAD section through one wheel module: the mecanum wheel and its rollers in the middle, the drive motor to the left, a carbon plate either side of the axle, and the suspension springs above.
One wheel module, sectioned. A carbon plate either side of the axle, motor inboard, rocker and spring above.
Isometric CAD section of the wheel module and its suspension: the carbon side plate cut away to show the motor, the hub bearing and the rocker linkage with its coil-over spring.
The outer edge of the outer plate is where the added bearing and the M6 clamp go, turning a cantilever into a supported span.

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