You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Good afternoon,
I am currently struggling to link 2 modules of my soft pneumatic actuator together. Each module is actuated by a SurfacePressureConstraint. The second module is a child of the first one. When I apply BarycentricMapping to the second module, it follows the first one, but the PressureConstraints on the second one do not work anymore.
So I tried to define a BoxROI to select the upper part of the second module that is meant to be linked with the first module, with the following "add_top_box" function. However, when applying BarycentricMapping on the "bellows_sub_topology" node (which is a child of the second module, namely self.FEM_model), the second module still does not follow the first one, nor does the selected area contained in the box. I guess the BarycentricMapping may only work when added to the node that also has the TetrahedronFEMForceField? If that is the case, how may I solve my issue, since I can't directly put it there, as it should not be applied to the entire module because it is blocking the pressure constraints from working?
Would it please be possible to give me some insights on why this approach is not working? Thank you so much for your help!!
def add_top_box(self):
# TODO remove magic numbers! Here 7 is the length of the top, fixed part of the bellow.
# -14.2 is the position of the extremity of the first bellow on y axis
module_top = -14.2
translation = [float(i.replace(",",".")) for i in self.translation.split()][1]
self.FEM_model.addObject('BoxROI', name='box_ROI_top'+self.id,
box=[-25, module_top+translation, -25, 25, module_top+translation+7, 25],
strict=False,
drawBoxes=True)
# Add a node for the upper part of the bellows, defined by a bounding box,
# and select the tetrahedras corresponding to this box
self.bellows_sub_topology = self.FEM_model.addChild('bellowsSubTopo'+self.id)
self.bellows_sub_topology.addObject('MechanicalObject', name='tetras_top2', template='Vec3d',
showObject=True, showObjectScale=1)
self.bellows_sub_topology.addObject('MeshTopology', position='@box_ROI_top'+self.id+'.position',
tetrahedra='@box_ROI_top'+self.id+'.tetrahedraInROI', name='container_top'+self.id,
drawEdges=True)
self.bellows_sub_topology.addObject('BarycentricMapping')
I also saw that I could potentially use AttachConstraint but I don't know how to select the indices, or how to obtain them?
Thank you so much again
Could you share a full scene please ?
You aim at connecting the two parts of your robot which can each of them be actuated pneumatically, is this correct ?
⚠️⚠️⚠️ @japhten Feedback has been given to you by the project reviewers, however we have not received a response from you. Without further news in the coming weeks, this discussion will be automatically closed in order to keep this forum clean and fresh 🌱 Thank you for your understanding
⚠️⚠️⚠️ @japhten In accordance with our forum management policy, the last reply is more than 4 months old and is therefore closed. Our objective is to keep the forum up to date and offer the best support experience.
Please feel free to reopen it if the topic is still active by providing us with an update. Please feel free to open a new thread at any time - we'll be happy to help where and when we can.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Good afternoon,
I am currently struggling to link 2 modules of my soft pneumatic actuator together. Each module is actuated by a SurfacePressureConstraint. The second module is a child of the first one. When I apply BarycentricMapping to the second module, it follows the first one, but the PressureConstraints on the second one do not work anymore.
So I tried to define a BoxROI to select the upper part of the second module that is meant to be linked with the first module, with the following "add_top_box" function. However, when applying BarycentricMapping on the "bellows_sub_topology" node (which is a child of the second module, namely self.FEM_model), the second module still does not follow the first one, nor does the selected area contained in the box. I guess the BarycentricMapping may only work when added to the node that also has the TetrahedronFEMForceField? If that is the case, how may I solve my issue, since I can't directly put it there, as it should not be applied to the entire module because it is blocking the pressure constraints from working?
Would it please be possible to give me some insights on why this approach is not working? Thank you so much for your help!!
I also saw that I could potentially use AttachConstraint but I don't know how to select the indices, or how to obtain them?
Thank you so much again
All reactions