sofadefrost / softrobots Goto Github PK
View Code? Open in Web Editor NEWThis Sofa plugin contains components & method for soft robotics.
License: GNU Lesser General Public License v3.0
This Sofa plugin contains components & method for soft robotics.
License: GNU Lesser General Public License v3.0
@guparan @ErwanDouaille @alxbilger @hugtalbot @damienmarchal
I have encountered several problems in the tutorial of sofapython3 (using the Linux + Python3.8 version of the robosoft2022 conference). Thank you very much for reviewing these issues.
Cube(rootNode,
translation=[0.0,0.0,0.0],
uniformScale=20.0,
color=[0.0,0.0,1.0])
After reload, the color of the cube has not been changed and in the terminal shows
Finished validating node "root".
[WARNING] [CGLinearSolver(CGLinearSolver)] Required data "iterations" has not been set. Falling back to default value: 25
[WARNING] [CGLinearSolver(CGLinearSolver)] Required data "tolerance" has not been set. Falling back to default value: 1e-05
[WARNING] [CGLinearSolver(CGLinearSolver)] Required data "threshold" has not been set. Falling back to default value: 1e-05
I am not sure if it is the problem of the code itself.
The terminal shows Finished validating node "root".
[WARNING] [Node(root)] Default Animation Manager Loop will be used. Add DefaultAnimationLoop to the root node of scene file to remove this warning
[INFO] [SofaViewer] QtViewer::keyPressEvent, CONTROL pressed
[INFO] [SofaViewer] QtViewer::keyPressEvent, CONTROL pressed
But the cable is not moving, and I don't know the reason.
When I press ctrl++ or ctrl -, the gripper is not inflated or deflated, the terminal just shows
WARNING] [LocalMinDistance(Proximity)] Determinant is null
Hello everyone,
I just ran the PneunetGripper-Tutorial and specifically the step 7 of it and I get a visualization bug. Indeed I only have the left-bottom corner of the window which is active. You can see that the plane and the fingers are cut on the screenshot.
Here is the screen : https://imgur.com/a/Kt1Ts
I'm on MacOS 10.13.3 with Sofa 17.12
You guys have made some absolutely fantastic tutorials. They've been super helpful!
I'm seeing this error when I run the Tripod example for step4-3.py
:
[ERROR] [UniformMass(mass)] TopologyData: indices already has a TopologyDataHandler. createTopologyHandler should only be called once at init of the TopologyData.
[WARNING] [UniformMass(mass)] totalMass value overriding the value of the attribute vertexMass.
vertexMass = totalMass / nb_dofs.
To remove this warning you need to set either totalMass or vertexMass data field, but not both.
It seems like it's coming when calling self.ElasticBody.init()
in to the Elastic function, as it calls the UniformMass function in elasticbody.py and seems to be conflicting with some other definition of the vertexMass in another function. I'm trying to figure out where the vertexMass or other UniformMass is also defined in the code here or behind the scenes where I'm not seeing it?
The softrobot &co plugins to have to be added one by one after a fresh install (SOFA_v20.12.00_Linux). It could be nice to update the default configuration in the binaries.
Hi, @alxbilger @guparan may I ask how I can import my Solidworks file into the sofa?
Hi @margaretkoehler, @VannesteFelix
You share some changes in these branches:
I feel like they are good fix and we should merge them into master (and delete them after?). Is it a work in progress? What do you think?
Hi @EulalieCoevoet
I'm an internship at CRIStAL and i'm currently working on CoBra and I have some issues while compiling Sofa with SoftRobots. In fact, my simulation not only need SoftRobots but also SoftRobotsInverse and I have 2 problems with this. Firstly, after the compilation with SoftRobots, it is said that the plugin SoftRobots is not founded (https://imgur.com/a/7QUR9lP) and secondly, the SoftRobotsInverse I have is not up to date. Can you help me please ?
CableGripper tutorial is not working with current version of Sofa (only step1 is working).
Here is the error obtained when launching step0 :
[ERROR] [PythonScript] TypeError: 'staticmethod' object is not callable
File "step0.pyscn", line 11, in createScene
Gripper(rootNode)
File "gripper.py", line 14, in Gripper
pullPointLocation=[3, 10.5, 3])
File "finger.py", line 39, in Finger
translation=translation)
STLIB and SoftRobots plugins are up to date, I tested with Sofa-defrost and Sofa-framework sources.
I imagine that the problem is not very complicated but I let the professionals take care of that.
Hi,
I followed the tutorial of DefrostSofaBundle/plugins/SoftRobots/docs/sofapython3/tutorials/CableGripper/cablegripper-tuto.md
to create my own cube&floor scene, and I figured out that the tutorial is out-dated in terms of the VisualModel.
From the Line# 54 The tutorial asked me to modify the */CableGripper/myproject/cablegripper.py file like the following:
from stlib3.visuals import ShowGrid
from stlib3.physics.rigid import Floor
from stlib3.physics.rigid import Cube
def createScene(rootNode):
"""This is my first scene"""
ShowGrid(rootNode)
Floor(rootNode,
translation=[0.0,0.0,0.0],
isAStaticObject=True)
Cube(rootNode,
translation=[0.0,0.0,0.0])
return rootNode
However, the terminal log shows that there is no such module called ShowGrid in the visuals package
[ERROR] [SofaPython3::SceneLoader] Unable to completely load the scene from file '/home/jeremy/DefrostSofaBundle/plugins/SoftRobots/docs/sofapython3/tutorials/CableGripper/myproject/cablegripper.py'.
Python exception:
ImportError: cannot import name 'ShowGrid' from 'stlib3.visuals' (/home/jeremy/DefrostSofaBundle/plugins/STLIB/lib/python3/site-packages/stlib3/visuals/__init__.py)
Hence, I checked with the source code here and think the right expression based on the current structure of stlib3 should be like this:
from stlib3.visuals.visualmodel import VisualModel
def createScene(rootNode):
VisualModel.showGrid(rootNode)
Hi all,
the problem occurs because the code in "wholeGripperController.py" calls the moveRestPos() function instead of rotateRestPos() for rotations:
# Direct rotation
elif e["key"] == "A":
for i in range(3):
results = moveRestPos(self.dofs[i].rest_position.value, math.pi / 16, self.centerPosY, self.centerPosZ)
...
# Indirect rotation
elif e["key"] == "Q":
for i in range(3):
results = moveRestPos(self.dofs[i].rest_position.value, -math.pi / 16, self.centerPosY, self.centerPosZ)
should be:
# Direct rotation
elif e["key"] == "A":
for i in range(3):
results = rotateRestPos(self.dofs[i].rest_position.value, math.pi / 16, self.centerPosY, self.centerPosZ)
...
# Indirect rotation
elif e["key"] == "Q":
for i in range(3):
results = rotateRestPos(self.dofs[i].rest_position.value, -math.pi / 16, self.centerPosY, self.centerPosZ)
Sofa and plugins 21.12 (also 22.06 RoboSoft version)
Can you confirm it?
Thank you!
missing shared lib libpython3.7m.so.1.0
Hi,
I have an issue when I want to run the python codes for PneunetGripper example in SOFA scene. I just added "SoftRobots" and "STLIB" plugins to SOFA and SOFA_Pyhton plugin as well.
I followed the tutorial in which coding for PneunetGripper example is explained step by step (step 1 to 7) and accumulate all the python codes for each step in a single *.pyscn. Then, I opened the resulted *.pyscn from SOFA, but I cannot see anything except the "coordinate system" and a "red plate" in the screen.
Moreover, I have tried each step separately to open in SOFA. I could be able to see the mesh for Step 1, ForceField and Mass in Step 2, the stiff layer in Step 3, the boundary condition (constraint) in Step 4, but I would not see anything when I run the whole python code which is also mentioned in the Appendix of the tutorial for Pneunetgripper.
I got these errors:
The directory in which I have the pythons codes and sofa:
/home/sofa/src&build/
/home/Python_Sofa/PneunetGripper/details/pneunetgripper-tuto.pyscn
I will be appreciated if you help me to solve these issues.
Thank you,
Amir
Hello I recently want to use Soft Robots with camera plugin ( I have a Realsense D435) and I found an error in the code PointCloudProcessing.cpp, The following:
home/pasquale/sofa/src/applications/plugins/SoftRobots/src/SoftRobots/component/camera/PointCloudProcessing.cpp: In member function ‘void sofa::component::pointcloudprocessing::PointCloudProcessing::computeEffectorsDirection(pcl::PointCloud<pcl::PointXYZRGB>::Ptr&, pcl::PointCloud<pcl::Normal>::Ptr&)’:
/home/pasquale/sofa/src/applications/plugins/SoftRobots/src/SoftRobots/component/camera/PointCloudProcessing.cpp:272:53: error: declaration of ‘pcl::PointCloud<pcl::Normal>::Ptr cloud_normals’ shadows a parameter
272 | pcl::PointCloud<pcl::Normal>::Ptr cloud_normals (new pcl::PointCloud<pcl::Normal>);
| ^
/home/pasquale/sofa/src/applications/plugins/SoftRobots/src/SoftRobots/component/camera/PointCloudProcessing.cpp:246:146: warning: unused parameter ‘cloud_normals’ [-Wunused-parameter]
246 | YZRGB>::Ptr& robot_effectors, pcl::PointCloud<pcl::Normal>::Ptr& cloud_normals)
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~
In file included from /usr/include/eigen3/Eigen/Core:366,
from /usr/include/pcl-1.10/pcl/pcl_macros.h:75,
from /usr/include/pcl-1.10/pcl/point_types.h:42,
from /home/pasquale/sofa/src/applications/plugins/SoftRobots/src/SoftRobots/component/camera/PointCloudStreaming.h:34,
from /home/pasquale/sofa/src/applications/plugins/SoftRobots/src/SoftRobots/component/camera/PointCloudProcessing.h:28,
from /home/pasquale/sofa/src/applications/plugins/SoftRobots/src/SoftRobots/component/camera/PointCloudProcessing.cpp:25:
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h: In instantiation of ‘void Eigen::internal::call_assignment_no_alias(Dst&, const Src&, const Func&) [with Dst = Eigen::Matrix<double, 4, 4>; Src = Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 4, 4> >; Func = Eigen::internal::assign_op<double, float>]’:
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:804:27: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&, const Func&, typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::value), void*>::type) [with Dst = Eigen::Matrix<double, 4, 4>; Src = Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 4, 4> >; Func = Eigen::internal::assign_op<double, float>; typename Eigen::internal::enable_if<(! Eigen::internal::evaluator_assume_aliasing<Src>::value), void*>::type = void*]’
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:782:18: required from ‘void Eigen::internal::call_assignment(Dst&, const Src&) [with Dst = Eigen::Matrix<double, 4, 4>; Src = Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 4, 4> >]’
/usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:714:32: required from ‘Derived& Eigen::PlainObjectBase<Derived>::_set(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 4, 4> >; Derived = Eigen::Matrix<double, 4, 4>]’
/usr/include/eigen3/Eigen/src/Core/Matrix.h:225:24: required from ‘Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>& Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>::operator=(const Eigen::DenseBase<OtherDerived>&) [with OtherDerived = Eigen::CwiseNullaryOp<Eigen::internal::scalar_identity_op<float>, Eigen::Matrix<float, 4, 4> >; _Scalar = double; int _Rows = 4; int _Cols = 4; int _Options = 0; int _MaxRows = 4; int _MaxCols = 4]’
/home/pasquale/sofa/src/applications/plugins/SoftRobots/src/SoftRobots/component/camera/PointCloudProcessing.cpp:121:45: required from here
/usr/include/eigen3/Eigen/src/Core/AssignEvaluator.h:834:3: error: static assertion failed: YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY
834 | EIGEN_CHECK_BINARY_COMPATIBILIY(Func,typename ActualDstTypeCleaned::Scalar,typename Src::Scalar);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [applications/plugins/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:362: applications/plugins/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/camera/PointCloudProcessing.cpp.o] Errore 1
make[1]: *** [CMakeFiles/Makefile2:8932: applications/plugins/SoftRobots/CMakeFiles/SoftRobots.dir/all] Errore 2
make: *** [Makefile:163: all] Errore 2
How to resolve this issue?
Anyway, Want basically track my robot with a camera.... I am also buying the license of SoftRobot.Inverse plugin, the tracking is possible in the Inverse plugin or in this one?
Thanks in Advance
When clicking : Change the color of the cube, directly in the code
: console says js: Uncaught SyntaxError: Unexpected end of input
and nothing else happens.
Hi guys,
When I am trying to open Step 4-1 of Tripod Tutorial, there will be a warning in the terminal:
Terminal
and showing nothing in SOFA.(SOFA_interface)
After I added these plugins into the plugin-list, the warning disappeared while there was still nothing shown in SOFA.
(The same thing happens to Step 4-2 & Step 4-3 files)
Anyone have any ideas about how to fix this?
A lot of scenes from the SoftRobots plugin refer the SoftRobots.Inverse plugin through the RequiredPlugin
component. Yet, the SoftRobots.Inverse plugin depends on SoftRobots, but not the opposite.
Hi,
Are there SOFA experts here who are forced to stay at home and do not know what to do?
I was trying to create a simple to test some algorithms. I would like to create a model a beam using hexahedra model.
However, I am not able to use the "HexahedronFEMForceField" component properly.
Here is the error I get:
beam.createObject('HexahedronFEMForceField', youngModulus=yModulus, poissonRatio = pRatio, method="large")
gives the following error:
The object is in the factory but cannot be created.
Requested template: ()
Available templates: Vec3d,
when I add the template in the component call I get a slightly different error:
beam.createObject('HexahedronFEMForceField', template='Vec3d',youngModulus=yModulus, poissonRatio=pRatio, method="large")
RuntimeError: Unable to create 'HexahedronFEMForceField' of type 'HexahedronFEMForceField' in node 'beam'. Object type HexahedronFEMForceField<Vec3d> was not created
The object is in the factory but cannot be created.
Requested template: Vec3d(Vec3d)
Available templates: Vec3d,
What did I do wrong ?!
Thanks !
Maxime
Here is the complete scene :
from stlib.scene import MainHeader
totalMass=0.01
pRatio=0.3
yModulus=500
def createScene(rootNode):
MainHeader(rootNode, gravity=[0.0,-981.0,0.0])
rootNode.createObject('RequiredPlugin', pluginName='SoftRobots')
rootNode.createObject('RequiredPlugin', pluginName='SofaPython')
rootNode.createObject('RequiredPlugin', pluginName='SofaPreconditioner')
beam = rootNode.createChild('beam')
beam.createObject('EulerImplicitSolver', name="odesolver", rayleighStiffness=0.1, rayleighMass=0.1)
beam.createObject('ShewchukPCGLinearSolver', name='linearSolver',iterations=200, tolerance=1.0e-18, preconditioners="preconditioner")
beam.createObject('RegularGridTopology', name="SoftBeam", nx="6", ny="2", nz="2", min="0 0 0", max="1 0.2 0.2")
beam.createObject('HexahedronSetGeometryAlgorithms')
beam.createObject('HexahedronFEMForceField', template='Vec3d',youngModulus=yModulus, poissonRatio=pRatio, method="large")
beam.createObject('MechanicalObject', name="meca")
beam.createObject('DiagonalMass', totalMass=totalMass)
beam.createObject('SparseLDLSolver', name="preconditioner")
beam.createObject('LinearSolverConstraintCorrection', solverName="preconditioner")
beam.createObject('BoxROI', name="boxROI", box="-0.01 -0.01 -0.01 0.1 0.2 0.2", drawBoxes="true")
beam.createObject('RestShapeSpringsForceField', points='@boxROI.indices', stiffness='1e12')
beam.createObject('GenericConstraintCorrection', name='GCS', solverName='preconditioner')
return rootNode
Hi, When I try the tutorial on Windows, the "Try the scene in Sofa." in the doc browser doesn't work after clicking, but it works in Linux OS. My files are downloaded from https://github.com/SofaDefrost/RoboSoft2022.
The error information is below:
[INFO] [DocBrowser] query to load /C:xx/SOFA_robosoft2022_python-3.8_Windows/plugins/SoftRobots/docs/sofapython3/tutorials/Tripod/details/step5.py
[ERROR] [SofaPython3::SceneLoader] Unable to completely load the scene from file 'C:/xx/SOFA_robosoft2022_python-3.8_Windows/plugins/SoftRobots/docs/sofapython3/tutorials/Tripod/details/step5.py'.
Python exception:
ImportError: cannot import name 'mainheader' from 'stlib3.scene.mainheader' (C:\xx/SOFA_robosoft2022_python-3.8_Windows/plugins/STLIB/lib/python3/site-packages\stlib3\scene\mainheader.py)
At:
C:\xx/SOFA_robosoft2022_python-3.8_Windows/plugins/STLIB/lib/python3/site-packages\stlib3\scene_init_.py(4):
(219): _call_with_frames_removed
(848): exec_module
(686): _load_unlocked
(975): _find_and_load_unlocked
(991): _find_and_load
step5.py(7):
(219): _call_with_frames_removed
(848): exec_module
(686): _load_unlocked
(702): _load
C:\xx/AppData\Local\Programs\Python\Python38\Lib\imp.py(171): load_source
C:\xx/AppData\Local\Programs\Python\Python38\Lib\imp.py(234): load_module
(3):
Thanks for help in advance! @alxbilger @EulalieCoevoet @damienmarchal @ErwanDouaille
Hello all,
In the PneunetGripper tutorial, from step 3 and on, checking "Force Fields" and "Normals" views at the same time causes a crash in the software, unexpectedly closing.
Version: Sofa and Plugin 21.12 (also in the 22.06 RoboSoft version).
Can you reproduce such a behavior?
Hi everyone, I have installed the SOFA version 22.04 on Linux. I noticed that SOFA crashes when opening a scene directly from SOFA (file/open).
I attach the log file so that you can take a look at it and verify that all the needed plugins and libraries were loaded.
sofa_crash.log
Instead, if the same scene is opened by writing the file path as argument in the command windows it works. @hugtalbot @damienmarchal @fredroy
See :
SoftRobots/cmake/environment.cmake
Lines 13 to 16 in 7ed6914
the INSTALL_PREFIX should be set / forced only if built out of tree!
There is a problem with QPInverseProblemSolver when we set constraint only on lambda:
if(nbConstraints==0)
{
//only a bounded QP problem (without additional inequalities or equalities)
//From pqOASES manual: This special form can be exploited within the solution algorithm for speeding up
//the computation, typically by a factor of three to five.
QProblemB problem(nbVariables);
problem.init(Q, c, l, u, nWSR);
}
The constraints are not satisfied. It works only with the call of:
else
{
QProblem* problem = getNewQProblem(nWSR);
problem->init(Q, c, A, l, u, bl, bu, nWSR);
...
}
Christian used this QProblemB
to fix a problem, which one?
I open this issue as a reminder.
Hey. I noticed a strange dependence between the SurfacePressureConstraint and the simulator time step. I noticed this in one of my scenes and found that it affects the examples in this repo too.
The scene I used is a modified version of this example provided by the SoftRobots plugin.
The script has been edited to increase pressure from 0 to 4 (kpa?) over a ramp up period of 0.2 seconds.
The provided videos show the behavior of the stanford bunny under 3 different dt's: 0.01, 0.001, 0.0001.
I provided an additional video with dt=0.0001 which increases pressure more slowly (over a period of 1 second).
A zip file containing the modified script and the videos can be found here:
bunny_dependence_on_dt.zip
The videos show:
Note that the speed/length of the videos don't correspond with real time.
During the workshop it was noticed that the Cable based finger react in a weird way to the CTRL+ and -.
Test:
file:///home/dmarchal/Bureau/PREPARE/SOFA_v19.06.99_custom_Linux_v5.1/plugins/SoftRobots/docs/tutorials/CableGripper/details/step4.pyscn
Hi,
I looked into the engines implemented in the SoftRobots plugins and they probably are not correct.
The good news is that recently there was changes in sofa on how to/should engines be implemented to make that easier to detect and harder to make invalid code. The changes are breaking but this is a good opportunity to fix that in our plugins. And the doc has been updated:
https://www.sofa-framework.org/community/doc/programming-with-sofa/start-coding/create-your-engine/
The fix is here: #24
EDIT: As usual when I see repeated patterns in all source files, this always rings a bell I wonder...is this thing really useful ?
virtual std::string getTemplateName() const
{
return templateName(this);
}
static std::string templateName(const VolumeFromTriangles<DataTypes>* = nullptr)
{
return DataTypes::Name();
}
Hello @EulalieCoevoet ,
I'm trying to do the sofaRos tutorial but I got an error .
I compiled SOFA with SOFAPython3 and I use the rolling version of ros2.
when I run the test_sofaros.py file
with runSofa I have this error :
ModuleNotFoundError: No module named 'rclpy._rclpy_pybind11'
The C extension '/opt/ros/rolling/lib/python3.8/site-packages/_rclpy_pybind11.cpython-39-x86_64-linux-gnu.so' isn't present on the system. Please refer to 'https://index.ros.org/doc/ros2/Troubleshooting/Installation-Troubleshooting/#import-failing-without-library-present-on-the-system' for possible solutions
Which is normal because sofaPython3 uses python3.9 and ros2 uses python3.8 which causes the import error due to version incompatibility
The problem is that I can't compile sofa with sofaPython3 using python3.8
Can you help me please?
Hello, I'm trying to install SoftRobots but I can't get pass this error :
/usr/bin/ld: cannot find -lSofaCommon collect2: error: ld returned 1 exit status external_directories/SoftRobots/tests/CMakeFiles/SoftRobots_test.dir/build.make:328: recipe for target 'bin/SoftRobots_test' failed make[2]: *** [bin/SoftRobots_test] Error 1 CMakeFiles/Makefile2:12297: recipe for target 'external_directories/SoftRobots/tests/CMakeFiles/SoftRobots_test.dir/all' failed make[1]: *** [external_directories/SoftRobots/tests/CMakeFiles/SoftRobots_test.dir/all] Error 2 Makefile:162: recipe for target 'all' failed make: *** [all] Error 2
I did try to use SOFA/SoftRobots from your binaries and it works, so I guess something's wrong with the way I'm building it ?
Hello,
I am trying to run the example pneunetgripper-tuto.py , by copying the final SOFA scene simulation of the soft pneumatic Gripper from the Appendix at pneunetgripper-tuto.md. However, when running with "runSofa -l path/to//libSofaPython3.so ./pneunetgripper-tuto.py" I get the following error:
[ERROR] [SofaPython3::SceneLoader] Unable to completely load the scene from file './pneunetgripper-tuto.py'.
Python exception:
ValueError: Object type PythonScriptController<> was not created
The object 'PythonScriptController' is not in the factory.
But the following exits:
: SutureController (63% match)
: DataController (61% match)
Can you please help me?
Hi,
I went through the tutorials of the SoftRobots examples, but I still need help figuring out how the inverse control works. The inverse controller used a solver called 'QPInverseSolver,' but I found limited docs about how the solver works and how to use this solver in a SOFA scene file. Do you guys have any ideas about how the inverse control works, and what can I refer to get a deeper understanding of the QPInverseSolver?
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/constraint/model/PositionModel.h:30,
from ../src/SoftRobots/component/constraint/model/PositionModel.inl:33,
from ../src/SoftRobots/component/constraint/model/PositionModel.cpp:29:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/constraint/UnilateralPlaneConstraint.h:36,
from ../src/SoftRobots/component/constraint/UnilateralPlaneConstraint.inl:33,
from ../src/SoftRobots/component/constraint/UnilateralPlaneConstraint.cpp:29:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/constraint/model/CableModel.h:31,
from ../src/SoftRobots/component/constraint/CableConstraint.h:33,
from ../src/SoftRobots/component/constraint/CableConstraint.inl:30,
from ../src/SoftRobots/component/constraint/CableConstraint.cpp:30:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/constraint/model/CableModel.h:31,
from ../src/SoftRobots/component/constraint/model/CableModel.inl:33,
from ../src/SoftRobots/component/constraint/model/CableModel.cpp:30:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/constraint/model/SurfacePressureModel.h:33,
from ../src/SoftRobots/component/constraint/SurfacePressureConstraint.h:33,
from ../src/SoftRobots/component/constraint/SurfacePressureConstraint.inl:30,
from ../src/SoftRobots/component/constraint/SurfacePressureConstraint.cpp:29:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/constraint/model/SurfacePressureModel.h:33,
from ../src/SoftRobots/component/constraint/model/SurfacePressureModel.inl:34,
from ../src/SoftRobots/component/constraint/model/SurfacePressureModel.cpp:31:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.inl:33,
from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.cpp:30:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.cpp:30:
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.inl: In instantiation of ‘void softrobots::forcefield::PREquivalentStiffnessForceField::init() [with DataTypes = sofa::defaulttype::StdRigidTypes<3, double>]’:
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.cpp:39:36: required from here
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.inl:119:17: warning: ignoring return value of ‘constexpr bool sofa::type::Mat<L, C, Real>::invert(const sofa::type::Mat<L, C, Real>&) [with unsigned int NbLine = 6; unsigned int NbColumn = 6; = void; unsigned int L = 6; unsigned int C = 6; real = double]’, declared with attribute nodiscard [-Wunused-result]
119 | m_CInv[n].invert(m_complianceMat[n]);
| ^~~~~~
In file included from ../framework/DefaultType/src/sofa/defaulttype/typeinfo/TypeInfo_Mat.h:25,
from ../framework/DefaultType/src/sofa/defaulttype/DataTypeInfo.h:35,
from ../framework/Core/src/sofa/core/objectmodel/BaseData.h:25,
from ../framework/Core/src/sofa/core/objectmodel/Data.h:25,
from ../framework/Core/src/sofa/core/objectmodel/Base.h:25,
from ../framework/Core/src/sofa/core/objectmodel/BaseContext.h:25,
from ../framework/Core/src/sofa/core/objectmodel/BaseObject.h:24,
from ../framework/Core/src/sofa/core/behavior/StateAccessor.h:26,
from ../framework/Core/src/sofa/core/behavior/BaseForceField.h:26,
from ../framework/Core/src/sofa/core/behavior/ForceField.h:25,
from ../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.h:31,
from ../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.inl:30,
from ../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.cpp:30:
../framework/Type/src/sofa/type/Mat.h:695:34: note: declared here
695 | [[nodiscard]] constexpr bool invert(const Mat<L,C,real>& m)
| ^~~~~~
In file included from ../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.cpp:30:
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.inl: In instantiation of ‘void softrobots::forcefield::PREquivalentStiffnessForceField::addKToMatrix(sofa::linearalgebra::BaseMatrix*, double, unsigned int&) [with DataTypes = sofa::defaulttype::StdRigidTypes<3, double>]’:
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.cpp:39:36: required from here
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.inl:346:22: error: ‘softrobots::forcefield::PREquivalentStiffnessForceField<sofa::defaulttype::StdRigidTypes<3, double> >::CSRMatB66’ {aka ‘class sofa::linearalgebra::CompressedRowSparseMatrix<sofa::type::Mat<6, 6, double> >’} has no member named ‘wblock’; did you mean ‘wbloc’?
346 | *csrMat->wblock(n, n, true) += block * kFact;
| ~~~~~~~~^~~~~~
| wbloc
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.inl:349:22: error: ‘softrobots::forcefield::PREquivalentStiffnessForceField<sofa::defaulttype::StdRigidTypes<3, double> >::CSRMatB66’ {aka ‘class sofa::linearalgebra::CompressedRowSparseMatrix<sofa::type::Mat<6, 6, double> >’} has no member named ‘wblock’; did you mean ‘wbloc’?
349 | *csrMat->wblock(n, n + 1, true) += block * kFact;
| ~~~~~~~~^~~~~~
| wbloc
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.inl:352:22: error: ‘softrobots::forcefield::PREquivalentStiffnessForceField<sofa::defaulttype::StdRigidTypes<3, double> >::CSRMatB66’ {aka ‘class sofa::linearalgebra::CompressedRowSparseMatrix<sofa::type::Mat<6, 6, double> >’} has no member named ‘wblock’; did you mean ‘wbloc’?
352 | *csrMat->wblock(n + 1, n, true) += block * kFact;
| ~~~~~~~~^~~~~~
| wbloc
../src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.inl:355:22: error: ‘softrobots::forcefield::PREquivalentStiffnessForceField<sofa::defaulttype::StdRigidTypes<3, double> >::CSRMatB66’ {aka ‘class sofa::linearalgebra::CompressedRowSparseMatrix<sofa::type::Mat<6, 6, double> >’} has no member named ‘wblock’; did you mean ‘wbloc’?
355 | *csrMat->wblock(n + 1, n + 1, true) += block * kFact;
| ~~~~~~~~^~~~~~
| wbloc
In file included from ../src/SoftRobots/component/constraint/model/CableModel.cpp:30:
../src/SoftRobots/component/constraint/model/CableModel.inl: In instantiation of ‘SReal softrobots::constraint::CableModel::getDistanceToTriangle(const Coord&, const Triangle&, softrobots::constraint::CableModel::Coord&) [with DataTypes = sofa::defaulttype::StdVectorTypes<sofa::type::Vec<3, double>, sofa::type::Vec<3, double>, double>; SReal = double; softrobots::constraint::CableModel::Coord = sofa::type::Vec<3, double>; softrobots::constraint::CableModel::Triangle = sofa::topology::Elementsofa::geometry::Triangle]’:
../src/SoftRobots/component/constraint/model/CableModel.cpp:40:36: required from here
../src/SoftRobots/component/constraint/model/CableModel.inl:562:16: warning: unused variable ‘r’ [-Wunused-variable]
562 | const bool r = sofa::geometry::proximity::computeClosestPointOnTriangleToPoint(Vec3(p0), Vec3(p1), Vec3(p2), Vec3(position), projection);
| ^
../src/SoftRobots/component/constraint/model/CableModel.inl: In instantiation of ‘SReal softrobots::constraint::CableModel::getDistanceToTriangle(const Coord&, const Triangle&, softrobots::constraint::CableModel::Coord&) [with DataTypes = sofa::defaulttype::StdVectorTypes<sofa::type::Vec<2, double>, sofa::type::Vec<2, double>, double>; SReal = double; softrobots::constraint::CableModel::Coord = sofa::type::Vec<2, double>; softrobots::constraint::CableModel::Triangle = sofa::topology::Elementsofa::geometry::Triangle]’:
../src/SoftRobots/component/constraint/model/CableModel.cpp:41:36: required from here
../src/SoftRobots/component/constraint/model/CableModel.inl:562:16: warning: unused variable ‘r’ [-Wunused-variable]
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:154: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/constraint/UnilateralPlaneConstraint.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:141: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/constraint/SurfacePressureConstraint.cpp.o] Error 1
In file included from ../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.cpp:28:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/constraint/model/AffineFunctionModel.h:33,
from ../src/SoftRobots/component/constraint/model/AffineFunctionModel.inl:30,
from ../src/SoftRobots/component/constraint/model/AffineFunctionModel.cpp:32:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../src/SoftRobots/component/behavior/SoftRobotsConstraint.h:32,
from ../src/SoftRobots/component/constraint/model/PositionModel.h:30,
from ../src/SoftRobots/component/constraint/PositionConstraint.h:33,
from ../src/SoftRobots/component/constraint/PositionConstraint.inl:30,
from ../src/SoftRobots/component/constraint/PositionConstraint.cpp:30:
../src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.h:125:45: error: ‘virtual sofa::type::vector<std::__cxx11::basic_string > softrobots::behavior::SoftRobotsBaseConstraint::getBaseConstraintIdentifiers()’ marked ‘override’, but does not override
125 | virtual sofa::type::vectorstd::string getBaseConstraintIdentifiers() override final
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:76: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/behavior/SoftRobotsBaseConstraint.cpp.o] Error 1
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:206: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/constraint/model/SurfacePressureModel.cpp.o] Error 1
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:102: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/constraint/CableConstraint.cpp.o] Error 1
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:310: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/forcefield/PREquivalentStiffnessForceField.cpp.o] Error 1
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:89: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/behavior/SoftRobotsConstraint.cpp.o] Error 1
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:193: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/constraint/model/PositionModel.cpp.o] Error 1
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:167: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/constraint/model/AffineFunctionModel.cpp.o] Error 1
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:128: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/constraint/PositionConstraint.cpp.o] Error 1
make[2]: *** [external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/build.make:180: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/src/SoftRobots/component/constraint/model/CableModel.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:14145: external_directories/SoftRobots/CMakeFiles/SoftRobots.dir/all] Error 2
make: *** [Makefile:152: all] Error 2
File to open: docs/sofapython3/tutorials/FirstSteps/firststeps-tuto.py
The error is:
[ERROR] [OglModel(unnamed)] Source object "@loader" NOT FOUND.
[ERROR] [SofaPython3::SceneLoader] Unable to completely load the scene from file 'docs\sofapython3\tutorials\FirstSteps\firststeps-tuto.py'.
Python exception:
ValueError: 4:Source object "@loader" NOT FOUND.
It seems that the OglModel defined in visualmodel.py from STLIB cannot be created from a loader.
Hey everyone,
Background:
I'm new to SOFA and soft robotics, so in case this issue is a result of my naivete I apologize.
I followed through the tutorial for a pneunet gripper from this repository link and got it working. Using the provided script as reference, I made a new model of an LSOVA, similar to one shown in documentation here.
Mesh generation:
Body: I've designed the meshes using FreeCAD and GMSH as shown in this tutorial.
Cavity: After generating the body mesh in FreeCAD, I split it into components using the mesh split tool, which gave me two components: the outer mesh and the inner cavity. I exported only the cavity as an STL file.
I put this into GMSH and got a .msh file.
Issue:
I've tried to simulate the script from the tutorials, modifying the sources of meshes, removing the stiff layer that's specific to the pneunet, and modifying the boundary condition. Apart from these, no changes regarding structure of the code is made.
When SurfacePressureConstraint is initialized for the cavity, it loads as long as the value parameter is set to 0.
When I try to increase or decrease the pressure the mesh immediately implodes.
I am unsure of why this is happening and any help/guidance would be greatly appreciated.
My meshes and code is linked here , specifically sim2.py and LSOVAs directory.
Thank you so much for the help
missing a 's' after constraint in step 2 code example :
from stlib.physics.constraint import FixedBox
@guparan @ErwanDouaille @alxbilger @hugtalbot @damienmarchal @EulalieCoevoet
Hello guys,
This issue is similar to some of the others listed in this session. However, this is happening in the newest versions.
SOFA 23.06.00 and 22.12.00 in Ubuntu.
When we try to open some specific scenes, even from the tutorial like step7-grabTheCube from PneunetGripper it crashes. Like this:
This is the output:
########## SIG 11 - SIGSEGV: segfault ##########
sofa::helper::BackTrace::sig(int)
sofa::gl::component::rendering3d::OglModel::drawGroup(int, bool)
sofa::gl::component::rendering3d::OglModel::internalDraw(sofa::core::visual::VisualParams const*, bool)
sofa::simulation::VisualDrawVisitor::processVisualModel(sofa::simulation::Node*, sofa::core::visual::VisualModel*)
sofa::simulation::VisualVisitor::processNodeTopDown(sofa::simulation::Node*)
sofa::simulation::VisualDrawVisitor::processNodeTopDown(sofa::simulation::Node*)
sofa::simulation::graph::DAGNode::executeVisitorTreeTraversal(sofa::simulation::Visitor*, std::map<sofa::simulation::graph::DAGNode*, sofa::simulation::graph::DAGNode::StatusStruct, std::lesssofa::simulation::graph::DAGNode*, std::allocator<std::pair<sofa::simulation::graph::DAGNode* const, sofa::simulation::graph::DAGNode::StatusStruct> > >&, sofa::simulation::Visitor::TreeTraversalRepetition, bool)
sofa::simulation::graph::DAGNode::executeVisitorTreeTraversal(sofa::simulation::Visitor*, std::map<sofa::simulation::graph::DAGNode*, sofa::simulation::graph::DAGNode::StatusStruct, std::lesssofa::simulation::graph::DAGNode*, std::allocator<std::pair<sofa::simulation::graph::DAGNode* const, sofa::simulation::graph::DAGNode::StatusStruct> > >&, sofa::simulation::Visitor::TreeTraversalRepetition, bool)
sofa::simulation::graph::DAGNode::doExecuteVisitor(sofa::simulation::Visitor*, bool)
sofa::simulation::DefaultVisualManagerLoop::drawStep(sofa::core::visual::VisualParams*)
sofa::simulation::Simulation::draw(sofa::core::visual::VisualParams*, sofa::simulation::Node*)
sofa::gui::qt::viewer::qgl::QtGLViewer::DisplayOBJs()
sofa::gui::qt::viewer::qgl::QtGLViewer::drawScene()
sofa::gui::qt::viewer::qgl::QtGLViewer::draw()
QGLViewer::paintGL()
QWidget::event(QEvent*)
QApplicationPrivate::notify_helper(QObject*, QEvent*)
QApplication::notify(QObject*, QEvent*)
QCoreApplication::notifyInternal2(QObject*, QEvent*)
QWidgetPrivate::sendPaintEvent(QRegion const&)
QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*)
QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*)
QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*)
QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*)
QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*)
QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, int, QPainter*, QWidgetBackingStore*)
QWidgetPrivate::syncBackingStore()
QWidget::event(QEvent*)
QMainWindow::event(QEvent*)
QApplicationPrivate::notify_helper(QObject*, QEvent*)
QApplication::notify(QObject*, QEvent*)
QCoreApplication::notifyInternal2(QObject*, QEvent*)
QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)
g_main_context_dispatch
g_main_context_iteration
QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag)
QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag)
QCoreApplication::exec()
sofa::gui::qt::RealGUI::mainLoop()
sofa::gui::common::GUIManager::MainLoop(boost::intrusive_ptrsofa::simulation::Node, char const*)
__libc_start_main
Segmentation fault (core dumped)
Hi,
I tried to use source code to install SOFA and SoftRobots plugin on Mac OS 10.15.4.
I got the unstable version of SOFA by git clone -b master https://github.com/sofa-framework/sofa.git sofa/master/src/
I also got one version from git clone https://github.com/SofaDefrost/SoftRobots
, but when I configured it in CMake GUI, it always reported the error as below.
Then I download the Plugin SoftRobots 17.12 version instead. The 17.12 version of SoftRobot configured well then I generated the whole file.
However, when I tried to build it and after a long wait, it reports errors as below. The screenshot is not complete but other errors are similar to these.
It seems that there's something wrong with the softrobots plugin in the source code. I am not sure what caused this problem. Is it because the versions of SOFA and SoftRobots Plugin are not compatible? Has anyone met this before? How can I solve this problem?
Thank you!
Hi, I've been trying to run the first steps tutorial, and after of days of trying to install sofa/other installations required in the right places, I finally managed to open the first steps tutorial yesterday. However, after editing, I saved and reloaded the page, but nothing happened. I shut it down and for some reason everything glitched out. I've reinstalled sofa and the soft robotics plugin, and now when I right lick on DefaultVisualManagerLoop, a pop up appears for a split second then disappears. I've reinstalled python 2.7, I'm just completely lost on what to do next/ what's going wrong, is this something anyone has experienced before? Any help would be greatly appreciated, thanks!
Hi guys,
Recently I am trying to load the tutorial of Tripod in SOFA, while every files will have a problem like this:
[ERROR] [SofaPython3::SceneLoader] Unable to completely load the scene from file 'C:/Users/comid/SoftRobots-master/examples/tutorials/Tripod/myproject/step1.py'.
Python exception:
ModuleNotFoundError: No module named 'stlib3'
At:
C:\Users\comid\SoftRobots-master\examples\tutorials\Tripod\myproject\step1.py(8):
(219): _call_with_frames_removed
(848): exec_module
(6):
I have added the plugins of SoftRobot, SoftRobot_Inverse and STLIB. And I have added their path to the system variable SOFA_EXTERNAL_DIRECTORIES.
I think the reason why I can't compile the scene might be I missed some steps in loading the plugins. Do you have any ideas?
Hey everyone!
I am trying to run the Sofa ROS example, using version 20.12.01 downloaded from the SOFA website, as explained here
https://github.com/SofaDefrost/SoftRobots/tree/d063e9cbbd883b79210b6cece706916faa409997/docs/examples/sofaros
However I am getting the following error and I do not know how to resolve it:
Am I missing something?
Any help is highly appreciated! Let me know if you need more information.
Best regards and many thanks in advance,
Tori
Should the branch named master-3 be removed?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.