Click-Pax is a company that strives for quick, efficient and sustainable packaging for plants. Their aim is to remove excessive plastic from transport and use as little material as possible while reassuring that plants are transported safely to the client. They hope to break through and disrupt the plant market this way.
Click-Pax is located at Westland, South Holland.
Figure 1: Logo of Click-Pax
In the current situation, the plant packaging process involves workers who do the packaging by putting the plants inside boxes, fixating them and sealing the boxes so everything is ready for transport.
However, people are less willing to do this type of work nowadays. This is why Click-Pax strives to change their production line to a fully automatic one.
We got in contact with Click-Pax and we agreed to take one of the steps out of their production line as our assignment. We would build and program a fully automatic production line with a robot that picks a variety of plants and puts these in boxes in an optimal way. Requirements for this project were:
- A robot arm that is used to move the plants around from the conveyer belt to the boxes.
- A End of arm tool that is used to grab the plants, hold them while in the air and release the plants once arrived at the box.
- The use of Vision to recognize different plants in wrapped pots so quality control can be executed at the start of the process.
- The usage of a PLC for various components in our production line. This was used to control the conveyer belts and fixate the boxes upon arrival.
Our project team created a solution using mechanical & electrical components and software to pick up the plants and put them in boxes. To make the solution clearer we divided them in parts:
Communication between subsystems
In order for the entire system to work, something must be able to communicate between the various components of the system. We used Python to make this happen. Using a TCP protocol it was possible to have Python act as the server and send instructions to the other components in the system. That way Python could send an order of plants and instruct the whole process in the right order allowing the production line to function properly.
Plant placing algorithm
In order to determine the placing of plants in boxes, an algorithm was needed. In Python we created a algorithm that determines how many plants can be placed in boxes and where they should be placed depending on their size.
For example, it can determine to place four small plants in a box but also to place two large plants in a box, and to make combinations of various plant sizes. This algorithm allowed for optimized placing of the plants in the boxes.
Picking up plants
We used a Kawasaki FS06L robot arm in combination with a gripper to pick up plants arriving at a conveyer belt stationed in front of the robot. The plants must be placed manually at the start of the belt, after which they make their way over to the robot.
Using steel profiles mounted skew on the conveyer belt and a light gate at the end of the belt we reassured that the plants would always arrive at the same position in front of the robot (as seen in Figure 2).
Figure 2: Light gate at the belt
Picking up using a gripper
The gripper is designed to grab plants at the pots they are in and is able to do so for a variety of pot sizes. Using a stepper motor controlled by Arduino, the grippers can close and open allowing the end of arm tool to grab plants.
The grippers move towards the middle at a optimized distance for each pot size. It releases when the robot and plant have reached inside the box to place the plant inside. Only when it is outside the box will the grippers return to their start position. This way neither the box or the grippers will be damaged.
Using Autodesk Inventor, the gripper parts were designed and optimized for gripping pots. These parts have been 3D printed at the Hague University of Applied Sciences (see Figure 3).
Figure 3: 3D-model of the gripper
Controlling the conveyer belts and box fixation
In order to control the conveyer belts and fixate boxes we used a PLC (programmable logic controller). This way we managed to make the conveyer belts stop once the light gates are triggered, allowing for the robot to pick and place the plants and put them in boxes without interruption of the belts. In addition, the PLC fixates the box using pneumatics. Python can send instructions to the PLC when it is needed in the process.
Vision quality control
In order to make sure that the plants placed on the belts correspond with the order given in Python, quality control is needed. We used a Cognex camera and vision to create this level of quality control.
During testing we noticed that the Cognex is rather sensitive to poor lighting as seen in Figure 4 with all the shadow.
In order to support the lighting near the Cognex we used lamps to improve the background for optimized vision.
Figure 4: vision quality control with Cognex
We had some setbacks during the project like having no workshop at the company and having to provide a safe testing area for such a large robot.
Despite that we managed to bring together a working plant packaging line that was beneficial for both us and Click-Pax, who showed the robot to many clients during their demo-days to discuss the future of their production line. Overall they were very satisfied and so are we.