Automated Assembly Line for a Medical Device

Back to top
bx play

Software for a clean-room medical device assembly line — collaborative robots, vision inspection and hundreds of I/O lines coordinated in real time.

hand-eye-calibration
Medical devices

We’ve worked on development of software for an advanced medical device assembly line. The project is deployed in a clean-room environment. It uses collaborative robots, vision inspection, hundreds of I/O lines controlling sensors and equipment, and several stations which perform operations as the units move down the line.

For the project multiple stacks of software were used, and integrated.

Physical Layout With Vision
Figure 1 System Physical Architecture Overview

The robotic control server

The two major components on which Blue Cog worked were the robotic control server, which is a program running on a host computer, coordinating actions of several Universal Robots. The control program oversees monitoring the operation of the robots and reporting their status in real time.

It coordinates requests for motions made by the stations, enabling remote control of the robots — exiting from a protective stop, or entering free drive in cases when manual intervention is required. It pauses the execution of motions if the system is halted by the operators, and coordinates collaborative motions when transfer of parts is required between stations of the assembly line, making sure that both the receiving station and the transferring station have made requests to move product down the line.

The robotic system uses precision cameras to conduct visual inspection of the product, which includes measurements of volume of liquid using optics, verification of geometry of the units produced, detection of unwanted debris and visual inspection of the quality of packaging.

The vision server

The second component that Blue Cog was responsible for was the vision server, which coordinates the operation of several cameras used by the system. Some of the cameras are static, some of them are mounted on top of the robots. The static cameras conduct quality checks, while cameras mounted on top of robots assist in identification and correction of robotic motions while picking up parts from trays.

The system uses a hand-eye calibration idea to help the end effectors in several spots to pick parts which might be slightly misaligned when they are placed as raw materials.

Architecture

From a software perspective there is a mix of various technologies and software. The system is distributed over several PCs and supports traffic via different remote procedure call protocols, depending on the needs.

The system is built in an asynchronous fashion, meaning that different components work independently of each other and rely on event-based communication to perform work.

One of the key concepts, regardless of the programming language used, is the use of the Actor Framework design pattern — where software entities behave like actors of a system. They request work done on their behalf by other actors by sending messages, and receive messages when work is complete.

Hand using a tablet with a code symbol on a digital blue background

Bring Us Your Hardest Engineering Problem

Tell us what you're building and the constraints it has to work within, and we'll come back with an honest view of whether we're the right fit.