How to model magnets?

Hi! I am modelling a conveyor that has a magnetic gripper above it. The physics conveyor works, i can move physics objects on the conveyors. However, I want to add functionality for a magnetic gripper above the conveyor that reacts on a signal. Signal True = pick object from conveyor, Signal False is release object.

I tried to model it as a robot arm and then using ActionSignals (set port 100 to true for grasp and false for release etc.) However I could not get it to work.

Does anyone have an idea how i could implement it?

Hi,

There’s probably a couple of ways of doing it, I was thinking of having an empty link/joint (no geometries) that has an container. On true signal, move the component on the container and then move the joint upwards, on false move the component down and then eject it from the container. The logic how you want to move this is up to you, servos might be word considering as move.servo() will automatically eat up python’s time.

br,
Lefa

Thank you for the suggestion! Thats also what I came up with after posting this question. Only trouble I have is how to “eject” it from the container. Any suggestions for that?

Hi,

If memory serves, containers also have “grab()” method. In this case you could move the component via magnets up and down, and then when it is down, you can grab the component which will then “steal” the component from one container to another. The grab method should be available for all containers.

Your magnet system most likely also needs four signals, “is_up”, “moving_up”, “moving_down” and then finally “is_down”. These can be used to check whether the servo or any other behaviour that is moving the component has finished or is being executed. Based on these signals, the container where you want to eject the product can time its own “grab”

I currently don’t have an example for this unfortunately.

br,
Lefa