# Programmeren 2 - Autonoom rijden

In alle basisprogramma's op de REV MiniBot is het eerste deel van de code (na waitForStart) bedoeld voor het autonoom rijden. Dan mag de GamePad dus niet gebruikt worden.

- Plaats alle opdrachten onder elkaar op de plek 'Put run blocks here' (zie onderstaande code).
- De robot zal alle opdrachten in die volgorde uitvoeren.
- Eindig de serie opdrachten steeds met het stop zetten van alle motoren, anders blijft de robot doorrijden.
- Daarna gaat het programma verder met de lus repeat while, en dan kun je je robot besturen met de gamepad.

- Er zijn twee manieren om de robot autonoom te laten rijden:
  - Op tijd - gebruik de code elapsed time - meer info: Info over Elapsed Time
  - Omwentelingen van de motor - gebruik de encoders - meer info: Info over rijden met encoders

Met encoders kun je veel nauwkeuriger bepalen hoe ver je robot rijdt. De encoders sturen namelijk signaaltjes (ticks) naar de Control Hub als de motor draait. Bij de Core Hex Motor is een rondje gelijk aan 32 ticks.

In het onderstaande voorbeeld zie je hoe de encoder gebruikt wordt:

- Eerst wordt bij beide motoren de encoder gereset.
- Dan wordt het doel ingesteld (targetposition = 1000 ticks)
- Beide motoren worden ingesteld op die positie.
- Beide motoren gaan op dezelfde power draaien.

Zodra de motoren positie 1000 bereiken zullen ze stoppen.

Hieronder zie je een voorbeeld van rijden met ElapsedTime:

- De variabele runtime wordt gebruikt.
- ElapsedTime wordt gerest.
- Zolang ElpsedTime kleiner dan 3 seconde is worden de motoren op 100% gezet.

Rijden met ElapsedTime is minder nauwkeurig omdat de wielen niet altijd even snel draaien.