# NRC 2026 — Student Handouts
### RoboMission Rookie Primary | Robot Rockstar Mission
**SK Taman Bukit Indah, Ampang**

---

# SESSION 1 — Build & Move

**Your goal:** Build your robot and write your first program!

---

## Your Robot's Ports

| Port | Connected To |
|---|---|
| **C** | Left drive motor |
| **D** | Right drive motor |
| **B** | Left arm motor |
| **F** | Right arm motor |
| **E** | Colour sensor (pointing down) |

---

## Blocks You'll Learn

**Moving the robot:**
```
Set drive motors [CD]
Set drive speed [X]%
Move [X] cm
Start dual speed  L=[X]%  R=[X]%
Stop drive
```

**Moving the arms:**
```
Motor [B] speed [X]%          Motor [F] speed [X]%
Motor [B] → position [X]      Motor [F] → position [X]
```

> Always add `Wait 0.5s` after every arm command before the next step.

---

## Activities

**Activity 1 — Square Drive**
Program your robot to:
1. Move forward 30 cm
2. Turn 90°
3. Repeat ×4 until it makes a square

Does the square close? Adjust the turn angle until it does.

**Activity 2 — Open & Close Arms**
- Broadcast `[Open Arm Both]` → both arms go to **position 0**
- Broadcast `[Close Arm Both]` → arms close to grip position
- Test: do the arms move smoothly without hitting the robot body?

---

## My Team's Values

| | Value |
|---|---|
| Left arm close position (port B) | _______ |
| Right arm close position (port F) | _______ |

> Your values will be different from the other teams — that's normal!

---

## Session 1 Checklist

- [ ] Robot built: drive motors on C & D, arm motors on B & F, sensor on E
- [ ] Robot sits flat; wheels spin freely; no loose connections
- [ ] Square drive runs — robot returns close to where it started
- [ ] `[Open Arm Both]` opens both arms to position 0
- [ ] `[Close Arm Both]` closes arms to a gripping position
- [ ] I can explain what a **broadcast** does in my own words

---
---

# SESSION 2 — Sensors & Navigation

**Your goal:** Make your robot drive straight and follow a line accurately!

---

## Why Does the Robot Drift?

Motors are never perfectly identical → the robot veers sideways on long drives.

**Two fixes you'll learn today:**
- **Gyro Straight** — uses the hub's built-in compass to correct steering
- **Line Follow** — uses the colour sensor to follow a black line

---

## Gyro Straight

The robot checks its compass angle, calculates how far off it is, and steers back.

```
Reset yaw
Repeat until target distance reached:
    Error      = yaw − target angle
    Correction = (3 × Error) + (10 × change in Error)
    Left motor  power = Speed − Correction
    Right motor power = Speed + Correction
Stop drive
```

| Parameter | Value | What it does |
|---|---|---|
| **Kp = 3** | fixed | How hard it steers back |
| **Kd = 10** | fixed | How smoothly it reacts |

> Always call `Reset yaw` before every straight segment!

---

## Line Follow

The colour sensor reads the edge of a black line and keeps the robot on track.

```
Error      = calibration value − sensor reading
Correction = (Kp × Error) + (Kd × change in Error)
Left motor  power = Speed − Correction
Right motor power = Speed + Correction
```

- **Position 1** = follow the **right** edge of the line
- **Position 2** = follow the **left** edge of the line

---

## My Team's Calibration Values

| | Value |
|---|---|
| `ReflectedLightIntensity` midpoint | _______ |
| Line Follow **Kp** | _______ |
| Line Follow **Kd** | _______ |

> Test your sensor on white tile AND black line. Your midpoint = halfway between the two readings.

---

## Activities

**Activity 1 — Gyro Straight**
Drive 100 cm: once without correction, once with Gyro Straight. Which stays straighter?

**Activity 2 — Line Follow**
Follow a black line for 50 cm, then stop at the next black line.
Tune Kp until smooth — no zigzag, no sluggish correction.

**Combined challenge:**
Gyro Straight → turn 90° → Follow Line → stop exactly on the line.

---

## Session 2 Checklist

- [ ] Gyro Straight works: robot drives 100 cm without drifting
- [ ] `Reset yaw` is called at the start of every straight segment
- [ ] Calibration value (`ReflectedLightIntensity`) found and saved as a variable
- [ ] Line Follow works: robot follows a line for 50 cm and stops at the next line
- [ ] Kp and Kd tuned — no zigzagging
- [ ] I can explain why Kp too high causes zigzag, and Kp too low causes slow correction

---
---

# SESSION 3 — Cables, Microphone & Instruments

**Your goal:** Complete the first 3 tasks in sequence!

---

## The Broadcast Chain

Your mission is split into separate tasks that trigger each other:

```
[Cables]  →  [Microphone]  →  [Instruments]  →  [Notes 1]
```

> **Golden rule:** test each broadcast task **alone** before connecting to the next one.

---

## Task 1 — Cables

**Target: both cables done in ≤ 30 seconds**

1. Move back slightly from start to align
2. `Reset yaw` → Gyro Straight to cable 1 position
3. Follow Line → open arms → advance → close arms (pick up cable)
4. Gyro Straight to grey area → open arms (release — cable must land **upright**)
5. Repeat for cable 2 from the other side
6. Broadcast `[Microphone]`

| Result | Points |
|---|---|
| Cable completely in grey area + **upright** | **15 pts** each |
| Cable partly in grey area OR not upright | **5 pts** each |
| Cable not in grey area at all | 0 pts |

---

## Task 2 — Microphone

**Target: done in ~15 seconds**

1. Follow Line to microphone position
2. Open arms → advance → `[Close Arm Both 2]` (tighter grip for microphone)
3. Gyro Straight back → turn → approach target zone
4. Open arms → microphone released **upright**
5. Broadcast `[Instruments]`

| Result | Points |
|---|---|
| Microphone completely in zone + **upright** | **20 pts** |
| Microphone partly in zone OR not upright | **10 pts** |
| Microphone not in zone at all | 0 pts |

---

## Task 3 — Instruments

**Target: done in ~45 seconds**

1. Follow Line along edge to the truck area
2. Push all 3 instruments (guitar, keyboard, congas) toward backstage
3. Broadcast `[Notes 1]`

| Result | Points |
|---|---|
| Each instrument completely in backstage area | **15 pts** each |
| No upright requirement — just push them in! | |

---

## ⚠️ Bonus Alert — 40 FREE Points!

The **Clef**, **Speakers ×2**, and **Amplifier** on the mat are worth **40 bonus points** (10 pts each) as long as your robot **does not move or damage them**.

| Bonus Object | Points |
|---|---|
| Clef (not moved / not damaged) | **10 pts** |
| Speaker Left (not moved / not damaged) | **10 pts** |
| Speaker Right (not moved / not damaged) | **10 pts** |
| Amplifier (not moved / not damaged) | **10 pts** |
| **Total bonus** | **40 pts** |

Plan every route to pass well clear of all 4 objects!

---

## Time Targets

| Stage | Target |
|---|---|
| Cables alone | ≤ 30 sec |
| Cables + Microphone + Instruments | ≤ 90 sec |

---

## Session 3 Checklist

- [ ] `[Cables]` — both cables delivered upright to grey area (tested 3× independently)
- [ ] `[Microphone]` — microphone delivered upright to target zone
- [ ] `[Instruments]` — all 3 instruments pushed into backstage area
- [ ] Full chain Cables → Microphone → Instruments runs end-to-end without stopping
- [ ] Cables task timed: _______ sec (target ≤ 30)
- [ ] Full chain timed: _______ sec (target ≤ 90)
- [ ] I can point to where the Clef, Speakers, and Amplifier are on the mat

---
---

# SESSION 4 — Notes Delivery & Mock Competition

**Your goal:** Deliver all 6 notes, run the full mission, then compete!

---

## Notes — Worth 120 Points!

Notes are almost **half the total score**. This session decides the leaderboard.

6 notes → 3 broadcast groups → 2 notes per group:

```
[Notes 1]  →  [Notes 2]  →  [Notes 3]
```

| Result | Points |
|---|---|
| Note completely in matching colour zone + **upright** | **20 pts** each |
| Note partly in zone OR not upright | **10 pts** each |
| Note not in correct zone at all | 0 pts |

> Test each group alone before chaining to the next!

---

## How to Pick Up and Deliver a Note

1. Gyro Straight or Follow Line to the note position
2. `[Open Arm Both]` → advance slowly → `[Close Arm Both 2/3/4]`
   *(notes are smaller than instruments — grip depth matters)*
3. Navigate to the matching colour zone
4. `[Open Arm Both]` → check note lands upright
5. Test this group 3 times before moving to the next

> **Key habit:** `Reset yaw` before every long straight segment.

---

## Full Mission Chain

```
START
  └──▶ [Cables]            30 pts
         └──▶ [Microphone]     20 pts
                └──▶ [Instruments]   45 pts
                       └──▶ [Notes 1]
                              └──▶ [Notes 2]   120 pts
                                     └──▶ [Notes 3]
                                            └──▶ DONE ✅
```

**+ 40 bonus pts** — don't knock Clef, Speakers, Amplifier

**= 255 pts total**

---

## Full Mission Time Budget

| Task | Target |
|---|---|
| Cables × 2 | 30 sec |
| Microphone | 15 sec |
| Instruments × 3 | 45 sec |
| Notes × 6 | 25 sec |
| Buffer | 5 sec |
| **Total** | **≤ 2 minutes** |

---

## Mock Competition Rules

- Each team gets **2 runs** — best score counts
- Each run = exactly **2 minutes** (full autonomous)
- Between runs: **one fix only** — identify the biggest problem, make one change, done
- After all runs: teams share what worked for others to learn

---

## Final Robot Check (Before You Compete)

- [ ] Tighten all loose LEGO connections
- [ ] Check colour sensor height — does it still read lines clearly?
- [ ] Place robot at start position and confirm it's consistent
- [ ] Full mission program saved on the SPIKE hub
- [ ] Program backed up on a laptop or tablet

---

## Competition Day Checklist

- [ ] Final program saved on the SPIKE hub ✓
- [ ] Program backed up on a device ✓
- [ ] Robot, hub cable, and all building pieces packed ✓
- [ ] Starting position on the mat memorised ✓
- [ ] My team knows our roles:
  - Who **places the robot** at the start: _______________________
  - Who **presses the start button**: _______________________
  - Who **observes and scores**: _______________________
- [ ] I can explain what our robot does in 2–3 sentences ✓

---

## Scoring Summary

| Task | Points | Condition |
|---|---|---|
| Cable × 2 | 30 | Upright + completely in grey area |
| Microphone | 20 | Upright + completely in target zone |
| Instrument × 3 | 45 | Completely in backstage (no upright needed) |
| Note × 6 | 120 | Upright + completely in correct colour zone |
| Bonus (Clef + Speakers ×2 + Amplifier) | 40 | Not moved or damaged (10 pts each) |
| **TOTAL** | **255** | |

---

*NRC 2026 · RoboMission Rookie Primary · SK Taman Bukit Indah, Ampang*
*This handout is a coaching reference — not an official NRC/WRO document*
