Hallo Zusammen, Ich hab mich jetzt schon irre gesucht und leider noch nichts 100% passendes gefunden... Es geht um die Frage, welcher Algorithmus / welche Algorithmen aktuell verwendet werden bei z. B. Staubsaugrobotern / CNC Maschinen, mit der die Roboter die komplette Fläche mit Intelligenz abfahren können. Hier ist eine Idee, wie die Fahrroute aussehen könnte: https://www.akku-und-roboter-staubsauger.de/ratgeber/orientierung-im-raum/ Kann mir da jemand vielleicht weiterhelfen? Sind diese Algorithmen evtl. sogar ähnlich zur Erstellung von G-Code für 3D Drucker / CNC Maschinen? Danke ;) Grüße
Alexander M. schrieb: > Sind diese Algorithmen evtl. > sogar ähnlich zur Erstellung von G-Code für 3D Drucker / CNC Maschinen? G-Code (RS-274) ist kein Algorithmus sondern eine CNC-"Programmiersprache" (Befehlssatz), u.a. zur Übertragung von Fahrbefehlen.
Wolfgang schrieb: > Alexander M. schrieb: >> Sind diese Algorithmen evtl. >> sogar ähnlich zur Erstellung von G-Code für 3D Drucker / CNC Maschinen? > > G-Code (RS-274) ist kein Algorithmus sondern eine > CNC-"Programmiersprache" (Befehlssatz), u.a. zur Übertragung von > Fahrbefehlen. Stimmt. Daher ja: "Erstellung von G-Code". Oder noch genauer: Erstellung der Wegpunkte für den G-Code. Grüße
Prof. Dr. Volker Sommer (Beuth Hochschule Berlin) hat zu Staubsaugerrobotern schon 1998 Patente angemeldet. https://prof.beuth-hochschule.de/fileadmin/prof/sommer/Publikationen_Patente/Patente.pdf Vielleicht hilft dir das ja bei deiner suche.
Kaj schrieb: > Prof. Dr. Volker Sommer (Beuth Hochschule Berlin) hat zu > Staubsaugerrobotern schon 1998 Patente angemeldet. > https://prof.beuth-hochschule.de/fileadmin/prof/sommer/Publikationen_Patente/Patente.pdf > > Vielleicht hilft dir das ja bei deiner suche. Vielen Dank. Werde ich mir mal anschauen. Bin mir aber auf dem 1. Blick nicht ganz sicher, ob er auch wirklich was in dem Bereich "Wegpunkte-Erstellung" gemacht hat. Nur um nochmal klar zu werden: Für diese "Wegpunkt-Erstellung" würde ich gern den "Standard-Algorithmus" wissen, der üblicherweise eingesetzt wird. Also ähnlich wie z.B. beim Suchen eines Pfades der A*-Algorithmus eingesetzt wird, nur jetzt zur Erstellung dieser Punkte (auch mit z. B. Hindernisse). Grüße
Bei den meisten ist der Algo eher sowas wie:
1 | while (batteryFull() { |
2 | driveUntilCrash(); |
3 | turnRandomAmount(); |
4 | } |
5 | findHomeBase(); |
Es gibt einige, die erstmal die Wände des Raumes erfassen (ähnlich dem o.g. Algo) und dann immer eine "Wagenbreite" Abstand zwischen den Streifen lassen um die Fläche abzufahren, die zwischen den vorher erfassten Wänden liegt.
Alexander M. schrieb: > Kann mir da jemand vielleicht weiterhelfen? Sind diese Algorithmen evtl. > sogar ähnlich zur Erstellung von G-Code für 3D Drucker / CNC Maschinen? Ich denke der ist Firmengeheimnis. Wer den besten hat, dessen Gerät arbeitet am Effektivsten. Darüber haben Sie im TV sogar schon berichtet. Und das war auch "Testkriterium". Kennst du das Kinder-Zeichenspiel "Hier ist das Haus vom ni-ko-laus." ?? Da geht es darum ein Haus in einen Strich zu zeichnen. Bei einen Staubsaugerroboter ist es 100% da selbe. Es gilt eine Raum mit Hindernissen so zu reinigen das jede Stelle so wenig wie möglich aber min. 1 x angefahren wird. Den perfekte Algorithmus und ich habe für den Rest meines Lebens ausgesorgt in einer schönen Villa im Wand am See. (Ich mags nicht wenn es zu heiß ist).
Schlaumaier schrieb: > Den perfekte Algorithmus ... Ein Staubsaugerroboter der einen Raum abfährt? Wo soll denn da das Problem sein? Der Algorithmus ist maximal ein Dreizeiler.
Schlaumaier schrieb: > Alexander M. schrieb: >> Kann mir da jemand vielleicht weiterhelfen? Sind diese Algorithmen evtl. >> sogar ähnlich zur Erstellung von G-Code für 3D Drucker / CNC Maschinen? > > Ich denke der ist Firmengeheimnis. Wer den besten hat, dessen Gerät > arbeitet am Effektivsten. Darüber haben Sie im TV sogar schon berichtet. > Und das war auch "Testkriterium". > > Kennst du das Kinder-Zeichenspiel "Hier ist das Haus vom ni-ko-laus." ?? > Da geht es darum ein Haus in einen Strich zu zeichnen. Bei einen > Staubsaugerroboter ist es 100% da selbe. Es gilt eine Raum mit > Hindernissen so zu reinigen das jede Stelle so wenig wie möglich aber > min. 1 x angefahren wird. > > Den perfekte Algorithmus und ich habe für den Rest meines Lebens > ausgesorgt in einer schönen Villa im Wand am See. (Ich mags nicht wenn > es zu heiß ist). Das wäre natürlich echt schade. Nochmal zurück zur Erstellung eines G-Code, speziell die ganzen 3D Drucker Hersteller: Da muss es doch dafür irgendein öffentlich bekannter Algorithmus geben oder macht da wirklich jeder sein eigenes Ding? Wenn ja, dann werde ich das so akzeptieren (müssen)... Danke. Grüße
Ludwig schrieb: > Ein Staubsaugerroboter der einen Raum abfährt? Wo soll denn da das > Problem sein? Der Algorithmus ist maximal ein Dreizeiler. Schwätzer. Wir reden hier nicht von einer leeren Turnhalle, sondern von einen Raum mir Möbeln. Selbst Gartenroboter bekommen das Problem nicht sauber in den Griff.
Der Algorithmus ist ein Wechselspiel zwischen Sensoren einlesen und Motoren steuern. Wesentlich ist, wie beim Auftreten eines Hindernisses reagiert wird. Der einfachste Fall ist sofort mit einer zufälligen Richtungsänderung zu reagieren oder diese als letzte Vorgangsweise zu reservieren. Der schwierigste Teil ist, mit der richtigen Restkapazität, die Ladestation rechtzeitig zu erreichen.
https://de.wikipedia.org/wiki/Simultaneous_Localization_and_Mapping https://de.wikipedia.org/wiki/A*-Algorithmus und so weiter
Ludwig schrieb: > Der Algorithmus ist maximal ein Dreizeiler. Sicher nicht oder evtl. bei den allerbilligsten. Bei Rasenrobotern habe ich etwas gefunden, das sieht nicht nach Dreizeiler aus, also wieder einmal typisches Gewäsch. https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.331.4359&rep=rep1&type=pdf https://core.ac.uk/download/pdf/36754165.pdf https://www.sciencedirect.com/science/article/pii/S2352664516300050 https://robotics.stackexchange.com/questions/628/what-algorithm-should-i-implement-to-program-a-room-cleaning-robot https://kth.diva-portal.org/smash/get/diva2:1214422/FULLTEXT01.pdf Aber hochinteressantes Thema, hätte ich so nicht daran gedacht. Ich denke aber, dass bald jeder Roboter Lidar oder eine Kamera an Bord hat und so die Wohnung relativ einfach kartiert. Dann ist recht leicht eine Route zu planen. mfg
Danke. Da sind echt ein paar interessante Ideen dabei. Ich hab z. B. das hier gefunden: https://www.researchgate.net/publication/266646377_Complete_Coverage_Path_Planning_and_Obstacle_Avoidance_Strategy_of_the_Robot Leider ist das alles halt sehr wissenschaftlich beschrieben und jetzt nicht ohne Weiteres zu verstehen... Grüße
F. M. schrieb: > Ich denke aber, dass bald jeder Roboter Lidar oder eine Kamera an Bord > hat und so die Wohnung relativ einfach kartiert. Dann ist recht leicht > eine Route zu planen. Es gibt sogar schon Modelle die deine Wohnraum-Pläne an einen Fremden Server übertragen. "Angeblich zur Optimierung des Saugens". Wers glaubt. ;:)
Wenn ich meinem Grixx zugucke, ist zumindest auffällig, das er seine Aussenmaße genau kennt, schon um die Eckenbürste genau an die Kanten zu positionieren. Ob A* der richtige Weg ist, wage ich zu bezweifeln, denn der Bursche will ja nicht den schnellsten Weg, sondern die grösstmögliche Fläche in der kleinsten Zeit bearbeiten. Er startet bei mir mit einer Spirale in Raummitte, bis er ein Hindernis erkennt. Dann geht er aufs Kantenprogramm, die er abfährt mit der Bürstenseite. Ist alles frei, gehts nach einer Weile wieder in eine Spirale von innen nach aussen. Die Sensoren sind 3 Abstandsensoren auf der Vorderseite (links, rechts, vorne), zwei Bumperkontakte am Vorderrand links und rechts, ein Abstandsensor nach unten vorne für Treppenstufen, Radsensoren für die Umdrehungen und ein IR Auge oben drauf für Sperrbaken und Ladestation. Der MC ist ein STM32F103.
:
Bearbeitet durch User
Alexander M. schrieb: > die Roboter die komplette Fläche mit Intelligenz abfahren können Können sie ja nicht. Ob Staubsauger oder Rasenmäher, die scheitern schon an den simpelsten Hürden. Ein Baum in der Grasfläche, überhängende Zweige, eine Delle oder Buckel im Rasen oder ein auf dem Rasen stehender Stuhl lässt die Kiste "ich fahre random, dann werd ich zwar nie alles mähen, hab aber einige Stellen durch 10000-faches Drüberrollen wenigstens plattgefahren" genau so kläglich scheitern (falls sie im Vorgarten nicht von vorbeilaufenden Souvenierjägern mitgenommen werden) wie der Staubsauger an Teppichen, Netzwerkkabeln, sich unter Sofas festklemmt oder zwischen Stuhlbeinen hängen bleibt, falls er sich nicht am Versuch, eine Socke oder Fernsehzeitung einzusaugen, verschluckt oder die Treppe runterfällt - nein, die will er runtergetragen werden, zudem stolpert man über diese Konservendosen die immer im Weg rumfahren - oder mal wieder mit leerem Akku und vollem Mikrominiaturstaubsaugerbeutel rumstehen.
Hallo na ganz so schlimm würde ich es jetzt nicht sehen, - es gibt da schon einige recht gute Ausführungen: Aber trotzdem: Ja vom Grundsatz hast du vollkommen recht - überall wo Haushaltssaugroboter und automatischer Mäher gut arbeiten kann man es auch direkt selbst ohne viel Anstrengung fast schon nebenher mal eben schnell machen. Ausgerechnet dort wo es interessant werden würde und man als Mensch auch aufpassen muss und locker >=30 Minuten am Saugen ist, bzw. sich durch den Garten manövriertet und 10 mal die Mäherhöhe verstellen muss, (Huckel, Steigungen, Vegetation an den blödesten Ecken - halt kein englische Rasen im Minivorgarten) ergänzt mit lustigen Vorwärts- und Rückwärts schieben , von mehreren Stellen das Ziel anfahren und all der Kram (schei... Maulwürfe, blöde Kiesel), ist ganz schnell Schluss. Somit: Alles immer noch eine Nette Spielerei die vor allem Geld verschlingt aber nur wenig Arbeit abnimmt - die 60m³ rechteckiger und ebener Neubaugrundstückrasen sind innerhalb weniger Minuten gemäht (und es macht da sogar Spaß und ist nicht Schweißtreiben). Jemand
Schlaumaier schrieb: > Es gibt sogar schon Modelle die deine Wohnraum-Pläne an einen Fremden > Server übertragen. "Angeblich zur Optimierung des Saugens". Wers > glaubt. ;:) Nein! DIE DA OBEN wollen natürlich ausspionieren wo Deine Sessel und Bodenvasen stehen. Das ist doch ganz klar. Lass Dir das nicht gefallen! Auch wichtig: Durch Auswertung von Beiträgen in Onlineforen soll angeblich sogar feststellbar sein ob noch alle Tassen im Schrank sind... Ganz gefährlich!
Bei 3D Druckern gibts doch auch Open Source CAM Software. Da kannst Du dann sogar selber rein schauen. Bsp. PyCAM Splic3r
Jens M. schrieb: > Es gibt einige, die erstmal die Wände des Raumes erfassen (ähnlich dem > o.g. Algo) und dann immer eine "Wagenbreite" Abstand zwischen den > Streifen lassen um die Fläche abzufahren, die zwischen den vorher > erfassten Wänden liegt. genauso fährt mein neuer proscenic M8pro! leider gabs Probleme, 1. Lieferung saugt prima, als ich die App installierte blieb das Firmwareupdate bei 80% stecken, aber ich konnte einmal die Fahrroute sehen. Danach verlor der Roboter die Verbindung zur Basis, es kam nur noch die Fehlermeldung pairing fail! 2. Lieferung, App nicht installiert, saugt auch prima, aber die Absaugung war defekt, er fuhr zur Basis sprach seinen Text ("dust collection") aber der Absauger blieb stumm und der Beutel füllte sich nicht und der Robi wurde auch nicht geleert. Heute soll Nr. 3 geliefert werden. Schaun wir mal. Wenn alles funktionieren würde wäre er super: Gute Saugergebnisse, gute Akkulaufzeit, gute Navigation, 2,5cm Stufen kein Problem, gute Kollisionserkennung, schnelles arbeiten, wischen inclusive, leichte Inkontinenz stört auf Teppiche wenig weil die Raumluft eh immer zu trocken ist, für Parkett wohl dann weniger geeignet wegen der verlorenden Wassertropfen, aber das Wischergebniss hatte mir bei Kanditat 1. gefallen.
Jemand schrieb: > 60m³ rechteckiger und ebener Neubaugrundstückrasen sind innerhalb > weniger Minuten gemäht (und es macht da sogar Spaß und ist nicht > Schweißtreiben). Und man spart sich Kosten fürs Fitnisstudio;)
Ludwig schrieb: > Der Algorithmus ist maximal ein Dreizeiler. Dann schreib die 3 Zeilen doch hin. Ach so, kannst du nicht ...
Udo S. schrieb: > Ludwig schrieb: >> Der Algorithmus ist maximal ein Dreizeiler. > > Dann schreib die 3 Zeilen doch hin. In Fortran 77 war die Zeilenlänge noch auf 72 Zeichen limitiert. In C und praktisch allen anderen neueren Programmiersprachen gibt es diese Beschränkung nicht mehr ;-)
Schlaumaier schrieb: > Schwätzer. > Angenehm, MeierKurt > Wir reden hier nicht von einer leeren Turnhalle, sondern von einen Raum > mir Möbeln. Selbst Gartenroboter bekommen das Problem nicht sauber in > den Griff. Was soll ein Gartenroboter in einem Raum mit Möbeln?
Jemand schrieb: > die 60m³ rechteckiger und ebener > Neubaugrundstückrasen Sechzig Kubikmeter Rasen? Na, nicht gleich übertreiben. Da würde ja ein Wald- und Wiesen-Rasenmäher zwölfhundert Mal seinen 50l-Sack voll bekommen... Und als Fläche wär das (4cm Rasenhöhe) auch nicht zu verachten: 0,15ha. Oder 0,21 Fußballfelder, wie man hier in Deutschland sagen würde.
Yalu X. schrieb: > Udo S. schrieb: >> Ludwig schrieb: >>> Der Algorithmus ist maximal ein Dreizeiler. >> >> Dann schreib die 3 Zeilen doch hin. > > In Fortran 77 war die Zeilenlänge noch auf 72 Zeichen limitiert. In C > und praktisch allen anderen neueren Programmiersprachen gibt es diese > Beschränkung nicht mehr ;-) Außer für den Präprozessor - dort nur nicht wegen der Zeilenlänge, sondern der Anzahl an Anweisungen. Man kann also nur maximal zwei Header inkludieren. ;-)
Udo S. schrieb: > Ludwig schrieb: >> Der Algorithmus ist maximal ein Dreizeiler. > > Dann schreib die 3 Zeilen doch hin. > Ach so, kannst du nicht ... Für Dich. Stellvertretend für alle: zum einen verstehst Du nicht was ein Dreizeiler ist, zum anderen werde ich bestimmt hier keine Perlen vor die Säue werfen. Ihr müsst irgendwann einmal lernen selbstständig zu denken.
aluhut schrieb: > Schlaumaier schrieb: > >> Es gibt sogar schon Modelle die deine Wohnraum-Pläne an einen Fremden >> Server übertragen. "Angeblich zur Optimierung des Saugens". Wers >> glaubt. ;:) > > Nein! DIE DA OBEN wollen natürlich ausspionieren wo Deine Sessel und > Bodenvasen stehen. Das ist doch ganz klar. Lass Dir das nicht gefallen! > > Auch wichtig: Durch Auswertung von Beiträgen in Onlineforen soll > angeblich sogar feststellbar sein ob noch alle Tassen im Schrank sind... > Ganz gefährlich! https://www.t-online.de/digital/id_85170130/viele-saugroboter-spionieren-ihre-besitzer-aus.html k.k.
Wieso der Internet braucht ist mir eh unlogisch. Upgrades gehen via USB-Sticks auch.
MeierKurt schrieb: > Sechzig Kubikmeter Rasen? Nicht so viel . Wenn ich anfange zu mähen, hat der Rasen 15cm, zurückgeschnitten wird auf 5, sind nur 600m2. Allerdings wird der Rasenschnitt schon kompakter, so 6m3. MeierKurt schrieb: > Da würde ja ein Wald- und Wiesen-Rasenmäher zwölfhundert Mal seinen > 50l-Sack voll bekommen. Daher sind Grasauffangsäcke nutzlos. Die ganzen Nährstoffe, die man mit ihm abtransportiert, muss man ja als Dünger wieder teuer kaufen.
Wer braucht denn einen Staubsauberroboter... Das macht bei mir die Frau.
Ludwig schrieb: > zum einen verstehst Du nicht was ein > Dreizeiler ist, zum anderen werde ich bestimmt hier keine Perlen vor die > Säue werfen. Oder anders ausgedrückt: Du hast nur irgendeinen Quatsch gelabert, willst das aber nicht zugeben. Dieter H. schrieb: > Wer braucht denn einen Staubsauberroboter... Das macht bei mir die Frau. Das wird ihrer Lunge auf Dauer aber nicht guttun.
Rolf M. schrieb: > Das wird ihrer Lunge auf Dauer aber nicht guttun. Löl. Du glaubst auch jeden Mist. Meine Mutter (und auch ich) hatten nie einen und sie ist 84 Jahre alt geworden. Und den Staub den ein Staubsauger saugt, ist eh nicht gefährlich. Nur durch die vielen Desinfektionen steigt das Risiko auf Allergien immens.
Yalu X. schrieb: > In Fortran 77 war die Zeilenlänge noch auf 72 Zeichen limitiert. In C > und praktisch allen anderen neueren Programmiersprachen gibt es diese > Beschränkung nicht mehr ;-) Du hast Go und Python vergessen
Schlaumaier schrieb: > Rolf M. schrieb: >> Das wird ihrer Lunge auf Dauer aber nicht guttun. > > Löl. Du glaubst auch jeden Mist. Nein, du hast nur meinen Scherz nicht verstanden.
Stefan ⛄ F. schrieb: > Yalu X. schrieb: >> In Fortran 77 war die Zeilenlänge noch auf 72 Zeichen limitiert. In C >> und praktisch allen anderen neueren Programmiersprachen gibt es diese >> Beschränkung nicht mehr ;-) > > Du hast Go und Python vergessen In Go kann man doch ähnlich wie in C alles in eine Zeile schreiben, wenn man aufeinanderfolgende Anweisungen durch Semikola trennt, oder nicht? An Python habe ich nicht gedacht, als ich obiges schrieb. Aber Python wäre nicht Python, wenn es nicht doch eine Möglichkeit gäbe, alles in eine Zeile zu quetschen:
1 | exec('for n in range(2,100):\n for k in range(2,n-1):\n if n%k==0:break\n else:print(n)') |
;-)
:
Bearbeitet durch Moderator
Yalu X. schrieb: > Aber Python > wäre nicht Python, wenn es nicht doch eine Möglichkeit gäbe, alles in > eine Zeile zu quetschen: Irgendwie erinnert mich das an die Zeitung C=64. Die hatte mal ein Wettbewerb laufen "Der Einzeiler des Monats". Da kamen coole Sachen raus, aber lesbar war was anderes. ;)
> An Python habe ich nicht gedacht, als ich obiges schrieb. Aber Python > wäre nicht Python, wenn es nicht doch eine Möglichkeit gäbe, alles in > eine Zeile zu quetschen: > > >
1 | > exec('for n in range(2,100):\n for k in range(2,n-1):\n if |
2 | > n%k==0:break\n else:print(n) |
3 | > |
> > ;-) Das ist aber noch kein Python: zähl mal Klammern und Anführungszeichen... NB: wozu das exec()?
Pydant schrieb: > Das ist aber noch kein Python: zähl mal Klammern und > Anführungszeichen... Danke, gut aufgepasst :) Da sind beim Kopieren die letzten beiden Zeichen verloren gegangen. Ich habe das oben korrigiert.
Yalu X. schrieb: >
1 | > exec('for n in range(2,100):\n for k in range(2,n-1):\n if |
2 | > n%k==0:break\n else:print(n)') |
3 | > |
Bitte jetzt mal nicht die Builtins compile() (Optimierung!), eval() und im Zweifel auch gerne die Module "parser", "code" und "codeop" vergessen, wenn das Ganze ggf. schrittweise ablaufen soll (Benutzerinteraktion)! ;-) Außerdem, was sehr, sehr viele nicht wissen: Anweisungen kann man in Python oft auch durch Semikola oder Kommata trennen (bei Loops und Branches geht das nicht); das hier ist valider Code:
1 | exec('for i in range(2):\n\tfor k in range(2): print(i); print(k*3)') |
jenes hier aber nicht (Zeilenumbruch ohne Einrückung!):
1 | exec('for i in range(2):\n\tfor k in range(2):\nprint(i); print(k*3)') |
Pydant schrieb: >> An Python habe ich nicht gedacht, als ich obiges schrieb. Aber Python >> wäre nicht Python, wenn es nicht doch eine Möglichkeit gäbe, alles in >> eine Zeile zu quetschen: >> >> >>
1 | >> exec('for n in range(2,100):\n for k in range(2,n-1):\n if |
2 | >> n%k==0:break\n else:print(n) |
3 | >> |
Du mußt schon vollständig zitieren, kleiner Grashüpfer... in Deinem Zitat fehlen das abschließende Singlequote und die abschließende Klammer. ;-) > Das ist aber noch kein Python: zähl mal Klammern und > Anführungszeichen... Also das, was Yalu original gepostet hat, führt mein Python 3.8.5 unter Kubuntu 20.04 LTS korrekt aus, genau wie erwartet. > NB: wozu das exec()? Die einfache Erklärung ist, daß exec() den übergebenen Code ausführt. (Der Rest ist für Menschen mit tieferem Interesse an Python interessant -- allerhöchstens.) Der übergebene Code kann dabei ein ein Bytecode-Objekt sein, das aus einem str()- oder bytes()-Objekt mit der Builtin-Funktion compile() in Bytecode übersetzt wurde. Wenn exec() dagegen ein str()- oder bytes()-Objekt übergeben wird, führt es den compile()-Schritt selbständig aus. Zu den spannenden Aspekten von exec() und seiner Schwesterfunktion eval() -- die nur einzelne Anweisungen ausführen kann und im Gegensatz zu exec() einen Rückgabewert daraus erzeugt und zurückgibt -- gehört es, daß den beiden Funktionen jeweils zwei Dictionaries (dict(), {}) für "globals" und "locals" mitgegeben werden können, denen dann im ausgeführten Code Werte zugewiesen werden können... einfach mal das Beispiel ausprobieren:
1 | #!/usr/bin/env python
|
2 | CODE = '''rv = 0\nfor i in range(a): rv += i**2''' |
3 | |
4 | |
5 | if __name__ == '__main__': |
6 | |
7 | try: |
8 | print(exec(CODE)) |
9 | except Exception as e: |
10 | print(str(e)) |
11 | finally: |
12 | print('-----------------------------------') |
13 | |
14 | try: |
15 | print(exec(compile(CODE, 'string', 'exec'))) |
16 | except Exception as e: |
17 | print(str(e)) |
18 | finally: |
19 | print('-----------------------------------') |
20 | |
21 | try: |
22 | g = {'a': 3} |
23 | l = {'b': 5} |
24 | print(exec(CODE, g, l)) |
25 | print(g) |
26 | print(l) |
27 | except Exception as e: |
28 | print(str(e)) |
29 | finally: |
30 | print('-----------------------------------') |
31 | |
32 | try: |
33 | g = {'a': 3} |
34 | l = {'b': 5} |
35 | bo = compile(CODE, 'string', 'exec') |
36 | print(exec(bo, g, l)) |
37 | print(g) |
38 | print(l) |
39 | except Exception as e: |
40 | print(str(e)) |
41 | finally: |
42 | print('-----------------------------------') |
HF, YMMV! ;-)
Alexander M. schrieb: > Kann mir da jemand vielleicht weiterhelfen? Sind diese Algorithmen evtl. > sogar ähnlich zur Erstellung von G-Code für 3D Drucker / CNC Maschinen? Ums mal kurz zu beantworten: Nein. Dein Artikel ist halt im wesentlichen veraltet. Alle Saugroboter, die heutzutage Stand der Technik sind, funktionieren mehr oder weniger ähnlich: Raum in Quadrate aufteilen, und die eins nach dem anderen absaugen. Erst den Rand, dann Bahn für Bahn die Fläche, oder umgekehrt. Hindernisse werden umfahren. Orientieren tun die sich über LIDAR oder Kameras an den Wänden, auf den cm genau. Das funktioniert erstaunlich gut, und ohne übersehen Ecken. Bei Rasenmährobotern klappt das mangels Wänden nicht. Die allermeisten fahren daher noch zufällige Zickzackmuster. Auch das führt allerdings zu guten Ergebnissen, nur sind die Fahrzeiten länger, um sicherzustellen, daß auch alles gemäht wird. Bahnenmähen mit Orientierung per Radumdrehung zählen plus etwas Funkpeilung gibts von Bosch, funktioniert aber nur mittelmäßig. Per Differential-GPS gehts besser, das gibt es aber nur als Selbstbau - Stichwort Ardumäher. In dem Bereich wird sich sicherlich in den nächsten Jahren noch was tun. Oliver
Oliver S. schrieb: > Bei Rasenmährobotern klappt das mangels Wänden nicht. Gibt es da die "Wände" nicht in Form eines Drahtes, den man auf den Boden legt oder eingräbt? Natürlich braucht man da andere Sensorik als Lidar oder Kamera.
Oliver S. schrieb: > Per > Differential-GPS gehts besser, das gibt es aber nur als Selbstbau - > Stichwort Ardumäher. In dem Bereich wird sich sicherlich in den nächsten > Jahren noch was tun. Schon passiert, dieses Jahr wird bereits ausgeliefert. Husqvarna Epos https://www.youtube.com/watch?v=WUb0rxWfxvs Vlt. noch ne Anmerkung, will Dir aber nicht besserwisserisch über den Mund fahren: DGPS ist technisch veraltet, heute macht man das mit RTK. Das hat zwar irgendwo im Kern den gleichen Ansatz, unterscheidet sich technologisch aber erheblich. Ist eine längere Geschichte, einfach googeln.
Rolf M. schrieb: > Oliver S. schrieb: > >> Bei Rasenmährobotern klappt das mangels Wänden nicht. > > Gibt es da die "Wände" nicht in Form eines Drahtes, den man auf den > Boden legt oder eingräbt? Mit der Drahtschleife kann der Roboter nur erkennen, ob er sich innerhalb oder außerhalb davon befindet. Mit einem Lidar hingegen kann er über mehrere Meter Distanz die Kontur von Wänden und anderen Objekten erfassen und diese damit zur Positionsbestimmung nutzen.
Für einen Staubsaugrobbi ist GPS natürlich ungeeignet.
Oliver S. schrieb: > Alexander M. schrieb: >> Kann mir da jemand vielleicht weiterhelfen? Sind diese Algorithmen evtl. >> sogar ähnlich zur Erstellung von G-Code für 3D Drucker / CNC Maschinen? > > Ums mal kurz zu beantworten: Nein. > > Dein Artikel ist halt im wesentlichen veraltet. Alle Saugroboter, die > heutzutage Stand der Technik sind, funktionieren mehr oder weniger > ähnlich: Raum in Quadrate aufteilen, und die eins nach dem anderen > absaugen. Erst den Rand, dann Bahn für Bahn die Fläche, oder umgekehrt. > Hindernisse werden umfahren. Orientieren tun die sich über LIDAR oder > Kameras an den Wänden, auf den cm genau. Das funktioniert erstaunlich > gut, und ohne übersehen Ecken. > > Bei Rasenmährobotern klappt das mangels Wänden nicht. Die allermeisten > fahren daher noch zufällige Zickzackmuster. Auch das führt allerdings zu > guten Ergebnissen, nur sind die Fahrzeiten länger, um sicherzustellen, > daß auch alles gemäht wird. > > Bahnenmähen mit Orientierung per Radumdrehung zählen plus etwas > Funkpeilung gibts von Bosch, funktioniert aber nur mittelmäßig. Per > Differential-GPS gehts besser, das gibt es aber nur als Selbstbau - > Stichwort Ardumäher. In dem Bereich wird sich sicherlich in den nächsten > Jahren noch was tun. > > Oliver Wobei der Ardumower sein Gebiet nicht einfach "Bahn für Bahn" abfährt, sondern sein Gebiet schon nochmal in kleinere Polygone aufteilt. Siehe Minute 18:05 https://www.youtube.com/watch?v=QT4dSrSzJAc --> Die Frage ist, mit welchem Algorithmus wird diese Map so erstellt? Muss da der Kunde selbst seine "Polygone" & "Richtung zum Mähen pro Polygon" einzeichnen oder gibt es da bereits einen guten Algorithmus, der irgendwie erkennt, wie die Unterpolygone gute verteilt werden... Beispielhaft eine Fläche mit meiner logischen Einteilung der Unterflächen. Genau das müsste halt der Algorithmus alleine schaffen, aber ich bin mir sehr unschlüssig, ob das geht?! --------- | | | 1 | | | -----| | | 2| | | ----- | | | | 3 | | | --------- Grüße
:
Bearbeitet durch User
Anderer Ansatz schrieb: > Bei 3D Druckern gibts doch auch Open Source CAM Software. Da kannst Du > dann sogar selber rein schauen. > > Bsp. > PyCAM > Splic3r Danke, vielleicht geht es wirklich in die Richtung. Leider hab ich hier noch kein gutes Tutorial gesehen, in dem mal so eine Software nachprogrammiert wird. Was sind denn da die besten Schlagwörter: CAM Software, G-Code,...? Grüße
Hallo Rolf M. schrieb: > Gibt es da die "Wände" nicht in Form eines Drahtes, den man auf den > Boden legt oder eingräbt? Und noch ein Punkt der nicht unbedingt für einen der (privat bezahlbaren und unterbringbaren) Mähroboter spricht. Der Draht muss ja auch erstmal installiert werden - soll das Wetterfest, stolper frei und was sein was auch 1 Jahrzehnt und länger hält und in dieser Zeit keiner Wartung bedarf ist der Installationsaufwand schon heftig. Was mir nebenbei eingefallen ist: Ein "normaler" Mäher bedarf Wartung und Reinigung - das wird bei so einen Mähroboter auch der Fall sein - vermutlich wegen der nun mal (im privaten Umfeld) eingeschränkten Größe eher sogar mehr. Ob so ein Mähroboter einen wirklich schweißtreibende und ungeliebte Arbeit abnimmt bezweifele ich immer mehr. Wie schon in meinen vorausgehenden Beitrag geschrieben: Es geht mir - nicht-(!) um die 60m² topfebenen "Englischen Zierrasen" in der Neubaugegend sondern... siehe man erster Beitrag... Und beim Staubsaugerroboter ist es vom letztendlich auch nicht anders - nur das Staubsaugen generell kein Spaß macht und daher in ganz speziellen Fällen so ein Saugroboter ein klein wenig Arbeit abnimmt. Tja - alles mehr ein nettes Nerdspielzeug bzw. eine Arbeitserleichterung da wo sowieso kaum Arbeit anfällt - aber nichts was einen wenigstens eine der vielen nervigen und ungeliebten Pflichten abnimmt und was man einmal eingeschaltet einfach "vergessen" kann...
Alexander M. schrieb: > Danke, vielleicht geht es wirklich in die Richtung. Leider hab ich hier > noch kein gutes Tutorial gesehen, in dem mal so eine Software > nachprogrammiert wird. Wahrscheinlich, weil man dafür ja nur 3 Zeilen Code braucht. Dafür braucht es kein Tutorial. (ironisch gemeint)
Jemand schrieb: > Der Draht muss ja auch erstmal installiert werden - soll das Wetterfest, > stolper frei und was sein was auch 1 Jahrzehnt und länger hält und in > dieser Zeit keiner Wartung bedarf Habe bei mir den Draht in einen extra Schlauch gezogen, durch diesen Schutz lebt die Installation schon länger als 10 Jahre. > ist der Installationsaufwand schon heftig. Yoah, geht so. Kann nicht sagen, dass das keine Arbeit war (500qm), aber es ging ganz gut, ca. 1/2 Tag. > > Was mir nebenbei eingefallen ist: > Ein "normaler" Mäher bedarf Wartung und Reinigung - das wird bei so > einen Mähroboter auch der Fall sein - vermutlich wegen der nun mal (im > privaten Umfeld) eingeschränkten Größe eher sogar mehr. Wartung: 2x Jahr Messer wechseln, dauert 5 Minuten. Alle 3-5 Jahre Akku tauschen, dauert 30 Minuten. Ganz selten mal ein Ausfall, kann man als technisch versierter Mensch alles selber machen, Ersatzteile bei Husqvarna/Gardena recht preiswert. > > Ob so ein Mähroboter einen wirklich schweißtreibende und ungeliebte > Arbeit abnimmt bezweifele ich immer mehr. Oh doch, auf jeden Fall. Bei einem guten Produkt läuft das von ganz alleine. Ich persönlich rate zu Gardena/Husqvarna, die haben evtl. nicht immer den heißen Sch… der irgendwo beworben wird aber die Dinger funktionieren einfach tadellos.
Eine simulierte Umgebung (links) aus Sicht des Roboters (rechts als Gridmap, also als 2D-Array. Die vom Laserscanner detektierten Hindernisse (weiß) sind hier bereits um den Radius des Roboters vergrößert, so dass nur die befahrbaren Punkte in grau dargestellt werden). Was ich mir vorstellen könnte: - Extrahiere aus den zusammenhängenden freien Feldern im Array horizontale oder vertikale Linien - Fasse benachbarte Linien mit benachbarten Endpunkten zu Linienblöcken zusammen (habe ich in der Grafik mal durch die roten Balken für den oberen Raum angedeutet). Diese Blöcke haben zwei Eck- oder Ein-/Ausfahrtpunktepaare. Wenn mich nicht täuscht, muss man dann "nur" noch die Ein-/Ausfahrtpunktepaare der Linienblöcke auf kürzestmögliche Verbindungswege untersuchen (Travelling Salesman?). Praktisch steht allerdings im Weg: - Die Lage der Map wird durch den Startwinkel des Roboters bestimmt. Sie kann auch z.b. 30° gedreht sein. Das müsste man transformieren. - Real ist die Map nicht statisch. Für einen Staubsaugerroboter ist in der Regel die liegengebliebene Sporttasche als temporäres Hindernis nicht in der Karte verzeichnet. Sie wird erst unterwegs von den Nahfeldsensoren erfasst und bringt den Masterplan unter Umständen gewaltig durcheinander.
Stefan ⛄ F. schrieb: > Alexander M. schrieb: >> Danke, vielleicht geht es wirklich in die Richtung. Leider hab ich hier >> noch kein gutes Tutorial gesehen, in dem mal so eine Software >> nachprogrammiert wird. > > Wahrscheinlich, weil man dafür ja nur 3 Zeilen Code braucht. Dafür > braucht es kein Tutorial. Klar, in Arduino-Manier:
1 | Map map = LoadMap(); |
2 | map.subdivide(); |
3 | Robot.drive(map); |
Harald schrieb: > Schon passiert, dieses Jahr wird bereits ausgeliefert. > > Husqvarna Epos Na ja, „ Die Mähroboterlösung eignet sich für den Einsatz auf öffentlichen Flächen, wie Fußballstadien, Golfanlagen, Stadtparks und Firmengeländen. Für private Rasenfläche ist EPOS nicht vorgesehen.“ Der fährt nicht auf den Zentimeter genau fahren, sondern bleibt halt ungefähr auf dem Grundstück. Liegt Preislich auch eher beim Kleinwagen. iRobot hatte einen Rasenmähroboter ohne Draht entwickelt, den aber kurz vor Markteinführung zurückgezogen. Dann gibts ein Startup, das ein Dings Namens Toadi baut. Der soll irgendwann mal alles können, aber bisher klappt das auch noch nicht. Da ist überall noch viel Luft nach oben. Der einzige, der tatsächlich funktioniert, ist der Ardumäher, nur ist da halt die Hardware fraglich. Alexander M. schrieb: > --> Die Frage ist, mit welchem Algorithmus wird diese Map so erstellt? > Muss da der Kunde selbst seine "Polygone" & "Richtung zum Mähen pro > Polygon" einzeichnen oder gibt es da bereits einen guten Algorithmus, > der irgendwie erkennt, wie die Unterpolygone gute verteilt werden... Ardumäher ist Open source. Anschauen kannst und musst du dir das einfach selber. Jemand schrieb: > Der Draht muss ja auch erstmal installiert werden - soll das Wetterfest, > stolper frei und was sein was auch 1 Jahrzehnt und länger hält und in > dieser Zeit keiner Wartung bedarf ist der Installationsaufwand schon > heftig. Quark. Draht verlegen klingt genauso einfach, wie es ist: einmal rum damit um den Garten, das war’s. Ist in weniger als einer Stunde erledigt. Oliver
:
Bearbeitet durch User
> Ardumäher ist Open source. Anschauen kannst und musst du dir das einfach > selber. > Leider nicht dieser Teil, die Kartenerstellung erfolgt nämlich in der App, die nicht Open Source ist ;)
Framulestigo schrieb: > Was ich mir vorstellen könnte: > - Extrahiere aus den zusammenhängenden freien Feldern im Array > horizontale oder vertikale Linien > - Fasse benachbarte Linien mit benachbarten Endpunkten zu Linienblöcken > zusammen (habe ich in der Grafik mal durch die roten Balken für den > oberen Raum angedeutet). Diese Blöcke haben zwei Eck- oder > Ein-/Ausfahrtpunktepaare. Hallo, Kannst du das vielleicht konkretisieren? Ich würde nämlich gern im Detail verstehen, was du damit meinst :D... Grüße
Oliver S. schrieb: > Der fährt nicht auf den Zentimeter genau fahren, sondern bleibt halt > ungefähr auf dem Grundstück. Liegt Preislich auch eher beim Kleinwagen. Da liegst Du falsch. Google mal nach ublox F9P, das sind RTK Module für ca 100€, einen setzt Du als Ref, den mobilen als Mobile, dann eine beliebige Funkstrecke zwischen den Modulen für die Korrekturdaten und fertig ist die cm-genaue Navigation im Bereich des Kurzstreckenfunks. Klingt zu einfach? Schon selber mit gearbeitet, geht wie doof. Einzig die Korrekturdaten sind mit min 1kb pro Sekunde recht happig. Du musst keinerlei Kenntnisse über den Aufbau der Korrekturdaten haben, einfach 1:1 beim Mobilmodul einspeisen.
Oliver S. schrieb: Der fährt nicht auf den Zentimeter genau fahren, sondern bleibt halt ungefähr auf dem Grundstück. Liegt Preislich auch eher beim Kleinwagen. Was Du meinst sind diese Standard-GPS Lösungen, die es schon seit längerer gibt. Da ist es tatsächlich so, dass die ungefähr sich merken, wo sie schon warten. Das hat in der Tat nichts mit RTK zu tun.
Alexander M. schrieb: > Hallo, Kannst du das vielleicht konkretisieren? Ich würde nämlich gern > im Detail verstehen, was du damit meinst :D... Du kannst doch die Karte Zeile für Zeile durchgehen und Dir befahrbare Linien herauspinnen (pro Zeile eine Liste von 1D-Linie mit StartY und EndY). Anschließend suchst Du von oben nach unten diese Zeilenlisten durch und vergleichst mit dem Nachbarelement, welche Linien mit StartY und EndY in etwa (+/-2) übereinstimmen, so dass sich ein zusammenhängend abfahrbarer Block bildet. So einen Linienblock (Bild) kann man im einfachsten Fall im Zickzack abfahren. In angehängten Bild fange ich unten links an, dann endet das Muster oben rechts. Würde ich unten rechts anfangen, wäre der Endpunkt oben links. Das ist nicht immer so: Hätte der gezeigte Block eine Zeile mehr, würden Start und Endpunkt auf der gleichen Seite liegen. Das wird einfach dadurch bestimmt, ob die Anzahl der Linien im Block gerade oder ungerade ist. Letztlich entscheidend: Es gibt vier mögliche Startpunkte (Du kannst Start- und Endpunkt auch tauschen), zu jedem Startpunkt aber nur genau einen Endpunkt. Egal, welcher der vier Startpunkte genutzt wird, innerhalb des Blockes ist der zu fahrende Weg gleich. Nach außen betrachtet kommt man aber jeweils an einem anderen Endpunkt an. Das wird wichtig, wenn man abschlie0end versucht, den Weg zwischen den Linienblöcken möglichst kurz zu halten. Hier muss man jeweils die vier möglichen Startpunkte aller Linienblöcke testen. Das wird beim Roboter rechnerisch recht kostspielig, weil er sich nicht einfach wie der Druckkopf am 3D-Drucker über die Hindernisse herüberlupfen kann, sondern erst mit dem Pathfinder die Länge der Verbindungen suchen muss. Bei n Blöcken sind das (wenn ich mich nicht verrechnet habe) 8*(n)(n-1) resultierende Verbindungen. Bevor man sich dem optimierten Verbindungstesten hingibt, müssen so bei z.B. 30 Blöcken erst einmal 7000 Wege generiert werden. Da könnte ich mir vorstellen, dass man da in der Praxis doch etwas pfuscht. Viel mehr als ein Raspi-Äquivalent haben auch die intelligenten Sauger nicht an Bord.
Oliver S. schrieb: > Quark. Draht verlegen klingt genauso einfach, wie es ist: einmal rum > damit um den Garten, das war’s. Ist in weniger als einer Stunde > erledigt. Allerdings ist der Garten lebendiger als der Draht. Es kann also schon sein, dass irgendwann Anpassungen fällig werden.
Jemand schrieb: > Der Draht muss ja auch erstmal installiert werden - soll das Wetterfest, > stolper frei On the Internet, nobody knows you're a mole. Der wird einige Zentimeter unterirdisch verlegt.
Framulestigo schrieb: > Da könnte ich mir vorstellen, dass man da in der Praxis doch etwas > pfuscht. Viel mehr als ein Raspi-Äquivalent haben auch die intelligenten > Sauger nicht an Bord. Nicht viel mehr? Wozu auch? Da reicht ein kleiner µC. Einfach mal ein Buch über Algorithmen lesen.
Jemand schrieb: > Ob so ein Mähroboter einen wirklich schweißtreibende und ungeliebte > Arbeit abnimmt bezweifele ich immer mehr. Kann auch eine Frage des Alters sein.
Framulestigo schrieb: > (pro Zeile eine Liste von 1D-Linie mit StartY und > EndY). Ups Korrektur: StartX und EndX sollte es heißen
Framulestigo schrieb: > Alexander M. schrieb: >> Hallo, Kannst du das vielleicht konkretisieren? Ich würde nämlich gern >> im Detail verstehen, was du damit meinst :D... > > Du kannst doch die Karte Zeile für Zeile durchgehen und Dir befahrbare > Linien herauspinnen (pro Zeile eine Liste von 1D-Linie mit StartY und > EndY). > Anschließend suchst Du von oben nach unten diese Zeilenlisten durch und > vergleichst mit dem Nachbarelement, welche Linien mit StartY und EndY in > etwa (+/-2) übereinstimmen, so dass sich ein zusammenhängend abfahrbarer > Block bildet. > ... Um das aber jetzt komplett zu verstehen: In deiner Variante werden diese "Blöcke" (bei dir rot umrandet) nicht automatisch generiert, sondern das muss man dann selbst machen? Oder hast du hier gedanklich bereits einen "Kantenalgorithmus" implementiert, der dann automatisch dieses Rechteck erstellen kann? Wie sieht es dann aber aus, wenn die Kanten nicht 90° sind...? Grüße
Jemand schrieb: > Tja - alles mehr ein nettes Nerdspielzeug bzw. eine Arbeitserleichterung > da wo sowieso kaum Arbeit anfällt - aber nichts was einen wenigstens > eine der vielen nervigen und ungeliebten Pflichten abnimmt und was man > einmal eingeschaltet einfach "vergessen" kann... Typisches Beispiel war mein leider schon verstorbener Freund und Arbeitskollege. Ein Junggeselle, der neben anderen Spielereien einen (natürlich selbst aufgepimpten) Saugroboter hatte. Das Ding ist Tag und Nacht durch die Wohnung geeiert und hat deshalb kaum größere Dreckansammlungen gefunden. Es hat zuverlässig seine Ladestation gefunden und ebenso zuverlässig nach Entleerung verlangt. Ob Nerdspielzeug oder nicht...Staubsaugen mußte mein Freund sein Lebtag nicht mehr :-) Gruß Rainer
Das ist zwar mit Sicherheit nicht der schnellste Algorithmus, aber er dürfte funktionieren: https://de.wikipedia.org/wiki/Floodfill
Alexander M. schrieb: > In deiner Variante werden diese "Blöcke" (bei dir rot umrandet) nicht > automatisch generiert, sondern das muss man dann selbst machen? Oder > hast du hier gedanklich bereits einen "Kantenalgorithmus" implementiert, > der dann automatisch dieses Rechteck erstellen kann? Wie sieht es dann > aber aus, wenn die Kanten nicht 90° sind...? Nein, das gießt man in Code. Im Bild einmal aus zwei benachbarten Zeilen die extrahierten Linien farblich markiert (blau/gelb). Am rechten Rand umkringelt ein Sprung (Da würde der Punktevergleich nicht passen). Rechteckig muss ein Linienblock auch nicht sein (rot umrandet, könnte auch ein Trapez, ein Parallelogramm oder etwas Bauchiges (ich, aber ohne Arme und Beine) sein). Hr. Karlsbach schrieb: > Nicht viel mehr? Wozu auch? Da reicht ein kleiner µC. Einfach mal ein > Buch über Algorithmen lesen. Es lassen sich aber so schlecht Bilder aus dem Buch oder dem Controller hier einstellen. Und ROS will auch nicht so richtig auf meinem Nucleo. Vielleicht soll der Robbi auch mal singen und tanzen. Bin gespannt auf Deinen Lektürevorschlag. :) (Ha, "Robotertanzen in C++")
Framulestigo schrieb: > Alexander M. schrieb: >> In deiner Variante werden diese "Blöcke" (bei dir rot umrandet) nicht >> automatisch generiert, sondern das muss man dann selbst machen? Oder >> hast du hier gedanklich bereits einen "Kantenalgorithmus" implementiert, >> der dann automatisch dieses Rechteck erstellen kann? Wie sieht es dann >> aber aus, wenn die Kanten nicht 90° sind...? > > Nein, das gießt man in Code. Im Bild einmal aus zwei benachbarten Zeilen > die extrahierten Linien farblich markiert (blau/gelb). Am rechten Rand > umkringelt ein Sprung (Da würde der Punktevergleich nicht passen). > Rechteckig muss ein Linienblock auch nicht sein (rot umrandet, könnte > auch ein Trapez, ein Parallelogramm oder etwas Bauchiges (ich, aber ohne > Arme und Beine) sein). > ... Hallo, Okay, ich glaub, ich weiß ungefähr auf was du hinaus willst...Nur bis auf das letzte Detail hab ich das ehrlich gesagt noch nicht verstanden. Speziell bei Hindernissen oder sehr verwinkelten Flächen ist das dann wahrscheinlich eher schwierig, oder? Grüße
Bernd schrieb: > Das ist zwar mit Sicherheit nicht der schnellste Algorithmus, aber er > dürfte funktionieren: > https://de.wikipedia.org/wiki/Floodfill Hallo, Ja das ist schon mal eine gute Idee, nur dann müssten halt auch alle Punkte eingespeichert werden, was 1. sehr viel Speicherplatz benötigt und 2. das Gerät Punkt für Punkt anfahren würde ohne mal "mehrere" Punkte in einer Linie z. B. anzufahren. Solche Algorithmen gehen aber schon in die richtige Richtung. Grüße
Harald schrieb: > Da liegst Du falsch. Google mal nach ublox F9P, das sind RTK Module für > ca 100€, einen setzt Du als Ref, den mobilen als Mobile, dann eine > beliebige Funkstrecke zwischen den Modulen für die Korrekturdaten und > fertig ist die cm-genaue Navigation im Bereich des Kurzstreckenfunks. Mag ja sein, was aber was hat das mit aktuell kaufbaren Rasenmährobotern zu tun? Oliver
Oliver S. schrieb: > Mag ja sein, was aber was hat das mit aktuell kaufbaren Rasenmährobotern > zu tun? Na, das ist die Technik, die im Epos eingesetzt wird. Du hattest ja gemeint, dass das enthaltene GPS nicht cm-genau wäre und mal gerade dafür sorgen würde das Gerät auf dem Grundstück zu halten. Der Epos ist ab sofort kaufbar und hat nichts mehr mit allen bisherigen Ansätzen zu drahtlosen Rasenmährobotern zu tun. Das der nicht für private Flächen vorgesehen ist hat wohl eher damit zu tun, dass die Einführungsphase nicht zu üppig werden soll und Privatleute da eben eher nerven. Es gibt ja genug Leute, denen der hohe Kaufpreis schlichtweg egal ist.
Wozu einen Algorithmus? Hast du keine Möbel, klappt das Staubsaugen mit den üblichen simplen Algorithmen recht gut, bei NULL Wohnkomfort. Hast du Möbel, hast du immer (!) schlecht gereinigte Bereiche. Auch wenn alle Möbel "hochbeinig" sind, reicht dazu schon, dass ein Socken noch da liegt, wo vorher gekrümelt wurde. Mit einer Stunde (<1% der Wach-Zeit) weniger geistlosem Video-Streaming pro Woche hast du eine 100 m² Bude ordentlich gesaugt und sogar noch ein klein wenig für die Fitness getan.
Klaro schrieb: > Wozu einen Algorithmus? > Hast du keine Möbel, klappt das Staubsaugen mit den üblichen simplen > Algorithmen recht gut, bei NULL Wohnkomfort. > > Hast du Möbel, hast du immer (!) schlecht gereinigte Bereiche. > Auch wenn alle Möbel "hochbeinig" sind, reicht dazu schon, dass ein > Socken noch da liegt, wo vorher gekrümelt wurde. > > Mit einer Stunde (<1% der Wach-Zeit) weniger geistlosem Video-Streaming > pro Woche hast du eine 100 m² Bude ordentlich gesaugt und sogar noch > ein klein wenig für die Fitness getan. Mir geht's in erster Linie um die Machbarkeit, und nicht um die Sinnhaftigkeit :D... Mag sein, dass das mit bisherigen Methoden ganz gut geht, aber vielleicht geht es ja mit anderen Methoden noch besser... Also deshalb abschließend nochmals die Frage: Kann sich jemand hier vorstellen, mit welchem Algorithmus diese Karte so unterteilt wurde, wie in Minute 18:05 zu sehen ist? https://www.youtube.com/watch?v=QT4dSrSzJAc&t=1066s Grüße
Alexander M. schrieb: > Kann sich jemand hier vorstellen, mit welchem Algorithmus diese Karte so > unterteilt wurde, wie in Minute 18:05 zu sehen ist? > https://www.youtube.com/watch?v=QT4dSrSzJAc&t=1066s Poste doch einfach einen Screenshot von der Karte.
Klar, Bild im Anhang. Nur ist das da eben leider nicht so ganz gut sichtbar... Die schwarzen Punkte sind die Punkte, die er nacheinander anfahren soll. Die schwarzen Linien sind die vorhergesehenen Strecken, wie der Mäher dann fahren soll. --> Hier wird halt irgendwie die Karte einigermaßen gut unterteilt, und ich frage mich: Wie genau funktioniert diese "Aufteilung". Grüße
Alexander M. schrieb: > Klar, Bild im Anhang. Nur ist das da eben leider nicht so ganz gut > sichtbar... Hier gibt es bessere Bilder, falls das jemand analysieren möchte: https://wiki.ardumower.de/index.php?title=Ardumower_Sunray#Mowing_pattern.2C_pattern_angle.2C_mowing_offset
Harald schrieb: > Der Epos ist ab sofort kaufbar und hat nichts mehr mit allen bisherigen > Ansätzen zu drahtlosen Rasenmährobotern zu tun. Nun ja, da bisher noch keine Geräte in freier Wildbahn unterwegs sind, warten wir da einfach mal ab, ob die Dinger unterhalb von Fußball. oder Golfplätzen einsetzbar sind. Wenn’s (bezahlbar) klappt, prima, wenn nicht, muß halt weiterentwickelt werden. Oliver
Willy L. schrieb: > https://www.roboternetz.de/community/threads/65600-Rasenm%C3%A4hen-und-sonstige-Fl%C3%A4chenbearbeitung Das ist nur eine EXE-Datei (!) mit einem suboptimalen Algorithmus.
Oliver S. schrieb: > Quark. Draht verlegen klingt genauso einfach, wie es ist: einmal rum > damit um den Garten, das war’s. Ist in weniger als einer Stunde > erledigt. Wenn man den seit der Finanzkrise üblichen Handtuchrasen der Neubauslums hat Wer einen GARTEN hat, hat mehrere Rasenflächen (zumindest Vorgarten und Garten) und innerhalb der Rasenflächen Hindernisse wie Bäume mit Wurzeln, Rabatten, Gehwegsteinen, und natürlich Bodenunebenheiten wie Spundmauern oder Regenablaufrinnen. All das muss man umzäunen, sonst bleibt das Kinderspielzeug stecken.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.