Robotics tutorial 2: Simple sorting


System description

The system includes four assemblies:

  • main: With an electric box, 3-phase power supply, a 24V DC power supply, a motor contactor, a compressor, and a 3/2 way valve for the robot gripper.

  • conveyor: With a conveyor belt, a motor, and 3 sensors; one of them inductive.

  • robot: With an ABB robot controller, an ABB IRB6620 robot, and an ideal pneumatic vacuum gripper with a sensor, the last two attached with a fixed constraint.

  • fence: With just some fences around the robot and the conveyor.

The system has a product entry over the conveyor which can drop two kinds of pallets, regular ones made of wood, and metallic ones. The idea in this tutorial is to sort the pallets depending on the type. To do that, the conveyor is equipped with two sensors at the end, one photoelectric and the other inductive.

Let’s download the diagrams and take a look at the configuration of the system.

The ‘PS01’ power supply is feeding the three sensors on the conveyor and the one on the gripper. The conveyor is commanded with the motor-contactor ‘KM01’ connected to the first digital output ‘out_0’ on the robot controller. The ‘Y01’ valve to activate the gripper is acted with the solenoid connected to the second digital output ‘out_1’. And finally, each axis mechanical port on the robot controller is connected to the corresponding robot axis on the robot component.

Change robot arm or controller

If you wish to use another robot arm or controller rather than the ones included in the system, you can follow the instructions in the previous tutorial.

In addition to the basic port connections between the robot controller and robot arm components, make sure you also reconnect the IO ports in the controller to the specific components on the system.

Relocate gripper

In case you change the robot arm, you may need to adjust the position of the gripper. To do that, select the ‘Move’ mode on the toolbar and set the gripper in front of the last robot link.

When the gripper is in position, make sure you create the constraint between the robot’s 6th link and the ‘gripper.base’, so the gripper gets attached to the end of the robot arm. Right-click on the ‘robot’ assembly and select ‘Add Constraint’, then provide a name to the constraint (i.e. ‘ROBOTwGRIPPER’) and set up it as in the picture below.

IO Mapping on the controller

As you have seen in the previous tutorial, by default, the robot controller components get the axes position from the third-party software. But in addition to that, they can also read input and output variables. In practice, this is done declaring the IO variables with the same name as in the component and mapping each port according to the model, following the IO List or the connections. Each Third-party software requires a specific preparation to do this.