Comments (9)
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.
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.
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.
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.
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:
Assemble-Them-All/assets/save.py
Line 60 in 395ee5b
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.
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.
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.
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.
Thank you for your help!
from assemble-them-all.
Related Issues (18)
- can not install in Linux HOT 9
- linux installation error HOT 5
- Dataset Consulting HOT 17
- Would this multi-part-assembly/disassembly method work with other type of datasets (e.g. the breaking bad dataset) HOT 19
- SimRenderer gives me black images HOT 4
- what does output mean --save-dir? HOT 3
- failed running the test_joint_sim.py | throws error [ERROR] Body type error : SDF HOT 1
- /subdivide_batch.py // edge_length_dict // dose not exist HOT 3
- Suggestion with environment HOT 4
- void redmax::Simmulation::forward(int, bool, bool):Assertion (q - _q_his[_q_his.size() - 1]).norm() < 1e-7 && (qdot - _qdot_his[_qdot_his.size() - 1]).norm() < 1e-7; failed 已放弃(核心已转储) HOT 4
- Setup python issue HOT 6
- Look up poses of objects HOT 7
- XML Modeling Documentation HOT 3
- python setup.py HOT 7
- May I ask if this algorithm only supports the OBJ format? Or does it also support step format and so on? HOT 1
- May I ask if there is a way to visualize SDF in the paper if I want to visualize my own model, like the figure 4 in your paper HOT 1
- I would like to ask if this code can be run in a Windows environment? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from assemble-them-all.