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

How to set the flag connect_tools_all ? #10

Open
avaa999 opened this issue Oct 12, 2024 · 1 comment
Open

How to set the flag connect_tools_all ? #10

avaa999 opened this issue Oct 12, 2024 · 1 comment

Comments

@avaa999
Copy link

avaa999 commented Oct 12, 2024

Hi! Boey. Thank you for providing such a beautiful work! I noticed in the "construct_edges_from_state"function in graph.py that there is a line of code that reads:
if connect_tools_all: adj_matrix[obj_tool_mask_1] = 0 adj_matrix[obj_tool_mask_2] = 1 adj_matrix[tool_mask_12] = 0 # avoid tool to tool relations
I would like to understand why connect_tools_all is set to False. And in what scenarios would it be more beneficial to set connect_tools_all to True? Thank you for your time !

@Boey-li
Copy link
Owner

Boey-li commented Oct 23, 2024

Hi, the connect_tools_all variable is used to link all object particles to the tool particle, rather than basing the connection on spatial distance. Typically, this is set to False because the intuition is that the tool primarily affects the dynamics of nearby object particles.

However, we apply this variable in the cloth case because cloth occupies a larger spatial area, and the default object-tool edge construction method struggles to learn the dynamics due to slow message passing. In this scenario, connecting all cloth particles to the tool effectively transmits the action message to distant object particles.

I hope this explanation clarifies things!

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