Base Mission
1 point Live judgedAll three Unstraight Cubes satisfy the definition (cubes are the black line).
Discovery · Coding Project 8
Two servos, one system. This is the biggest scoring project in the whole strand.
Student PIN:
A claw is an — the part of the robot that does work on the world. In Project 6 your effector was the front of the robot, and it could only shove. A claw can hold.
Structure and Function
A claw is bad at pushing and great at grabbing. The blade you used in Project 6 was the opposite. Neither one is better — they are shaped for different jobs, and the shape is what decides the job.
| Servo | Its job | Its two or three positions |
|---|---|---|
| Arm | Raise and lower | up · horizontal · down |
| Claw | Open and close | open · closed |
Put a cube on the table in front of you. Pick it up with one hand, move it, and set it back down.
Do it again — slowly this time — and write down every separate movement, in order. Do not skip anything, even the parts that feel too obvious to write.
| Step | What my hand did |
|---|---|
| 1 | |
| 2 | |
| 3 | |
| 4 | |
| 5 | |
| 6 | |
| 7 |
Try swapping any two of your steps. Pick a pair and describe what would go wrong.
That List Is Your Program
Grabbing is not one action. It is five or six small ones that only work in one order. Close the claw before the arm is down and you grab nothing. Raise the arm before you close the claw and you lift nothing.
The whole skill in this project is sequence.
Put them at the top of every program, in the name = number format:
// Your positions will be different --- do not copy these!
// arm = 0
// up = 230
// horizontal = 1000
// down = 1234
//
// claw = 3
// open = 1246
// closed = 340
Notice the first line of each group is the , not a position. You now have seven numbers to keep straight, and every one of them is buried somewhere in your code.
Project 7 taught you the preset trick for one servo. With two, it matters twice as much — an arm that slams down and a claw that snaps shut is a good way to break something.
// Arm up
set_servo_position(0, 230);
// Claw open
set_servo_position(3, 1246);
enable_servos();
msleep(1000);Arm up, claw open, then enable. The robot wakes up in a known, safe shape every single time.
| Code / part | What it means |
|---|---|
| 1. Arm up, claw open | Preset, then enable. Safe starting shape. |
| 2. Drive to the object | Arm stays up and out of the way while driving. |
| 3. Stop — ao() | Do not grab while still rolling. |
| 4. Arm down | Claw comes down around the object. Wait for it. |
| 5. Close claw | Now, and only now, grip. |
| 6. Arm up | Lift. The object comes with it. |
Every single grab in this project is that sequence. You will type it four times today. Remember how that feels — Project 12 is about fixing it.
Look at how a mission is scored, not just what it asks for. Two missions can want the same thing and mean very different things by it.
| Code / part | What it means |
|---|---|
| Live Judged | A judge watches it happen during the match. It counts the moment it is true — even if it falls apart afterwards. Your robot may be holding it. |
| Final Position | Scored after the match ends, from whatever is left on the field. Your robot has to let go and the result has to survive on its own. |
Robot Support Is Allowed --- Sometimes
The definition says support from a robot is permitted. So for a live-judged stack, your claw can still be holding the cube in place when the judge sees it.
For a final-position stack, that is worth nothing. Let go, back away, and the stack has to stand by itself.
Opening the claw is easy. Opening the claw without dragging, tipping, or flicking the object is the actual skill.
⚠ Basket Exclusivity
Mission 11 uses orange poms. Mission 15 (Project 12) uses blue poms. If your team attempts both, they must go in different baskets. Decide now which basket belongs to which mission, and write it down.
Servo Widget again. Your arm numbers are already on your Project 7 card — now add the claw.
| Position | Number | Notes |
|---|---|---|
| Claw open | ||
| Claw closed on a cube | ||
| Claw closed on a pom |
⚠ Closed Does Not Mean All the Way Shut
“Closed” is whatever number grips the cube — not the smallest number the claw can reach. If you send the claw past where the cube stops it, the servo strains against the cube and burns out. Find the number that just grips, and stay there.
A pom squashes, a cube does not. That is why they get different numbers.
Create a new project called Grab. No driving at all — place a cube inside the open claw by hand.
Write the first. Two rules: the arm starts up and the claw starts open.
// 1. Preset arm up and claw open, then enable
// 2. Move the arm down
// 3. Close the claw
// 4. Move the arm up
// 5. Disable servos
Did you need an msleep() between every step, or only some of them? How did you decide?
Create a new project called Go Grab. Now add driving — the cube sits a short distance away.
// 1. Preset arm up, claw open, enable
// 2. Drive forward to the cube
// 3. Stop --- ao()
// 4. Arm down
// 5. Close claw
// 6. Arm up
// 7. Disable servos
What happened the first time? Most robots either stop too early, stop too late, or push the cube away before the claw gets down.
Add to the end of your program: carry the cube somewhere, set it down, and back away leaving it standing.
What did you have to change to stop dragging the cube when you backed off?
Mission 13 All three Unstraight Cubes satisfy the definition (cubes are the black line). Two Unstraight Cubes form a scoring stack — one Unstraight Cube is another. All three Unstraight Cubes form a scoring stack. All cubes must originate from the Unstraight Cube area.Rebuild the Shipment
Watch Mission 13 video
Base Mission
1 point
Live judgedBonus Mission
7 points
Live judgedAdvanced Bonus
13 points
Final judgedScores
Does Not Score
Both Cubes Must Come From the Same Area
Both cubes have to originate from the Unstraight Cube area. Stacking an unstraight cube on a cube borrowed from somewhere else scores nothing.
Mission 12 Two spilled cubes form a scoring stack — one spilled cube is another spilled cube. Both cubes must originate from the spilled cube area. The scoring stack remains intact and the lower cube of the stack is touching the black line.Restack the Freight
Watch Mission 12 video
Base Mission
11 points
Live judgedBonus Mission
5 points
Final judgedScores
Does Not Score
Two Different Jobs in One Mission
The base is live judged, so your claw may still be holding the top cube. The bonus is final position — you must let go, back off, and the stack has to survive until the match ends.
Get the base first. Then work on letting go cleanly.
Read the “does not score” list again. Why does the lower cube have to be the one touching the line?
Mission 3 Create one stack consisting of a Green Cube a Yellow Cube, or a Yellow Cube a Green Cube. Create a second stack consisting of a Green Cube and a Yellow Cube. Create two stacks such that one contains a Green Cube a Yellow Cube, and one contains a Yellow Cube a Green Cube (opposite color arrangements).Mixed Freight
Watch Mission 3 video
Base Mission
7 points
Live judgedBonus Mission
9 points
Live judgedAdvanced Bonus
13 points
Live judgedScores
Does Not Score
Mission 11 One Orange Pom is a basket. Two or more Orange Poms are the same basket.Hazard Disposal
Watch Mission 11 video
Base Mission
7 points
Final judgedBonus Mission
7 points
Final judgedScores
Does Not Score
Is Generous
A pom only has to partially extend into the interior of the basket. It does not need to be sitting neatly at the bottom. But touching the outside of the basket, or resting on top of it, is not .
Chain all four missions into one program, same as Project 6 — banners, one section at a time.
| Run | M13 bonus | M12 base | M12 bonus | M3 | M11 | Points |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | ||||||
| 3 | ||||||
| 4 | ||||||
| 5 |
Which grab was least reliable, and what made that one harder than the others?
| Mission part | Scored? | Points |
|---|---|---|
| Mission 13 — Bonus (two unstraight cubes stacked) | 7 | |
| Mission 12 — Base (two spilled cubes stacked) | 11 | |
| Mission 12 — Bonus (stack survives, lower cube on line) | 5 | |
| Mission 3 — Base (mixed-colour stack) | 7 | |
| Mission 11 — Base (orange pom in a basket) | 7 | |
| My total | 37 |
Seven numbers now. Copy them somewhere you will not lose them.
| Setting | Value |
|---|---|
| Arm servo port | |
| Arm up | |
| Arm horizontal | |
| Arm down | |
| Claw servo port | |
| Claw open | |
| Claw closed on a cube | |
| Claw closed on a pom | |
| Basket I used for Mission 11 |
Say how each one is judged, and what that means for whether your claw can still be holding it.
| Mission part | Live or final? | Can the robot be holding it? |
|---|---|---|
| Mission 12 Base | ||
| Mission 12 Bonus | ||
| Mission 11 Base |
Count how many times the six-step grab sequence appears in your program. Now imagine your claw’s closed position changes by 30. How many separate places would you have to edit?
A judge tells your team the Mission 12 stack scored the base but not the bonus. Your robot did everything you programmed. What most likely happened between the judge seeing it and the end of the match?
Your robot can now drive, turn, grab, carry, stack, and release. Everything it does is still measured in time — how long to push, how long to turn. What would change if it could measure in distance instead?
You are carrying seven numbers around in comments, retyping them everywhere, and one rebuild would break all of it.
In Project 9 — Names for Your Numbers, those comments become real. You give each number a name once, and the whole program starts using it.
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