WorldSkills Lyon 2024 Test project for the Skill 63 - Robot System Integration was about assembling EV battery packages.
The Basic task consisted in a simple Pick & Place. The main difficulty was in handling the parts because of the low tolerance (couple of mm) of the error in quite all positions. Parts were 3D-printed in a very fragile material. So the cost of the error was breaking the entire part.
The first Extended task consisted in the sealing simulation of battery pack lid. For this task was required the use of Remote TCP function that helps to follow exactly the border without losing the touch. There were two options for the pattern to follow:
The second Extended task consisted in finding the position of the battery modules and of the control module (the red one) by using the iRVision. Then the robot had to adapt to the situation without operator's intervention.
There were also several errors to handle as sensors fault, pneumatic fault, ESTOP fault and vision faults.
The project also required the creation of 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.
DCS is a built-in safety system that monitors and controls the motion of the robot, verifying that it operates within defined safety parameters. This function helps prevent accidents by allowing specific zones or movements to be controlled and restricted, ensuring that the robot does not operate in a way that could endanger human operators or equipment.
I prefer to create a detailed DCS where my goal is not only to protect humans from the robot, but also essential peripherals for the applications. As in this projects The camera, LEDs and I/O board are the components that are inside the working area, but the robot should not touch.
Another aspect to work on is the STOP PREDICTION that helps predict the collision with the Safe area limits. Here you should test the movements on high-speed in order to see how far does the robot exceed the safe zone.
If the tool is too light I will force-limit the max speed in manual mode (ex. 50%). This way I compensate the inertia of the robot so it can stop in time.
The HMI (Human-Machine-Interface) is an essential part in industrial applications. HMI helps to the new, both skilled and not, operators to comprehend the functioning and the current state of the cell.
In this project there were no specific instructions on what should be created in HMI, so I created the basic pages with main info and controls regarding the application as:
In this project the vision had to be integrated with the goal to adapt the robot to any order of the parts. This system had to work in any type of ambient lighting, so the camera should do the automatic exposure regulation by using a proper tool.
In this application I decided to reduce snap windows to the dimension of the cells.
By reducing the search windows the Time-To-Find decreases significantly and if the camera detects the correct module you can immediately save the value with ease.
This way the camera in the worst case should do maximum 5 snaps. To reduce the Time-To-Find I reduced also the quality of the image because the robot should process less pixels and you see less details that are not necessary.
With the same approach as before, to do the inspection of the battery quantity in every module is better to search not the entire part, but instead the single battery. Then I used the count tool to evaluate if there actually are 15 batteries.
In the simulator is quite simple. but in reality you should "play" a little bit more with settings or even add some extra tools, as Image processing, to reduce the lucidity on metal side of batteries.
For this task was requested the Remote TCP function that helps the robot to maintain the touch of the pack lid on sealing tool.
With this option, the robot instead of doing the rotations around the TCP does them around UFRAME origin that you should setup manually.
In this case the origin should be the tip of the sealing tool.
In the photo you can see how I managed the parallel switching ON/OFF of the sealing tool in an easy way with DISTANCE BEFORE optional instruction.
This option was used in order to anticipate the delay of the signal to start/stop sealing in tolerance limits (-0mm / +3mm).
You may notice the ACC60 function in the code image. I inserted this option in order to make all the movements smoother, especially in the angles, so the robot do not have to stress too much the reducers during the rotations.
Before the main program start, there will be always a home check. In other words, usually the robot should start the program from the well defined position.
For this purpose I created a space that gives in output the signal that tells me if the robot is inside that zone or not.
If the robot is outside, the dialog will be displayed with the instructions on how to proceed.
Otherwise if the robot is in the safe space the menu will be displayed with option on how to proceed.
Any option you choose, the confirm dialog will be displayed in order to drag operator's attention to their choices.