Überblick
Unsere modernste Routing-Lösung unterstützt beliebig komplexe Felder, Vorgewende-Navigation und viele weitere konfigurierbare Optionen. Auf dieser Seite finden Sie Beispiele und Erläuterungen zu den verschiedenen Routing-Funktionen sowie neue und spannende experimentelle Prototypen.
Wendemodellierung
Wir unterstützen verschiedene Wendetypen, die je nach einer Kombination aus Feldgeometrie und Maschineneigenschaften automatisch ausgewählt werden. Liegen zwei Spuren weniger als 3 Schwadbreiten voneinander entfernt, versuchen wir, sie direkt mit einer Wende zu verbinden. Sind die Spuren weiter voneinander entfernt oder passt keine Wende, führen wir stattdessen eine sogenannte Vorgewende-Überfahrt durch, die weiter unten ausführlicher erläutert wird.
Spur-Spur-Verbinder
Bei einer direkten Verbindung von Spur zu Spur unterstützen wir die folgenden Wendetypen:
U-Wende
Wenn der Wenderadius weniger als 50 % der Schwadbreite beträgt, werden für benachbarte Spuren U-Wenden wie diese erzeugt. Beachten Sie, dass es eine Option gibt, das gerade Segment bis zum Vorgewende zu verlängern, um mehr Platz zum Wenden zu schaffen und das Niedertrampeln zu minimieren.
Perfekte U-Wende
Wenn der Wenderadius genau 50 % der Schwadbreite beträgt, werden für benachbarte Spuren perfekte U-Wenden wie diese erzeugt, ohne gerades Segment dazwischen.
Birnenwende
Wenn der Wenderadius größer als 50 % der Schwadbreite ist, wird eine Birnenwende verwendet, um zwei benachbarte Spuren zu verbinden. Dies käme nur zum Einsatz, wenn eine U-Wende nicht passen würde.
P-Wende
Steht das Vorgewende in einem spitzen Winkel zur Wende und ist der Wenderadius groß genug, unterstützen wir P-Wenden, um den erforderlichen Lenkaufwand für die Wende zu minimieren.
Spur-Vorgewende-Verbinder
Ist keine direkte Verbindung möglich, verbinden wir uns stattdessen mit einem nahegelegenen Vorgewende und führen eine oder mehrere Vorgewende-Überfahrten durch, um zwei Spuren zu verbinden. Dadurch können wir Wege zwischen nahezu beliebigen zwei Spuren im gesamten Feld erstellen, ohne das Feld außerhalb einer Vorgewende-Zone unzulässig zu queren.
Bogenverbinder
Standardmäßig versuchen wir, Bogenverbinder zu verwenden, die eine konstante Krümmung und einen Wenderadius mindestens so groß wie den minimalen Wenderadius haben. Dies ermöglicht einen weichen Übergang von der Spur zum Vorgewende ohne ruckartige Bewegungen. Die Wende kann automatisch verkürzt werden, wenn nicht genügend Platz vorhanden ist, um sie abzuschließen, ohne dass die Maschine die Grenze verlässt.
Dubins-Verbinder
Schlägt ein Bogenverbinder fehl, wird eine Suche durchgeführt, um einen Dubins-Verbinder an verschiedenen Punkten des Vorgewendes in der gewünschten Fahrtrichtung anzuschließen, bis ein gültiger gefunden ist, der die Gesamtwinkeländerung minimiert.
Ausweichverbinder
Wenn alles andere scheitert, erstellen wir einen Ausweichverbinder, der die beiden Punkte (entweder zwischen zwei Spuren oder Spur-Vorgewende) direkt verbindet und in der Benutzeroberfläche als große rote Linie erscheint. Der Benutzer muss diese Wende manuell ausführen, bevor er die Route fortsetzt.
Wendenverkürzung
Wenn eine Wende von einer Spur zu einer anderen Spur oder zu einem Vorgewende nicht passt, ohne dass ein Teil der Maschine die Grenze verlässt, und wenn die Einstellung „Spuren verkürzen“ aktiviert ist, wird die Wende verkürzt, das heißt früher als am Ende der Spur gewendet, damit sie passt. Leider verursacht dies eine Fehlstelle, es sei denn, Ihre Maschine kann vor der Wende zurücksetzen (zukünftige Arbeiten würden diese Funktionalität unterstützen, falls Bedarf besteht). Wenn Sie bemerken, dass viel Fläche verfehlt wird, haben Sie wahrscheinlich nicht genügend Vorgewende im Verhältnis zum Wenderadius Ihrer Maschine und müssen den Plan möglicherweise mit mehr Vorgewenden erneut ausführen. Auf der Roadmap steht, die Anzahl der Vorgewende anhand Ihres Feldes und Ihrer Maschine automatisch vorzuschlagen.
Wendenverlängerung
In manchen Situationen möchten Sie Ihre Wenden vielleicht weiter ins Vorgewende hinein verlängern. Dies kann durch Umschalten der Einstellung „Wenden ins Vorgewende verlängern“ aktiviert werden. Wenn eine Wende passt, wird sie so verlängert, dass sie das äußerste Vorgewende berührt. Dies bietet mehr Platz zum Wenden, zum Geraderichten und minimiert das Niedertrampeln. Zukünftige Arbeiten umfassen das ständige Einrasten in Vorgewende, wann immer möglich, um das Niedertrampeln noch weiter zu minimieren.
Verkürzte Vorgewende-Verbindungen
Benachbarte Wenden, die verkürzt werden, um auf das Vorgewende zu passen, werden stattdessen nach Möglichkeit in Vorgewende-Überfahrten umgewandelt. Dies kann durch Umschalten von „Verkürzte Vorgewende-Verbindungen bevorzugen“ aktiviert werden. Zukünftige Arbeiten umfassen die Aktivierung dieser Funktion für alle Spur-Spur-Verbindungen.
Ohne Einstellung
Die Wende wird verkürzt, sodass sie das Vorgewende gerade berührt, aber nicht entlang davon verläuft.
Mit Einstellung
Verbindungen werden auf dem Vorgewende zwischen benachbarten Verbindern hergestellt, was das Niedertrampeln minimiert.
Algorithmen / Muster
Standardalgorithmus
Standardmäßig modellieren wir das Problem als eine Instanz eines Agricultural Routing Problem (ARP), der landwirtschaftlichen Version des bekannten Vehicle Routing Problem. Es ist das, was man als NP-hard bezeichnet, was bedeutet, dass es keine Algorithmen gibt, die alle möglichen Instanzen des Problems effizient und perfekt lösen können. Deshalb haben wir einen eigenen meta-heuristischen Löser für das ARP entwickelt, der die Standards der Grower in die Kostenmatrix selbst kodiert und eine Route erzeugt, die selbst die komplexesten Felder in Minuten oder sogar Sekunden bewältigen kann.
Unser Routing-Löser berechnet die Entfernungen zu/von jedem möglichen Spurenpaar im Feld, wobei er für Spuren in ungefähr demselben Bereich exakte Routen und für Spuren auf der gegenüberliegenden Feldseite intelligente Schätzungen verwendet. Dadurch entsteht eine sogenannte Distanzmatrix, die dann in unseren proprietären Löser eingespeist wird, um einen Weg zu optimieren, der jede Spur und jedes Vorgewende abfährt und gleichzeitig die nicht-arbeitende Strecke minimiert. Es werden keine Vorannahmen über das Arbeitsmuster getroffen; die Ergebnisse basieren ausschließlich auf den berechneten Entfernungen zwischen ihnen. Dies ermöglicht dem Löser bisweilen eine bemerkenswerte Weitsicht, indem er eine oder mehrere Spuren überspringt, die für einen Benutzer nicht unmittelbar offensichtlich sind, um diese Spuren dann zu nutzen, um effizient aus einer Situation herauszukommen, in der ein traditioneller Ansatz steckengeblieben wäre.
Standard-Start/-Ende
Das Standardverhalten geht von einer Feldseite zur anderen und beginnt an der geraden Kante, sofern definiert.
Benutzerdefiniertes Start/Ende
Unser Standardalgorithmus erlaubt Ihnen außerdem, den Start- und Endpunkt nach Belieben im Feld festzulegen.
Überfahrten nicht überspringen
Wenn aktiviert, werden die Kosten für die Überfahrt zu einer benachbarten Spur halbiert. Dies fördert (erzwingt aber keineswegs) ein geradlinigeres Muster, allerdings möglicherweise auf Kosten zusätzlicher nicht-arbeitender Strecke oder, wie im folgenden Fall, einer größeren verfehlten Fläche. Im untenstehenden Beispiel könnte ein weiteres Vorgewende vorzuziehen sein, damit die Wenden passen.
Benachbarte Verbinder normal gewichtet
Verbindungen am oberen Feldrand knüpfen aufgrund der geringeren Kosten an das Vorgewende an, aber das Feld wird nicht gleichmäßig bearbeitet.
Gesamtstrecke: 15,15 km
Verfehlte Fläche: 3,65 ha
Überfahrten nicht überspringen
Vorgewende-Überfahrten werden durch benachbarte Wenden ersetzt. Aufgrund des großen Wenderadius sind dies Birnenwenden, und da es nur ein Vorgewende gibt, werden sie erheblich verkürzt. Der Benutzer muss möglicherweise zwei Vorgewende einplanen, wenn er Benachbarung wünscht.
Gesamtstrecke: 15,45 km
Verfehlte Fläche: 4,89 ha
Durchgehende Spuren (Boustrophedon)
Ein vordefiniertes Hin-und-Her-Muster, das auf einer Feldseite beginnt und zur anderen verläuft. Hervorragend für einfache Felder und solche mit kleinen Hindernissen.
Wenn Sie bemerken, dass es zu viele Vorgewende-Überfahrten gibt, empfehlen wir, unseren Standardalgorithmus auszuführen und „Überfahrten nicht überspringen“ einzuschalten. Dies vermeidet Extremfälle von Vorgewende-Überfahrten, allerdings auf Kosten der Gleichmäßigkeit.
Gruppierte Spirale
Ein vordefiniertes Muster, das stets mindestens das Überspringen von N Spuren in einem Vorwärts-dann- Rückwärts-Muster erzwingt. Funktioniert am besten in einfachen Feldern und solchen mit kleinen Hindernissen.
Schlange
Das Schlangenmuster deckt das Feld ab, indem es bei jeder Wende eine Spur überspringt und dann über die nicht abgedeckten Spuren zurückkehrt. Reduziert die Anzahl scharfer Wenden.
Kapazitätsbasiertes Routing
Wenn der Benutzer eine Kapazität und eine Durchflussrate für seine Maschine angibt, kann er auf unsere verschiedenen kapazitätsbasierten Routing-Funktionen zugreifen. Derzeit haben wir dafür zwei separate Arbeitsabläufe. Der erste ist Einzelmaschine, also die oben gezeigte Art von Routen, ohne Bereitstellungsbereich und mit nur einer arbeitenden Maschine. Der andere ist Mehrere Maschinen mit Kapazität, bei dem eine oder mehrere Maschinen an einem Bereitstellungsbereich starten und Spuren bearbeiten können, bis sie ihre Kapazität erreicht haben, woraufhin sie über die Vorgewende zurück zum Bereitstellungsdepot fahren.
Exakt
Wenn aktiviert, kann der Benutzer genau sehen, wo er im Feld leerläuft. Beim Überfahren eines Punktes werden die verbleibende Kapazität, die insgesamt noch abzudeckende Fläche und die Fläche bis zum nächsten Punkt angezeigt.
Spuranfang
Wenn aktiviert, werden die vorherigen Nachfüllpunkte an den Anfang der Spur verschoben, auf der sie leergelaufen sind. Dadurch wird sichergestellt, dass der Grower nicht mitten in einer Spur leerläuft.
Nächstgelegenes äußeres Vorgewende
Ähnlich wie der Spuranfang, aber der Punkt wird in der Route zurückgeschoben, bis er eine äußere Feldseite erreicht, wodurch verhindert wird, dass der Benutzer mitten im Feld oder an einem Hindernis leerläuft, und sichergestellt wird, dass er den Bereitstellungsbereich immer erreichen kann.
Mehrere Maschinen mit Bereitstellungsbereich
Derzeit eine experimentelle Einstellung und in Arbeit. Routen sind möglicherweise nicht gut optimiert und können sich seltsam verhalten oder sogar komplett abstürzen, bis wir sie weiterentwickeln.
Wenn aktiviert, wird ein Bereitstellungsbereich bestimmt, indem zunächst die mittlere Spur im Feld verlängert und ein Punkt auf der Grenze gewählt wird, der sie schneidet. Die Idee ist ein ungefähr zentraler Bereitstellungsbereich, aber zukünftige Arbeiten umfassen die Option, einen oder mehrere mögliche Bereitstellungsbereiche zu definieren, zu denen zurückgekehrt werden kann. Bereitstellungsbereiche werden derzeit als ein einzelner Punkt auf der Grenze definiert.
Die Route beginnt und endet nun am Bereitstellungsbereich, und bei Bedarf führt die Maschine eine Vorgewende-Überfahrt zurück zum Bereitstellungsbereich aus, um nachzufüllen/abzuladen. Der Optimierer selbst berücksichtigt die Kosten für die Hin- und Rückfahrt zum Bereitstellungsbereich, was sich von den obigen Methoden unterscheidet, die als Nachbearbeitung einer regulären Route ohne Kapazität durchgeführt werden. In der akademischen Literatur ist dies als Capacitated Vehicle Routing Problem oder CVRP bekannt.
Experimentell
Eine Sammlung kommender und experimenteller Funktionen, an denen das Verge-Team arbeitet. Bitte wenden Sie sich bei Fragen oder Empfehlungen, was Sie als Nächstes sehen möchten, an uns.
Spurplan aus Logdaten
Mithilfe von Logdaten Ihrer Maschine können wir nachbilden, wo Ihre Maschine gefahren ist, was die
Wiedergabe von Routen, die Analyse und bald die Planung aus Logdaten ermöglicht. So können Sie genau
dieselbe Fläche wie bei einem vorherigen Arbeitsgang abdecken oder kompliziertere Funktionen wie das Säen
zwischen Reihen oder den Umgang mit Lückenreihen nutzen. Intelligente Algorithmen verwenden Logdaten, um
Spuren auch dann genau zu rekonstruieren, wenn Daten fehlen.
Wir experimentieren derzeit mit der Unterstützung von John Deere und Trimble PTx FarmENGAGE, aber wenn Sie
ein bestimmtes Format verwenden, würden wir gerne mit Ihnen zusammenarbeiten, um es zu berücksichtigen.
Spurrekonstruktion aus Sensordaten
Mithilfe der Sensordaten können wir oft die ursprüngliche Mittellinie wiederherstellen, selbst wenn einige Punkte fehlen oder fehlerhafte Messwerte aufweisen.
Routenwiedergabe echter Daten
Sehen und analysieren Sie, wie Ihr Feld bearbeitet wurde. Zukünftige Arbeiten könnten detaillierte Aufschlüsselungen umfassen, wann Arbeitsgänge durchgeführt wurden, von welchen Maschinen, sowie Verbesserungsvorschläge.
Gezogene Geräte
Eine Maschine kann ein oder mehrere gezogene Geräte hinter sich angehängt haben. Wir modellieren derzeit die Hauptmaschine mit einer Ackermann-Lenkgeometrie, wobei sich der Anhängepunkt in einem festen Abstand hinter der Hinterachse jeder Maschine und jedes Geräts befindet. Mehrere Geräte können hintereinander gekoppelt werden, und wir nehmen an, dass alle Geräte nicht angetrieben sind. Wir führen kinematische Simulationen für die Maschine durch, während sie unsere Wenden abfährt, um zu zeigen, wo sich die Grenzen Ihres Gerätesystems befinden, und warnen Sie vor gefährlichen Situationen, in denen das Feld verlassen wird. Zukünftige Arbeiten umfassen die Verbesserung von Wenden zur Berücksichtigung des gezogenen Geräts, die Optimierung von Wenden zur Minimierung der Belastung des Anhängepunkts sowie die Integration all dessen in unseren Suchalgorithmus.
Rasterbasierte Darstellung des Feldes
Ein vielversprechender, in der Autonomie häufig verwendeter Ansatz besteht darin, die Arbeitsfläche als Raster zu diskretisieren, wobei eine Suchart namens „hybrid A*“ verwendet werden kann, um den kürzesten lenkbaren Weg zwischen zwei beliebigen Punkten im Raster zu finden. Unten sehen Sie ein Beispiel für einen auf diese Weise diskretisierten Teil eines Feldes. Die grünen Abschnitte sind Vorgewende-Überfahrten und gelten als bevorzugt zu befahren, Braun ist gültiger Vorgewende-Raum und Rot ist ein gefährlicher Bereich, der zum Verlassen des Feldes führen könnte.
Alle aktuellen Ansätze basieren auf geometrischen Methoden und haben daher möglicherweise Schwierigkeiten, Abkürzungen zu finden. Ein Beispiel könnte der untere Abschnitt dort sein, wo ein traditioneller Ansatz „immer dem Vorgewende folgen“ den Benutzer dazu bringen könnte, unnötig um das Hindernis herumzufahren, was zusätzliche nicht-arbeitende Zeit verursacht. Beim Ausführen eines Suchalgorithmus sehen wir, dass wir hier möglicherweise hindurchfahren können. Diese grobe Schätzung kann eine feiner abgestimmte Suche steuern und bestätigen, dass Ihre Maschine zusammen mit allen Geräten diese Abkürzung tatsächlich nehmen kann.
Ein Beispiel für eine Maschine, die in einem einfacheren Rastersystem nach einem Weg sucht. Beachten Sie, wie der Planer die Maschinenabmessungen berücksichtigt. Die verschiedenen grünen und braunen Bögen entsprechen möglichen Trajektorien, die der Algorithmus durchsucht hat, bevor er die endgültige Lösung gefunden hat. Zukünftige Arbeiten umfassen eine Bestrafungsfunktion, die das enge Entlangfahren an Wänden wie in diesem Video vermeidet, sowie diverse Leistungsverbesserungen, eine Bevorzugung des Fahrens entlang der Vorgewende und die generelle Integration in unsere vollständige Routing-Lösung.
Weitere Informationen zu möglichen Anwendungsfällen und weitere Beispiele folgen in Kürze.
Konfigurationsoptionen
Eine Liste möglicher Optionen, die an den Routing-Algorithmus übergeben werden können, samt einer kurzen Erläuterung. Für weitere Informationen sehen Sie bitte in unserer API-Dokumentation nach oder wenden Sie sich an uns.
| Einstellung | Mögliche Werte | Erläuterung |
|---|---|---|
Routenalgorithmus / -muster
algorithm
|
Verge / Continuous Tracks / Clustered Spiral / Snake Neu / Greedy | Bestimmt das Arbeitsmuster im Feld |
Problemtyp
routeProblemType
|
SingleVehicle / CapacitatedMultiVehicles | Welche Art von Routing-Problem wir lösen, entweder eine Einzelmaschine ohne Bereitstellungsbereich oder mehrere identische Maschinen mit Bereitstellungsbereich |
Startpunkt
startPointNodeIndex
|
Positive integer less than 2*trackCount | Verweis auf den Routenknoten-Index, der den Beginn der Route angibt |
Endpunkt
endPointNodeIndex
|
Positive integer less than 2*trackCount | Verweis auf den Routenknoten-Index, der das Ende der Route angibt |
Spurverkürzung
enableTrackShortening
|
true / false | Aktiviert die Verkürzung von Spuren, um Vorgewende-Verbinder zwischen Knoten zu ermöglichen, falls dies andernfalls zu ungültigen Trajektorien führen würde (Beispiel: wenn der Wenderadius zu groß ist, um eine Wende auf ein Vorgewende auszuführen). Standard: true. |
Wendenverlängerung
enableTurnExtending
|
true / false | Aktiviert die Verlängerung von Wenden, sodass sie versuchen, das der Grenze am nächsten gelegene Vorgewende zu berühren. Der maximale Schwellenwert für die Verschiebung beträgt 1.4*swathWidth*headlandLoopCount, sodass in manchen Fällen standardmäßig ein näheres Vorgewende verwendet werden kann. Beachten Sie, dass dies keine Vorgewende-Überfahrten erzwingt, sondern nur das Berühren mindestens eines Punktes. Standard: false |
Vorgewende-Durchfahrt
enableHeadlandDrivethrough
|
true / false | Wenn aktiviert, werden Spuren, die auf gegenüberliegenden Seiten einer Vorgewende-Überfahrt liegen und innerhalb eines bestimmten Distanzschwellenwerts sind, als gerader Verbinder erzwungen, der durch das Vorgewende fährt, sofern der gepufferte Verbinder die Grenze nicht schneidet. Standard: false |
Vorgewende-Einrasten bevorzugen
Neu
preferHeadlandLatching
|
true / false | Wenn aktiviert, versuchen alle Wenden zum Verbinden von Spuren, am Vorgewende „einzurasten“. Ideal für CTF oder wenn das Niedertrampeln des Vorgewendes ein Anliegen ist. Funktioniert nur, wenn der Wenderadius < 50 % der Schwadbreite ist, d. h. Birnenwenden sind nicht betroffen. Standard: true |
Vorgewende-Reihenfolge
headlandOrder
|
OutToIn / InToOut | Bestimmt, ob Vorgewende vor oder nach den inneren Spuren abgeschlossen werden. |
headlandsFirst
Headland First
|
true / false | Wenn aktiviert, kommen die äußeren Vorgewende-Überfahrten in der Route zuerst. Andernfalls kommen sie nach den inneren Spuren. Standard: true |
Äußerstes Vorgewende bevorzugen
attachToOutermostHeadland
|
true / false | Erzwingt, dass Verbinder am äußersten Vorgewende einrasten, wenn der Platz es zulässt. |
Verkürzte Vorgewende-Verbindungen bevorzugen
preferShortenedHeadlands
|
true / false | Erzwingt, dass Verbinder, die verkürzt werden müssen, am Vorgewende einrasten, wenn der Platz es zulässt. |
Vorgewende-Richtung erzwingen
forcedDirection
|
winding / reverseWinding | Die Wicklungsrichtung, die wir beim Verbinden mit einem Vorgewende einnehmen müssen. Nicht empfohlen, da dies die Auswahlmöglichkeiten des Algorithmus bei der Wahl des besten Weges einschränkt. Null bedeutet keine erzwungene Richtung; für die anfängliche äußere Überfahrt wird jedoch immer eine Richtung gegen den Uhrzeigersinn erzwungen |
Überfahrten nicht überspringen
preferAdjacentConnectors
|
true / false | Wenn true, werden die Kosten benachbarter Dubins-Verbinder auf die Hälfte ihrer tatsächlichen Kosten gesetzt, wodurch der Optimierer benachbarte Spuren bevorzugt, selbst wenn dies aus Distanzgründen möglicherweise nicht vorteilhaft ist. Standard: true |
Nachfüllpunkte
calculateRefillPoints
|
true / false | Bestimmt, ob Nachfüllpunkte entlang einer Route berechnet werden sollen. Gilt nur bei einem SingleVehicle-Problem. Standard: false |
Nachfüllstrategie
refillStrategyType
|
ExactPoint / StartOfTrack / NearestHeadland | Wählt den in „Kapazitätsbasiertes Routing“ beschriebenen Nachfüll-Arbeitsablauf (exakter Knoten, Spuranfang oder nächstgelegenes äußeres Vorgewende) aus. |