Break the link of component starts following another component's rotation

Hello everyone,

I am facing a strange issue in Visual Components and would appreciate some help.

I have a robot pick-and-place task where a 2-finger gripper picks a bearing and places it onto a 3 finger spindle. After placement, the bearing should remain fixed while the spindle rotates and that’s how it has been programmed.

But it behaves differently:

  • When the spindle rotates, the bearing also starts rotating.
  • Initially, I thought it was caused by physical contact between the spindle and bearing.
  • I moved the spindle along the Z-axis so that there is a visible gap between the spindle and bearing.
  • Even without any contact, the bearing still rotates when the spindle rotates.

Things I have already checked/tried:

  • Collision settings
  • Fixing/locking the bearing after placement
  • Constraints/joints
  • Physics settings
  • Component hierarchy/attachments
  • Checking for hidden interactions

Has anyone experienced a similar issue where a component starts following another component’s rotation even without physical contact?

Any suggestions on where else I should look (references, frames, nodes, behaviors, hidden links, etc.) would be greatly appreciated.

Thank you.

Is the 3-finger spindle a standard component or something you modelled? If the product starts rotating along with the spindle, then the component container must be located under the moving link. Move the container under the root of the component.

Hi Hans,

Thanks for your quick reply. Appreciate it.

The 3 finger spindle is not a standard component and it was modelled.

In my case, the setup is a little different. The bearing is not initially inside the spindle or its Component Container. It is picked by the robot from another location using Grasp, then dynamically placed on top of the spindle during the simulation using Release.

The issue is that after the bearing is placed, it starts rotating together with the spindle. Since the placement happens dynamically, I am trying to understand what causes the bearing to become associated with the spindle at that point.

Could the bearing be getting automatically attached to the spindle or its Component Container during the release operation? If so, where should I look to prevent that attachment so the bearing remains independent after placement?

Thanks

Sounds like exactly how robot grasp/release normally works. Since you are placing the bearing onto a moving spindle, the robot detects that part while releasing and so the product is attached to the spindle.

The exact point where the product is released is defined under Actions Configuration, under the robot properties - more specifically it’s the Gravity direction that defines it.

Check out this lesson here that explains how it works:
https://academy.visualcomponents.com/lessons/how-to-use-gravity-direction/

Does the spindle have some sort of base or body that is not moving? If yes, then you can try increasing the gravity direction in order to attach the part to the base, while the spindle continues spinning.

Here’s a quick example to illustrate the point where the robot places the product into a lathe with a moving spindle. Try changing GravityDirection

  1. to 25 mm (spindle moves with the product)
  2. to 250 mm (spindle moves, but product is stationary)

GravityDirection demo for Suresh1.vcmx (1.0 MB)