KIPR · Botball Explorer
Activity Sections

Discovery · Coding Project 6

Bulldoze Run

Four missions. Sixteen points. No claw — you push.

Project
Coding Project 6
Strand
Coding
Phase
Make It Move
Time
One class period
What You Are Doing
Putting driving and turning together to clear objects off the black line, one mission at a time, then chaining them into a single run.
Mission Anchor
Mission 2 · Mission 4 · Mission 13 base · Mission 14 base
Before You Start
Projects 4 and 5 — you need straight driving, a repeatable 90° turn, and a consistent starting position.
What You Need
Before you start: type your PIN in the box at the top of the page. Your teacher gave you this number. When you finish, press Submit & Download to turn in your work and save a copy.

Try It — Sixteen Points Without a Claw

Your robot cannot pick anything up yet. It can only drive and turn.

That turns out to be enough for four whole missions, because those missions do not ask you to hold anything. They just ask you to get things off the black line.

What actually means

Everything in this project depends on one word. Read it carefully.

The Definition

An object is a line, , or zone edge when no portion of the object is that line, boundary, or zone edge.

No portion. A cube resting with one corner on the line is not . A cone leaning so its base just grazes the line is not . Close does not count.

Walk the field

Before you write anything, go look. Find each of these on the field and fill in the table.

ObjectWhich way is the shortest push to get it ?How far, roughly?
Large Red Cube +
Small Red Cubes
Unstraight Cubes (3)
Traffic Cones (2)
Orange Pom
Blue Pom

Which two objects are closest together? Could one push move both?

Look at the front of your robot. How wide is the part that would do the pushing, and does that width help or hurt you?

Learn It — Pushing Is a Skill

Pushing looks like the easy version of picking something up. It is not — it is a different problem with its own rules.

Where you hit it decides where it goes

Point of contactWhat it means
Dead centerThe object slides forward in a straight line, roughly where you aimed. This is what you want.
Off to one sideThe object spins away at an angle. It may end up somewhere you cannot reach again.
Too highTall objects tip over instead of sliding. A tipped cone still counts as — but only if the whole thing cleared the line.
At an angleThe object skids sideways. Hard to predict, hard to repeat.

Push far enough, then a bit more

You cannot see the line edge from inside your program. Your robot pushes for a set time and stops, and whatever happened, happened.

So on purpose. If the object needs to travel four inches to clear the line, push it six. There is no penalty for being further , and there is a big penalty for being one millimeter short.

⚠ But Not Into Somewhere Worse

Do not push an object into a wall, off the field, or something you need later. Look at where it will end up before you decide how hard to shove.

— the trap in Mission 4

Watch Mission 4 video

Base Mission

3 points Live judged

An Orange Pom satisfies the definition.

Bonus Mission

5 points Live judged

An Orange Pom and a Blue Pom simultaneously satisfy the definition.

Scores

  • An Orange Pom is the line.
  • An Orange Pom is lifted completely clear of the line.
  • An Orange Pom and a Blue Pom are both the line at the same moment.

Does Not Score

  • Any portion of the Orange Pom is touching the line.
  • An Orange Pom satisfies , and a Blue Pom satisfies later — they are never simultaneously .

Mission 4’s bonus does not just ask for an orange pom and a blue pom . It asks for both — true at the same moment.

That last one is the whole problem. Clear one pom, come back, clear the other, and if the first one rolled back onto the line in between, you get the base and not the bonus.

The reliable answer is one push that takes both. That is a positioning problem, not a programming problem.

One run, four missions

Build each mission on its own first. Get it working. Then join them together.

The order matters — after every push, your robot is somewhere new, facing a new direction, and the next section has to start from there.

// ---- Mission 13: unstraight cubes ----
// drive, push, back off

// ---- Mission 14: cones ----
// turn, drive, push

// ---- Mission 2: red cubes ----
// ...

Use banners like these to mark each section. When one mission stops working, you will know exactly which of code to look at.

Do It — Clear the Line

One mission at a time. New project for each, then a combined one at the end.

Step 1 — Mission 13 — Unstraight Cubes for 1 point

Watch Mission 13 video

Base Mission

1 point Live judged

All three Unstraight Cubes satisfy the definition (cubes are the black line).

Bonus Mission

7 points Live judged

Two Unstraight Cubes form a scoring stack — one Unstraight Cube is another.

Advanced Bonus

13 points Final judged

All three Unstraight Cubes form a scoring stack. All cubes must originate from the Unstraight Cube area.

Scores

  • All three Unstraight Cubes are the black line.
  • One Unstraight Cube is another Unstraight Cube.
  • All three Unstraight Cubes participate in valid relationships (traditional stack or pyramid).

Does Not Score

  • One or more Unstraight Cubes are touching the black line.
  • Two Unstraight Cubes touching side-by-side without .
  • An Unstraight Cube stacked with a cube from another mission area.
  • Only two Unstraight Cubes participate in the Advanced Bonus stack.
All three. Leave one cube grazing the line and you score nothing.

TryPush msleepHow many cubes ended up ?
1
2
3

Step 2 — Mission 14 — Traffic Cones for3 points

Mission 14

Traffic Control

Watch Mission 14 video

Base Mission

3 points Live judged

Both Traffic Cones satisfy the definition.

Bonus Mission

7 points Final judged

A Traffic Cone is the Loading Zone. The Base Mission must be satisfied to score the Bonus Mission.

Scores

  • Both Traffic Cones are the black line.
  • A Traffic Cone is the Loading Zone while the other remains elsewhere on the field.
  • The same Traffic Cone used for Base Mission is placed the Loading Zone.

Does Not Score

  • Either Traffic Cone is touching black line.
  • Only one Traffic Cone is the black line.
  • A Traffic Cone is the Loading Zone but the second cone is still touching black line.
  • The Base Mission has not been satisfied.

⚠ A Tipped Cone Still Has to Be Clear

Cones tip easily. That is fine — a cone on its side can still be . But a tipped cone takes up more floor, so the part that lands might reach back onto the line. Push further than feels necessary.

Did one push clear both cones, or did you need two moves? Describe what you did.

Step 3 — Mission 2 — Red Cubes for 4 points

Watch Mission 2 video

Base Mission

1 point Live judged

The Large Red Cube and its pallet are both the black line.

Bonus Mission

3 points Live judged

Both Small Red Cubes are the black line. The Small Red Cubes are not required to remain stacked.

Scores

  • The Large Red Cube and pallet are both the black line.
  • The Large Red Cube and pallet are the black line, even if no longer touching one another.
  • Both Small Red Cubes are the black line.
  • The Small Red Cubes are the black line and separated from one another.

Does Not Score

  • Any portion of the Large Red Cube is touching the black line.
  • Any portion of the pallet is touching the black line.
  • The Large Red Cube is the line but the pallet is still touching the line.
  • Either Small Red Cube is touching the black line.

Good news on the bonus: the small red cubes do not have to stay stacked. Knocking them apart is fine as long as both end up .

Step 4 — Mission 4 — The Poms for 8 points

Watch Mission 4 video

Base Mission

3 points Live judged

An Orange Pom satisfies the definition.

Bonus Mission

5 points Live judged

An Orange Pom and a Blue Pom simultaneously satisfy the definition.

Scores

  • An Orange Pom is the line.
  • An Orange Pom is lifted completely clear of the line.
  • An Orange Pom and a Blue Pom are both the line at the same moment.

Does Not Score

  • Any portion of the Orange Pom is touching the line.
  • An Orange Pom satisfies , and a Blue Pom satisfies later — they are never simultaneously .
This is the biggest score in the project and the fussiest. Poms are light — they roll, they bounce, and they do not always go where you pushed them.

Get the base first: one orange pom, completely . Then work out how to take a blue one with it in the same motion.

TryWhat I changedOrange ? Blue ? Same time?
1
2
3
4

Step 5 — Chain them into one run

Create a new project called Bulldoze. Copy your four working programs into it, one after another, with a comment banner above each section.

Now the hard part: the end of one section is the start of the next. After a push, your robot is not where it began — you need to drive it from wherever it ended up to wherever the next mission starts.

Add One Section at a Time

Get mission one working from the starting box. Then add mission two and test the whole thing. Then add three. Never add two sections between tests — if it breaks you will not know which one did it.

What order did you put the four missions in, and why that order?

Step 6 — Run it five times and time it

Same standard as always. Reset the field between runs. Time each one with a stopwatch.

RunM13M14M2M4PointsTime
1
2
3
4
5

Which mission failed most often across your five runs, and what do you think caused it?

One last thing before the arm

You have been stopping with ao()all off. It cuts power to every motor and lets them coast to a halt.

That has been fine so far. From the next project it will not be, because you are about to add an arm, and an arm changes where the weight sits. A robot that coasts is a robot that keeps creeping after you told it to stop.

Freezing instead of switching off

Setting a motor’s power to zero is not the same as switching it off. Zero power is still a command — the motor actively holds position instead of rolling free.

ThisDoesRobot behaves like
ao();Cuts the powerA bike with the pedals let go — it rolls on
motor(0, 0); motor(3, 0);Commands zeroA bike with the brakes held — it stops where it is

So from Project 7 onwards, every stop looks like this:

motor(0, 0);
motor(3, 0);
msleep(30);

Three lines instead of one. You still give it the thirty milliseconds to settle, because even a held motor takes a moment for the robot to stop rocking.

Try Both, Right Now

Drive forward for two seconds and stop with ao();. Mark where the robot ends up.

Reset, run it again, and stop with the three-line freeze instead. Mark that spot too.

Stopped withWhere it finishedAny creep after stopping?
ao();
the three-line freeze
How far apart were the two finishing points?

⚠ From Here On

Every project after this one uses the freeze. If you go back and reuse code you wrote in Projects 3 to 6, swap the ao(); for the three lines before you trust it.

Score It — Checkpoint

My best run

Mission partScored?Points
Mission 13 — Base (all three cubes )1
Mission 2 — Base (large cube + pallet )1
Mission 2 — Bonus (both small red cubes )3
Mission 14 — Base (both cones )3
Mission 4 — Base (orange pom )3
Mission 4 — Bonus (orange + blue simultaneously)5
My total16

Fastest clean run

QuestionMy answer
Fastest run that scored all six parts
Total commands in my program
Which section takes the longest?

Can you do it again?

Think about it

Your program is getting long, and big chunks of it are nearly identical — drive, turn, drive, push, back off, over and over. What is annoying about that?

You change one msleep() near the start of the run. What happens to every mission that comes after it, and why?

A team at a tournament has a robot that scores 16 points in practice and 3 points in the actual match. Nothing about the program changed. Give two possible explanations.

Next

You have taken pushing about as far as it goes. Everything left on the field has to be lifted — and that needs a claw.

Before Project 7 — Your Robot’s Arm, go build one. The claw build lives in the Systems strand, and this is the one place where the two strands have to meet.

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