Zum Inhalt

Auführung der Rotationen

Wurde ein Programm erfolgreich erstellt und auf eventuelle Kollisionen überprüft, reicht ein einfacher Aufruf von core.manipulator.SimulationProgram.SimulationProgram.execute(), um das Programm auszuführen.

Dabei ist es immer wichtig zu erwähnen, dass die Kollisionserkennung gemäß den RoboDK Einstellungen nicht kontinuierlich ausgeführt wird. Stattdessen wird die Position des Roboters während der Bewegung entlang des Pfades lediglich alle auf Kollisionen überprüft. Im Normalfall findet dieser Test mit statt, was im Zweifelsfall jedoch immer noch Kollisionen verpassen kann.

Darum ist es wichtig, auch bei erfolgreich generierten Programmen darauf zu achten, dass der Roboter nicht kollidiert.


Abspeichern von Lösungen

Da das generieren von Pfaden oft mehrere Minuten dauert, wurden alle relevanten Teile unseres Codes pickable gemacht. Das heißt, dass zum Beispiel CubeStates oder auch ganze SimulationPrograms in einer Datei zur späteren Verwendung abgelegt werden können. Dafür reichen bereits ein paar Zeilen Code:

    import pickle
    SIMULATION_PROGRAM_PICKLE_FILEPATH = 'my_file.pickle'

    #
    # Generate SimulationProgram
    #

    with open(SIMULATION_PROGRAM_PICKLE_FILEPATH, 'wb') as file:
        pickle.dump(simulation_program, file)