Introduction: The laser scanning rangefinders are used in different robotic applications for variety of purposes. Autonomous ground vehicles, mobile robots, robotic arms, welding robots, etc. need to observe their working environment in order to generate required desired trajectories. 2D laser scanners are generally used for performing scanning tasks. High measurement accuracy, fast response time, tough case and low power consumption rate are the advantages of why 2D laser scanner are preferred in robotic applications. In addition to scanning of working environment and mapping of indoor and outdoor fields, the laser scanners are also used for doing an estimation about the surrounding. An easiest method to build a 3D scanning system is that a laser scanner is attached to a 2DOF mechanism which is actuated by the use of two actuators. While the mechanism is in motion, laser scanner gets the distance data in each increment, then a point cloud is created. At the end of the motion a data pool which actually shows a 3D surface is to be created. The challenging part in a 3D scanning system is the handle of the data flowing from sensors to computer. In the literature, there is no ready-to-use toolbox for conducting such a task. In the current perspective, all the subsystems of the computation and communication units should be developed by the designer. It is also a fact that the data process of a 3D scanning system require experiences and knowledge about the sensors and their data decoding processes. Aim: In this study, the aim is to develop a control toolbox for a 3D scanning system. The control toolbox is created by the use Robot Operating System (ROS) – (www.ros.org), which has been using by the robotic researchers for educational and industrial purposes. It provides an open-source environment and runs under Linux operating system. It is verified that the use of ROS in robotic systems increase the accuracy and performance. Furthermore, because of its smooth and stable working capability, real-time problems are encountered in minimum level in case ROS is adapted into a system. In this study, a 3D laser scanning system is constructed based on a 2D laser scanner, two stepper motors and their motion controllers and a couple of slave & master computers. The communication and computational units are developed by the use C++ programming languages. They are created in a way that all the libraries and algorithms are recognized by ROS and runs in a harmony with the ROS repositories. In order to test the performance of the control toolbox developed, many experimental studies are conducted and the satisfactory results are obtained. Scope: The scope of this study is to develop an easy-to-use and easy-to-adapt control toolbox solution for a 3D scanning system. The programming architecture is created using ROS since the ROS structure today is almost a touchstone for the robotic applications. Since the libraries have to be created by following some guidelines published by the ROS community, the continuity in a robotic project can be guaranteed (by this way the project becomes independent of the person). Limitations: The limitations in this study can be specified that the user should have knowledge of using Linux operating system. The deep knowledge and experience of using C/C++ programming language may be the other challenge for the users. Method: In order to develop the control toolbox for the 3D scanning system, the architecture, which is responsible for communicating with the sensorial systems and microprocessors, performing data processes and required mathematical calculations, is developed by following some strict rules offered by ROS infrastructure. Results: The 3D scanning system is tested for estimating the surface of a triangular prism shape. The ROS based control toolbox controls everything in the mechanical-electronical-computing system. The laser scanner used in this study is Hokuyo URG-04LX which gives its distance measurement output with an error of 3%. Considering this sensor specification, the shape estimation of the triangular prism is conducted successfully and the dimensions of the prism is obtained with an error of 4%. Conclusion: In this study, a control toolbox for a scanning system is built by the use of ROS environment. The control toolbox is tested in an experimental setup and satisfactory results are obtained. It can be concluded that an open-source control system architecture is developed and the procedure designed in this study can be adapted into any robotics, automation or mechatronics system.
Anahtar Kelimeler: ROS, laser scanning rangefinder, control toolbox, 3D scanning