RE: Laufendes VI abbrechen
Hoi Gerd
Danke für deine schnelle Antwort. Leider ist die Sache etwas komplexer. Damit der Roboter "schön" fährt ist der Ablauf um von A nach B zu gelangen wie folgt programmiert:
1. Der Roboter berechnet den Winkel sowie die Distanz zum Endpunkt. Ebenfalls wird hier die maximale Geschwindigkeit festgelegt, mit welcher der Roboter maximal fährt. (Streckenabhängig)
2. Der Roboter dreht sich in Richtung des Endpunktes. (Da viele Hindernisse im Weg stehen, sollte der Roboter möglichst gerade fahren. Deshalb zuerst das Ausrichten)
3. Der Roboter beschleunigt nach einer vorgegebener Funktion. (Um ein Durchdrehen der Räder zu vermeiden und somit einem Positionsverlust oder unkontrollierten Bewegungen vorzubeugen.)
4. Der Roboter fährt mit der Maximalgeschwindigkeit in Richtung des Endpunktes. Dabei regelt er den Winkel zum Endpunkt kontinuierlich.
5. Sobald der Roboter erkennt, dass er in der Nähe des Endpunktes ist, beginnt er nach einer gegebener Funktion abzubremsen.
Wenn ich nun eine Strecke in sehr viele Teilstrecken unterteile, funktionieren die obigen (bereits programmierten) Funktionen nicht mehr. Auch würde ich dadurch die Vorteile der streckenabhängigen Geschwindigkeit verlieren und das Beschleunigen und Abbremsen wäre schwierig zu realisieren. (respektive aufwendig zu ändern)
Es wäre wirklich sehr sinnvoll, wenn ich eine der obigen Funktionen sofort unterbrechen könnte, abbremsen, ein neues Ziel berechnen und dieses mit dem obigen Ablauf anfahren.
Gibt es nicht irgendeine Möglichkeit wie ich das erreichen kann? Wenn du willst, kann ich dir die Fahrfunktion schicken. Sie wird übrigens auf einer Singelboard-Rio resp. der FPGA ausgeführt. Die Strategie sollte aus Platzgründen auf den Prozessor.
Gruss Patrik
|