Teacher copy · Velocity Arena
Launch Sequence — Answer Key
Every team's numbers are different — different ball position, different bot. This gives you one fully worked bot on the left and, for each step, the rule for checking any team on the right. The worked bot: speed 38 cm/s, start-up −7 (equation distance = 38 × time − 7). The teacher placed the ball so leg 1 (corner → midline) = 100 cm and leg 2 (midline → ball) = 50 cm.
No trig, no calculating the angle — these are pre-algebra students. They turn 45° to start (or measure with a protractor on a scale drawing) and tune it. All the math is the two drive times — arithmetic with their own equation.
1–2 Leg 1 — corner to the midline
Worked bot · leg 1 = 100 cm
ms1 = (100 − (−7)) ÷ 38 × 1000 = (107 ÷ 38) × 1000 = 2816 ms.
Turn ~45° toward the midline, then basic.pause(2816).
Check any team
Their measured leg-1 distance into their own equation: (distance + their start-up-flipped) ÷ their speed, then × 1000. Sign trap: start-up is negative, so subtracting it adds.
3 Leg 2 — head-on to the ball
Worked bot · leg 2 = 50 cm
ms2 = (50 + 7) ÷ 38 × 1000 = (57 ÷ 38) × 1000 = 1500 ms.
Turn back ~45° to face the ball, then basic.pause(1500).
Check any team
Same equation, the second distance. Each leg has its own start-up loss, so the equation runs twice — a team that adds the two distances and converts once has it wrong.
· The worked launch, filled in
What the two legs look like assembled (worked bot: leg 1 = 100 cm → 2816 ms, leg 2 = 50 cm → 1500 ms). This goes at YOUR CODE HERE in STUDENT ZONE B; whole-ms rounding (2816 ≈ 2800) doesn't matter.
// LEG 1 — turn left to the midline, then drive
CutebotPro.trolleySteering(CutebotProTurn.LeftInPlace, 45)
basic.pause(300)
CutebotPro.stopImmediately(CutebotProMotors.ALL)
basic.pause(150)
CutebotPro.pwmCruiseControl(currentPower, currentPower)
basic.pause(2816) // leg 1: 100 cm
CutebotPro.stopImmediately(CutebotProMotors.ALL)
basic.pause(150)
// LEG 2 — turn right to face the ball, then drive
CutebotPro.trolleySteering(CutebotProTurn.RightInPlace, 45)
basic.pause(300)
CutebotPro.stopImmediately(CutebotProMotors.ALL)
basic.pause(150)
CutebotPro.pwmCruiseControl(currentPower, currentPower)
basic.pause(1500) // leg 2: 50 cm
CutebotPro.stopImmediately(CutebotProMotors.ALL)
4–5 Write it, then tune one leg at a time
Four different misses
Midline short / long → ms1. Midline off to the side → the leg-1 angle.
Short of / past the ball → ms2. Not head-on at the ball → the leg-2 turn.
The key coaching move
One leg, one thing. A distance miss is a ms fix; a direction miss is an angle fix. Change both at once and a team can't tell which worked. The snippet goes in STUDENT ZONE B; the locked part drives the last bit and kicks (Power²).
Test the kick before the competition: does a bot that ends up behind the ball actually kick it in? Dry-run a few yourself. Wide goal + short distance behind the ball makes it reliable — do not let a weak kick get blamed on the math.
6 The competition
Fair by construction. Everyone launches from the same corner at the same ball, so the winner has the sharpest two-leg math and turns. Most goals out of 5, one neutral ref on in/out. Bracket it for a champion.