ABB IRB360 with conveyor belt and trays

Typically: "How do I... ", "How can I... " questions
Post Reply
BiancaSan93
Posts: 17
Joined: 25 Apr 2017, 17:26

ABB IRB360 with conveyor belt and trays

Post by BiancaSan93 » 13 May 2017, 15:26

Hello,
I'm working on a project with Delta Robots in an industrial settings. I used the preset scene blobDetectionWithPickAndPlace to reproduce my environment, with a few adjustment. Please, find the scene attached.
Everything works correctly but I have a few questions:
- UI elements: how do I manage the displays showing the counter? I can see they get the UI element handle in each Deletion Box script, but where exactly are such UI elements created? How do I create one? I searched the documentation and the function used in the scene (simGetUIHandle) is deprecated
- Reset the trays: in my scene, 6 objects are placed on each tray. Right now, whenever the tray is full, the robots just start all over from the initial position and pile up new items. Is there a way to make such objects disappear when the tray is full, so that the simulation can start again without the objects being piled up?
- Dynamics: when the items are dropped on the tray, they seem to move around a little. Is there any way to adjust it? It's not a big issue, but it would be neat to have objects nice and steadily placed.

DeltaAndConveyor.ttt

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

Re: ABB IRB360 with conveyor belt and trays

Post by coppelia » 15 May 2017, 15:33

Hello,

about your questions:
  • use Qt-based custom UIs instead of the old OpenGl-based custom UIs which are only supported for backward compatibility.
  • yes, you can destroy objects with simRemoveObject
  • One of the trays is a non-convex shape: this type of shape will not produce stable contact points in general. Best is to use a simple cuboid for the trays.
Cheers

BiancaSan93
Posts: 17
Joined: 25 Apr 2017, 17:26

Re: ABB IRB360 with conveyor belt and trays

Post by BiancaSan93 » 19 May 2017, 15:47

Hi,
thank you for your reply.
Related to that scene, I would also like to know how to handle signals. For example, in the main script of the irb360 robots there is a call to the function

Code: Select all

info=simGetStringSignal('shapeInfos')
Also, if I insert the signal monitor tool in the scene, it returns the 'shapeInfos' signal being processed. However, I don't understand where this 'shapeInfos' signal is generated and what information it contains. Basically, who constructs the signal? The shape generator? The vision sensor?

Thanks

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

Re: ABB IRB360 with conveyor belt and trays

Post by coppelia » 20 May 2017, 05:35

Using signals can sometimes be very confusing, because every script (or generally every control code) can set/clear/read a signal. It is like a global variable. What and how you encode a string signal is fully up to the user.

The scene you are building upon is quite only and not flexible/intuitive at all. It is probably best to start from scratch. Also, have a look at the demo scene BlueRealityTeaser.brs which is cleaner and more scalable.

Cheers

BiancaSan93
Posts: 17
Joined: 25 Apr 2017, 17:26

Re: ABB IRB360 with conveyor belt and trays

Post by BiancaSan93 » 20 May 2017, 16:22

Hi, thanks again for your reply.
Unluckily, I've already done some consistent work on the blobDetectionWithPickAndPlace scene and it's not convenient for me to look at different scripts of another scene for now, I'd prefer to stick with this one instead, as I just need to do some minor adjustments. To this end, is it possible to return the handles of an object detected by a vision sensor? I tried the OpenGL color coded render mode but it no longer detects information about the color.
Thank you

EDIT: Is there also a way to retrieve parameters associated with scripts through the remote API?

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

Re: ABB IRB360 with conveyor belt and trays

Post by coppelia » 22 May 2017, 13:37

You could also use a proximity sensor instead. Or use two vision sensors that operate differently (one for RGB, one for object handles).

What parameters do you want to read through the remote API? If you can't find a specific remote API function for that, then you will have to use the generic simxCallScriptFunction, and do the job in that script function. See also here.

Cheers

Post Reply