Spur finden und folgen

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
stupsi100
Beiträge: 27
Registriert: 13 Feb 2012, 17:28

Spur finden und folgen

Beitrag von stupsi100 » 13 Feb 2012, 17:40

Hallo zusammen,

ich hätte mal eine Frage.
Mein Roboter soll eine Spur finden und der dann auch folgen.
Wenn er die Spur gefunden hat, aber fast in eiem Rechtemwinkel zu ihr steht,
fährt er einfach über sie hinweg.
Ich habe schon probiert das Programm zu ändern, aber es funktioniert nicht.
Vieleicht könnte man auch etwas an der Spur ändern.
Könntet ihr mir bitte helfen, da ich keine Ahnung habe, wie ich das Problem lösen kann.

Mit freundlichen Grüßen
stupsi100

Zwergnase
Beiträge: 178
Registriert: 01 Nov 2010, 19:45
Wohnort: Düsseldorf
Kontaktdaten:

Re: Spur finden und folgen

Beitrag von Zwergnase » 13 Feb 2012, 19:40

Hallo
versuch mal die Geschwindigkeit zu verringern.
Viele Grüße,
Manuel Neumann

stupsi100
Beiträge: 27
Registriert: 13 Feb 2012, 17:28

Re: Spur finden und folgen

Beitrag von stupsi100 » 13 Feb 2012, 19:48

Hallo
Wenn ich die Geschwindigkeit verringere, dann fährt er trotzem über die Linie hinaus.
Er müsste sich immmer so rechts drehen, damit er parallel zur Linie steht.
Grüße stupsi100

McDoofi
Beiträge: 80
Registriert: 12 Dez 2011, 15:01

Re: Spur finden und folgen

Beitrag von McDoofi » 13 Feb 2012, 20:28

Hallo,

das Problem daran ist, dass der Roboter nicht unterscheiden kann, ob er direkt gerade auf der Linie steht, oder genau im 90° Winkel dazu, denn beide Male liefern beide Fototransistoren den Wert 0, was soviel heißt wie 'Spur vorhanden'. Daher fährt er auch einfach weiter. Also müsste man sozusagen im Unterprogramm Spursuche immer abfragen, falls er auf einer Spur steht, wie lange diese ist, bzw. wie lange er benötigt, dass keiner der beiden Fototransistoren mehr eine Spur erkennt. Wenn es zu kurz dauert, soll er sich nach links bzw. rechts drehen, bis er eine Spur gefunden hat.

MfG McDoofi

Benutzeravatar
Dirk Fox
ft:pedia-Herausgeber
Beiträge: 1833
Registriert: 01 Nov 2010, 00:49
Wohnort: Karlsruhe
Kontaktdaten:

Re: Spur finden und folgen

Beitrag von Dirk Fox » 13 Feb 2012, 22:23

Hallo stupsi100,

am besten löst man ein solches Problem mit einem Zustandsübergangsdiagramm. Dazu schreibst Du die möglichen Zustände, in denen sich Dein Roboter befinden kann, auf ein Blatt Papier und malst um jeden Zustand einen Kreis. Der Übergang von einem Zustand in einen anderen hängt nun von den Werten ab, die Deine Sensoren liefern; im Diagramm zeichnest Du dazu einen Pfeil vom Ausgangszustand zum Folgezustand, den Du mit dem Sensorergebnis kennzeichnest. Aus dem Diagramm kannst Du dann leicht das Programm ableiten.

Beispiel: Der Anfangszustand Deines Roboters ist "keine Spur bekannt". Solange die Sensoren "weiß" melden, bleibt der Roboter in diesem Zustand (und fährt wahrscheinlich einfach geradeaus). Meldet einer der Sensoren "schwarz", ist eine Spur gefunden, und abhängig vom Sensor, der "schwarz" meldet, geht der Roboter in den Zustand "links von der Spur" oder "rechts von der Spur" über, und dreht dabei ein paar Grad nach rechts oder links, bevor er weiterfährt. Melden beide Sensoren "schwarz", dann sollte der Roboter in den Zustand "auf der Spur" übergehen, und sich um 90° drehen, bevor er weiterfährt. Aus jedem Zustand in Deinem Zustandsübergangsdiagramm muss für jede mögliche Sensormeldung ein Pfeil abgehen, der entweder in einen der anderen Zustände führt, oder in denselben Zustand zurück.

Gruß, Dirk

stupsi100
Beiträge: 27
Registriert: 13 Feb 2012, 17:28

Re: Spur finden und folgen

Beitrag von stupsi100 » 14 Feb 2012, 15:07

Hallo,
Danke für euere Antworten. Ginge es vielleicht auch so:

------------------------------------------------------------------------------------------------- Obere Spur
-------------------------------------------------------------------------------------------------
// // // // // // // // // // // // // // // // // // // // //
// // // // // // // // // // // // // // // // // // // // // Mittlere Spur
____________________________________________________________________
----------------------------------------------------------------------------------------------- Untere Spur

Der Roboter erkennt die untere Spur, folgt dann der mittleren Spur,
die einen kleinen Abstand untereinander haben und wird so auf die obere Spur geleitet,
auf der er weiter fahren kann. :?:

Vielen Dank im Vorraus
stupsi100 :D

vleeuwen
Beiträge: 1560
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Spur finden und folgen

Beitrag von vleeuwen » 18 Feb 2012, 20:14

See the description of the state machine for the 2 binary sensors. http://forum.ftcommunity.de/viewforum.php?f=33
The FtTxService (MS-RDS) for the TX=C contains an additional service that contains the full implementation of this state machine.
See also the example in the fischertechnik FtBot2012

Back to the problem.
The polling of the sensor is not continuous but every only every 10 ms (USB) 15-25 ms (BT).
In case the changes are going too fast, the system will miss the details.
The will be the case when the angle between the sensor and the line will be close to zero (crossing the line).
This is a mathematical problem and in terms of control engineering this calls system instability.
This means that your control system exceeds the limitations of the hardware.

How to solve this problem:
*) Buying better (professional) hardware (expensive; see for example the interface of National Instruments).
*) Take 2 trail sensors (4 binary sensors in a square) and develop a more complex state machine.
*) Develop a more complex algorithm to find back a line in case of the state transition “both on line=> both off line”

stupsi100
Beiträge: 27
Registriert: 13 Feb 2012, 17:28

Re: Spur finden und folgen

Beitrag von stupsi100 » 20 Feb 2012, 17:25

Hallo zusammen
ich habe mir auf mein Roboter eines der Beispielprogramme heruntergeladen.
Der Roboter des Programmes soll der Spur folgen, anhalten wenn die Spur aus ist und die Farbe des Feldes erkennen.
Ich habe für meinen Roboter zwei Encodermotoren, ein Spurensensor und einen Farbsensor verwendet.
Doch mein Roboter hält nicht an, wenn er anhalten soll.
Könnt ihr mir bitte sagen was ich falsch gemacht habe!!!
Vielen Dank im Vorraus
stupsi100

Antworten