Base Mission
1 point Live judgedA robot enters the zone adjacent to the left starting box and comes to a clear and complete stop while .
Discovery · Coding Project 4
Off the block and onto the field. This is the first project that scores points.
Student PIN:
You are about to score real points. Before you write a single line of code, find out exactly what the judge is looking for.
Mission 1 A robot enters the zone adjacent to the left starting box and comes to a clear and complete stop while . The same robot that completed the Base Mission subsequently returns a starting box and comes to a clear and complete stop.Waypoint Alpha
Watch Mission 1 video
Base Mission
1 point
Live judgedBonus Mission
1 point
Live judgedScores
Does Not Score
⚠ They Do Not Share a Return Trip
Mission 1 and Mission 10 must be completed independently. One drive back into a starting box cannot pay for both bonuses. Each one needs its own out-and-back run.
The Judge Has to See It
If a judge cannot clearly tell that your robot stopped, the mission does not score — even if you know it stopped. A stop that is too short to see is worth zero.
Moving an arm or claw while the robot stays in place is still stopped. What matters is that its position on the field is not changing.
Do not program yet. Put your robot in the starting box, then push it by hand through the whole mission — out to the zone, stop, back into the box.
Now measure and write down what you just did.
| Measurement | Mine | Unit |
|---|---|---|
| Distance from the starting box to the middle of the zone | inches | |
| How far the zone reaches, front to back | inches | |
| How wide my robot is | inches | |
| How long my robot is | inches |
Look at the zone depth and your robot’s length. How much room for error do you actually have?
You already know how to make both wheels turn. Here is the part nobody warns you about: equal power does not mean equal speed.
Send 50 to both motors and your robot will drift. Every robot does. The reasons are physical, not programming mistakes:
The Fix Is in the Numbers
You cannot make the motors identical. You can give them different numbers so they end up going the same speed.
If your robot drifts left, the left wheel is going too slow — or the right one too fast. Speed up the left, or slow down the right.
If it drifts right, do the opposite.
Change one wheel at a time, by 2 or 3 at a time. Big jumps and you’ll struggle to align the wheels.
It Will Drift Again Later
The correction that works on a cold robot may not work after twenty runs — motors change as they warm up. The more power you use, the bigger the correction you need. Expect to re-check this on competition day.
Positive power drives forward. Put a minus in front of both numbers and the robot backs up along the same path.
// Forward
motor(0, 50);
motor(3, 50);
// Backward
motor(0, -50);
motor(3, -50);Watch Out
If your straight-driving fix was motor(0, 50); motor(3, 47);, then reverse is motor(0, -50); motor(3, -47); — the same correction, both numbers negative. Students often flip which wheel gets the smaller number and then wonder why the robot curves on the way home.
Every out-and-back run has the same five moves. Write it as before you write it as code.
| Code / part | What it means |
|---|---|
1. Drive forward | Out of the starting box, toward the zone. |
2. Stop | Not a slow-down. A stop. |
3. Wait | Long enough for the judge to see it. Base mission scored here. |
4. Drive backward | Back toward the starting box. |
5. Stop | the box. Bonus scored here. |
Why does step 3 exist? What happens to your score without it?
Leave a blank line between each move. It costs nothing and makes the sections of your program obvious at a glance.
// Out
motor(0, 50);
motor(3, 50);
msleep(2000);
// Stop and hold
ao();
msleep(30);
msleep(3000);
// Back
motor(0, -50);
motor(3, -50);
msleep(2000);
// Stop in the box
ao();
msleep(30);Your robot must start in the same spot every single run, or nothing you measure means anything. Put it in the starting box and decide exactly how you will place it — against a wall, on a mark, lined up with a corner.
Describe how you place your robot so it starts identically every time:
Create a new project called Waypoint. Put at the top. Drive forward and stop — that is all for now.
Start with power 50 and guess a time. Run it. If you stopped short, add time. If you overshot, take time away.
| Try | msleep value | Where the robot ended up |
|---|---|---|
| 1 | ||
| 2 | ||
| 3 | ||
| 4 |
Watch which way your robot pulls as it drives out. Then adjust one wheel’s power — small changes only.
| Try | Left power | Right power | Which way did it drift? |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 |
| Left wheel power | Right wheel power |
|---|---|
Add ao(); then msleep() so the robot sits still in the zone. The mission says stop — the judge needs to see it.
Now add the return trip. Same powers, both negative. Same drift correction — do not swap which wheel gets the smaller number.
The robot must end the starting box. Not the line. Not hanging over the edge. Every part inside.
Did you have to make the backward time different from the forward time? Why might that happen?
One good run is luck. Five good runs is a program. Run the whole mission five times without changing anything and record what happens.
| Run | Stopped in the zone? | Returned fully within? | Points |
|---|---|---|---|
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
Did all five runs come out the same? If not, what changed between them?
Mission 10
A robot enters the zone adjacent to the right starting box (Starting Box B / Bravo) and comes to a clear and complete stop while .
The same robot that completed the Base Mission subsequently returns a starting box and comes to a clear and complete stop.
Copy your program into a new project called Waypoint Bravo and run Mission 10 from the right starting box.
Remember the rule: each mission needs its own out-and-back. You cannot score both bonuses with one trip home.
Did the same numbers work on the other side, or did you have to change them? Why do you think that is?
| Mission part | Scored? | Points |
|---|---|---|
| Mission 1 — Base (stop ) | 1 | |
| Mission 1 — Bonus (return ) | 1 | |
| Mission 10 — Base (stop ) | 1 | |
| Mission 10 — Bonus (return ) | 1 | |
| My total | 4 |
Keep these. Project 5 starts from your straight-driving powers.
| Setting | Value |
|---|---|
| Left wheel power for driving straight | |
| Right wheel power for driving straight | |
| Time to reach the zone (ms) | |
| Time to get back to the box (ms) | |
| How long the robot holds still (ms) |
Your robot scored, but nothing in your program knows where the robot actually is. It only knows how long to push. What could go wrong on competition day that would make your timing wrong?
A teammate’s robot stops just past the zone line every time. Name two different things they could change, and say which one you would try first.
Which was harder — getting the robot to the right place, or getting it to do the same thing five times? What does that tell you?
In Project 5 — Learning to Turn, the robot stops going in straight lines. You will use your straight-driving numbers as the starting point and learn the two ways to make a turn — and the three shapes a turn can have.
KIPR · Botball Explorer — Discovery Projects · © KISS Institute for Practical Robotics 1997–2026
When you are finished, press the button to turn in your work and save a copy.
KIPR · Botball Explorer · Discovery