It would be great if the yarbo could pre-plan its routes after map changes instead of when the user wants to start a plan.
This could easily happen in the background. after the user modifies the map.
Yes there is always the issue of the user changing the maps ( assume they change everything ). and then immediately try to run a job.
At that point there would not be a cached job, so one would need to be calculated and/or wait for the current calculation to complete.
Work plans:
if the unit were to calculate ( and store ) the next workplan for each zone ( and maybe the one after that even ) Then when starting the job it should mostly be. Grab the current work plan. Navigate to the starting point and go. Then when done, it could calculate the “next” work plan for that zone to replace the one it just used. While I would normally say just store X number of patters.. the users could specify patterns that don’t overlap for a large number of jobs so I wouldn’t try to optimize that far. but having the next and maybe the one after that would be handy for performance when starting.
Navigation:
There are many optimizations that could be done here as well.
Since in any cases where the yarbo has to travel through a zone, but is not working in that zone ( just traveling to some other destination ). You could easily pre-calculate the possible ( best ) paths from entry point A to exit point Z.
Then when its time to start a work plan. you know you need to trave from A to Z in the zone, you already have the path available.
In other chats, there is desire to add variability to the pathing. This would still allow you to do that by easily adding 2 or 3 alternative paths from each of the entry and exit points. and randomly picking one of that available paths.
This also doesn’t hurt with “minimal path” logic, since each navigation from zone to zone, would already have the path length information. Then the only “real time” calculation should be selecting which pre-generated path to use to get to the zone.
then pathing from the entry point of the zone to the start point of the task ( same with end of job 0.