Static and Dynamic definitions of interacting parts

Typically: "How do I... ", "How can I... " questions
nadeenelhadad
Posts: 13
Joined: 28 Feb 2025, 06:37

Static and Dynamic definitions of interacting parts

Post by nadeenelhadad »

Hello!

I recently found this paper that uses CoppeliaSim4.1 for a peg-in-hole disassembly process: https://ieeexplore.ieee.org/document/10711804
And it brought me back to the same question. Since they also don't use a gripper, which means the peg is directly connected to the robot arm (UR5), with what I assume to be a static hole as well. Is there any way that this setting (static peg because the robot arm has to be static(from my understanding) with a static hole, where the motions are generated from an external python code) be able to generate contact information between the peg and the hole?

Thank you!

coppelia
Site Admin
Posts: 10713
Joined: 14 Dec 2012, 00:25

Re: Static and Dynamic definitions of interacting parts

Post by coppelia »

Hello,

static-on-static body will not generate a collision response (nor collisions detected by the physics engine). But you can still detect collision between both bodies.

If you want the physics engine to return collision response information (collision points + force vectors), one of the involved bodies needs to be non-static.

Why does the robot arm need to be static? It does not. You can however have the hole static, the robot static as well, but have the peg non-static and attached via a force sensor to the end-effector of the static robot arm

Cheers

nadeenelhadad
Posts: 13
Joined: 28 Feb 2025, 06:37

Re: Static and Dynamic definitions of interacting parts

Post by nadeenelhadad »

Hi! Thanks for getting back to me!

I do want the physics engine to return collision response information. But for some reason, when I make the peg static, it detaches from the robot arm. Below I tried to make two scenes: one where the peg is connected to the robot arm via a force sensor and another where the robot arm is also dynamic with the peg.

I'm not sure what I'm doing wrong exactly but in both cases, the peg is somewhat detached from the rest of the assembly in both cases.

When I made the robot arm dynamic in earlier attempts, it would fall apart. I'm not too familiar with the static/dynamic descriptions of different parts inside the robot arm, but when I changed a little with the respondability check boxes, it's not falling apart anymore. Although I still get a warning that a static part is attached on a dynamic part and that this might generate odd dynamics (I'm assuming the static parts are the robot arm links themselves?)

In this link, I attached both scenes I'm referencing. Please help.

https://drive.google.com/drive/folders/ ... sp=sharing

coppelia
Site Admin
Posts: 10713
Joined: 14 Dec 2012, 00:25

Re: Static and Dynamic definitions of interacting parts

Post by coppelia »

If things fall apart, then it means that you haven't respected the assembly rules. Make sure to carefully read this page.

Cheers

nadeenelhadad
Posts: 13
Joined: 28 Feb 2025, 06:37

Re: Static and Dynamic definitions of interacting parts

Post by nadeenelhadad »

But I'm just using the KUKA model that's inside coppeliasim itself. I'm not making an assembly from scratch.

-And what about the force sensor-peg situation?

coppelia
Site Admin
Posts: 10713
Joined: 14 Dec 2012, 00:25

Re: Static and Dynamic definitions of interacting parts

Post by coppelia »

Then please describe each step precisely, so that I can reproduce things falling apart with the Kuka robot (please specify each step, what robot model, what item is attached, and where, how you attach it, etc.)

Cheers

nadeenelhadad
Posts: 13
Joined: 28 Feb 2025, 06:37

Re: Static and Dynamic definitions of interacting parts

Post by nadeenelhadad »

I've uploaded the files in this link: https://drive.google.com/drive/folders/ ... sp=sharing
But for the Dynamic Robot Arm attempt file, I'm using KUKA LBR iiwa (set to dynamic). Attached to its "connection point" (using parent/child relationships) is a cylinderical peg (also set to dynamic). The IK should lead the peg to the center of a hole part (set to static).

This setting is used as a reinforcement learning environment where the robot learns to disassemble the peg from the hole.

coppelia
Site Admin
Posts: 10713
Joined: 14 Dec 2012, 00:25

Re: Static and Dynamic definitions of interacting parts

Post by coppelia »

Your robot is immediately jumping to a specific pose/configuration. Not sure what the purpose is, but it is not realistic.
But things do not fall apart...
And a script error is generated.

nadeenelhadad
Posts: 13
Joined: 28 Feb 2025, 06:37

Re: Static and Dynamic definitions of interacting parts

Post by nadeenelhadad »

When I run it, I don't get a script error. Assuming we run it on different coppeliasim versions, can that be the reason? I'm working with 4.1 (I can't currently upgrade for application reasons)
It jumps to a specific place, I wanted the peg to start inside the hole initially so that it can be disassembled (using an external python code). So I'm using IK to start inside the hole. Is that not optimal?

Things don't fall apart in this exact scene, no, because like I said I changed a bit in the respondibility check boxes

nadeenelhadad
Posts: 13
Joined: 28 Feb 2025, 06:37

Re: Static and Dynamic definitions of interacting parts

Post by nadeenelhadad »

For example, making the peg static in this scene makes it completely detach from the robot arm once the scene is run:

https://drive.google.com/file/d/1ycIElp ... sp=sharing

Post Reply