Mein Projekt CaSSAndRA zur Steuerung des Ardumowers

Sorry für kleckerweise. Bei einer meiner Karten (so importiert aus Sunray) werden keine Mähpfade generiert und es gibt folgenden Fehler im Log:

Code:
INFO Backend: Create line mask
2023-06-05 07:19:28 ERROR Exception on /_dash-update-component [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/usr/local/lib/python3.10/site-packages/dash/dash.py", line 1283, in dispatch
     
    ctx.run(
  File "/usr/local/lib/python3.10/site-packages/dash/_callback.py", line 450, in add_context
    output_value = func(*func_args, **func_kwargs)  # %% callback invoked %%
  File "/usr/src/cassandra/src/components/state/map.py", line 55, in update
    path.calc(mapdata.mowoffsetstatepage, mapdata.mowanglestatepage, rover_position, mapdata.patternstatepage)
  File "/usr/src/cassandra/src/backend/map/path.py", line 20, in calc
    route = lines.calcroute(area_to_mow, border, line_mask, edge_polygons, route)
  File "/usr/src/cassandra/src/backend/map/lines.py", line 306, in calcroute
    if line_to_edge != None and line_to_edge.length < line_going.length:
AttributeError: 'NoneType' object has no attribute 'length'
 
Ich weiß nicht, ob sowas schonmal gemeldet wurde. Aber hier (als Beispiel) will der Pathfinder durch eine Rutsche fahren.
Ja, kenne ich, ist mir schon aufgefallen, wird im Zuge der Überarbeitung des coverage path planners behoben.
Als Zwischenlösung, setze ein paar mehr Punkte um die Exclusion (näher bei einander) dann ist der Effekt nicht so dramatisch
 
Bei einer meiner Karten (so importiert aus Sunray) werden keine Mähpfade generiert und es gibt folgenden Fehler im Log:
Interessant, den Fehler hatte ich noch nicht. Wenn du magst kannst du mir dein Map-file zur Verfügung stellen, bzw. mit welchen Einstellungen wird der Pathfinder gefüttert.

Gruß
 
Das ist die Map aus der Sunray App (nur die Map, kein ganzes File):

Code:
{
  "perimeter": [
    {
      "X": 12.95,
      "Y": -16.25,
      "delta": -0.49,
      "timestamp": "2023-05-06T08:52:56.127Z",
      "sol": 2
    },
    {
      "X": 12.12,
      "Y": -16.92,
      "delta": -0.25,
      "timestamp": "2023-04-03T12:24:31.010Z",
      "sol": 2
    },
    {
      "X": 7.84,
      "Y": -22.58,
      "delta": -0.14,
      "timestamp": "2023-04-03T12:25:22.654Z",
      "sol": 2
    },
    {
      "X": 6.57,
      "Y": -23.91,
      "delta": -0.64,
      "timestamp": "2023-05-04T13:40:11.957Z",
      "sol": 2
    },
    {
      "X": 5.09,
      "Y": -23.03,
      "delta": -2.01,
      "timestamp": "2022-10-24T14:35:39.781Z",
      "sol": 2
    },
    {
      "X": 1.49,
      "Y": -21.97,
      "delta": 1.47,
      "timestamp": "2022-10-24T14:36:04.388Z",
      "sol": 2
    },
    {
      "X": 0.3,
      "Y": -21.23,
      "delta": -2.44,
      "timestamp": "2023-05-04T13:38:06.428Z",
      "sol": 2
    },
    {
      "X": 1.9047006731325622,
      "Y": -19.696971712822318,
      "delta": 2.92,
      "timestamp": "2022-08-07T08:19:46.998Z"
    },
    {
      "X": 1.63,
      "Y": -19.53,
      "delta": -2.47,
      "timestamp": "2023-05-04T13:37:33.344Z",
      "sol": 2
    },
    {
      "X": 1.3290009518517523,
      "Y": -19.020997564836208,
      "delta": 2.13,
      "timestamp": "2022-08-07T08:19:54.955Z"
    },
    {
      "X": 1.887619187511132,
      "Y": -18.26566958708419,
      "delta": 0.89,
      "timestamp": "2022-08-07T08:12:50.595Z"
    },
    {
      "X": 5.082538276844509,
      "Y": -13.94753675540705,
      "delta": 0.97,
      "timestamp": "2022-08-07T08:14:30.664Z"
    },
    {
      "X": 5.86663336328735,
      "Y": -14.429294851312278,
      "delta": 0.68,
      "timestamp": "2022-08-07T08:14:45.823Z"
    },
    {
      "X": 8.806219460235264,
      "Y": -10.494050878925687,
      "delta": 2.39,
      "timestamp": "2022-08-07T08:15:17.151Z"
    },
    {
      "X": 7.941001024246388,
      "Y": -9.851691737055159,
      "delta": 1.75,
      "timestamp": "2022-09-08T18:02:47.791Z"
    },
    {
      "X": 8.993065338677411,
      "Y": -8.47927783271846,
      "delta": 1.23,
      "timestamp": "2022-08-18T12:26:50.510Z"
    },
    {
      "X": 9.533422517065215,
      "Y": -8.850162245636271,
      "delta": 1.23,
      "timestamp": "2022-08-18T11:59:18.036Z"
    },
    {
      "X": 10.295999224001429,
      "Y": -7.9022567927119205,
      "delta": 1.23,
      "timestamp": "2022-08-18T11:59:57.902Z"
    },
    {
      "X": 8.152982081305124,
      "Y": -6.070425243964364,
      "delta": 1.79,
      "timestamp": "2022-08-11T17:49:17.058Z"
    },
    {
      "X": 8.227910473552102,
      "Y": -5.942715535144221,
      "delta": 1.79,
      "timestamp": "2022-08-07T08:17:03.446Z"
    },
    {
      "X": 8.420424350328393,
      "Y": -5.71651172993208,
      "delta": 1.23,
      "timestamp": "2022-08-13T05:39:46.993Z"
    },
    {
      "X": 8.506291375655636,
      "Y": -5.620420774317924,
      "delta": -0.39,
      "timestamp": "2022-08-07T08:17:38.740Z"
    },
    {
      "X": 11.783735978045938,
      "Y": -8.33956302528614,
      "delta": -0.55,
      "timestamp": "2022-08-07T08:17:58.282Z"
    },
    {
      "X": 12.57,
      "Y": -8.84,
      "delta": -0.81,
      "timestamp": "2023-04-03T14:02:06.270Z",
      "sol": 2
    },
    {
      "X": 13.105347417423035,
      "Y": -9.234848193896433,
      "delta": 2.23,
      "timestamp": "2023-04-16T09:51:52.100Z"
    },
    {
      "X": 11.93996753694214,
      "Y": -11.061579206810928,
      "delta": 2.23,
      "timestamp": "2023-04-05T15:03:02.359Z",
      "sol": 2
    },
    {
      "X": 10.46212453866884,
      "Y": -13.135733571412702,
      "delta": 0.42,
      "timestamp": "2023-04-05T15:03:35.646Z",
      "sol": 2
    },
    {
      "X": 9.95,
      "Y": -13.82,
      "delta": -0.06,
      "timestamp": "2023-05-17T12:37:39.968Z",
      "sol": 2
    },
    {
      "X": 10.17,
      "Y": -14.14,
      "delta": 1.47,
      "timestamp": "2023-05-17T12:37:52.865Z",
      "sol": 2
    },
    {
      "X": 11.09,
      "Y": -14.86,
      "delta": 1.51,
      "timestamp": "2023-05-17T12:38:15.458Z",
      "sol": 2
    },
    {
      "X": 12.05,
      "Y": -15.63,
      "delta": 1.47,
      "timestamp": "2023-05-17T12:38:47.188Z",
      "sol": 2
    }
  ],
  "exclusions": [
    [
      {
        "X": 8.97,
        "Y": -18.98,
        "delta": -1.7,
        "timestamp": "2023-04-03T14:00:33.607Z",
        "sol": 2
      },
      {
        "X": 8.46,
        "Y": -19.33,
        "delta": -0.57,
        "timestamp": "2023-04-03T14:00:43.382Z",
        "sol": 2
      },
      {
        "X": 8.4,
        "Y": -19.81,
        "delta": 0.31,
        "timestamp": "2023-04-03T14:00:50.741Z",
        "sol": 2
      },
      {
        "X": 8.711833644334947,
        "Y": -20.04450222851448,
        "delta": 0.33,
        "timestamp": "2023-04-03T14:00:56.842Z",
        "sol": 2
      },
      {
        "X": 9.26,
        "Y": -20.18,
        "delta": 1.94,
        "timestamp": "2023-04-03T14:01:09.846Z",
        "sol": 2
      },
      {
        "X": 9.66,
        "Y": -19.55,
        "delta": 2.99,
        "timestamp": "2023-04-03T14:01:17.515Z",
        "sol": 2
      },
      {
        "X": 9.38,
        "Y": -19.03,
        "delta": -2.28,
        "timestamp": "2023-04-03T14:01:23.602Z",
        "sol": 2
      }
    ],
    [
      {
        "X": 10.88,
        "Y": -15.99,
        "delta": -1.37,
        "timestamp": "2023-06-01T14:25:07.502Z",
        "sol": 2
      },
      {
        "X": 10.42,
        "Y": -16.68,
        "delta": 0.07,
        "timestamp": "2023-06-01T14:25:15.401Z",
        "sol": 2
      },
      {
        "X": 11.12,
        "Y": -17.16,
        "delta": 1.78,
        "timestamp": "2023-06-01T14:25:24.209Z",
        "sol": 2
      },
      {
        "X": 11.61,
        "Y": -16.52,
        "delta": -3.13,
        "timestamp": "2023-06-01T14:25:32.581Z",
        "sol": 2
      }
    ],
    [
      {
        "X": 10.66,
        "Y": -17.63,
        "delta": -3.13,
        "timestamp": "2023-06-01T14:25:58.464Z",
        "sol": 2
      },
      {
        "X": 10.08,
        "Y": -18.23,
        "delta": 1.47,
        "timestamp": "2023-06-01T14:26:04.795Z",
        "sol": 2
      },
      {
        "X": 9.49,
        "Y": -17.69,
        "delta": 0.07,
        "timestamp": "2023-06-01T14:26:22.275Z",
        "sol": 2
      },
      {
        "X": 9.95,
        "Y": -17.11,
        "delta": -1.26,
        "timestamp": "2023-06-01T14:26:30.969Z",
        "sol": 2
      }
    ]
  ],
  "waypoints": [
    {
      "X": 8.38469218210489,
      "Y": -6.030542016382038
    },
    {
      "X": 10.542606730555645,
      "Y": -7.881462004275781
    },
    {
      "X": 9.57257122872874,
      "Y": -9.090565442859686
    },
    {
      "X": 9.029581165118088,
      "Y": -8.729786021578345
    },
    {
      "X": 8.194005051458005,
      "Y": -9.815517368772811
    },
    {
      "X": 9.057369894859777,
      "Y": -10.464671547052387
    },
    {
      "X": 5.9118283322968095,
      "Y": -14.6694507657735
    },
    {
      "X": 5.12529229144606,
      "Y": -14.181843283834567
    },
    {
      "X": 2.0280175105043217,
      "Y": -18.37357191667118
    },
    {
      "X": 1.5529720380987406,
      "Y": -19.030330471352393
    },
    {
      "X": 1.7696705034893245,
      "Y": -19.402676782059736
    },
    {
      "X": 2.200615568812223,
      "Y": -19.66322687450616
    },
    {
      "X": 0.5939968819416244,
      "Y": -21.199838860336737
    },
    {
      "X": 1.536411580730908,
      "Y": -21.79654191505148
    },
    {
      "X": 5.164255391346424,
      "Y": -22.85429863839513
    },
    {
      "X": 6.534168169892988,
      "Y": -23.68347834097765
    },
    {
      "X": 7.708597891306492,
      "Y": -22.456402618187646
    },
    {
      "X": 9.290110526515448,
      "Y": -20.36718798472501
    },
    {
      "X": 9.341824293702299,
      "Y": -20.38221084341916
    },
    {
      "X": 9.70088022220083,
      "Y": -19.825184057519184
    },
    {
      "X": 11.993113183221928,
      "Y": -16.7938035052941
    },
    {
      "X": 12.647677636174246,
      "Y": -16.264610367648466
    },
    {
      "X": 11.93920531430618,
      "Y": -15.774542036548734
    },
    {
      "X": 10.982265316876427,
      "Y": -15.00151820682604
    },
    {
      "X": 10.036652412548362,
      "Y": -14.262724436435251
    },
    {
      "X": 9.731549271478226,
      "Y": -13.808618641152766
    },
    {
      "X": 10.319137302225236,
      "Y": -13.024054873111664
    },
    {
      "X": 11.783923037149156,
      "Y": -10.970545011736903
    },
    {
      "X": 12.859367329861938,
      "Y": -9.285427931747652
    },
    {
      "X": 12.474965553377455,
      "Y": -8.997790531127402
    },
    {
      "X": 11.678825912207827,
      "Y": -8.489989712145887
    },
    {
      "X": 8.521861199459346,
      "Y": -5.871216372877883
    },
    {
      "X": 8.521861199459346,
      "Y": -5.871216372877883
    },
    {
      "X": 8.224380402195912,
      "Y": -5.943363273431621
    },
    {
      "X": 8.416958952329676,
      "Y": -5.713116662102861
    },
    {
      "X": 8.504875051658079,
      "Y": -5.616831878887244
    },
    {
      "X": 11.78176487023038,
      "Y": -8.341991161743422
    },
    {
      "X": 12.57002440386394,
      "Y": -8.843635365971679
    },
    {
      "X": 13.102424730750892,
      "Y": -9.234211724614479
    },
    {
      "X": 11.938078202304878,
      "Y": -11.065603862223385
    },
    {
      "X": 10.460979237874444,
      "Y": -13.134873938670282
    },
    {
      "X": 9.953427198919773,
      "Y": -13.81699630874251
    },
    {
      "X": 10.171111800715178,
      "Y": -14.13935234504581
    },
    {
      "X": 11.093084382435045,
      "Y": -14.85967627117683
    },
    {
      "X": 12.050024379864798,
      "Y": -15.632700100899525
    },
    {
      "X": 12.952052404568922,
      "Y": -16.248610356252023
    },
    {
      "X": 12.122641889364623,
      "Y": -16.920382785924854
    },
    {
      "X": 7.838126597449189,
      "Y": -22.582981898818403
    },
    {
      "X": 6.569624161954023,
      "Y": -23.914222512360084
    },
    {
      "X": 5.092836863468143,
      "Y": -23.026923647810623
    },
    {
      "X": 1.4869098826780167,
      "Y": -21.97360004643742
    },
    {
      "X": 0.305382328619082,
      "Y": -21.228152101239694
    },
    {
      "X": 1.9058444007364255,
      "Y": -19.699420222945186
    },
    {
      "X": 1.6290545005692465,
      "Y": -19.533928980985245
    },
    {
      "X": 1.3310941106571939,
      "Y": -19.02195280376265
    },
    {
      "X": 1.8861755748551126,
      "Y": -18.262752851112563
    },
    {
      "X": 5.081956191848956,
      "Y": -13.944942497698873
    },
    {
      "X": 5.8684922326997055,
      "Y": -14.432549979637805
    },
    {
      "X": 8.80470889365195,
      "Y": -10.49569441714298
    },
    {
      "X": 7.941344050250176,
      "Y": -9.846540238863403
    },
    {
      "X": 8.992401680274241,
      "Y": -8.485005127906584
    },
    {
      "X": 9.535391743884894,
      "Y": -8.845784549187925
    },
    {
      "X": 10.296102344101074,
      "Y": -7.904604766830306
    },
    {
      "X": 8.153948010722454,
      "Y": -6.065998008443075
    },
    {
      "X": 8.224380402195912,
      "Y": -5.943363273431621
    },
    {
      "X": 8.224380402195912,
      "Y": -5.943363273431621
    },
    {
      "X": 8.224380402195912,
      "Y": -5.943363273431621
    },
    {
      "X": 8.152982081305126,
      "Y": -6.070425243964364
    },
    {
      "X": 8.292937553716563,
      "Y": -6.190057907966562
    },
    {
      "X": 8.292937553716563,
      "Y": -6.190057907966562
    },
    {
      "X": 10.295999224001429,
      "Y": -7.9022567927119205
    },
    {
      "X": 9.533422517065215,
      "Y": -8.850162245636271
    },
    {
      "X": 8.993065338677411,
      "Y": -8.479277832718461
    },
    {
      "X": 8.946132594747855,
      "Y": -8.540501419008837
    },
    {
      "X": 9.066760649961937,
      "Y": -8.974566915250106
    },
    {
      "X": 8.446666052665831,
      "Y": -9.78449449868222
    },
    {
      "X": 8.50970691295437,
      "Y": -9.833747416708272
    },
    {
      "X": 9.143838232539798,
      "Y": -9.022096340493349
    },
    {
      "X": 9.143838232539798,
      "Y": -9.022096340493349
    },
    {
      "X": 9.291836782942266,
      "Y": -9.125035298515899
    },
    {
      "X": 8.65154884860358,
      "Y": -9.94456648226689
    },
    {
      "X": 8.799547399006046,
      "Y": -10.047505440289441
    },
    {
      "X": 9.439835333344732,
      "Y": -9.22797425653845
    },
    {
      "X": 9.439835333344732,
      "Y": -9.22797425653845
    },
    {
      "X": 9.593990498500455,
      "Y": -9.323033107024935
    },
    {
      "X": 8.941389334655257,
      "Y": -10.15832450584806
    },
    {
      "X": 9.083231270304466,
      "Y": -10.26914357140668
    },
    {
      "X": 10.837866474982592,
      "Y": -8.023312923627522
    },
    {
      "X": 10.727544969477652,
      "Y": -7.937120317081929
    },
    {
      "X": 9.60975071357259,
      "Y": -9.33534633653145
    },
    {
      "X": 9.60975071357259,
      "Y": -9.33534633653145
    },
    {
      "X": 9.231229820706934,
      "Y": -10.37208252942923
    },
    {
      "X": 10.973551795878548,
      "Y": -8.142012096722206
    },
    {
      "X": 11.115393731527757,
      "Y": -8.252831162280826
    },
    {
      "X": 6.867329551780714,
      "Y": -13.690105362167207
    },
    {
      "X": 9.310030896067605,
      "Y": -10.433648676961797
    },
    {
      "X": 9.310030896067605,
      "Y": -10.433648676961797
    },
    {
      "X": 11.629767871993433,
      "Y": -10.875486161250418
    },
    {
      "X": 10.177295366576026,
      "Y": -12.913235807553047
    },
    {
      "X": 9.509671344036681,
      "Y": -13.800240973563021
    },
    {
      "X": 9.517551451572748,
      "Y": -13.806397588316276
    },
    {
      "X": 3.0715758049131043,
      "Y": -22.056870178578656
    },
    {
      "X": 2.8866375659910997,
      "Y": -22.001211865772508
    },
    {
      "X": 11.862981876239198,
      "Y": -10.5120150781865
    },
    {
      "X": 11.862981876239198,
      "Y": -10.5120150781865
    },
    {
      "X": 12.58306600604591,
      "Y": -9.297980957578472
    },
    {
      "X": 2.701699327069093,
      "Y": -21.94555355296636
    },
    {
      "X": 2.5167610881470885,
      "Y": -21.889895240160214
    },
    {
      "X": 12.435067455643443,
      "Y": -9.19504199955592
    },
    {
      "X": 12.435067455643443,
      "Y": -9.19504199955592
    },
    {
      "X": 12.287068905240975,
      "Y": -9.092103041533369
    },
    {
      "X": 2.331822849225082,
      "Y": -21.834236927354063
    },
    {
      "X": 2.146884610303074,
      "Y": -21.778578614547918
    },
    {
      "X": 12.132913740085252,
      "Y": -8.997044191046886
    },
    {
      "X": 12.132913740085252,
      "Y": -8.997044191046886
    },
    {
      "X": 11.984915189682786,
      "Y": -8.894105233024334
    },
    {
      "X": 1.9619463713810692,
      "Y": -21.722920301741766
    },
    {
      "X": 1.7708515177058075,
      "Y": -21.67514209647169
    },
    {
      "X": 11.830760024527063,
      "Y": -8.79904638253785
    },
    {
      "X": 11.830760024527063,
      "Y": -8.79904638253785
    },
    {
      "X": 11.67660485937134,
      "Y": -8.703987532051366
    },
    {
      "X": 1.5920698935370563,
      "Y": -21.611603676129473
    },
    {
      "X": 1.437914728381335,
      "Y": -21.51654482564299
    },
    {
      "X": 11.528606308968874,
      "Y": -8.601048574028816
    },
    {
      "X": 11.575886954185275,
      "Y": -8.637988262548355
    },
    {
      "X": 11.575886954185275,
      "Y": -8.637988262548355
    },
    {
      "X": 11.39292098807292,
      "Y": -8.48234940093413
    },
    {
      "X": 1.28375956322561,
      "Y": -21.421485975156507
    },
    {
      "X": 1.1296043980698887,
      "Y": -21.32642712467002
    },
    {
      "X": 2.342457504461434,
      "Y": -19.77404594006478
    },
    {
      "X": 2.495386736888026,
      "Y": -19.627033526067137
    },
    {
      "X": 2.4717464142798242,
      "Y": -19.608563681807368
    },
    {
      "X": 11.25107905242371,
      "Y": -8.37153033537551
    },
    {
      "X": 11.25107905242371,
      "Y": -8.37153033537551
    },
    {
      "X": 9.622453698702417,
      "Y": -13.964497299091299
    },
    {
      "X": 3.262670658588368,
      "Y": -22.10464838384874
    },
    {
      "X": 3.4476088975103742,
      "Y": -22.160306696654885
    },
    {
      "X": 9.72735594583209,
      "Y": -14.12259700986632
    },
    {
      "X": 9.72735594583209,
      "Y": -14.12259700986632
    },
    {
      "X": 9.832258192961758,
      "Y": -14.280696720641343
    },
    {
      "X": 3.632547136432379,
      "Y": -22.215965009461033
    },
    {
      "X": 3.8174853753543854,
      "Y": -22.271623322267182
    },
    {
      "X": 9.94947366959794,
      "Y": -14.42303621634423
    },
    {
      "X": 9.902193024381539,
      "Y": -14.38609652782469
    },
    {
      "X": 9.902193024381539,
      "Y": -14.38609652782469
    },
    {
      "X": 10.091315605247152,
      "Y": -14.533855281902849
    },
    {
      "X": 4.00242361427639,
      "Y": -22.32728163507333
    },
    {
      "X": 4.1873618531983965,
      "Y": -22.38293994787948
    },
    {
      "X": 10.23315754089636,
      "Y": -14.644674347461466
    },
    {
      "X": 10.23315754089636,
      "Y": -14.644674347461466
    },
    {
      "X": 10.374999476545574,
      "Y": -14.755493413020087
    },
    {
      "X": 4.378456706873662,
      "Y": -22.43071815314956
    },
    {
      "X": 4.563394945795666,
      "Y": -22.486376465955708
    },
    {
      "X": 10.516841412194783,
      "Y": -14.866312478578704
    },
    {
      "X": 10.516841412194783,
      "Y": -14.866312478578704
    },
    {
      "X": 10.658683347843994,
      "Y": -14.977131544137324
    },
    {
      "X": 4.748333184717675,
      "Y": -22.542034778761852
    },
    {
      "X": 4.933271423639679,
      "Y": -22.597693091568
    },
    {
      "X": 10.800525283493203,
      "Y": -15.087950609695941
    },
    {
      "X": 10.800525283493203,
      "Y": -15.087950609695941
    },
    {
      "X": 10.942367219142412,
      "Y": -15.19876967525456
    },
    {
      "X": 5.118209662561684,
      "Y": -22.65335140437415
    },
    {
      "X": 5.243554026760776,
      "Y": -22.687830243732893
    },
    {
      "X": 5.296991286730435,
      "Y": -22.716889824716365
    },
    {
      "X": 11.084209154791623,
      "Y": -15.309588740813178
    },
    {
      "X": 11.084209154791623,
      "Y": -15.309588740813178
    },
    {
      "X": 11.219894475687575,
      "Y": -15.428287913907864
    },
    {
      "X": 10.92437696753126,
      "Y": -15.806533075639091
    },
    {
      "X": 11.072375517933727,
      "Y": -15.90947203366164
    },
    {
      "X": 11.361736411336786,
      "Y": -15.539106979466482
    },
    {
      "X": 11.361736411336786,
      "Y": -15.539106979466482
    },
    {
      "X": 11.503578346985995,
      "Y": -15.6499260450251
    },
    {
      "X": 11.220374068336191,
      "Y": -16.01241099168419
    },
    {
      "X": 11.368372618738658,
      "Y": -16.115349949706744
    },
    {
      "X": 11.639263667881949,
      "Y": -15.768625218119785
    },
    {
      "X": 11.639263667881949,
      "Y": -15.768625218119785
    },
    {
      "X": 11.78110560353116,
      "Y": -15.879444283678405
    },
    {
      "X": 11.510214554387868,
      "Y": -16.226169015265363
    },
    {
      "X": 11.658213104790335,
      "Y": -16.32910797328791
    },
    {
      "X": 11.929104153933624,
      "Y": -15.982383241700955
    },
    {
      "X": 11.828386248747563,
      "Y": -15.916383972197945
    },
    {
      "X": 11.828386248747563,
      "Y": -15.916383972197945
    },
    {
      "X": 12.077102704336093,
      "Y": -16.085322199723507
    },
    {
      "X": 11.806211655192804,
      "Y": -16.432046931310467
    },
    {
      "X": 11.86925251548134,
      "Y": -16.481299849336516
    },
    {
      "X": 11.15680869688639,
      "Y": -17.409429045809638
    },
    {
      "X": 11.079731114308526,
      "Y": -17.361899620566398
    },
    {
      "X": 10.907345901217344,
      "Y": -17.58254263157628
    },
    {
      "X": 10.930986223825542,
      "Y": -17.601012475836047
    },
    {
      "X": 10.722647458619644,
      "Y": -17.8189458576583
    },
    {
      "X": 9.663709721059513,
      "Y": -19.17432435386186
    },
    {
      "X": 9.75629873868267,
      "Y": -19.348184279709017
    },
    {
      "X": 12.22510125473856,
      "Y": -16.188261157746062
    },
    {
      "X": 12.22510125473856,
      "Y": -16.188261157746062
    },
    {
      "X": 11.245836388822518,
      "Y": -16.998933639950103
    },
    {
      "X": 11.11962921204254,
      "Y": -17.164648152137875
    },
    {
      "X": 11.079304427612964,
      "Y": -17.136795094045844
    },
    {
      "X": 10.931732563906058,
      "Y": -17.258960662543846
    },
    {
      "X": 10.759347350814874,
      "Y": -17.479603673553726
    },
    {
      "X": 10.611348800412408,
      "Y": -17.376664715531177
    },
    {
      "X": 10.783734013503592,
      "Y": -17.156021704521294
    },
    {
      "X": 10.783734013503592,
      "Y": -17.156021704521294
    },
    {
      "X": 10.635735463101124,
      "Y": -17.053082746498742
    },
    {
      "X": 10.469506864763197,
      "Y": -17.265845649972558
    },
    {
      "X": 10.321508314360731,
      "Y": -17.162906691950006
    },
    {
      "X": 10.487736912698658,
      "Y": -16.950143788476193
    },
    {
      "X": 10.487736912698658,
      "Y": -16.950143788476193
    },
    {
      "X": 10.339738362296194,
      "Y": -16.84720483045364
    },
    {
      "X": 10.173509763958265,
      "Y": -17.059967733927454
    },
    {
      "X": 10.031667828309054,
      "Y": -16.949148668368835
    },
    {
      "X": 10.191739811893726,
      "Y": -16.74426587243109
    },
    {
      "X": 10.191739811893726,
      "Y": -16.74426587243109
    },
    {
      "X": 9.966887207252297,
      "Y": -17.12576201859437
    },
    {
      "X": 9.94448908535864,
      "Y": -17.109460448277815
    },
    {
      "X": 9.488899593617653,
      "Y": -17.69258840594679
    },
    {
      "X": 9.582579307062977,
      "Y": -17.777797973864406
    },
    {
      "X": 9.490125526346786,
      "Y": -17.934659670430918
    },
    {
      "X": 8.708235452683198,
      "Y": -18.935433327511454
    },
    {
      "X": 8.294516331485877,
      "Y": -19.22132926794383
    },
    {
      "X": 8.25880257569547,
      "Y": -19.510681177644358
    },
    {
      "X": 5.6053016170418815,
      "Y": -22.90700752568933
    },
    {
      "X": 5.451146451886158,
      "Y": -22.81194867520285
    },
    {
      "X": 9.354440205450832,
      "Y": -17.81596049733623
    },
    {
      "X": 9.354440205450832,
      "Y": -17.81596049733623
    },
    {
      "X": 9.61965423248948,
      "Y": -18.06123895106167
    },
    {
      "X": 9.040932445683362,
      "Y": -18.801969059451988
    },
    {
      "X": 9.244340528865138,
      "Y": -18.833987049649934
    },
    {
      "X": 9.755339553385433,
      "Y": -18.179938124156354
    },
    {
      "X": 9.755339553385433,
      "Y": -18.179938124156354
    },
    {
      "X": 9.891024874281388,
      "Y": -18.29863729725104
    },
    {
      "X": 9.45390522680017,
      "Y": -18.858124932311814
    },
    {
      "X": 9.497738886450954,
      "Y": -18.866991176252707
    },
    {
      "X": 9.571120703436353,
      "Y": -19.000464428014702
    },
    {
      "X": 10.02671019517734,
      "Y": -18.417336470345724
    },
    {
      "X": 10.02671019517734,
      "Y": -18.417336470345724
    },
    {
      "X": 9.538410825181284,
      "Y": -19.323537982092706
    },
    {
      "X": 9.660253751791359,
      "Y": -19.552329719268776
    },
    {
      "X": 9.259825012802843,
      "Y": -20.178553980210545
    },
    {
      "X": 9.09887501501046,
      "Y": -20.13924252753775
    },
    {
      "X": 9.011348353538622,
      "Y": -20.30167729157315
    },
    {
      "X": 6.770340583353226,
      "Y": -23.170036434701615
    },
    {
      "X": 6.498712177831949,
      "Y": -23.45273416959521
    },
    {
      "X": 6.376077442820497,
      "Y": -23.382301778121754
    },
    {
      "X": 8.820253499863362,
      "Y": -20.253899086303065
    },
    {
      "X": 8.820253499863362,
      "Y": -20.253899086303065
    },
    {
      "X": 8.629158646188095,
      "Y": -20.206120881032984
    },
    {
      "X": 6.221922277664772,
      "Y": -23.28724292763527
    },
    {
      "X": 6.067767112509051,
      "Y": -23.192184077148784
    },
    {
      "X": 8.487316710538888,
      "Y": -20.095301815474365
    },
    {
      "X": 8.487316710538888,
      "Y": -20.095301815474365
    },
    {
      "X": 8.33931816013642,
      "Y": -19.992362857451816
    },
    {
      "X": 5.913611947353326,
      "Y": -23.0971252266623
    },
    {
      "X": 5.759456782197603,
      "Y": -23.00206637617582
    },
    {
      "X": 8.21594606874698,
      "Y": -19.857903469284995
    },
    {
      "X": 8.213236439559346,
      "Y": -19.89385702139971
    },
    {
      "X": 8.213236439559346,
      "Y": -19.89385702139971
    },
    {
      "X": 5.931524109285713,
      "Y": -14.887881707649425
    },
    {
      "X": 2.3175912491240993,
      "Y": -19.513504831320883
    },
    {
      "X": 2.157279469215119,
      "Y": -19.426326088370466
    },
    {
      "X": 5.777368944129991,
      "Y": -14.792822857162939
    },
    {
      "X": 5.777368944129991,
      "Y": -14.792822857162939
    },
    {
      "X": 5.623213778974267,
      "Y": -14.697764006676458
    },
    {
      "X": 2.003124304059396,
      "Y": -19.331267237883985
    },
    {
      "X": 1.910286506409399,
      "Y": -19.271424583134227
    },
    {
      "X": 1.8735955979166992,
      "Y": -19.204687957253228
    },
    {
      "X": 5.469058613818544,
      "Y": -14.602705156189973
    },
    {
      "X": 5.469058613818544,
      "Y": -14.602705156189973
    },
    {
      "X": 5.314903448662821,
      "Y": -14.507646305703489
    },
    {
      "X": 1.7748499655402856,
      "Y": -19.03870813894214
    },
    {
      "X": 2.1698594461535308,
      "Y": -18.484390982229797
    },
    {
      "X": 5.168628391043164,
      "Y": -14.418744069970261
    },
    {
      "X": 5.168628391043164,
      "Y": -14.418744069970261
    },
    {
      "X": 1.437195339408408,
      "Y": -20.640360208978496
    },
    {
      "X": 0.8826114352641685,
      "Y": -21.171525619433783
    },
    {
      "X": 0.9754492329141655,
      "Y": -21.231368274183538
    }
  ],
  "dockpoints": [
    {
      "X": 11.099965054535444,
      "Y": -8.432860550089998,
      "delta": 2.48,
      "timestamp": "2022-10-10T13:40:48.649Z",
      "sol": 2
    },
    {
      "X": 10.918709297836678,
      "Y": -8.143215546175316,
      "delta": 2.48,
      "timestamp": "2022-10-10T13:40:55.378Z",
      "sol": 2
    },
    {
      "X": 8.85,
      "Y": -6.41,
      "delta": 2.48,
      "timestamp": "2022-10-10T13:41:05.448Z",
      "sol": 2
    }
  ],
  "name": "Gewächshaus",
  "patternAngle": 2.234021442552742,
  "mowOfs": 0.18,
  "patternRings": false,
  "doMowExclusions": false,
  "doMowPerimeter": true,
  "doMowArea": true,
  "doPerimeterBorder": true,
  "doExclusionsBorder": false
}
 
@skippa1978: Bezüglich der http-Connection zum Alfred. Ich habe mir deinen Wireshark Trace angeschaut und offline durchsimmuliert. Es gibt keinen Unterschied zwischen dem Ardumower und Alfred. Beide verschlüsseln gleich. Also wird das Problem noch mystiröser. Ich habe die httpcomm.py ein wenig aufgeräumt und ein paar neuen Logzeilen eingefügt. Wenn du mal Zeit hast, könntest du mal probieren wieder verschlüsselt mit dem Alfred zu verbinden und die Ausgabe von Cassandra mir zukommen zu lassen.

Gruß
 
Am besten den debug-log von Cassandra, weil ich für die Berechnung auch die Position des Mähers einbeziehe
 
Dann weiß ich ggf. wo das Problem liegt.

Der Mäher steht in der Ladestation (aktuell wollte ich gar nicht fahren, sondern nur die Berechnung testen). Auf der Fläche dieser Karte steht aber keine Ladestation. Die gibt es nur virtuell, da die Fläche aktuell noch nicht durch den Mäher fahrend erreicht werden kann, ich muss ihn hin tragen. Die virtuelle Ladestation gibt es, da der Mäher nach dem Mähvorgang sonst einfach am Ende irgendwo anhält und dann noch mehrere Zuckungen nach vorne macht. Dabei ist Alfred schon einmal von der Mauer gefallen. Der Bug hat bisher niemanden interessiert.

Ich würde demnächst mal probieren, den Mäher auf die Fläche zu setzen, bevor ich die Berechnung mache. Dann dürfte der Fehler ja nicht auftreten. Allerdings müsste der Fehler dann besser abgefangen werden (mit einer Meldung).

Was mir noch aufgefallen ist: Läuft Cassandra länger offen in einem Tab im Browser, lähmt es den gesamten Browser. Schließt man den Cassandra Tab dann, läuft alles wieder gut.
 
Der Mäher steht in der Ladestation (aktuell wollte ich gar nicht fahren, sondern nur die Berechnung testen). Auf der Fläche dieser Karte steht aber keine Ladestation. Die gibt es nur virtuell, da die Fläche aktuell noch nicht durch den Mäher fahrend erreicht werden kann, ich muss ihn hin tragen. Die virtuelle Ladestation gibt es, da der Mäher nach dem Mähvorgang sonst einfach am Ende irgendwo anhält und dann noch mehrere Zuckungen nach vorne macht. Dabei ist Alfred schon einmal von der Mauer gefallen. Der Bug hat bisher niemanden interessiert.
Das müsste eigentlich trotzdem gehen. Die Position vom Mäher darf auch sonst wo in Afrika sein, trotzdem sollte der pathfinder rechnen.

Was mir noch aufgefallen ist: Läuft Cassandra länger offen in einem Tab im Browser, lähmt es den gesamten Browser. Schließt man den Cassandra Tab dann, läuft alles wieder gut.
Welcher Browser?
 
Hm. Ich habe es nochmal probiert (ohne den Robby auf die Wiese zu tragen). Ich habe mich vertan. Ich hatte für die Wiese einen Winkel von 52 Grad benutzt. Dann kommt der Fehler. Nutze ich 50, 54, 55, 25... Grad geht es. Bei Nutzung von 51, 52 Grad geht es nicht. Und auch folgende Berechnungen mit vorher funktionierenden Winkeln werfen danach manchmal den Fehler. Das sieht für mich erstmal seltsam aus...
 
Wo finde ich das Log?

Meinst du das?

Code:
2023-06-05 10:24:34 INFO Backend: Calc route for cutedge
2023-06-05 10:24:34 DEBUG current route coords: [(-14.79644122584715, -19.897696526232654), (-15.014170746155209, -18.189658512608126), (-16.39526065850445, -14.700218635778729), (-16.544769856473014, -13.306896347245742), (-14.348774696719294, -13.627591276954968), (-14.386321813158458, -13.308326141489063), (-14.170535938633712, -12.75776246456129), (-13.231409642632784, -12.732933304269377), (-7.86168593568639, -12.592055873724588), (-7.758579358142501, -13.506531133808654), (-2.847774876561018, -13.400178479504476), (-2.874270623931751, -12.322901270788176), (-1.1450782408626168, -12.30699689495971), (-1.1046620489163788, -12.9611434071488), (0.11178674179030779, -12.978473183034353), (0.23591660523910463, -10.161964515602472), (0.38268375373948693, -10.142382946690551), (0.6794581620936304, -10.15482098331496), (0.8080438879703662, -10.163325623220235), (0.6831269327461102, -14.420058344053931), (0.7728496829601026, -15.347742614715315), (0.7912978409329767, -16.01269495812825), (-1.3656653377225938, -16.219010990682477), (-3.9099722822392184, -16.33143175212127), (-4.764476935354598, -16.349148587387482), (-4.881194851937106, -16.719522625285173), (-4.882154037234338, -17.88776878083783), (-4.897887301198882, -19.11831844030104), (-4.832358640641957, -20.209238233248996), (-5.87132487007876, -19.96768249622361), (-12.96649684988662, -20.079640421130065)]
2023-06-05 10:24:34 INFO Backend: Route for cutedge complete
2023-06-05 10:24:34 DEBUG Cutedge route: 32 points; figures to calculate: 6
2023-06-05 10:24:34 INFO Backend: Create line mask
2023-06-05 10:24:34 ERROR Exception on /_dash-update-component [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/usr/local/lib/python3.10/site-packages/dash/dash.py", line 1283, in dispatch

    ctx.run(
  File "/usr/local/lib/python3.10/site-packages/dash/_callback.py", line 450, in add_context
    output_value = func(*func_args, **func_kwargs)  # %% callback invoked %%
  File "/usr/src/cassandra/src/components/state/map.py", line 55, in update
    path.calc(mapdata.mowoffsetstatepage, mapdata.mowanglestatepage, rover_position, mapdata.patternstatepage)
  File "/usr/src/cassandra/src/backend/map/path.py", line 20, in calc
    route = lines.calcroute(area_to_mow, border, line_mask, edge_polygons, route)
  File "/usr/src/cassandra/src/backend/map/lines.py", line 306, in calcroute
    if line_to_edge != None and line_to_edge.length < line_going.length:
AttributeError: 'NoneType' object has no attribute 'length'
 
Dein Post von heute 07:20 ist doch ein Log Auszug? Oder kommt das von woanders?
Es muss irgendwas in der Art sein:
2023-06-05 10:24:34 DEBUG Coverage path planning: mowoffset: 0.18 mowangle: 52 startpos: [-8.07, -8.99] pattern: lines
2023-06-05 10:24:34 INFO Backend: Turning shapely figure: Point Angle: -52
2023-06-05 10:24:34 DEBUG POINT (-8.07 -8.99)
2023-06-05 10:24:34 INFO Backend: Turning shapely figure: Polygon Angle: -52
2023-06-05 10:24:34 DEBUG POLYGON ((6.57 -23.91, 5.09 -23.03, 1.49 -21.97, 0.3 -21.23, 1.
 
Dein Beitrag las sich so, als könnte es ein weiteres sein. Ich muss einfach weiter vorne ansetzen ;)

Hier das gesamte Log:

Code:
2023-06-05 10:30:07 DEBUG Coverage path planning: mowoffset: 0.18 mowangle: 52 startpos: [-3.3, -2.5] pattern: lines
2023-06-05 10:30:07 INFO Backend: Turning shapely figure: Point Angle: -52
2023-06-05 10:30:07 DEBUG POINT (-3.3 -2.5)
2023-06-05 10:30:07 INFO Backend: Turning shapely figure: Polygon Angle: -52
2023-06-05 10:30:07 DEBUG POLYGON ((6.57 -23.91, 5.09 -23.03, 1.49 -21.97, 0.3 -21.23, 1.9047006731 -19.6969717128, 1.63 -19.53, 1.3290009519 -19.0209975648, 1.8876191875 -18.2656695871, 5.0825382768 -13.9475367554, 5.8666333633 -14.4292948513, 8.8062194602 -10.4940508789, 7.9410010242 -9.8516917371, 8.9930653387 -8.4792778327, 9.5334225171 -8.8501622456, 10.295999224 -7.9022567927, 8.1529820813 -6.070425244, 8.2279104736 -5.9427155351, 8.4204243503 -5.7165117299, 8.5062913757 -5.6204207743, 11.783735978 -8.3395630253, 12.57 -8.84, 13.1053474174 -9.2348481939, 11.9399675369 -11.0615792068, 10.4621245387 -13.1357335714, 9.95 -13.82, 10.17 -14.14, 11.09 -14.86, 12.05 -15.63, 12.95 -16.25, 12.12 -16.92, 7.84 -22.58, 6.57 -23.91), (8.7118336443 -20.0445022285, 9.26 -20.18, 9.66 -19.55, 9.38 -19.03, 8.97 -18.98, 8.46 -19.33, 8.4 -19.81, 8.7118336443 -20.0445022285), (11.12 -17.16, 11.61 -16.52, 10.88 -15.99, 10.42 -16.68, 11.12 -17.16), (9.95 -17.11, 9.49 -17.69, 10.08 -18.23, 10.66 -17.63, 9.95 -17.11))
2023-06-05 10:30:07 INFO Backend: Create map borders and area to mow
2023-06-05 10:30:07 INFO Backend: Calc route for cutedge
2023-06-05 10:30:07 DEBUG current route coords: [(-14.79644122584715, -19.897696526232654), (-15.014170746155209, -18.189658512608126), (-16.39526065850445, -14.700218635778729), (-16.544769856473014, -13.306896347245742), (-14.348774696719294, -13.627591276954968), (-14.386321813158458, -13.308326141489063), (-14.170535938633712, -12.75776246456129), (-13.231409642632784, -12.732933304269377), (-7.86168593568639, -12.592055873724588), (-7.758579358142501, -13.506531133808654), (-2.847774876561018, -13.400178479504476), (-2.874270623931751, -12.322901270788176), (-1.1450782408626168, -12.30699689495971), (-1.1046620489163788, -12.9611434071488), (0.11178674179030779, -12.978473183034353), (0.23591660523910463, -10.161964515602472), (0.38268375373948693, -10.142382946690551), (0.6794581620936304, -10.15482098331496), (0.8080438879703662, -10.163325623220235), (0.6831269327461102, -14.420058344053931), (0.7728496829601026, -15.347742614715315), (0.7912978409329767, -16.01269495812825), (-1.3656653377225938, -16.219010990682477), (-3.9099722822392184, -16.33143175212127), (-4.764476935354598, -16.349148587387482), (-4.881194851937106, -16.719522625285173), (-4.882154037234338, -17.88776878083783), (-4.897887301198882, -19.11831844030104), (-4.832358640641957, -20.209238233248996), (-5.87132487007876, -19.96768249622361), (-12.96649684988662, -20.079640421130065)]
2023-06-05 10:30:07 INFO Backend: Route for cutedge complete
2023-06-05 10:30:07 DEBUG Cutedge route: 32 points; figures to calculate: 6
2023-06-05 10:30:07 INFO Backend: Create line mask
2023-06-05 10:30:07 ERROR Exception on /_dash-update-component [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/usr/local/lib/python3.10/site-packages/dash/dash.py", line 1283, in dispatch

    ctx.run(
  File "/usr/local/lib/python3.10/site-packages/dash/_callback.py", line 450, in add_context
    output_value = func(*func_args, **func_kwargs)  # %% callback invoked %%
  File "/usr/src/cassandra/src/components/state/map.py", line 55, in update
    path.calc(mapdata.mowoffsetstatepage, mapdata.mowanglestatepage, rover_position, mapdata.patternstatepage)
  File "/usr/src/cassandra/src/backend/map/path.py", line 20, in calc
    route = lines.calcroute(area_to_mow, border, line_mask, edge_polygons, route)
  File "/usr/src/cassandra/src/backend/map/lines.py", line 306, in calcroute
    if line_to_edge != None and line_to_edge.length < line_going.length:
AttributeError: 'NoneType' object has no attribute 'length'
 
Verhält sich die Steuerung mit der Sunray App anders?

Eigentlich muss die mittlere Anzeige auf offline wechseln, das hat auch schon funktioniert. Welche Zeit ist bei time to wait before offline eingestellt.

Kann natürlich sein, dass ich in der Zwischenzeit was kaputt gemacht habe
also kurzer Zwischenstand, das Frontend wechselt nicht in Offline, obwohl der Mäher aus ist, das Backend zeigt auch an dass es connecten will. Die Standardzeit von 30s habe ich drin. Auch nach knapp einem Tag zeigte das Frontend noch Mow bzw. in der Info Ladezustand/GPS etc. an.

Das mit dem Ruckeln bei der manuellen Steuerung bei der http-Verbindung habe ich bei 0.2 auch noch, ich teste heute mal 0.1, wenn ich dazukomme. Falls das ruckeln mit http normal ist, dann kann ich natürlich damit leben ;-)
 
also kurzer Zwischenstand, das Frontend wechselt nicht in Offline, obwohl der Mäher aus ist, das Backend zeigt auch an dass es connecten will. Die Standardzeit von 30s habe ich drin. Auch nach knapp einem Tag zeigte das Frontend noch Mow bzw. in der Info Ladezustand/GPS etc. an.

Das mit dem Ruckeln bei der manuellen Steuerung bei der http-Verbindung habe ich bei 0.2 auch noch, ich teste heute mal 0.1, wenn ich dazukomme. Falls das ruckeln mit http normal ist, dann kann ich natürlich damit leben ;-)
Hi,
dieses Ruckeln bei einer HTTP Verbindung hat man auch, wenn man die app per HTTP und nicht per BT verbindet. Scheint nix mit Cassandra zu tun zu haben.

Viele Grüße,
Jürgen
 
Oben