Challenge 1
Mark a long curve and a long straight on your fast leg, re-run the colour calibration, and bring the gain out of Follow Line as an input so it can be changed without opening the block.

EV3 Robotics›Level 4 · WRO Prep›Lesson 27
Level 4 · Lesson 27 · EV3-L04-2760 minutes · Block 4 of 6 · Mat: WRO 2024 — Earth Allies, Sustainable Farming
Find the two things your proportional follower cannot do at any gain.
You built proportional steering in lesson 12 and it was a large improvement over the two-state follower. Today you find its ceiling — not by being told about it, but by trying every gain and watching one problem get worse each time the other gets better.
Today is a measuring lesson. Nothing gets built and no new blocks appear. You leave with a table of numbers that says, in your own handwriting, why one gain is not enough.
Use the fast leg you marked in lesson 25 — the one you said was worth the fastest possible following. If it is a long diagonal like the loading yard down to the packing table, it is exactly right: it has straight and it has curve.
You need both parts and they test different things:
Mark both sections on the mat with a removable marker or a scrap of tape at each end, so every team member measures the same stretch.
Recall what proportional steering actually computes. The error is how far the light reading is from your mid value, and the steering correction is that error multiplied by your gain. Small error, small correction. No error, no correction at all.
That last sentence is the whole problem, and it only bites on a curve.
On a straight, holding the line needs no steering. Zero error, zero correction — and zero correction is exactly what is wanted. Proportional control is perfect here.
On a curve, holding the line needs a steady turn, all the way round. But a steady correction requires a steady error. So the robot slides off the line until the error is just big enough to produce the turn the curve demands — and then it stays there, tracking the curve perfectly, from a fixed distance off the line. It is not drifting. It has settled, in the wrong place.
You cannot gain your way out of it. Doubling the gain halves the gap — the same correction now comes from half the error. But it never reaches zero, because at zero error the correction is zero and the robot would leave the curve. A gap will always be left. This is the first wall.
So raise the gain. Now the second problem appears. A high gain means a big correction from a small error, so a robot returning to the line arrives fast, cannot stop on it, and crosses to the other side — which produces a large error the other way, and a large correction back. It weaves. On a straight it never settles.
Lower the gain and the weaving stops, but the curve gap grows and sharp bends get cut. The two problems want opposite gains. That is the second wall, and no single number is on both sides of it.
No bricks today. What you build is a way of seeing the two failures, because both are easy to argue about and hard to eyeball.
For the steady gap. Run the curve, and stop the robot part-way round with the program still holding position — or simply stop it and do not move it. Measure, in millimetres, from the centre of the colour sensor to the centre of the line. Do it at the same marked point every run so the numbers compare.
For the overshoot. Watch the straight after the bend and count the swings — how many times the robot crosses the line before it is running level. Zero is settled. Three or more and it is still fighting. Have one person count and only that person count, so the number means the same thing all lesson.
Draw the table now, before you run anything: a row for each gain value, a column for the curve gap in millimetres, a column for the swings, and a column for the time over the whole leg.
Your Follow Line block from lesson 13 already takes speed as an input. Today, if the gain is buried inside the block, bring it out as an input too.
This is the same rule as lesson 14 and it matters more today than usual: you are about to change the gain five times, and a number you have to go inside a My Block to edit is a number somebody will forget to change back.
Keep everything else fixed. Same speed on every run, same starting position, same battery state as far as you can manage, same section of line. If two things change between runs, the table proves nothing.
One more thing worth checking before you trust any of today’s numbers: re-run your colour calibration. A follower tuned against yesterday’s light values will show you failures that belong to the calibration, not the controller.
Five values, spread wide. If your working gain from Block 2 is in the middle, go well below and well above it — you want to see both failures clearly, not politely.
For each value, run the leg twice and record the curve gap, the swings and the time. Two runs, because one run of anything on a mat is an anecdote.
Then read your two columns down the page. The gap column gets better as the gain rises. The swings column gets worse. Somewhere in the middle is the compromise you have been using all year without realising it was a compromise.
Circle the row you would race with. Then write beside it what is still wrong with it — because there will be something, and naming it now is the point of the whole lesson.
Now try to satisfy both at once. Find a single gain that gives you a curve gap under about five millimetres and no more than one swing on the straight.
Give teams a genuine attempt at it. They will bracket in, split the difference, and get close on one column at the cost of the other.
Then say plainly what has happened: this was not a hard tuning problem they failed at. It is a request that one multiplication cannot fill, because the two failures want opposite numbers.
To do better, the follower needs to know something it currently does not: how long the error has been there, and how fast it is changing. Neither is in the reading. Both are in the history of the readings. That is tomorrow.
Today’s entry is mostly the table, and it gets used twice more this block:
Keep the best proportional numbers safe. Lesson 30 puts the two-state follower from lesson 5, today’s circled proportional row, and the PID follower from lesson 29 side by side over this same leg. Today is one third of that comparison, and it cannot be re-measured later once the program has moved on.
This model drives, so its challenges are run on a mat. Mats differ between branches — check you are looking at the one in your room.

WRO 2024 RoboMission Elementary — Earth Allies — Sustainable Farming · official WRO game mat, 2362 × 1143 mm
The challenges name these places rather than distances, so the same challenge works on any mat:
Switch mats above and every route below is redrawn on the mat you chose.
Work through the challenges in order — each is harder than the last. The mission comes after all three, and it is meant to make you plan before you build.
Mark a long curve and a long straight on your fast leg, re-run the colour calibration, and bring the gain out of Follow Line as an input so it can be changed without opening the block.

Sweep five gains, spread wide. For each one record two things: the gap in millimetres between the sensor and the line part-way round the curve, and the number of times the robot crosses the line on the straight before it settles.

Now find a single gain that gives a curve gap under about five millimetres AND no more than one swing on the straight. Then say which column you had to give up, and why a curve leaves a gap that a straight does not.

Produce the gain table for your fast leg — five gains, curve gap, swings, leg time — and circle the row you would race with, with a note beside it saying what is still wrong with it. Keep those numbers: lesson 30 puts them against the two-state follower from lesson 5 and the PID follower from lesson 29, and they cannot be re-measured once the program has moved on.
