-         

Seite 1 von 4 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 34

Thema: Roboter verbessern

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398

    Roboter verbessern

    Anzeige

    Hallo, vor fast einem Jahr, hatte ich an einem Roboterwettbewerb teilgenommen und bin auf dem 2. Platz gelandet.
    Dieses Jahr, wollte ich wenns geht das noch toppen. Aber es gibt dieses JAhr noch mehr Konkurenz...
    Ich habe mir mal ein par Ideen gemacht was ich denn verbessern könnte...

    Es gibt zwei Prüfungen:
    In der einen muss der Roboter so schnell wie möglich aus dem Spielfeld kommen ohne über die Linien zu fahren. Im Spielfeld stehen gleichzeitig bis zu 5 Roboter. Nur die ersten 2 oder 3 kommen in die nächste Runde.
    In dieser muss der Roboter dann so schnell wie möglich einer Linie folgen.

    Letztes JAhr wurde ich 2. da ich normale Räder hatte und der Gewinner einfach eine CD genommen hatte und ihr Gummie an den Rand geklebt hatte. Dieses JAhr ist das aber verboten und alle müssen mit den selben Reifen fahren.

    Ich habe mir dann gedacht, dass ich noch ein kleines Getriebe ans Servo hänge um die Reifen etwas schneller drehen zu lassen. Das würde mir einen Vorteil verschaffen (solange er nicht zu schnell ist und die Sensoren nicht mehr rechtzeitig reagieren)

    Zur Strategie:
    Die war sehr simpel, dadurch war mein Bot auch der erste der aus dem Spielfeld raus fand (wärend die anderen eine Runde nach der anderen dreten). Es gab sogar Roboter die so lange fuhren bis die Batterien nicht mehr mit machten.

    Also, ich habe ihn so programiert, dass er geradeaus fÄhrt und anderen Bots ausweicht. Wenn er eine Linie findet dann folgt er ihr. Wenn dann noch ein anderer Roboter vor ihm steht, ist egal, Augen zu und duch.

    Habt ihr Verbesserungsvorschläge fúr dein Bot oder eine bessere Strategie?
    Mein Bot hatte 2 Ir Sensoren (Linienerkennung) und 2 Fühler. Ich möchte vieleicht noch einen US Sensor vorne dran machen und noch einen IR Sensor hinten.

    Viele Grüsse
    Tornado

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398
    Ups! Ich hatte gestern vergessen eine kleine Zweichnung des Spielfeldes hoch zu laden.

    HIer ist sie. Die Roboter werden auf die 5 Punkte gestellt (Ausgangsposition).
    Danach müssen sie den Ausgang finden.

    Die "WÄnde" sind schwarze markierungen auf dem Boden (Klebeband)
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken wettbewerb.gif  

  3. #3
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Das mit der Linie folge mag mir so gut nicht gefallen, da du dann ein richtiges Problem bekommst wenn der Roboter auf die Linie vor dem Ausgang kommt.
    Wenn du dein Roboter aufstellen darfst wie du willst dann ist es einfach, sonst wird es echt schwer.
    Bei selbst aufstellen: Roboter fahre gerade aus bis du auf die Schwarze Linie triffst dann fahr rehts an der Linie entlang, so wie du das schon vor hattest.

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398
    @HannoHupmann
    Genau so hatte ich das letztes Jahr gemacht. Die Startpositionen werden war ausgelost, aber hinstellen kannst du ihn selber. Er war so programiert, dass er geradeaus fährt und merkt ob er erst rechts oder links an die Linie kommt. Dann folgt er der Linie in dieser Richtung.

    So war er dann schnell draussen.
    Die beiden Kurven an der Linie vor dem Ausgang waren ziemlich eng, und mein Roboter einigermasen schnell. Er wäre in den Kurven geradeaus gefahren und so an die nächste (aussen-) Linie gekommen. Da hätte das PRogramm wieder von vorne angefangen.
    Ein Problem wÄre dann aber halt noch immer wenn etwas schief geht und er die ganze Zeit dieser Linie vor dem Ausgang folgen würde...


    Heute ist mir eingefallen:
    Was wäre denn wenn ich zwei kleine Lichtschranken und ein Rädchen an beide Räder baue (Wie so ein Encoderrad oder wie die Teile heissen).
    Könnte der Roboter so nicht eine Karte zeichnen (er markiert die PUnkte wo er schon war und wo gleichzeitig die Linie auf dem Boden war). Die Karte würde wohl mit zwei von diesen Encoderrädern nicht perfekt werden, aber es würde doch reichen.

    So wüsste der Roboter ob er schon mal an dieser Stelle war (das wáre doch gut wenn er an die LInie vom Ausgang langfährt).
    Wenn der Bot noch rumkurven wÚrde, wüsste er auch schon wo er nicht mehr hin muss, da dort ja eine Linie ist.
    Wie erstellt man so eine Karte?
    Man braucht doch eine "Matrix" mit x und y ...
    Kann man die in einen PIC speichern? Also ich meine, dass er Roboter wärend der Fahrt ja in die Matrize reinschreiben muss.
    Hat jemand einen Tip?

  5. #5
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398
    Hat denn keiner mehr einen Tîp für mich??

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    43
    Beiträge
    1.517
    Das mit der Karte möchte ich so ähnlich machen nur halt das die Karte durch die sharps (Enfernungsmesser unter stützt werden soll).

    ehrlich gesagt wo war das problem bei deiner strategie ich sehe es im moment nicht .

    Gruß
    Home
    P: Meine Tochter (06.11.07) und Link
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  7. #7
    Moderator Robotik Einstein Avatar von HannoHupmann
    Registriert seit
    19.11.2005
    Ort
    München
    Alter
    34
    Beiträge
    4.528
    Blog-Einträge
    1
    Also mit Karte kenn ich mich nicht aus wie man das macht, aber du kannst natürlich mit ner x,y-Map arbeiten. Den Algorithmus entweder selber überlegen oder schauen ob es hier nicht doch schon einen gibt.

    Wie lange braucht der schnellste Roboter eigentlich bis er draussen ist?

    Was bestimmt auch schnell geht ist, mit ner Kamera drauf, die das Spielfeld überblicken kann (oder zuminderst da halbe) und dann mit hilfe dieser (müsste recht leicht gehen weil es sich deutlich abhebt) die Schwarzen linien erkennt. Jetzt brauchst nur noch nen Algorithmus der sagt: Fahr durch die Lücke der äußeren Linien, überfahre nicht die äußere Linie.
    Damit solltest du die Möglichkeit haben direkt rausfahren zu können.
    Weis aber nicht ob ne Camera (kann ja ne billige S/W sein, wir wollen ja nicht viel unterscheiden nur Hell und Dunkler streifen). Nur der Algo ist dann nimmer so leicht.

    Mfg Hanno Hupmann

  8. #8
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    21.03.2005
    Ort
    Spanien
    Alter
    33
    Beiträge
    398
    Ja, das mit der Kamera ist glaube ich die besste Lösung, aber ich kenne mich damit noch nicht sogut aus (überhaubt nicht) nächtes Jahr würde cih das aber schon gerne machen.

    Das mit der x, y Map ist glaube ich im Moment das beste, aber wie mache ich das?
    Encoder rad oder Gabel-Ir-Lichtschranke OK, aber dann? Wie kann der Roboter die Map beschreiben? und lesen?

    Das Problem bei der Strategie war nur, das er unter Umständen immer an der einen Trennlienie rumfährt, und so nie raus kommt.
    Die Befürchtung ist jetzt wahr geworden...
    Heute habe cih eine mail mit den Bedingungen für den Wettbewerb bekommen. Dieses Jahr wird noch ein kleinerere Kreis im grossen Kreis sein, so das wenn der Roboter einfach einer linie folgt (wie letztes Jahr) kann es sein das er halt genau dieser Linie folgt...
    Ausserdem kann man den Roboter nicht mehr selber ins Spielfeld setzen, das macht jetzt die Konkurenz!!! Die stellen den auf wie sie gerade lustig sind.
    Einfacher wird das nicht

    Wäre nett wenn mir jemand sagen könnte wie man das mit der Map macht (also eine lehre map beschreiben).
    Muss ich dafür eine Matrize [900][900] oder sowas in der Art machen?
    Viele Grüsse
    Tornado

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    04.04.2005
    Ort
    Hamburg
    Alter
    29
    Beiträge
    826
    Also cih würde das jetzt mal rein intuitiv so machen:

    Du brauchst eine recht genaue Auflösung der Radencoder. Also du musst relativ genau wissen wo du bist. Dann würde ich wie gesagt eine solche Mateize anlegen. Wie viel Werte, das heißt also acuh welceh Auflösung, muss ermittelt werden.

    Dann würde ich für jeden Wert, der ja einen Ort repränsentiert, in dem Moment wo ich mich auf ihm befinde abspeichern in welcher Richtung du gerade einer Linie folgst.

    Falls du dann nämlich später wieder auf dem selben Punkt mit gleicher(oder entgegengesetzer) Ausrichtung bist, weißt du: Hier war ich schon.

    Andun
    www.subms.de
    Aktuell: Flaschcraft Funkboard - Informationssammlung

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    43
    Beiträge
    1.517
    Ein feste Map grösse geht einegleich nicht da du nie weißt wie groß das Spielfeld mal wird. das Zweite ist die Daten menge.

    Da ich die bediengung für den wettbewerb nicht kenne kann ich die Techinschen möglickeiten auch nicht ein schätzen. was ich mal versuchen will ist zu beschreiben wie ich bei mir die Karte/Map vor habe.

    Meine Idee:

    meine Welt ist ein Schachbrett mit der Auflösung von 5 x5 cm. ein schachbrett feld hat drei zustände befahrbar,belegt,Unbekannt. Zur besseren darstellung und verständis stelle ich mir das immer mit drei Farben vor Grün,Rot, schwarz.

    Das feld wo ich hin gefahren bin markiere ich grün beziehungsweis was ich mit den Sharps ein sehen kann. Durch die Rad encoder weiß ich wie weit ich gefahren bin und auf welchem Feld ich stehe. In deimen fall weiß du wenn du auf ein grünen Feld bist das du hier schon mal warst.

    da du nur die Infomation brauchst das du da schon mal warst reicht dir ein Array mit Kordinaten also Pos[MAX_SpielFeld][2].
    MAX_Spielfeld ergibt sich durch max(Breite,Länge) / 5cm.
    Dann kannst du mit Pos[wert][0] = XPos und Pos[wert][1] = Ypos dir die Postion merken wo du schon mal warst. wert wird immer eins nach oben gezählt wenn du geschrieben hast. Pass auf XPos und YPos können negativ werden da du ja nicht weiß wo der Robi steht. und bei start gehst du einfach von 0,0 aus.

    Ich hoffe das hilft dir ein stück weiter und du kannst den gedanken folgen.

    Gruß
    Home
    P: Meine Tochter (06.11.07) und Link
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

Seite 1 von 4 123 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •