Primitive Shape Detection in Point Clouds
MetadataShow full item record
Industrial processes often involves handling of objects and surfaces shaped like geometric primitives. This should be taken into consideration when designing computer vision-based systems for such processes. Both pose and parameters of geometric primitives can be established with 3D cameras and simple algorithms. In this thesis, robust estimation algorithms have been considered to detect primitive shapes in point clouds from 3D cameras. The primitives are described with conformal geometric algebra. Possible applications have been suggested and demonstrated through a robotic pick-and-place task solved with data from a 3D camera. A primitive shape detection algorithm is implemented in a C++ based software. The algorithm is implemented for planes, spheres and cylinders. Results show that the algorithm is able to detect the shapes in data sets containing up to 90% outliers. Furthermore, a real-time tracking algorithm based on the primitive shape detection algorithm is implemented to track primitives in a real-time data stream from a 3D camera. The run-time of the tracking algorithm is well below the required rate for a 60 frames per second data stream. A multiple shape detection algorithm is also developed. The goal is to detect multiple shapes in a point cloud with a single run of the algorithm. The algorithm is implemented for spheres and results show that multiple spheres can be successfully detected in a point cloud. The accuracy and efficiency of the algorithms is demonstrated in a robotic pick-and-place task. Primitive objects are detected in the robot workspace. These objects are used for robot-camera calibration and data cropping, in addition to the pick-and-place operation. The demonstration show that the algorithms are effective for high accuracy demanding industrial tasks, given raw data from consumer grade 3D cameras.