Robotics in food manufacture
Create a moving end effector to be installed on the ABB arm robot using the actuators and electronic components reviewed in class.
Inspiration for this device stemmed from the integration of robots in the food industry. Additional inspiration was drawn from the Latching End Effector (LEE) on the Canadarm. It is a device that uses a rotating set of cables to grasp and lock onto objects and anchor points.
Figure 1: Latching End Effector (LEE), Canadarm2
Figure 2: LEE action
The basic concept of the LEE was repurposed to create an end effector that could grab objects of varying diameters, center them in the device, and apply controlled amounts of force to the sides of the objects. In this instance, the end effector would be used to pick up a plastic sauce bottle, squeeze it over a pizza, then return it to its starting point.
A prototype and a working version of the device were built out of the materials and components listed below.
The motor used was a Power HD 1235MG Servo Motor.
Figure 5: Power HD 1235MG Servo specifications
The controller used was a Raspberry Pico Microcontroller with a simple python script that would interpret inputs from an optocoupler on the robot in order and command the motor to respond according to the various programmed states of operation.
A robotic control file was prepared that made use of two binary outputs, dispatched to the end effector microcontroller via an optocoupler. One output controlled the grip state, and another controlled the squeeze state. The control file dictated when the payload – a plastic bottle filled with sauce – would be picked up, where it would be moved, when it would be squeezed to deposit its contents onto the pizza dough below, and when it would be released back into its dock.
Figure 8: Path of ABB140 with end effector
The logic behind the functioning of the end effector comprised three states of operation: ‘release,’ grip,’ and ‘squeeze.’ Each state corresponded to specific command for the servo allowing the cables of the end effector to open and close around a payload with varying levels of force.
The end effector would remain open (state: release) when receiving a false reading from the grip state signal. It would close to a predetermined grip angle (state: grip) when receiving a true grip state signal, and remain at that state until a change in control signal was detected. While closed, if a true grip state signal was detected (state: squeeze), the end effector would gradually close further – in effect, applying force to, and squeezing the payload. This would continue until either a false squeeze state signal was detected, in which case the end effector would return to the grip angle (state: grip), or a maximum angle of rotation had been reached, at which point it would return to the grip angle and then proceed to squeeze again. At any point, if a false grip state signal was read, the end effector would open fully (state: release) and allow the payload to drop out.
During initial testing the end effector functioned properly according to the inputs from the robot control file. The servo caused the grasping end to open, close, and index through the range of angles required for squeezing.
During trials with a payload while mounted to the robot, the device did not fare as well. The end effector was capable of grasping and moving the payload into position. However, the servo motor began to fail and so sauce could not be deposited onto the pizza.
Immediate next steps would involve the use of a stronger servo motor. Additionally, more thought would be given to the design of the sauce bottle. The addition of gripping features would make for a more stable grasp by the end effector than the current smooth sides of the bottle. Finally, the addition of feedback from sensors, such as one for monitoring torque, would be useful in controlling the system.