-
Notifications
You must be signed in to change notification settings - Fork 15
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-part assembly planning - single assembly issue #16
Comments
I also looked at another post where you said, "The states/path is not saved because the planner fails to find a feasible solution. In the code, the returned path is None so nothing is saved." So, is there a way for me to understand how this process works and what the result is? For example, if I choose a model for disassembly, I want to know how it determines the first disassembled component and what the disassembly path for that component is (I remember the paper mentioned a 3x3 matrix or a 6x6 matrix with additional rotation angles if rotation is involved). There are many .npy files in the generated results, and I'm not sure if they are what I need. |
HI,I would like to ask about Algorithm 1 and Algorithm 2 in the paper. How come Algorithm 1 seems to have completed the entire disassembly process, and Algorithm 2 appears to be an upgrade of Algorithm 1? However, Algorithm 2 requires Algorithm 1 to fully disassemble the object and obtain the state of each component as input. Moreover, Algorithm 1 and Algorithm 2 are named "disassembly path" and "disassembly sequence," respectively. It seems that the first algorithm obtains the disassembly path, and the second algorithm determines the sequence of components to be disassembled. But if the first algorithm can complete the disassembly, wouldn't it naturally provide the order of disassembling the components? I feel confused and hope to receive your assistance. (/ω\) |
HI,I also want to ask, when I use this command: python baselines/run_multi_plan.py --seq-planner queue --path-planner rrt-connect --dir multi_assembly --id 00031 --render, in this Python program called "baselines", it seems that no matter which method I use, the displayed visuals with "--render" are all static. |
Hi there, thank you so much for your interest! Due to the huge amount of my current workload, I will take a closer look and get back to you later this week. Thank you for your patience and understanding! |
Thanks again for your patience. Here are the responses to your questions:
This is reasonable since these parts are all disassemblable. What matters is the order you enumerate through parts.
These are 4x4 transformation matrices saved for the entire path: Assemble-Them-All/assets/save.py Line 60 in 395ee5b
Algorithm 1 is for two-part disassembly path planning, which does not consider multiple parts and sequencing. So algorithm 2 is for solving the part sequence for multi-part assemblies which use algorithm 1 as a subcomponent.
If you mean all methods produce the same result, I am not surprised since 00031 is a fairly simple assembly. They will be different for more complex cases. |
Great to receive your response! |
I would like to further clarify my question. If the fourth column of the 4x4 matrix represents the position coordinates of the model, taking '00031' as an example, I noticed that 99 npy files were generated, but there are only three model components. How can I determine which npy file corresponds to which component? |
Due to the nature of penalty-base contact in simulation, if you see this, then you may want to either increase penalty coefficient to avoid penetration or subdivide your meshes to be denser such that there will be more contact points.
Yes we use the standard 4x4 homogenous transformation matrix format.
This is because rrt-connect is not using physics so we are not doing physical simulation here to get the animation. The GIF from our method is generated by physics simulation. Though you can technically obtain the path from rrt-connect and then reset the simulation history states from the path to get the GIF.
Those 99 npy files are for the same component, which is the moving part that corresponds to the '--move-id' argument that you specified. |
Thank you for your help! |
Hello @yunshengtian ,I have successfully run the project, but there seems to be a slight deviation in the results. This is the command I used: python examples/run_multi_plan.py --seq-planner prog-queue --path-planner bfs --dir multi_assembly --id 00031 --render. However, the results appear to be somewhat different from the expected outcome in the example. I'm not sure where the issue might be occurring.I tried to save the GIF using the --save-dir option, but it failed. Therefore, I will use images as a substitute for now.These two images represent two different steps.
The text was updated successfully, but these errors were encountered: