I really dislike extreme views. 0 or 1. This is a concept that only fits the Digital world. The world we live in is analog. Although we call the world we live in a 'Digital World,' in reality, the 'Digit' itself is simply recorded on a certain analog machine.
Just because the 'AI' services we use today cause certain levels of error doesn't mean we can disregard their value as zero. Are Apple’s services flawless? (Vision Pro... I won’t say more.) Since humans are not perfect, everything created by humans can never be perfect. Between 0 and 1, there are countless values like 0.1, 0.0002, etc. Ignoring this concept is something I personally find truly repulsive.
When the so-called 'AI' industry was booming, Apple was completely fumbling. Why? Because Apple is not perfect either. After all, Apple is run by people.
I’ve reviewed the source code.
It seems like starting with clear and accurate information about the obstacles could be an issue.
Also, if the obstacles become very large, preprocessing will likely be necessary.
Oh, I saw that blog too. It helped me a lot to be inspired.
What I mean by "performance" is that I want to minimize preprocessing, and I want to minimize the amount of computation I can do even when I'm navigating in real time. I'll definitely watch the video you gave me. Thank you!
The algorithm for finding detour points is as follows.
In fact, I’ve improved it a bit through research:
1. Detect a collision with an obstacle on the straight path connecting the starting point and the destination.
2. Decide which direction to explore along the obstacle's outline (for now, the side closer to the destination).
3. If the end of the visible outline is reached, search for an appropriate detour point around that outline.
4. Select a detour point where a straight-line movement from the starting point avoids the obstacle, preferably closer to the destination.
---
If the first detour point selection fails, I plan to search in the *opposite direction* along the outline where the obstacle was first encountered.
I’m currently working on resolving this part.
Oh! That’s exactly correct! It seems I didn’t explain it clearly enough.
As you mentioned, *"the goal is to find a decently short path, not necessarily the shortest one."* That’s absolutely right.
The basic idea is that when an obstacle is encountered, *I just need to find the first detour point.*
After that, the process can be repeated from that detour point in the same way.
The link you provided is also very intriguing.
I’ll take a closer look and provide feedback again afterward!
I made custom pathfinding solution before. How about considering my project too ?
https://github.com/Farer/bw_path_finding