A gentle introduction
Most floral companies are equipped with labourers to fulfil the companies need for production.
Particularly monotonous labour is performed whilst the flowers patiently wait to be gathered.
Though a company decided to make a change. They call it ‘floriculture 2.0’, which stands for a fully automated floral company.
Mopabloem is on point concerning replacing monotonous labour for tasks conducted by robots.
Approximately 70% of their production is totally automated.
And so they’ve asked DERO B.V. to enhance this percentage.
As it is today, Mopabloem has internal auction carts which carry their tulips to be sold.
Their tulips are packed into buckets by another robot and then nicely stacked into the auction cart by a manual labourer. This labourer also checks if the tulips are put well in the buckets and after the cart has been stacked, the carts will be moved to the stockroom.
And so it has become our objective to find a solution for Mopabloem, to contribute in their pursue to keep on automating their company.
What did we come up with?
Our main objective was to replace all significant functions executed by the labourer.
First to start with the recognition whether the tulips are gathered into the buckets correctly This is an important step because if the flowers stick out too much, they don’t get water and will dry out.
We’ve created a very reliably vision system which divides the image into smaller strips. It calculates the centre of each strip by looking at the contours and comparing them to the other strips.
Subsequently the system determines whether the tulips are approximately the same hight. Besides, the system is also capable of determining if the tulips are reaching too wide, as the consequence might be that the tulips may be damaged while put into the cart.
Another remarkable characteristic of this project is the free space around the robot. As we’re working with a Techman cobot, there is no need for safety features such as safety-guards and safety-distances.
However, working with a cobot introduced a considerable disadvantage. Because the cobot is very compact, it initially couldn’t reach about half of the cart.
To solve this, we’ve introduced a pillar on which the cobot stands. The pillar moves up and down which results in a significant larger working range. On top of that we needed to introduce an extendable end-of-arm tool to reach the furthest positions.
Now the robot can reach every position in the cart without any trouble.
Why is our solution so interesting?
Using a cobot brings a variety of advantages. It has a considerably small working area when compared to a non-cobot. This space can be used for other purposes such as another machine, or a nice seat to watch how the carts are filled.
Besides we can benefit of the fact it is allowed to use it with an operator in its working-zone.
To match the speed of the robots that come before the buckets are ready to be placed in the cart. The time to place each bucket had to be under 16 seconds. Our solution easily reaches a bucket time of 12 seconds. This creates the opportunity for a higher production rate than the present manufacturing process of the tulips.
In short, our solution is a fast, safe and small which does the job of at least one worker. Extensions can be made easily to reach a higher production rate.
For the Tech-heads
Our program is currently running on Ubuntu, which is Linux based. This fast operating system makes sure communication between different components is handled on point.
All systems are running in python 3. That means the control of the TM cobot included, which communicates with the ‘techmanpy’ library.
The bucket x and y coordinates are all listed in an excel file, and so when running it will fetch these coordinates out of the file.
This means that the only ‘big’ variable in the program is the change of height.
Because every plate is initially filled with the same pattern it’s very easy to customize plate heights and suitable for potential future alterations in height of the plates in the carts.
The pillar is controlled through a daemon server which runs on python2. The daemon server handles the serial communication with the pillar. So now it easily can be controlled through keywords.
The operator can interact with the process on the Pro-Face HMI. On the interface a choice can be made between carts with 3 or 4 plates. On the interface the process can be paused and it shows when a cart is filled.
On the back of the cart there sensors which do recognize if the plates in the cars are setup on the right height.
When these sensors aren’t triggered the filling process can’t be started. The conveyer belt leads the buckets from the previous process to the filling process. The conveyer belt is controlled by a variable frequency drive, when the bucket reaches the pickup point a sensor detects the bucket and stops the conveyer belt by switching one of the variable frequency drive input ports. Before the stopping of the conveyer belt the bucket passes another sensor which triggers an input of the robot. When this input is switched on the vision makes a picture and determines if this is an empty, false or right bucket. When the bucket is empty or false it’s placed on a buffer position and not in the cart itself.
The vision is controlled by OpenCV in python and communicates with the other python files.