Exemple #1
0
    data = arduinodata.decode(data)  #Empfangene Daten entpacken
    wallsdata, victimsdata, environmentdata, motorsdata = arduinodata.analyze(
        data, 'all')  #Entpackte Daten analysieren
    #kameradaten jetzt auch analysieren

    if environmentdata[floor] == 'black':  #Schwarze Platte checken
        aktueller_raum.set_type(black)
        aktueller_raum.set_top(wall.Wall())  #OBEN ABRIEGELN
        aktueller_raum.set_rgt(wall.Wall())  #RECHTS ABRIEGELN
        aktueller_raum.set_but(wall.Wall())  #UNTEN ABRIEGELN
        aktueller_raum.set_lft(wall.Wall())  #LINKS ABRIEGELN

        #befehl zum runterfahren geben
        #auf bestätigung warten
        aktueller_raum = history.get_last_tile()
        continue

    #rampe? -> rampenbefahrungsmodus
    #gibts undefinierte räume drumherum? -> erstellen und wände je nach WALLSDATA setzen
    #wenn keine wand da und unbefahren -> da hinfahren auf stack drauf
    #irgendwelche opfer hier? -> wände dementsprechend modifizieren/checken und wenn noch nicht gerettet kits abwerfen
    #checkpoint? -> letzter checkpoint variable aktualisieren

    #oberste stack aufgabe nehmen, entschlüsseln
    #genaue fahranweisung an arduino senden
    #Fotos machen mit ~15 FPS
    #auf bestätigung warten
    #Nach Bestätigung fotos stoppen
    #Objekterkennung starten
    #passen rotationswerte etc? -> sonst anpassungsbefehl schicken
Exemple #2
0
    for i in environmentdata:
        print(i, environmentdata[i])
    for i in motorsdata:
        print(i, motorsdata[i])

    current_tile, tasks = logic.calculate_action(wallsdata, victimsdata,
                                                 environmentdata, motorsdata,
                                                 current_tile, tasks)

    try:
        task_to_do = tasks.get()
        print("Took task from stack: ")
        print(task_to_do)
    except IndexError:
        print("Failed to take task from stack")
        print("Ending log")
        custom_print.stop()
        sys.exit()
    path = path.next_path(current_tile, task_to_do)
    # todo send these instructions to arduino
    # todo start taking photos with around 5 frames per second
    # todo interrupt if victim and if not rescued yet
    # todo wait for arrival message
    # todo stop taking photos
    # todo update wanted rotation
    # todo update last driven in history module
    history.add_tile(current_tile)
    print("Updated last tile in history module: ")
    print(history.get_last_tile())
    # todo update current_tile
Exemple #3
0
    #kameradaten jetzt auch analysieren

    if environmentdata[floor] == 'black':
        print("Schwarze Platte")
        aktueller_raum.set_type('black')
        print("Typ geändert")
        aktueller_raum.set_top(wall.Wall())
        print("OBEN ABGERIEGELT")
        aktueller_raum.set_rgt(wall.Wall())
        print("RECHTS ABGERIEGELT")
        aktueller_raum.set_but(wall.Wall())
        print("UNTEN ABGERIEGELT")
        aktueller_raum.set_lft(wall.Wall())
        print("LINKS ABGERIEGELT")

        tasks.add(history.get_last_tile())
        print("Runterfahren auf den Stack gepackt")
        print(tasks)
        print(tasks.all())
        #zum fahren springen

    #rampe? -> rampenbefahrungsmodus
    #gibts undefinierte räume drumherum? -> erstellen und wände je nach WALLSDATA setzen
    #wenn keine wand da und unbefahren -> da hinfahren auf stack drauf
    #irgendwelche opfer hier? -> wände dementsprechend modifizieren/checken und wenn noch nicht gerettet kits abwerfen
    #checkpoint? -> letzter checkpoint variable aktualisieren

    try:
        task_to_do = tasks.get()  #Probieren eine Aufgabe zu nehmen
    except:
        sys.stdout = orig_stdout