« Back To Vision & Imaging News
Photoneo, Inc. Logo

Component Supplier

Member Since 2017


Photoneo is a leading provider of robotic vision and intelligence. Based on a patented 3D technology, Photoneo developed the world’s highest-resolution and highest-accuracy 3D camera, thus unlocking the full potential of powerful, reliable, and fast machine learning.

Content Filed Under:

Agriculture and Automotive Agriculture , Automotive , Food & Beverage , and Packaging

Material Handling and Vision Guidance for Robotics Material Handling and Vision Guidance for Robotics

See More

Part 1: The new Bin Picking Studio 1.4.0 - Re-build the robot environment without the need of CAD files

POSTED 05/27/2020

The Bin Picking Studio 1.4.0 comes with a new, user-friendly tool “Environment builder”. It allows you to build a 3D model of the working cell, define the robot’s workspace, and test its movement capabilities. The tool also allows you to verify the model of the environment by comparing it with a point cloud from the calibrated scanner.

The “Environment builder” consists of a 3D visualizer and a control panel divided into 3 tabs with different functionalities:

  • Scene (here you can build a 3D model of the robot environment)
  • Robot: (here you can test the robot movements)
  • Vision: (here you can connect to the calibrated vision systems in order to compare the virtual environment with the real world)


Prevent the robot from leaving its working space and enclose it in a virtual box – quickly and effortlessly! The easy nature of the job is boosted by displaying the robot in the environment configuration and by added features for resizing and scaling the environment objects.

To enjoy collision-free bin picking, you need to manage a precise 3D model of the real robotic cell. The virtual environment created in Bin Picking Studio must match with the real world at least within the reach of the robot. Although the trajectories are checked for collisions, the scanner never sees every object in the scene so you need to define static collision objects matching the reality. 

Object list

The “Scene” tab contains an “Object list”, supporting a hierarchical structure. This means that each object can have child objects linked to it in order to manipulate with a group of objects more easily. You can use the +/- buttons next to the parent object to expand/collapse the list of child objects.

To change the hierarchy of already defined objects you can grab an object in the “Object list” and move it to a desired position in the list (note the + icon that appears when the object is moved over another object to make it its child).


Consider a pallet with several objects. It is beneficial to define each object as a child to the parental object. This way you can manipulate (move, rotate etc…) all objects by simply changing position properties of the parent object.

Every object in the “Object list” offers 3 options listed next to it (from left to right):

  • Sync icon (says whether the object is saved (synced) or unsaved)
  • Visibility toggle (enables to show/hide the object)
  • Remove button (enables to remove the object (please note that removing a parent object will also remove all its child objects))

You can add a new object to the scene by clicking the “+ Add object” button in the bottom left corner of the 3D visualizer. You can either define a collision object using one of the available primitive shapes (box/sphere/cylinder) or upload an STL file. 

When selecting a primitive shape, you can define its properties in the “Edit form” and “3D object tools panel”. 

If you choose an STL file, a pop-up window will appear, asking you to enter the name of the new object, choose the file to upload, and select a type of the object. There are 3 available object types:

  • Bin (meant for any CAD model that represents a bin (rendered in blue))
  • Environment (other collision objects that too correspond with real objects in the robot’s vicinity (rendered in grey))
  • Virtual collision object (used for objects that may not necessarily exist in the robot’s real environment – it is mainly used for limiting the robot’s workspace during bin picking but also for defining the cell walls to allow see-through inspection of the (virtual) robot inside (rendered in red and semi-transparent, as the only object type))

Each of these object types represents a “collision object” in the sense that the picked object will not collide with it.

After selecting an object from the “Object list”, it is highlighted in blue in the list and in red in the visualizer. Besides that, the “Edit form” and “3D object tools” panels appear. You can also select an object by directly clicking on it in the 3D visualizer. To deselect an object, click on it in the “Object list” once again or choose the “Close” option from the “3D object tools” panel.

Edit form & 3D object tools

After selecting an object either from the “Object list” or in the 3D visualizer, the “Edit form” and “3D object tools” panel will appear.

The “Edit form” allows you to enter the following object properties:

  • Name (of the object)
  • Type (of the object as described above)
  • CAD file (mesh) (you can download the STL object)
  • Scale (you can scale the STL object)
  • Dimensions (you can resize the object (only for primitive shapes): width/height/depth for the box, radius for the sphere and radius/height for the cylinder)
  • Position (you can change the position of the object origin relative to the parent object origin)
  • Rotation (you can rotate the object around its own origin)

You can also dynamically manipulate the objects with the “3D object tools”: 

  • Move (this option shows the marker arrows so that you can change the position of the object along the desired axis by dragging the marker)
  • Rotate (this option shows the marker circles so that you can change the rotation of the object in the desired axis by dragging the marker)
  • Scale (this option shows the marker arrow so that you can scale the object)
  • Resize (this option shows the marker arrows so that you can change the object dimensions in the desired axis by dragging the marker (only for the box and cylinder))
  • Self/Parent toggle (you can change the origin of the rotation when rotating using the marker; select “self” for rotating around its own origin; select “parent” for rotating around the parent’s origin)

The markers also allow you to add increments to the position/rotation values for each axis. Instead of dragging the marker in the desired direction, just click on the arrow/circle for a specific axis, enter the desired value, and apply by clicking the “Check” button.

The “+ Add child object” button allows you to create a child object for the currently selected object. Use the “x Close” button to deselect the object (end editing).

Complete the action by clicking the “Save scene” button. The virtual environment will synchronize with the robot. Only after that can you use the “Robot” tab with robot controls.