Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about FAR algorithm to handle the path finding issue in the referenced paper #15

Open
Phymin opened this issue Feb 26, 2024 · 7 comments

Comments

@Phymin
Copy link

Phymin commented Feb 26, 2024

Hi,

First I'd like to say this project is amazing, it's completed and with good design, the source code is easy to follow even I am not familiar with C# language. After I read the referenced paper, I have a small question to ask:
From the paper, the WHCA* algorithm can handle the following issue (see the picture below) by itself. So can the FAR algorithm handle this issue without evade strategy? Or it should handle the issue with evade strategy and deadlock handler? Because I'm not familiar with C# and I don't find a way to test this with the GUI simulator, could you provide some explaination here? Thanks
image

@merschformann
Copy link
Owner

Hey! Always happy if it is helpful.

FAR should not be able to handle the situation without additional deadlock handling. Unfortunately, it became a little rough to test just the path planning algorithms without everything else in the simulation going on. However, with some clever design you should be able to edit a .xinst file with a layout to test your questions. It's tedious though without the missing editor. There are some ways by holding down ctrl and drawing rectangles in the UI to remove waypoints, etc. and do fine tuning in the XML though (admittedly not a great experience).

@Phymin
Copy link
Author

Phymin commented Feb 28, 2024

Got it, thanks for your explaination, I will give it a try.

@Phymin
Copy link
Author

Phymin commented Feb 29, 2024

Hi merschformann,

I am trying to simulate the path finding situtation in the paper based on the current layout, but modified the code a little bit, see the picture below:
Robot0 will move to pod 77 and Robot1 will move to pod 73.
Snipaste_2024-02-29_09-10-56
I have tested both FAR and WHCAv method, but it seems that the FAR method can't handle this situtation, you can see the simulation videos below, the first one is FAR method, and the second one is WHCAv method. Could you provide some explaination about their very different behavior? Thanks

FAR_Method.mp4
WHCAv_Method.mp4

@merschformann
Copy link
Owner

Yeah, like I mentioned the implementation / this version of FAR is quite limited in what it can cope with. The layout itself needs to have some characteristics to reduce these effects (the default layout has that to some extent). I need to dig into the code again to give more detailed pointers. Can you provide the code and input files you used?

@Phymin
Copy link
Author

Phymin commented Mar 13, 2024

Hi, thanks for you feedback, you can use the code forked from your repository: https://github.com/Phymin/RAWSim-O.git, and checkout the commit of : 82da3c6

For the layout I don't change much, you can cofigure it according to the following picture:
image

Thanks for your time.

@merschformann
Copy link
Owner

Sorry for dropping the ball on this. I am still planning to look into this more deeply, but can't find the time right now. 😬

@Phymin
Copy link
Author

Phymin commented Jun 13, 2024

Ok, take your time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants