-
Notifications
You must be signed in to change notification settings - Fork 3
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
Document is_traversable
object option
#272
Comments
Do you mean with 'tile' an |
Just a quick check in Your four cases thus reduce to:
|
No, there is (atleast should not be) no difference between how this works for a human agent or a normal agent. Because the traversability of that agent only matters for other agents, not for itself to determine where it can go. |
@jwaa the confusion came from the following two cases:
This seems a bit arbitrary as the objects and actions are the same, but whether the action is possible or not depends on who initiates the action. This came from the Co-active teaming case where agents avoid you and can be blocked by a human standing in a doorway, but in the meantime you can walk all over the agents. So the logic seems OK, not being able to step on intraversable obejcts. But in practice this can lead to weird situations such as these. For co-active teaming we fixed this by making the human agent traversable as well. |
With tile I meant a grid tile indeed. This was the official terminology we decide on right, instead of cell? |
I agree, this is a bit strange (and unexpected) behaviour if agents have different traversability settings. What would be a nice solution? Enforce a world-wide traversability setting for agents seems to be a no-go. Incorportating the traversability of the agent initiating the action might add complexity (and also unexpected behaviour). Let's take an example. When one agent is a flying drone (
|
True... forgot :x |
A change that we could make for more consistency would be to also add another type of traversability, taking also the traversability of the object itself into account. Traversability in three categories:
If you have a very high tree, you could give it traversability lvl 0, so that even a drone could not fly on it. If the drone lands, you can give it traversability lvl 1, so a UGV cannot drive through it. The only issue I have with this solution is on how we can explain this clearly to users. |
I would suggest to KISS it. 😋 For the 2D MATRX worlds our traversability logic works fine, especially if shortly explained in the tutorial of #284. The beauty of MATRX is that it is highly extendable, and if you want, you can program a 3d dimension on top, an extra type of traversability as described in #272 (comment) and make it work. Closing for now, but doesn't mean we have to stop discussing it ofcourse :) |
What is your question?
How does the
is_traversable
logic work? What happens in the following case:Is there a difference between stepping on a tile with such an object as human agent, or that a normal agent does this?
To what is your question related?
The text was updated successfully, but these errors were encountered: