Courseplay: Course Generator - Lands pattern: change from headland to center

Created on 15 Sep 2020  ·  28Comments  ·  Source: Courseplay/courseplay

Hi,

mir sind zwei Unstimmigkeiten bei der Kursgenerierung aufgefallen, die so wohl eher nicht beabsichtigt sind. Beide sind reproduzierbar. Folgenden Kurs habe ich generiert, mit CP 6.02.00054:
Ravenport, Feld 8
Arbeitsbreite/Width 2x9,1m
Vorgewende/Headlands: 2 Bahnen im Uhrzeigersinn, weiche Ecken / 2x clock-wise, smooth corners
Startpunkt Südwest / starting point southwest
Startrichtung Norden / starting direction north
Feldreihen: Lands, 4 rows
kursgenerierung 1

Probleme scheint die erste Bahn der Feldreihen zu machen:

  1. in der Nordwestecke wird direkt neben dem Vorgewende, beim ersten Punkt der Feldreihen, ein ca 10x10m großer Bereich von den Dreschern gar nicht bearbeitet.
    kursgenerierung 10
  1. die Entfernungsberechnung stimmt bei dieser Bahn auch nicht. Drescher sind auf 150m Abstand eingestellt. Am letzten Wegpunkt des Vorgewendes wartet der zweite Drescher aber bis der erste Drescher sich am anderen Feldende ganz im Norden befindet, bevor er weiterfährt. Resultiert letztlich in einem Abstand von ca 500m (siehe Screenshots weiter unten). Mir ist aufgefallen, dass er während des Wartens den Abstand zum vorrausfahrenden auch deutlich unterschätzt, nämlich auf weniger als die 150m. Scheinbar wird dieser Abstand anhand der Wegpunkte ermittelt. Der erste Wegpunkt dieser Bahn (zugleich letzter des Vorgewendes) befindet sich wie gesagt in der Südwestecke des Feldes, der zweite Wegpunkt dagegen erst ganz am Nordrand des Feldes. Bei einem Feld dieser Größe macht das dann schon was aus. Hier sollte man vielleicht einen maximalen Abstand zwischen zwei Wegpunkten implementieren, oder halt nachträglich Wegpunkte einfügen zum Verringern dieser Abstände, um so etwas zu verhindern.

English:
I observed two minor issues with the course generation, both are reproducable. Generated a course with CP 6.02.00054 for Ravenport field 8 (details see above or first screenshot) using lands method for the field rows.
The issues are related to the first field row after the headlands have been finished:

  1. in northwestern corner of the field, next to first waypoint of field rows, an area of about 10x10m isn't harvested at all (see screenshot above)
  2. issue with the distance. Combines are set to keep a distance of 150m. But second combine waits at the last waypoint of headlands (in southwestern corner) until first combine reaches the other edge of the field in the north, which is about 500m away. So for this row (only for this one) the distance jumps from the desired 150m to 500m and won't shrink anymore as long as first combine doesn't have any obstacles. Might be even worse for larger fields. Seems the distance is calculated based on the waypoints. Maybe a maximum distance between those waypoints should be implemented, in order to retain a proper distance estimation.

kursgenerierung 5
Second combine waiting near last waypoint of headlands with estimated distance of 132m while first combine is much farther away already and not even displayed anymore. You can also see that for the coming section of the route, there aren't any waypoints between this point and the other edge of the field.

kursgenerierung 9
After second combine started again and eventually arrived at the northern edge of the field as well, final distance between both combines has grown to ~500m.

waitingForUserAnswer

Most helpful comment

In den nächsten Tagen kommt ein weiteres Update....

All 28 comments

Problem 1:
Kurs an der Ecke generiert.
Problem 2;
Hat nichts mit dem Generator zu tun.

Nein, daran kanns eigentlich nicht liegen. Bin für die Generierung ja schon ein paar Drescherlängen weit ins Feld reingefahren. Hab da schon drauf geachtet, dass der Kurs weg von der Ecke und nicht zur Ecke hin generiert wird, allein schon wegen der seltsamen Wege die der zweite Drescher sonst nimmt. Hab es auch nochmal mit Startpunkt 50-100m weiter nördlich versucht, das Phänomen bleibt für beide Probleme haargenau das selbe.
Der Grund für den nicht abgeernteten Bereich scheint eher zu sein, dass die Drescher an dieser fast 180Grad-Biegung die der dortige Punkt darstellt, bereits etwas sehr früh schon wenden.
Seit ich jetzt weiß wo genau das auftritt, hab ich da mal noch zwei Screenshots hinbekommen wo man schön sieht wie dieses missachtete Stück zustande kommt:
kursgenerierung 11

Der ausgelassene Bereich rot eingerahmt. Hier sieht man noch schön die Bahn die der erste Drescher zuvor genommen hat (auch nochmal gelb eingezeichnet), und orange hab ich die Bahn eingezeichnet die der zweite Drescher nimmt. Beide haben sich auf diesem langen wegpunktlosen Abschnitt nicht so richtig an den eingestellten Bahnversatz gehalten (eigentlich hätte auch beim hochfahren Drescher 1 links und Drescher 2 rechts fahren sollen, abgeerntet wurde dort aber trotzdem sonst alles, da die Drescher durch die normalen Feldreihen dort auch nochmal langgeschickt wurden) und wenden bereits gut 20Meter vor dem eigentlichen Wegpunkt. Macht auch keinen Unterschied ob symmetrisch oder asymmetrisch eingestellt, tritt bei beiden auf.

kursgenerierung 12
Hier dann der erste Drescher als er zum zweiten Mal an der Ecke vorbei kommt. Unschwer zu erkennen, der Bereich links neben ihm ist das betreffende Stück, dass auch in der Folge nicht mehr bearbeitet wird

Since this one got assigned to Peter, maybe I should add quick english description of my last comment:
So I generated the course away from the field corner (not towards it). To be on the save side, I even did another test with starting point ~50-100m behind the corner, but still both issues remained.

But I got those 2 screenshots above, depicting how the combines managed to leave out the area marked in red. Yellow the path for the first combine (lane offset: 1 left), and orange for the second one (lane offset: 1 right). Second picture is the first combine arriving there again. And the blue circle imarks the first way point of the fileld rows, which seems to be the one causing the issues.
Looks like both combines are performing their u-turn a bit (~20m) too early, maybe due to the angle of nearly 180 degrees which their path has at that one single point.

Btw: turning is set to asymmetrical, as this fits best for lands mode. Only on their way from the headlands to that first point of the field rows the combines seem to ignore the offset, as you can see by the arrows - but that's causing no issue, later on the combines will harvest this anyway normally by the field rows. The only other thing with impact is that issue with the wrong calculation of the distance on exactly the same sector, as I mentioned in the opening post.

Since this one got assigned to Peter, maybe I should add quick english description of my last comment:

Danke, aber nicht nötig, spreche auch Deutsch :)

Scheinbar wird dieser Abstand anhand der Wegpunkte ermittelt.

Das ist generell nicht der Fall, aber hier die zwei Wegpunkte sind Turn Start/Endepunkte (der ganze Übergang von Vorgewende ist ein riesiges Turnmanöver) wobei der Abstand ist nicht mitgerechnet. Muss drüber nachdenken, aber wahrscheinlich wäre es besser, dieses Turn zu vermeiden, ist halt nicht ganz so einfach bei dem Lands Pattern.

@rohne83 hast du die Pathfinder für Wendemanöver (User pathfinding in turns) aktiviert? Ich kann mich jetzt errinern als ich den Lands Pattern implementierte die idee war dass der Pathfinder diese Turns handelt, der würde dann den Weg über den Vorgewende finden.

Hi, die waren deaktiviert. Aber hab es auch nochmal mit aktiviert versucht, Verhalten bleibt genau das selbe. Die Drescher fahren schräg durch das Feld zum ersten Punkt der Feldreihen. Dend Pathfinder interessiert das wohl nicht, da das Schneidwerk sowieso arbeitet.

Ist Fruchtumfarhung am Drescher aktiv?

Ja, die ist in letzter Zeit immer an bei mir. Hab es auch mal mit Wende auf dem Feld aktiviert/deaktiviert versucht, da machts aber auch keinen Unterschied.

Würde natürlich auch am meisten Sinn machen und der Realität am nächsten kommen, wenn die Drescher zumindest bei aktivierter Fruchtumfahrung wie von dir vorgesehen "außen rum" zu dem Punkt fahren würden. Bisher aber dreschen die sich halt wie gesagt scheinbar unabhängig von den Einstellungen einfach direkt auf der kürzesten Strecke quer durchs Feld.
Wobei es da vielleicht auch am ökonomischsten wäre (Zeit und Kraftstoff), wenn der erste Punkt der Feldreihen nicht all zu weit vom letzten des Vorgewendes entfernt ist. Kann bei großen Feldern ganz schön Zeitverlust bedeuten, wenn das Vorgewende wie in den Bildern im Süden endet und der Drescher danach erstmal den ganzen Feldrand entlang ohne zu dreschen bis an die nördliche Kante fahren muss. In dem Fall wäre es ja eigentlich besser wenn die Feldreihen auch im Süden anfangen. Aber natürlich nur wenn man das dabei irgendwie hinbekommt dass die Drescher sich nicht mit den nachfolgenden in die Quere kommen. Ansonsten besser so wie gehabt ;)

Wobei es da vielleicht auch am ökonomischsten wäre (Zeit und Kraftstoff), wenn der erste Punkt der Feldreihen nicht all zu weit vom letzten des Vorgewendes entfernt ist

Das ist klingt viel einfacher als es wirklich ist. Momentan ist es bewusst so implementiert dass keine Richtungswechsel auf dem Vorgewende statfindet. Auf einem riesigen rechteckigen Feld ohne Hindernisse am Feldrand und ohne Insel sieht alles sehr einfach aus, aber ich mag kleine, unregelmässige Felder, da wird es sehr schnell sehr komplex, es gibt z.B. Fälle wo der Generator ein genetischer Algorithmus benutzt um den Kürzesten weg auf dem Vorgewende zu finden.

Ok, ihr wisst natürlich besser was sich sinnvoll implementieren lässt und was nicht. Scheint auf jeden Fall schon viel Sinn zu machen, so wie ihr es bisher implementiert habt. Wenn ich beim dem Feld oben den Startpunkt nicht im Südwesten sondern im Nordwesten gewählt hätte, wäre der Weg dorthin wohl auch deutlich kürzer für meine Drescher. Von daher will ich da nicht meckern.
Apropos unregelmäßige Felder, die gibt es in sehr großer Version auch auf der Map Western Australia. Da gibt es ähnliche Probleme mit dem nicht bearbeiteten Feldteil und dem Abstand. Wie man auf dem Screenshot sieht, haben die Drescher einen deutlich kürzeren Weg vom Ende des Vorgewendes zum ersten Wegpunt der Feldreihen. Aber auch hier lassen sie ein (in diesem Fall dreieckiges Stück) vom Feld übrig. Glaub man müsste die Drescher dazu bringen, dass sie wirklich bis genau zum ersten Wegpunkt der Feldreihen fahren, und dann wie bei allen anderen Wendepunkten auch vom Vorgewende aus mit Dreschen beginnen, anstatt kurz vor dem Wegpunkt schon zum nächsten abzubiegen.
kursgenerierung wa1

Seltsame Abstandsberechnungen gibts dort auch an den ganz normalen Wegpunkten der Feldreihen. Die Drescher sind gerade mal noch 15m auseinander, aber als Abstand wird 390m berechnet:
kursgenerierung wa3

Es gilt nach wievor:
Kurs an der Ecke starten ist nicht gut.

War ja nicht an der Ecke. Zwar nahe dran, aber schon auf der langen Geraden, und weg von der Ecke. Die ersten Wegpunkte alle durch eine schnurgerade Linie verbunden miteinander.

@rohne83 war das beim Wechsel vom Vorgewende?

Das mit dem Abstand ist bekannt, es kalkuliert momentan ganz grob linear mit der Restentfernung, das ist leider bei grossen Feldern mit sehr langen weg auf dem Vorgewende sehr ungenau weil das innere Vorgewende deutlich kürzer ist. Dafür gibt es aber ein Issue.

War ja nicht an der Ecke. Zwar nahe dran, aber schon auf der langen Geraden, und weg von der Ecke. Die ersten Wegpunkte alle durch eine schnurgerade Linie verbunden miteinander.

Naja doch, das hast du, sehe ich ja am Kurs:
corner

Der Übergang vom ersten zum zweiten Headland ist hier das Problem:
corner2

Das kann halt nicht gut gehen und mich würde nicht wundern, wenn die Convoy Distance hier durcheinander kommt.

Leider sind deine Screenshots echt verpixelt (in welcher Auflösung spielst du?) da kann man das 2te Problem mit dem Stück was stehen bleibt schlecht erkennen wie der Wechsel vom Vorgewende zum Zenter ist.

Welche Map ist das da und welches Feld ?
Schick mal bitte deine Kursdaten.

Ich find es halt sauberer in der Nähe von den Ecken anzufangen, und nicht irgendwo entlang der Kante. Man kann als Startposition ja auch bestimmte Feldecken auswählen, aber sind denn damit generierte Kurse auch im Verband verwendbar? Wenn ich da eine Feldecke auswähle, wird mir der Kurs immer zu dieser Ecke hin generiert, und da gibts dann ja sonst meist die Probleme dass der zweite Drescher nicht den richtigen Startpunkt findet.

Auflösung ist sogar HD, aber ohne Kantenglättung, und da mein Upstream zur Zeit unter aller Kanone ist, hatte ich die Bilder halt auf 50% skaliert.

Hier nochmal den Kurs so nah wie möglich rangezoomt. Wobei der zweite Drescher da am Übergang vom ersten zum zweiten Vorgewende auch nur eine ganz normale Rechtskurve hinlegt. Peters Erklärung für die Abstände scheint mir ziemlich nachvollziehbar. Bei Lands werden ja generell fast nur Linkskurven gefahren, und der Weg für den zweiten Drescher ist damit natürlich länger. Zum Ende hin passen die Abstände dann ja wieder.
Wenn man weiß woran das liegt, kann man sich aber auch immerhin selbst herleiten wie man die einzuhaltenden Abstände am besten setzt (ihr habt da übrigens einen Typo: bei "minimaler Abstand" im HUD fehlt das zweite "i"). Wirklich unschön ist halt dieser nicht gedroschene Bereich am Start der eigentlichen Feldreihen.

fsScreen_2020_10_03_14_27_05
fsScreen_2020_10_03_14_27_28

Ach ja, das ist die Western Australia, Feld Nummer 12. Wie komme ich denn an die Kursdaten? Kurs generieren mit dem Debugchannel für Course Generator?

Dieses Feld scheint übrigens generell recht herausfordernd zu sein für CP: Probleme hatte ich dort ansonsten noch mit nördlichen Strommast selbst (sieht man auf den Screenshots dass da eine Wende der Feldreihen auf geradem Weg durch geht statt drumherum), da ist mir zuletzt der erste Drescher immer dran hängen geblieben mit dem Schneidwerk. Aber beim Versuch gestern mit der 00065 und aktiviertem Pathfinding im Wendemaneuver ist er dann doch problemlos drum herum maneuvriert.
Und mein zweiter Drescher will gegen Ende vom ersten Land (Ende der westlichsten von Nord nach Süd führenden Bahn, die direkt angrenzend ans Vorgewende verläuft) den nächsten Punkt in der südwestlichen Feldecke nicht auf dem direkten kurzen Weg entlang des westlichen Feldrands anfahren, sondern der Pathfinder ermittelt ihm da einen Weg im Uhrzeigersinn auf dem Vorgewende ums ganze Feld herum :D
Und der ULW sucht sich gern einen Weg durch Feldinseln oder außerhalb des Feldes wo aber ziemlich ungünstiges Gelände herrscht, mit zwar nur kleinen aber dafür sehr steilen Hängen.
Das aber bitte nicht als Kritik missverstehen. Bin froh dass CP das überhaupt so gut hinbekommt, und im Großen und Ganzen läuft das ja selbst bei diesem Feld noch echt genial. Als SinglePlayer wäre man bei solchen Feldgrößen sonst auch ziemlich aufgeschmissen.

Teste bitte mal mit .00067 sollte besser klappen.

In den nächsten Tagen kommt ein weiteres Update....

Hab ich mir vorhin mal schnell auf verschiedenen Feldern angeschaut mit der 67. Von daher mal meine Rückmeldung schon zum aktuellen Stand: Sieht auf jeden Fall schon besser aus. Die Drescher fahren den ersten Wegpunkt jetzt immer vom Vorgewende aus an. Allerdings in einem recht spitzen Winkel, so dass weiterhin ein kleines Stück übrig bleibt. Mal zwei Screenshots um das zu verdeutlichen (Felsbrunn Feld 18). Zunächst der Kurs:
fsScreen_2020_10_17_16_13_30
Der Wechsel zu den Feldreihen passiert im Nordwesten durch diese gelbe schräge Linie. Und hier dann jetzt wie der kleine Rest entsteht (im zweiten Bild das kleine Dreieck mit Frucht links vom Drescher):
fsScreen_2020_10_17_17_00_50
fsScreen_2020_10_17_17_03_38

Was ich jetzt allerdings etwas suboptimal finde ist, dass jetzt teilweise die Lands am ganz anderen Ende des Feldes begonnen werden. Beispiel nochmal Feld 12 von der Western Australia: Startpunkt im Nordwesten. Das erste Land das nach dem Vorgewende bearbeitet wird, war früher das im Nordwesten, in der Nähe des Startpunkts. Mittlerweile dagegen würde zunächst erst das ganz am anderen Ende des Feldes bearbeitet werden. Heißt, nach dem Vorgewende müssen die Drescher erstmal mit 10km/h ohne was zu bearbeiten um das halbe Feld drum herum (ist bereits bei diesem Feld bereits eine Strecke von über einem Kilometer). Und für den Überladewagen dürfte der Pathfinder bei aktivierter Fruchtumfahrung ziemliche Probleme bekommen, da man die Abfahrer ja meist irgendwo in der Nähe des Startpunktes stehen hat. Gerade auf Maps wie dieser gibt es oft ja kaum andere sinnvolle Orte dafür.
Screenshot, wie das Feld jetzt bearbeitet würde:
fsScreen_2020_10_17_11_41_12

Probiere mal mit 68. Zu dein zweites Problem: das ist momentan leider so, und wird ne weile auch so bleiben, die ganze Startpunktberechnung stammt aus der Zeit wo noch kein Lands Pattern existierte, das heisst die Arbeit auf der Feldmitte fing immer in einer Ecke an.

Kannst immer versuchen den Startpunkt bewegen, wenn der Übergang vor der Ecke ist wird es besser aussehen.

Jetzt mit der 68 sind es gleich zwei dreieckige Stücke die übrig bleiben. Das dürfte wohl an den entsprechenden Offset-Kursen liegen? Kann mir vorstellen, dass das schwierig wird das auch noch sauber weg zu bekommen. Vielleicht müsste man die Drescher hier wie bei einer normalen Feldreihen-Wende die erste Bahn beginnen lassen?

fsScreen_2020_10_19_20_28_282

zu Western Australia: Ja, danke, Startpunkt um ein paar Meter verschieben hat tatsächlich mitunter enormen Einfluss. In meinem Fall hat es geholfen den Startpunkt auf Höhe der Abfahrer (grüne Punkte am linken Feldrand) zu haben. Sollte man aber wahrscheinlich aufpassen wie nahe man an die Ecke kommt, sonst gibt es ja bekanntlich Probleme bei mehreren Dreschern.
Ähnliches übrigens auch für das spiralförmige Muster: bei dem muss man den Startpunkt sogar unbedingt an die kurzen Feldkanten setzen, ansonsten werden die Feldreihen in entgegengesetzter Richtung zum Vorgewende gefahren. Da gab es hier ja glaub ich schon ein Issue zu.

Eben nochmal getestet mit der 72. Jetzt wird alles sauber abgeerntet. Vielen Dank!
Ist zwar etwas umständlich wie die Drescher da jetzt die Feldreihen anfangen: wie an einer scharfen Vorgewende-Ecke. Aber das ist wahrscheinlich nicht anders machbar wenn man nur ein Fahrzeug auf dem Kurs und nur eine Vorgewendebahn hat, oder?
Bleibt nur noch die Sache mit der Entfernungsschätzung. Aber wenn es dazu schon einen offenen Issue gibt, wird der hier eigentlich nicht weiter gebraucht.

Entfernungsschätzung ? Meinst du Convoy Distance ?

Ja genau. Hat Peter weiter oben ja schon eine ziemlich plausible Erklärung geliefert wie das zustandekommt.

Convoy Distance, anderes Problem, anderes Issue existiert ja schon. Mach hier mal zu.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Mogli12 picture Mogli12  ·  4Comments

valdimellen picture valdimellen  ·  4Comments

rgoe picture rgoe  ·  3Comments

BostonJohnny1226 picture BostonJohnny1226  ·  4Comments

fischbesuch picture fischbesuch  ·  4Comments