Salad Assembly Robot – DERO

Students: Reinout Keulen, Thijs Kortekaas and Joost Schoonhoven (Fall 2019)


The Dero Group is a big player in the cheese and convenience food industry. The company offers one stop solutions for packaging and handling. Our client is Bosgraaf, a division of Dero located in Joure, Friesland.

Current situation

Employees currently stand next to a conveyor belt, filling bowls with pasta manually. After that, they put the bowl on a scale and dose it. When the desired amount of pasta is met, they put the filled bowl onto the conveyor and it travels to further processing and the packaging area.

The goal

A large pasta salad production plant is struggling to find reliable employees. Because of this, they struggle to make production on some days, as people don’t show up or call in sick. The work they need to do is repetitive and doesn’t pay much. To solve this, an investment company wants a robot to take over filling the bowls with salad. This robot needs to scoop up pasta, weigh it, dose it and put it in a bowl. Once a bowl is filled up with a specified amount of pasta, the robot needs to put it on a conveyor. In addition to this, the robot needs to be able to stand on any side of the conveyor in the production plant, so the user needs to be able to change the drop off location.

Our solution

The setup of our system is divided into the following subsystems:

  • Specifying the amount of pasta and number of bowls to be picked

Using the HMI of the PLC, the user can put in the amount of pasta to be picked per bowl and the desired number of bowls that need to be filled. After that, the robot needs to be calibrated.

  • Calibration

When the user selects the calibration function, the robot will be automatically set in free drive. This means that the user can move the robot manually to a desired position. The user then needs to put the robot over the bowl where it needs to fill it. After that, the user needs to specify the line that the robot needs to push the bowl onto the conveyor.

  • Detecting and identifying trays of pasta

The production plant this robot is meant for, makes different kinds of salad. To detect which kind is placed, a Cognex camera is used. This camera looks for QR-codes to identify what is inside of the tray. Once this is done and the right pasta is in place, the robot will start picking.

  • Picking pasta from the tray

Using a Universal Robot, pasta is picked from the tray with a custom end of arm tool. The robot sends out the weight that it needs to an Arduino, using TCP/IP.

  • Weighing and dosing the pasta

A custom end of arm tool has been made to weigh and dose the pasta. This EOAT (end of arm tool) is fitted with a servo and a load cell, both controlled by an Arduino Uno. The weight of the pasta will be compared to what is needed and dosed accordingly. If there’s too much pasta on the scoop, it will be pushed off by an arm attached to the servo. Once done, the Arduino will send the actual weight of the pasta on the scoop at that moment. If it’s too little, the robot will scoop again.

  • Putting the pasta in the bowl and putting the bowl on the conveyor

Once there is enough pasta in the bowl, the robot will push the bowl off the slide. The bowl will then slide onto a conveyor belt. This conveyor belt will lead to the packaging area, which already exists and therefore was out of the scope of this project.

Major decisions

The biggest challenge of this project was designing a reliable end of arm tool that could weigh and dose on the go. In the first few weeks a couple of concepts have been created and as result, a scoop with the shape of a quarter circle was chosen. Although making the EOAT food grade was out of the scope of this project, this design was chosen because it has fewer moving parts and should thus be easier to clean.


The main goal of this project was to make an EAOT that could weigh and dose, this goal has been accomplished. The dosing is possible within a 5-gram margin and is repeatable. However, picking up pasta with a robot arm is incredibly inefficient. This is because it is hard for a robot arm how to calculate a suitable linear path, so it moves a lot slower than it would do normally. Also, it is hard to know in advance how much pasta the robot will pick up, so the dosing can take way longer than a human would. We advise every company with a similar problem to use a multi-head weigher, despite its limitations and cleaning difficulty.