Hello,
I use suction cups to grab objects in Coppeliasim, but I found that I can only suck objects that are parallel to the coordinate axis of the suction cup. When the object and the suction cup have a certain angle, the sucked object will also have a certain angle with the suction cup. I don't know how to solve this problem. Are there any mature solutions?
Thanks.
Some questions about suckers.
Re: Some questions about suckers.
Hello,
so you actually want the object to align with the suction cup? e.g. when the object's surface is not parallel to the suction cup?
This should not be too difficult: you'll have to modify somewhat the suction cup model in following manner:
so you actually want the object to align with the suction cup? e.g. when the object's surface is not parallel to the suction cup?
This should not be too difficult: you'll have to modify somewhat the suction cup model in following manner:
- there is a proximity sensor attached to the suction cup: that sensor is used to detect what object should be attached to the cup.
- instead of calling
sim.checkProximitySensor
upon that sensor, callsim.checkProximitySensorEx
instead: that function will also return the normal vector if the detected surface (expressed relative to the proximity sensor) - using that normal vector (and also the detected point), you will have to slightly adjust the position/orientation of the dummy that will connect to the object: in the original code attached to that suction cup, it says Make sure the two dummies are initially coincident: now actually, you need to have to two dummies not coincident anymore, since you want to correct for that initial angle (and possibly also the initial offset). So dummy suctionPadLoopClosureDummy1 needs to have a specific transformation relative to its counterpart dummy