Forum Replies Created
-
AuthorPosts
-
30 April 2020 at 22:24 in reply to: [SOLVED] SOFA build on MacOS && Fail to build libSofaGuiQt.dylib #15989HugoKeymaster
Hi @enxing
Did you properly installed Qt as noticed in the build instructions for MacOS?
Did you specify the path to Qt in the CMAKE_PREFIX_PATH as explained?Best,
Hugo
HugoKeymasterHi @ko-bio
Since my previous post, the PR was merged, so it is now available in the master branch of the SOFA sources.
Cheers,Hugo
HugoKeymasterHugoKeymasterHi @rainvector
This is (unfortunately) normal. So no worry.
The fountain scene is buggy. It supposed to spray new particles when some get out from the bowl. But the code was not that robust! I will try to find some time and fix it.Best wishes,
Hugo
HugoKeymasterHi @qwe12050
You have many ways of doing it.
In Python as you suggested at last, the print output is done in the console. But instead of printing it, you could plot it, directly from your python script. For this you could use matplot.You could also use the Monitor component.
This should do the job.
Best,Hugo
27 April 2020 at 21:12 in reply to: [SOLVED] Problems in the installation of SofaOpenCL plugin #15960HugoKeymasterHey @pasquale94
Thank you for sharing this with us!
As you can notice, this OpenCL plugin has not been refreshed for a long time. And I am unfortunately not familiar with it.You did well notice the change of name in the Data (d_fixAll) to fit the guidelines. However, the name fd_mask looks strange to me..
The problem in OpenCLIdentityMapping.cpp is due to the PR #853. Avoiding to always compile in both double and float. You can see in other *.cpp how the instantiation works.
For your last errors, there actually plenty of different errors. It seems first to suggest the function buildProgram() for UniformMassOpenCLFloat_program instead of buildLog(0).
Messages are not sent anymore through the std but using our Messaging API.
Then, problems are more obscure to me since I am not familiar with OpenCL and the SOFA OpenCL plugin. But I am ready to help as much as I can, and I will see if I find some help in the community.Best wishes,
Hugo
HugoKeymasterHey all,
A short reminder about the STC#9. It starts tomorrow, do not hesitate to join whether you are involved or willing to involve in the development of SOFA!
Wednesday and Friday are coding sprint! If you are up to some coding, join us as well!
Hugo
HugoKeymasterSorry @amir
I replied without carefully checking.
A recent pull-request (#1314) removed what is called collections in SOFA, it had some impacts on the Cmake configurations. See here for SofaComponentCommon.Could you just delete your CMakeCache, reconfigure SOFA (+SoftRobot) and recompile both.
Hugo
HugoKeymasterHi @rainvector
Welcome to the SOFA forum!
You should consider reading through the documentation for your first steps it would help.
For your question, a dedicated article is available here. Good start with SOFA!Best wishes,
Hugo
HugoKeymasterHi @amir
I guess you are using both SOFA and SoftRobot (recent) source version, are you?
If so, could you try to add at line 223 of the CMakeList.txt at the root of the SoftRobot plugin: SofaComponentCommon to the list of target_link_libraries ?Hugo
HugoKeymasterHi @sarah
First of all, thank you, you made me re-discover the Monitor + Gnuplot feature. Quite convenient when you want to shortly analyze and visualize the behavior of a body in the simulation.
Regarding your question, I needed a bit of time to gather the appropriate answer.
The Euler scheme is an order 1 (in time) integration scheme and it is known to be a dissipative scheme. Moreover, only one Newton step is performed in the EulerImplicit, which might harm the energy conservation. Then, why using such a scheme? SOFA is a framework aiming at interactive simulations. For this purpose, dissipative schemes are very appropriate.You can see that activating the trapezoidalScheme option of the Euler implicit scheme, makes it less dissipative. This is due to the fact that the trapezoidal rule increases the order of the time integration. And higher order schemes are known to be less dissipative.
NewmarkImplicitScheme has the same trapezoidal approach, and, it makes several Newton step. There, almost no dissipation is noticed.
I hope this help.
Best wishes,Hugo
HugoKeymasterhey @nicklj
Answer 1
Yes I did mean Tetra2TriangleTopologicalMapping. If you then specify the triangle indices on which you apply a pressure, it would work. But it is just an alternative. Your way is good as well.Answer 2
To move your finger, you could make it so it is attached to a rigid moving frame.
See this post mentioning this rigidification technique and referring to this scene.This should help.
Best wishes,Hugo
HugoKeymasterhey @nicklj
I will try to answer most of your questions, but I did not develop this soft-robot tutorial nor conduct any research on it.
Answer 1
Your approach with the mapping is perfectly correct. Well done. Forces on the submesh will be properly propagated on the 3D volumetric mesh. No error here.
An alternative would be to use a Tetra2TopologicalMapping (instead of Barycentric) in order to extract the surface of the mesh.Indeed, 2nd and 4th gap of this actuator are less open. Is this normal or not, this I can not tell. Fore sure, it would be normal that 1st is more open than 2nd, more open than 3rd etc. Since the more aligned along the z axis, the more it faces gravity field.
About a more practical way to get a set of indices (points, triangles) to apply a force or else, is usually done externally of SOFA. But we are working on the SofaQtQuick project, a GUI allowing a modern design of the simulation. Stay tuned.
BTW what did you mean by: However, as this plugin is no longer included in the release version ?
Answer 2
By release version, do you mean the master branch of SOFA (development version)?API must have obviously changed. But with the information you give, I am not able to point you out the exact change causing this.
Indeed, a nice-long topic! Carry one the good work!
Best,
Hugo
HugoKeymasterHi @weibayang
Communication with robot could be done with ROS if your robot has a dedicated interface. See this topic.
About serial port, I am not sure. Therefore a topic about a plugin developed by @bgarcial on a SerialCommunication. I do not know whether it is now open-source.I will see if anything else exists.
Hugo
PS: do not forget to browse the forum before asking 😉
HugoKeymasterHi @amir
With both STLIB and SoftRobot, what was the full output of CMake?
What was the full error (before/usr/bin/ld: cannot find -lSofaComponentCommon
)Hugo
HugoKeymasterNow a PR has been made to fix this: https://github.com/sofa-framework/sofa/pull/1347.
As soon as it merged, the master branch of SOFA should therefore solve your problem.
Best,Hugo
HugoKeymasterThis issue has just been risen: https://github.com/sofa-framework/sofa/issues/1331
Stay tuned.
HugoKeymasterThis is a purely CGAL error, linked to the C++ version.
Please see github issue here. This has been solved but only in newer versions of CGAL.You did well to upgrade your CGAL.
Yes please, do not hesitate to notice him so that he can update the README or make a PR on the README 😉Hugo
HugoKeymasterThe file config.h.in is strange.
Try renaming it in config.hLet us know if it helps
Hugo
HugoKeymasterHugoKeymasterThanks a lot @ingmarvoigt for the details.
Thanks to you guys, I close the topic! -
AuthorPosts