Rescue-Line Programmablauf in RobotC:
task main() { //SENSOR-SETUP //beide Helligkeitssensoren anmelden //Ultraschall anmelden //Gyro anmelden while (true){ //MESSWERTE MESSEN // Helligkeit links // Helligkeit rechts // Ultraschall // Farbwerte links // Farbwerte rechts //MESSWERTE DARSTELLEN (DISPLAY) // (DEBUGGING) //P-REGLER: //Helligkeitswerte in Motoransteuerung umrechnen //FARBEN AUSWERTEN // In Richtung des grünen Punkts abbiegen //HINDERNIS: ULTRASCHALL NUTZEN //Gyro-Sensor reset() //"Haken schlagen" //Kurzes Päusschen //eraseDisplay() } }
Soccer-Roboter in RobotC:
void RICHTUNG_FESTLEGEN() { //halbmanuell: // Roboter korrekt platzieren, // Kompass oder Gyro als 0-Richtung festlegen // mit Nutzereingabe bestätigen } task main(){ // SENSOR SETUP // IR SEEKER // Kompass oder Gyro // Ultraschall // Helligkeit oder IR-Abstandssensor // Korrekten Winkel für Torrichtung festsetzen // funktion RICHTUNG_FESTLEGEN() while (true){ // Falls Knopf gedrückt: void RICHTUNG_FESTLEGEN() //1. Kompass-Sensor auslesen //2. IR-Seeker auslesen // MESSWERTE AUF DISPLAY DARSTELLEN // Kompass-Abgleich: Wo ist das Tor? // Winkel zum Tor berechnen() // IR-SEEKER AUSWWERTUNG, 10 FALLUNTERSCHEIDUNGEN nach Richtung des Balls: //FALL 1: Optimalfall, der Ball ist geradeaus // Helligkeitsensor auslesen //VERZWEIGUNG 2: Helligkeitssensor auswerten: Hat man den Ball? // Wenn Ja: Torfahrt berechnen() // Wenn Nein: geradeaus zum Ball //FALL 2 bis FALL 5, Ball schräg vor sich: // Diagonale zum Ball fahren //FALL 6 bis FALL 10, Ball neben oder hinter sich: // Rückwärts fahren bis Ball schräg vor sich }// ENDE while (true) }// ENDE task main()