-
Notifications
You must be signed in to change notification settings - Fork 221
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
Multi-goal TA #47
Comments
Not out of the box. |
Okay, any directions on where to look to add code to support this? I am working on a course project for this, Any help is appreciated. Thanks! |
In a TSP fashion, or each robot just having a fixed sequence of goal locations? |
Each robot having a fixed sequence of goal locations - so we can call our multi-goal low level planner to execute a sequence of goals. |
If the input is a fixed sequence of goal locations for one robot and the task assignment portion is just to identify which robot should execute which fixed sequence, then you just need to change the state space of the existing A* planner (adding a discrete variable, which tells you which goal state is next). If the input is a set of goals, which need to be visited at least once, then you need to change the task assignment to solve the TSP problem, in addition to the multi-label A* search mentioned above. How to do that highly depends on your problem size, since TSPs are NP-hard. For very small problems, an enumeration and ordering of the n! permutations might be feasible, while for more realistic settings one might need to rely on a approximate solver. In that case, the main challenge would be to find an incremental solver, which can produce a second-best solution. |
Thank you for the advice. This really helps. As for the first case with fixed goal sequences, can the current code-base support tasks with multiple fixed goals? |
Everything is templated, including tasks. In this case, I believe you can keep the current tasks (to be Locations in the example, https://github.com/whoenig/libMultiRobotPlanning/blob/main/example/cbs_ta.cpp#L506), with the interpretation that the Location is the first goal of your multi-goal sequence. Then, the only required change is to update the Low-Level Search (which is also templated, so you can add an additional discrete state keeping track of the next goal index). |
Does this support multi-goal task allocation? That is, one robot visiting multiple goal locations?
The text was updated successfully, but these errors were encountered: