Robot Detection of the Position and Orientation of a PCB

Implementation date: April 2017


The customer is an industry leader in the field of commercial fire alarm systems. They manufacture the whole chain of products, from detection to emergency communication, to assure the entire system is interoperable. They assemble their equipment in their own production plants to ensure strict adherence to safety standards.


Most electronic components come to the market in a protective casing. The same is true for the heat detectors assembled by our customer. These heat detectors are extremely precise because of their IP43 ingress protection rating. This means that the inside components need to be protected from items larger than 1mm and indirect water spray, so they required a tight fit with the casing. The PCBs and plastic casings come down the production line oriented randomly, so the customer needed a system to pick them up, position them properly, and assemble them. Moreover, they required parts to be easily trackable once assembled.


The vision system needed to detect the correct position and orientation of a PCB, so a robot could correctly insert it into a plastic housing. It needed to be efficient, accurate, and be able to read printed 2D codes for tracking purposes.

The solution needed a 6-step approach:

  • Detect the position of the PCB and casing,
  • Detect their orientation,
  • Read their item codes,
  • Pick up the PCB,
  • Turn it the correct way,
  • and insert it into the casing.

To design an assembly system, we used a combination of a Keyence vision system and a Mitsubishi robot arm. They are interoperable, so matching the position of the items with the arm’s movement was a simple task. They just needed to be calibrated to the same measurement system.

The challenge was figuring out the orientation of the PCB. For this purpose, we selected three reference points on the PCB, then calculated its orientation using mathematical formulas and scripts in the Keyence programming environment. The controller then sent the position and rotation to the robot, which picked the PCB up at the right angle, oriented it to fit the casing, and assembled it together.

Traceability was solved with a built-in Keyence 2D code reader.


  • The readings were accurate up to a tolerance of 0.1 mm for position and 0.1° for orientation, which ensured reliable assembly
  • The system sped up the process of matching the PCB to the casing by replacing three operators per shift.


“With Inea’s assembly system, our heat detectors are now reliably packaged faster and assembled much more precisely than ever before.”

Customer Service Manager

Download PDF