Obi Official Forum

Full Version: How to make dynamic particle attachment tighter?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have a moving robot attached to a tether. The tether should constrain the movement of the robot. The physics are working pretty well, but visually, the tether always separates far from the robot.

Video: https://gfycat.com/singleaccomplishedangelfish

I tried things like changing the pin-constrain, mass of the rope/rod, but nothing seem to have a serious effect.

Please let me know if you have any suggestions that i should try. The goal is to simulate a pretty rigid tether that doesn't stretch much.
Thanks in advance!
(07-12-2022, 02:24 PM)azazdeaz Wrote: [ -> ]I have a moving robot attached to a tether. The tether should constrain the movement of the robot. The physics are working pretty well, but visually, the tether always separates far from the robot.

Video: https://gfycat.com/singleaccomplishedangelfish

I tried things like changing the pin-constrain, mass of the rope/rod, but nothing seem to have a serious effect.

Please let me know if you have any suggestions that i should try. The goal is to simulate a pretty rigid tether that doesn't stretch much.
Thanks in advance!

Hi,

Is the robot a non-kinematic rigidbody, and are you using a dynamic attachment (as opposed to a static one)? Otherwise, the rope can't apply any forces to it.
Also make sure that the mass of the robot is not extremely large compared to that of the rope, as that will make the rope struggle to constrain the robot.


Sorry, disregard the above instructions: the robot does seem affected by the rope, but only to a very small extent. I would check if your pin constraint's relaxation factor is lower than 1, as that will only apply a percentage of the constraint. It needs to be 1 or slightly larger than 1. You can find this setting under the solver's Constraints foldout.

Also, make sure the attachment's compliance is zero. Any value larger than zero will make the attachment elastic.

If neither suggestion fixes the issue, would need more information about how your robot is setup to diagnose this.

kind regards,
Thank you for the answer!

I think i figured it out while i was collecting more info (as usual Gran sonrisa )
The scene structure in short:
 - The robot is made of ArticulationBodies (~100 mass)
 - A simple RigidBody box is attached to the robot with a FixedJoint (1 mass)
 - The Obi Rope particle is attached to the RigidBody

I guess what's happening is (please correct me if i'm wrong) that in each update, first the rope pulls the RigidBody in place, and then because the robot is much heavier than the RigidBody, the FixedJoint pulls back the RigidBody to the robot and only applies minimal force on the robot. Changing the MassScale/ConnectedMassScale settings of the FixedJoint seems to solve the issue.
(08-12-2022, 12:25 PM)azazdeaz Wrote: [ -> ]Thank you for the answer!

I think i figured it out while i was collecting more info (as usual Gran sonrisa )
The scene structure in short:
 - The robot is made of ArticulationBodies (~100 mass)
 - A simple RigidBody box is attached to the robot with a FixedJoint (1 mass)
 - The Obi Rope particle is attached to the RigidBody

I guess what's happening is (please correct me if i'm wrong) that in each update, first the rope pulls the RigidBody in place, and then because the robot is much heavier than the RigidBody, the FixedJoint pulls back the RigidBody to the robot and only applies minimal force on the robot. Changing the MassScale/ConnectedMassScale settings of the FixedJoint seems to solve the issue.

Hi!

Yes, your findings make sense. If the rope is acting on a rigidbody and the rigidbody is much lighter than the robot, the fixed joint will pull the rigidbody towards the robot (instead of both towards each other or the robot towards the rigidbody, which woild be the outcome for equal mass and heavier rigidbody respectively) so very little of the force applied by the rope on the rigidbody will affect the robot.