SolarSorter3000, Let’s sort it out!

“We did it. We built a single purpose robot within 8 weeks”. The project team worked on a SMR project commissioned for GTM. SMR, short for Smart Manufacturing and Robotics, is a minor at The Hague University. During this minor, groups of four students with different backgrounds cooperate to create an automated process with an industrial robot. At GTM, a Dutch company specialized in composite materials and aerospace research, the project team got an assignment to automate the beginning of a production line. The sorting of solar cells is currently done by hand. GTM wants to build a full automated production line to produce solar panels for outer space applications.

The challenges

During the project the team encountered several challenges. The biggest challenge with the cells is that they are very fragile. Originally, the robot didn’t have a way to safely pick up the cells: an end of arm tool was needed. Other challenges are the precision of the workspace. The workspace consists of a sturdy handmade table, but even the lightest touch could have a big impact on the accuracy of the placement of the cells.

Vision is needed to locate cells in the input trays and to parse the data matrices on the back of the cells. The data matrices contain a serial number, which will be cross referenced to a grade in an included Excel sheet. Two cameras are mounted on fixed locations and apart from just using the retrieved (vision) data, it will also be stored for later automation steps in the production line.

The user must be able to interface with the system. This is done though an HMI (Human Machine Interface) as an extension of the PLC (Programmable Logic Controller). This interface is used partly as a feedback system for warnings and errors but is also useful to acquire user input to alter some process parameters or just to start the process.

The biggest challenge of all was to get all the different components communicating to each other. Out of the box, all the separate components are incompatible with each other. All communications had to be combined on a single device that sends and receives information from and to the other devices.


The solar cells are picked up with a specially designed end of arm tool. Regulated air is required to avoid breaking the cell in half when picking it up. With the regulated air pressure, the cell is carefully lifted from its tray. The tool has seen one earlier version. The first tool was made from metal and held one suction cup, while the second tool consists of two suction cups. The new version with two suction cups has more stability and is also capable of picking up empty trays.

First version tool
Second version tool


The first camera is mounted in a small box under the table. It is responsible for reading data matrices, which look like small QR codes. To make sure the code can be read well, a LED strip is added for the extra brightness and contrast. The LED strip is switchable via the PLC, also giving the user visual feedback of what is happening.

Front Solar Cell
Back Solar Cell

The other camera locates cells in the input trays. If a tray is not fully filled, the system will react accordingly. When no cells are detected by the camera, the empty tray is picked up and placed in a designated spot on the workspace.

The communication gap between the different components was solved by adding one extra device to control the whole process. This device should be capable to communicate with all the components without much overhead, hence a computer with one program in one coding language. That language became Python, since it’s very scalable and easy to read (by a programmer for sure). Further on, the project group utilized the TCP standards of the Internet Protocol. By writing a Python program and creating a “code language” for each device, the communication could be guaranteed.

Many auxiliary devices, such as the air solenoid and the lights for the camera, are controlled by a PLC. The PLC was hard to work with, because the software doesn’t allow for editing certain values.

To make sure an error is noticed by the operator, the project group added a flashing light and a loud buzzer. This alerts the operator when the output trays are full, if the input file is missing or if a cell’s data matrix is not recognized.

HMI, Buzzer and Flashing Light

The workspace of the Solar Sorter system consists of input and output trays. When a cell is not recognized, the cell is put into a special place where the operator can easily remove the cells. When an input tray is empty and it’s verified by the upper camera, that tray is lifted and placed oa special empty tray stackIf an output tray is full, the program alerts the operator and pauses the robot. This allows for the operator to remove a full tray and replace it with an empty one. After closing the doors and pressing the button on the screen, the robot resumes its program.  

Robot Workspace

The solar sorter is much faster in recognizing the serial number of the cells and checking the grade according to the Excel list, than a human can on average.

All in all, the project was a success and proved to be much faster than sorting by hand. A concept production line was set up and the challenges were overcome. The project team learned about robotics, accuracy and interaction between systems. With this project, GTM also got a better understanding of the use of robots for their future production line. The project group would like to thank GTM for the opportunity to work on this project and for the well appreciated support.

Link to documents