Abstract
While repairing industrial machines or vehicles, recognition of components is a critical and time-consuming task for a human. In this paper, we propose to automatize this task. We start with a Principal Component Analysis (PCA), which fits the scanned point cloud with an ellipsoid by computing the eigenvalues and eigenvectors of a 3-by-3 covariant matrix. In case there is a dominant eigenvalue, the point cloud is decomposed into two clusters to which the PCA is applied recursively. In case the matching is not unique, we continue to distinguish among several candidates. We decompose the point cloud into planar and cylindrical primitives and assign mutual features such as distance or angle to them. Finally, we refine the matching by comparing the matrices of mutual features of the primitives. This is a more computationally demanding but very robust method. We demonstrate the efficiency and robustness of the proposed methodology on a collection of 29 real scans and a database of 389 STL (Standard Triangle Language) models. As many as 27 scans are uniquely matched to their counterparts from the database, while in the remaining two cases, there is only one additional candidate besides the correct model. The overall computational time is about 10 min in MATLAB.
Highlights
Computer recognition of 3-dimensional (3D) objects is of a high interest in all domains where the identification of an a priori unknown object is required, e.g., when repairing a complex machine that consists of thousands of mechanical components
The human can be replaced with a robotical system, which scans the surface of the component and matches the resulting point cloud with a unique item from the database of STL triangulations of the mechanical components
Given a point cloud C, we find the largest planar sub-cloud using the Point Cloud Library (PCL) command pcfitplane, that results in a sub-cloud Cpl and the plane equation n · x + d = 0, x = ( x 1, x 2, x 3 ) ∈ R3, where n ∈ R3 is the unit normal direction and d ∈ R
Summary
Computer recognition of 3-dimensional (3D) objects is of a high interest in all domains where the identification of an a priori unknown object is required, e.g., when repairing a complex machine that consists of thousands of mechanical components. A typical problem that arises is matching a component, possibly damaged, to its drawing, nowadays an STL (Standard Triangle Language) triangulation. For a human, this is a demanding task. The human can be replaced with a robotical system, which scans the surface of the component and matches the resulting point cloud with a unique item from the database of STL triangulations of the mechanical components. The aim of this paper is to provide a fast and robust computational method for this matching. We propose the successive use of two methods.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.