- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 9 von 9

Thema: [SLAM] Lidar zur Erstellung einer Karte und zum Finden der Position des Roboters

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.648
    Hallo,

    ein Teil scheint mir etwas unverständlich:

    Nur weiß ich nicht, wie ich genau herausfinden kann, wie er sich bewegt hat, da im Labyrinth auch Hindernisse stehen können, an denen der Roboter hängengeblieben sein könnte.
    Wie der Roboter sich bewegt, müsste doch bekannt sein, ob er also geradeaus fährt oder rückwärts, vorwärts oder ....

    Ich weiß nicht, ich würde intuitiv anfangen, eine Karte zu bauen. Eine "Karte", die in positive und negative Richtung offen ist. Wie beim "Schiffe versenken" würde ich in ein Raster die Hindernisse eintragen. Wenn ich auch etwas stoße, von dem ich nicht weiß, ob es ein Hinderniss ist, das umfahrbar ist, muss ich versuchen drum herum zu fahren. Ist dies nicht möglich, ist es eben kein umfahrbares Hindernis.
    Je nachdem, in welche Richtung ich fahre, trage ich die Hindernisse auf der Karte auch ein.


    Ob der Roboter sich von der Stelle bewegt, kann man sicher auch irgendwie feststellen. z.B. ob sich die Räder drehen, wenn der in eine Richtung fahren soll.

    Welche Sensoren hat der Roboter denn überhaupt, um sein Vorankommen zu erfassen? Ist noch nicht mal klar, wie der überhaupt beschaffen ist.


    MfG

  2. #2
    Danke für deine schnelle Antwort!

    Das ich nicht immer genau weiß, wie er gefahren ist, meine ich so, dass der Roboter an "Bumpern", also Dinge auf dem Boden, die ihn am Fahren hindern, sich gerne so festhängt, dass sich die Räder zwar gedreht haben, aber der Roboter sich nicht von der Stelle bewegt hat. Auch kommt es vor, dass der Roboter so mit einem Hinerniss zusammenprallt, dass er nicht mehr wirklich weiß wo er ist. Das heißt, der Roboter trägt dann in seine Karte, wo die Wände und so verzeichnet sind ein, dass er einen Raum weiter gefahren ist, wobei er eigentlich noch im Raum davor steht. Das führt dann dazu, das späteres Navigieren problematisch wird.

    Außer dem Lidar haben wir an Sensoren noch einen Kompass-Sensor (BNO055) und Sensoren, die für den Wettbewerb wichtig sind, wie zum Beispiel Wärmesensoren, Kameras und Lichtsensoren. Das der Roboter sich verfährt kommt zwar nicht so oft vor, aber oft genug, dass wir ein System brauchen, dass das erkennt. Außerdem wäre es cool mehr aus dem Lidar zu machen, also darüber zu navigieren.

  3. #3
    HaWe
    Gast
    hallo,
    du weißt ja, dass die Wände immer 30cm oder ein Vielfaches voneinander entfernt sind, daher kannst du über die Messung der rel. Abstände zu den Wänden deine Positionsbestimmung etwas verbessern: ein Algorithmus dazu wäre z.B. die Monte-Carlo-Methode (MC-Simulation, Partikelfilter).

    Dennoch riskierst du hier falsche Ergebnisse, da du dich an Dingen orientierst, die nicht 100% bekannt sind, schließlich musst du dein Labyrinth ja erst per SLAM erforschen, und folglich beißt sich das irgendwie in den eigenen Schwanz.

    Wirklich hilfreich , um die Odometrie zu verbessern, wären nur Sensorfusionen mit Gyro, Accelerometer und Kompass durch 9D Sensorfusion, z.B. per Extended Kalmanfilter (es gibt Sensoren, die das schon teilw. durch einen onboard 9D-dsp tun, z.B. CMPS12 (einfach) oder MPU9250 (schwierig und aufwändig), den 9D Kalman musst du dann noch mit der Odometrie fusionieren ).

    Auch hier hast du aber nur 1 absolute externe Referenz , nämlich das Erdmagnetfeld (via Kompass), der Rest an Sensorwerten ist theoretisch beliebig verrauscht - das ist etwas dünn für eine exakte Navigation, gerade bei Schlupf und magn. Störfeldern.

    Also hilft zur Ortung nur ein zusätzliches externes Ortungssystem, wie Baken per dm-Wellen ("Indoor-GPS"), s. z.B. Pozyx (teuer aber sehr genau).
    Falls das nicht in Frage kommt, musst du mit den Ungenauigkeiten aus MC-Simulation und Kalmanfilter leben.

    Was nicht-statische Hindernisse angeht, könnte man das virtuell erstellte Bild des Labyrinths "schattieren", d.h. mit Grauwerten versehen.
    weiß = frei,
    Grautöne = Hindernis mit zunehmender Schwärzung bei wiederholter Messung, kann auch wieder zu weiß ausradiert werden falls es plötzlich wieder verschwindet
    schwarz = dauerhaftes Hindernis ab der soundsovielten konstanten Messung

    Weiterer Vorteil bei dem grauschattierten virtuellen Labyrinth:
    du kannst die Einzelfelder direkt in einem A* (AStern) weiterverarbeiten, zur Ermittlung des kürzesten Weges aus dem Labyrinth heraus, wobei der Grad der Schwärzung mit verschieden hohen Wegekosten korreliert werden kann.

  4. #4
    Hallo HaWe,
    Danke für deine Rückmeldung, ich werde mir die Sensoren, die du beschrieben hast auf jeden Fall ansehen. Ein "Indoor-GPS" System können wir leider nicht verwenden, da das der Wettbewerb nicht zulässt. Auch deine Idee mit den Schattierungen werde ich mal versuchen für unser Projekt umzusetzten.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Ein Gedanke den ich schon länger mal ausprobieren wollte, aber zumindest privat nie wirklich in angriff genommen habe wäre eine Computermaus (genauer gesagt den Maussensor, kann man als einzelne bastlerplatine kaufen) für die Wegerfassung zu nutzen

    Das wäre Kontaktlos und auf 95% aller Oberflächen kein Problem

    Da der Sensor geschützt verbaut werden kann und solange man sicher geht dass der robo sich nicht unnötig selber aufbockt (Also den Boden aus dem Fokus nimmt) sollte man damit sehr zuverlässig die Wegstrecke tracken können

    Versuch doch mal irgendwo her eine alte optische PS2 Maus zu organisieren, dann kannst du das zumindestens erstmal testen, denn PS2 ist nichts weiteres als gammeliges UART in eiem runden Stecker

    Wenn dein Robo eine Gehirn mit USB Port besitzt gehts auch mit einer USB Maus natürlich
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.648
    Zitat Zitat von Ceos Beitrag anzeigen
    Ein Gedanke den ich schon länger mal ausprobieren wollte, aber zumindest privat nie wirklich in angriff genommen habe wäre eine Computermaus (genauer gesagt den Maussensor, kann man als einzelne bastlerplatine kaufen) für die Wegerfassung zu nutzen

    Das wäre Kontaktlos und auf 95% aller Oberflächen kein Problem

    Da der Sensor geschützt verbaut werden kann und solange man sicher geht dass der robo sich nicht unnötig selber aufbockt (Also den Boden aus dem Fokus nimmt) sollte man damit sehr zuverlässig die Wegstrecke tracken können

    Versuch doch mal irgendwo her eine alte optische PS2 Maus zu organisieren, dann kannst du das zumindestens erstmal testen, denn PS2 ist nichts weiteres als gammeliges UART in eiem runden Stecker

    Wenn dein Robo eine Gehirn mit USB Port besitzt gehts auch mit einer USB Maus natürlich
    Zwar ist das Problem evtl. gelöst, dass man Stillstand bemerkt, selbst wenn sich die Motoren drehen, aber er kann dennoch nicht feststellen wo er sich genau befindet. Wenn der Roboter nun angefahren wird und einmal versetzt wird, stimmt die Position nicht mehr. Gleiches, sollte er manuell versetzt werden. Er muss sich irgendwie an der Umgebung orientieren, wie mit Kamera, also optisch. Oder er müsste ständig die Umgebung kontrollieren und ein Notprogramm haben, das er drohende Kollision frühzeitig erkennt und dem "Angreifer" ausweicht - so ist er immer Herr über seine eigene Position. GPS fällt ja aus.


    MfG

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    11.12.2007
    Ort
    weit weg von nahe Bonn
    Alter
    39
    Beiträge
    3.416
    Wenn der Sensor nicht gerade mitting in der Drehachse verbaut ist kann er wunderbar die Rotation mitlesen

    Außerdem hat er Lidar ... ich kenne zwar die präzision nicht, aber sollte er damit nicht in der Lage sein Hindernissen auszuweichen!?

    Einwirkungen von außen sind nirgendwo beschrieben und ich habe auch EXTRA gesagt dass man sorge tragen muss den Fokus nicht zu verlieren.

    Man kann auch das Lidarbild nutzen um sich zu orientieren, solange das Labyrinth ausreichend "unterscheidbare" Kriterien pro Raum hat(also die Räume nicht zu identisch aussehen) kann man einfach das aktuelle 360° Bild nehmen und in die Karte projezieren und dann mittels Bildsuche die Position und Orientierung ermitteln. Aber das sehe ich kritisch bei der zur Verfügung stehenden REchenleistung.

    Warum nicht ein einfacherer Ansatz?
    Es gibt 10 Sorten von Menschen: Die einen können binär zählen, die anderen
    nicht.

Ähnliche Themen

  1. Roboter mit Neato Lidar und SLAM
    Von teamohnename im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 4
    Letzter Beitrag: 20.04.2015, 12:41
  2. Kartenausschnitt in Karte finden
    Von jcrypter im Forum Software, Algorithmen und KI
    Antworten: 7
    Letzter Beitrag: 15.08.2013, 09:02
  3. Lpt-Karte - wie Hardware-Adresse für Bascom finden?
    Von erik_wolfram im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 22.03.2010, 20:27
  4. Trajektorien eines 3-Achs Roboters in Position und Geschwin.
    Von Henryy im Forum Suche bestimmtes Bauteil bzw. Empfehlung
    Antworten: 3
    Letzter Beitrag: 24.01.2010, 11:17
  5. Position innerhalb der Karte?
    Von Chris266 im Forum Software, Algorithmen und KI
    Antworten: 4
    Letzter Beitrag: 04.05.2005, 23:30

Stichworte

Berechtigungen

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

Solar Speicher und Akkus Tests