How to reduce joint distance after simulation start?

asked 2016-11-09 11:59:57 -0600

imlearning gravatar image

I am currently creating a model as a .sdf which will respond to gravity. (No plugins or control at this point)

I have a joint between two links in separate models (joint type and parent/child relationship can be varied). In order to build the model more easily, I need to begin with a distance between the two links. However, once the simulation begins, I would like this distance to be removed so that there is contact between the two objects.*

Is there a way to adjust the joint length from the initial state?

I am not sure if some combination of CFM/ ERP would apply here since I am starting with a separation versus joint error.

*One of the models is not rigid, but is built as if rigid until the simulation starts. The length of the model in this form is longer than the distance between the two points which it is to be constrained by. Once the simulation begins, the goal is for the flexible model to "hang" between these two points. I am attempting to adapt the joint offset so that the model does not need to be positioned in its flexible state prior to simulation.

edit retag flag offensive close merge delete

Comments

I might be misunderstanding your use case, but maybe you can use a prismatic joint to simulate the changing offset?

chapulina gravatar imagechapulina ( 2016-11-09 12:55:22 -0600 )edit

It would be preferable not to have to add a control for the solution (if there's any "automatic" solution I could initiate instead by varying initial parameters). This way I could use a ball joint, etc. However, this is a great idea and will be my backup plan.

imlearning gravatar imageimlearning ( 2016-11-09 13:24:05 -0600 )edit

Actually, do the prismatic joint parameters allow the needed "correction" to happen automatically? (Do you have some recommended settings if so?)

imlearning gravatar imageimlearning ( 2016-11-09 13:25:24 -0600 )edit

You could make the joint springy and dampy? https://sdformat.org/spec?ver=1.6&elem=joint#axis_dynamics

chapulina gravatar imagechapulina ( 2016-11-09 13:30:48 -0600 )edit

I am still having a problem getting the joint to move into, what I presume is, the negative lower limits. Regardless of what I specify the lower limit to be, it seems the link always returns to a distance equivalent to the starting distance. (I am trying various combinations of frame references, joint limits, and other parameters. Will vary dynamics more next, but I am not sure if I can get it closer together than the initial position this way)

imlearning gravatar imageimlearning ( 2016-11-09 16:30:58 -0600 )edit