WorldSkills Special Edition 2022 Test project for the Skill 63 - Robot System Integration was about Load & Stack Totes on Pallet, including QR-Reading and Tote Orientation Inspection.
The Basic task consisted in a simple Pick & Place. The hardest part, but not too much, was in handling the conveyor efficiently, in order to not lose time to wait the tote to reach the end.
The first Extended task consisted in the QR-Reading inside the totes. For this task the iRVision Package included the Reading tool stand-alone. It may be used both Bar-codes and QR-Codes. There could be codes for different part combinations and you had to implement an error handling for invalid QR-code (ex. 00 instead of 1619, 1616, 19 etc...).
The second Extended task consisted in Tote Orientation Inspection with automated correction without operator's intervention. This task was proposed due to possible issues in production line when some totes may fall off and be replaced with incorrect orientation.
There were also several errors to handle as sensors faults in the start and the end of conveyor and in the magazines of parts.
The project required to create a user-friendly HMI for the operator, that could easily understand what stands for what.
Documentation is also one of the main targets, it had to be as comprehensible and as graphical as possible at the same time. The operator should be able to find immediately what he needs and fix everything in case of system or user errors.
Lastly the Digital Twin is the first and the last thing the integrator MUST do. The role of the digital twin is essential for the performance of the integrator. The simulation should be as equal as possible to the reality, it defines if the layout is appropriate, positions are reachable, test the cycle time and allows to the integrator to make any change to the robot far more faster than in reality.
The 2D iRVision package includes a QR Code Reading Tool, which allows robots to read and interpret QR codes as part of their tasks. This tool is particularly useful in automated workflows for applications like tracking parts, verifying product information, or directing robots based on encoded instructions, as in this project where the loading combination may vary.
In this task the error handling had to be done for invalid QR-codes or the absence of them. Between the different tools provided in the competition there was the Menu Utility Tool. This utility makes easier to create simple menus and dialog for determined situation as you wish.
In the Basic Task, the Totes are placed on one end of the conveyor and picked off the other end by the robot, so the orientation of the totes should not change. However, in the real world, the totes may fall off or be taken off the conveyor for various reasons and placedback in a different orientation. Extension Task 2 requires using iRVision to check the actual orientation of the totes before they are picked from the end of the conveyor, and taking appropriate action to stack them correctly without operator intervention.
For this task the GPM was enough but it always may vary depending on lights and camera position and/or image quality. For correct stacking the could be 2 different ways to complete the cycle:
I decided to modify, when necessary, the pick position because it is far easier to regulate the exact position. Because you can modify only 1 point and stack all of the totes, while if you modify the drop positions, due to different layer orientations of the totes, it may take you more time and make your code less easy to read.
There is no need to explain why the low cycle time is important. Less time you need - more you produce.
For this type of task there usually should be 2 robots, but due to the competition conditions there was only one. As shown on the image, the simple sequence of processing only 1 tote at time is extremely slow, even if we can see the first tote to be unloaded roughly at the same time, but after that scenario lose a big amount of seconds. So for this purpose I tried to use the waiting time of conveyor to prepare the next tote to load.
In terms of 6 totes we can save up to 9-10 seconds. Just imagine how much would you save if we had 8, 10, 12 or more totes.