Well… sometimes, but I haven’t identified a pattern.
I guess my point was that it doesn’t cause any “confusion” or long routes when leaving or returning.
Well… sometimes, but I haven’t identified a pattern.
I guess my point was that it doesn’t cause any “confusion” or long routes when leaving or returning.
But I’d rather have the robot take the long way, short way, middle way or whatever than always the same pathway and destroying the lawn like they suggest in their ticket reply…
Captain probably says “hey I need a route to the charging station” and the routing engine says “I can get you there but we go around the lake 3 times and go the wrong direction for 1/2 the trip. But we get there.”
Captain “Make it so.”
On your map some pathways seem to be fairly short. Did you notice one or two pathways that are never used?
If only someone could create an algorithm to determine how to get from point A to point B. For example if I wanted to go from California to New York. It would be even better if it could calculate that in a few milliseconds. I bet that company could have a market capitalization over 2 trillion USD.
Now THAT is funny!
Maybe you could even tell it to take the fastest route, or shortest route, or the cheapest route!
That is a good idea. I didnt consider there could be multiple options.
Soooooo…
Suppose 3 zones. 8 pathways… Has to take pathways to cross zones. I used real RTK coordinates and ran a simple algo to look at all the combinations, rank them and then provide the top 5 distances and paths to take…
Here is the code to do it in python (in txt as .py extensions are not allowed), including the PATHFINDING ALGORITHMS function… In short you then only need to substitute the current mower position, dock position, pathways coordinate in section 2 (they probably have a table for that). Then it provides the shortest pathway…
I don’t see why this is “complex”. This is basic optimization stuff. And it takes less than a second to run.
path optimize.txt (14.3 KB)
If only we could do pull requests.
And then from there you can sort the K fastest paths and then randomize among the fastest!
This could be wrapped into a function that is called when Yarbo needs to recharge. @Yarbo-Forum …
Is Yarbo coded in Python? Does anyone know?
Low level hardware and logic navigation likely C/C++. So clearly this would need to be refactored in C++ for efficiency and to be able to run natively on the mower… I would be super surprised that they have a direct interpreter on the device… Although I make it look as “simple”, I totally understand that the code is likely super optimized to have a small footprint on the device…
As an update, I split the yard in two. (Map above, but split down the middle). I added pathways across the driveway, the land bride between the house and shop and then another between the garage and rear property line. While Johnny 5 is now using all the pathways, the algorithm it uses to get from one side of the map to the other or to the charger leaves much to be desired.
Hi everyone…
I received a reply from Yarbo Chris… I am very worried they don’t get it. Remember, I opened a ticket to let them know that Yarbo was not using the pathways (read the thread above) and often took the farthest one even if it has to cross the lawn to do so, when there was a closer one…
They replied now 10 days later with this:
Hi Micke,
Thank you for your patience while we looked into your concern. We completely understand that this behavior might seem unusual at first.
Yarbo is designed this way because most customers prefer a neat and consistent mowing appearance over pure efficiency. They generally do not want Yarbo to travel across areas that have already been mowed, as it may create unnecessary tracks or disturb the freshly cut surface.
For this reason, once Yarbo completes a section and reaches the perimeter, it returns directly to the charger instead of crossing over the mowed area again. This helps maintain the visual quality of the lawn while still completing the task.
We appreciate your understanding and hope this explanation clarifies the logic behind Yarbo’s operation.
Warm regards,
Chris
Team Yarbo
@Yarbo-Forum and all, I am very worried that the dev team doesn’t get it. Is this just the person from the customer support that just wants to provide a reply and close the ticket? Or this is really something Yarbo doen’t plan to fix? All the examples on this thread are only a small sample of the crazy routing / pathway selection Yarbo is doing all the time…
My concern is AFAIK that’s not a thing yet. Unless something changed recently, it should prioritize efficiency and take the shortest path back to the dock.
So they argue that for now it tries to avoid already mowed area… But here you notice that the blue line is parallel to the last stretch of the red path… Rending invalid their argument. The blue line would have done the same thing as the last stretch of the red line… The conclusion is: invalid pathway calculation…
And when Yarbo goes to charge, I don’t think he cares about what’s been mowed. I see it traverse mowed areas all the time headed to the charger.
¯\_(ツ)_/¯
That is not the case, at least in my experience. I had multiple pathways connecting areas and it always seemed to take the longest route, sometimes when it was right next to another shorter pathway. I thought I was doing something wrong. I played around with it for hours before I gave up.
@Yarbo-Forum can you point this thread to Chris from CS? I did send him the link but it is as if he doesn’t even read my comments or look at the images… see above his replies. They make no sense… Again, don’t hear me wrong, this is not a complain, this is a ticket to let you know guies that something is seriously wrong with pathway selection. Given the reply, it is clearly an unexpected behavior as it does exactly the opposite as the CS representative replies what is the “behavior” customers prefer… if you know this is the behavior the customers prefer, then this thread and example I submitted are bugs… Therefore the reply should not be that this is “as intended” since it clearly is not…. Thanks!