Giter Site home page Giter Site logo

Comments (9)

AmazingLc avatar AmazingLc commented on May 24, 2024

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.

from assemble-them-all.

AmazingLc avatar AmazingLc commented on May 24, 2024

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. (/ω\)

from assemble-them-all.

AmazingLc avatar AmazingLc commented on May 24, 2024

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.

from assemble-them-all.

yunshengtian avatar yunshengtian commented on May 24, 2024

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!

from assemble-them-all.

yunshengtian avatar yunshengtian commented on May 24, 2024

Thanks again for your patience. Here are the responses to your questions:

there seems to be a slight deviation in the results

This is reasonable since these parts are all disassemblable. What matters is the order you enumerate through parts.

There are many .npy files in the generated results, and I'm not sure if they are what I need.

These are 4x4 transformation matrices saved for the entire path:

frame_transform = get_transform_matrix(state, com=com)

if the first algorithm can complete the disassembly, wouldn't it naturally provide the order of disassembling the components?

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.

it seems that no matter which method I use, the displayed visuals with "--render" are all static.

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.

from assemble-them-all.

AmazingLc avatar AmazingLc commented on May 24, 2024

Great to receive your response!
1.I actually wanted to show in the image that I encountered some cases of clipping during the execution of certain models, but later I ran a complex model and it ran perfectly.
2.Is the fourth column of the 4x4 matrix representing the coordinates on the x, y, and z axes? Are the first three columns representing rotation?
3.Thank you for explaining the algorithm. Now I understand!
4.Regarding that, what I meant was that when I use the BFS method and use the --render command, it generates an animated GIF. But when I use the rrt-connect method, which requires using baseline py, using the --render command generates a single image instead of a GIF.

from assemble-them-all.

AmazingLc avatar AmazingLc commented on May 24, 2024

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?

from assemble-them-all.

yunshengtian avatar yunshengtian commented on May 24, 2024

I actually wanted to show in the image that I encountered some cases of clipping during the execution of certain models, but later I ran a complex model and it ran perfectly.

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.

Is the fourth column of the 4x4 matrix representing the coordinates on the x, y, and z axes? Are the first three columns representing rotation?

Yes we use the standard 4x4 homogenous transformation matrix format.

But when I use the rrt-connect method, which requires using baseline py, using the --render command generates a single image instead of a GIF.

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.

How can I determine which npy file corresponds to which component?

Those 99 npy files are for the same component, which is the moving part that corresponds to the '--move-id' argument that you specified.

from assemble-them-all.

AmazingLc avatar AmazingLc commented on May 24, 2024

Thank you for your help!

from assemble-them-all.

Related Issues (18)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.