Students: Bas Holweg, Dave Ravensbergen, Mike van Steekelenburg, Saskia de Wit
Forever Plants (formerly known as Kwekerij Zwethlande) is an expert at growing exotic plants. One of these plants is the Yucca. The company asked if there is a convenient way to automate the potting process of the Yucca plant.
Forever Plants always strives for innovation. Therefore, the company came with the assignment to automate the potting process of the Yucca plant.
The Yucca plants are imported as small stems from Southern America. These need to be potted before they grow their leaves in the greenhouse. The potting is being done by employees. It’s unergonomic and repetitive work. Our task was to create a proof of principle of an automated potting robot.
The robot we used is an UR5, from Universal Robots. It is a cobot. This means it can work with human beings without the need of a protective surrounding. The cobot will stop moving when it detects hitting something. This makes it safe to work around (of course, you still need to watch out).
Our initial thought was that the gripper would be a fairly simple part to make. This was wrong. We discovered that a simple gripper would make the machine vision very hard. For this reason, we decided to design a gripper with suction cups. We had tested these suction cups and they turned out great. The needed precision is lower, so the chance that a detected stem is actually picked up is a lot bigger.
The gripper process is as follows:
- Cylinder pushes out suction cups
- Suction cups pick up a detected stem
- Cylinder pushes the suction cups including the stem inside
- Gripper closes for maximum strength before potting
Figure 1 Gripper V1
Figure 2 Gripper V5
We worked with an Intel Realsense D435 Depth Camera. The program is written in Python, and a lot is done with the OpenCV, NumPy, and Pyrealsense libraries. Our goal was to make a simple vision program, because our time was limited. The crate has two empty sides. We only ‘detect’ the stems inside the small strip of figure 3. This makes the program a lot faster.
Figure 3 Machine vision program
For the proof of principle, we made a replacement for the JAVO machine that is being used in the facility of Forever Plants. A small conveyer belt is used to move the pots. This belt is hooked up with sensors to detect the pots and to stop them in the right place. These sensors are connected to the PLC.
Figure 4 Conveyor belt
The robot is controlled by a Python program. This is done with the URX library. The vision program, which is also written in Python, will create coordinates for the robot to go to. These coordinates are sent to the robot program, which communicates with the robot. While the robot is potting the stem, the vision program will create new coordinates for the next stem. By working parallel, the robot can always be on the move.
Major decisions made in the project
We made a combination between a gripper and a suction ‘gripper’. We used both. We needed the flexibility of a suction gripper and the strength of a normal gripper. Therefore, we came up with a combination between the two. It really made the vision easier, because there is less precision needed. The suction caps can reach every stem easier because they do not need to go around the stem, like a normal gripper.
Partly because our gripper was robust, we had the option to make the vision simple. As earlier stated in Solutions, we only detected the stems in a small strip of the whole image. This made the program a lot simpler.
We did not use the UR program at all. We did our communication between the PLC and python, not PLC and the robot. This made programming a lot easier and more straightforward. The UR interface and programming environment are not very user friendly like Python.
Our project group looks back at six harsh but successful weeks. It was not always easy with the COVID-19 situation. At the end, we successfully made an automated Yucca potting system. We can proudly cross every item in our program of requirements. This reduces employee costs. Also, the robot can theoretically work 24/7. The first thing that needs to be improved is speed. This is more optimization that could be done with some more time.
We also had our setbacks. For instance, we wanted to go to Forever Plants to test the system. This was not possible, so we made and tested our proof of concept at school.