Data Analysis for Trajectory Generation for a Robot Manipulator Using Data from a 2D Industrial Laser
Abstract
:1. Introduction
- 3D Laser Scanning and LiDARData points are collected using laser beams that allow one to measure the distance of the point to the scanner by detecting the reflected beam from the object to be scanned.3D Laser scanning is a non-contact technology that captures the shape and surfaces of physical objects or spaces using linear laser light [3].Using a data-processing software associated with the laser scanner, the user is presented with a point cloud created from datasets of the detected surface. The scanner works with pulses of light sent to the object’s surface. The object reflects the light back to the scanner, which is captured by its built-in camera after a specific time. The time measured between sending and receiving allows the scanner to map the points in 3D space.
- PhotogrammetryAccording to the American Society for Photogrammetry and Remote Sensing (ASPRS), photogrammetry is a method of obtaining trustworthy information regarding physical objects and their surrounding environment using photographic images [4]. This technique uses multiple photographs taken from different angles of the target object. Later, these photos are overlapped, and already developed algorithms can estimate the relative locations of these images. The final result is a 3D point cloud of the object.
- VideogrammetryVideogrammetry is similar to photogrammetry, but instead of using several photos to generate the point cloud, it uses video streams as input. This method is also capable of a progressive reconstruction of the point cloud due to the sequential nature of the video frames. According to [5], there are several advantages to using this method in certain situations, which include:
- -
- 3D and non-contact measurements;
- -
- Large number of objects (targets);
- -
- Moving objects;
- -
- Good temporal resolution requirements;
- -
- Precise and reliable results requirements;
- -
- Fast recording and processing requirements (on-line solutions).
- RGB-D CameraAn RGB-D camera is an RGB (red, blue, and green) camera equipped with a depth sensor. The generated point cloud is colored with XYZ coordinates and RGB values.
- Stereo CameraA stereo camera has two or more lenses and a separate image sensor. 2D images of each lens obtain the 3D point cloud since one lens’s relative position, and orientation to the other, is known beforehand.
- OctreeA fast and convergent method in which each node has eight children [9]. If every internal node of the Octree contains exactly eight children, it is called a full Octree.
- K-d treeA binary search tree, also known as a K-Dimensional tree, defines nodes as a K-Dimensional point in space [10]. It is a data structure capable of organizing points in a K-Dimensional space.
- Fast and reliable;
- Able to compensate against gravitational and polishing forces;
- Low-weight and compact;
- Capable of supporting different tool weights.
2. Prototype Description
3. Experimental Setup
3.1. Connection
3.2. Speed Acquisition
3.3. Acquisition
- VideoOutputs video images captured by the sensor.
- ProfileOutputs profiles and profile measurements. These profiles are produced by processing video images captured by the sensor.
- SurfaceOutputs 3D point clouds and performs surface measurements.
4. Data Processing
4.1. Used Functions
4.2. Library Function
4.3. Developed Algorithms
4.4. Center Point
4.4.1. Algorithm
- : x coordinate of the point i;
- : y coordinate of the point i;
- : z coordinate of the point i;
- X: center value in the x-axis;
- Y: center value in the y-axis;
- M: number of points in the point cloud where the height is above the predefined threshold, i.e., the number of points where the z value is different than zero.
4.4.2. Results
4.5. Distance to Center
4.5.1. Algorithm
- Step 1Analyze the first row and store the distance values from the lowest to the highest values of x.
- Step 2Find the greatest value of x, line by line, until reaching the bottom row and store the distance values in order.
- Step 3Analyze the bottom row and store the distance values from the greatest to the lowest values of x.
- Step 4Find the lowest value of x, line by line, until reaching the top row and store the distance values in order.
4.5.2. Results
4.6. Border Height
4.6.1. Algorithm
4.6.2. Results
5. Trajectory Generation
5.1. Environment Conditions
5.2. Strategies
5.3. Robotic Manipulator
- Modbus SerialBased on master/slave architecture. The master usually starts communication, and the answers are sent by the slave with the requested information or acknowledging a specific task.Modbus serial can work with RTU mode, with addresses represented in binary format or ASCII mode, where they are represented in ASCII format. The latter, however, consumes more resources from the network.
- Modbus TCPBased on server/client architecture. The communication is started by the client requesting data from the server. In this application, the robot acts as the client and the computer as the server.Data is encapsulated in binary format using TCP frames and sent through an ethernet cable.
5.4. Polishing Tool
6. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Acknowledgments
Conflicts of Interest
References
- Wang, Q.; Kim, M.K. Applications of 3D point cloud data in the construction industry: A fifteen-year review from 2004 to 2018. Adv. Eng. Inform. 2019, 39, 306–319. [Google Scholar] [CrossRef]
- Wang, Q.; Tan, Y.; Mei, Z. Computational Methods of Acquisition and Processing of 3D Point Cloud Data for Construction Applications. Arch. Comput. Methods Eng. 2020, 27, 479–499. [Google Scholar] [CrossRef]
- Trebuňa, P.; Mizerák, M.; Rosocha, L. 3D SCANING—TECHNOLOGY AND RECONSTRUCTION. Acta Simulatio 2018, 4, 1–6. [Google Scholar] [CrossRef]
- ASPRS. Guidelines for Procurement of Professional Aerial Imagery, Photogrammetry, Lidar and Related Remote Sensor-Based Geospatial Mapping Services. p. 4. Available online: https://www.asprs.org/wp-content/uploads/pers/1989journal/jul/1989_jul_979-984.pdf (accessed on 26 June 2022).
- Gruen, A. Fundamentals of videogrammetry—A review. Hum. Mov. Sci. 1997, 16, 155–187. [Google Scholar] [CrossRef]
- Gasparetto, A.; Boscariol, P.; Lanzutti, A.; Vidoni, R. Path Planning and Trajectory Planning Algorithms: A General Overview. In Motion and Operation Planning of Robotic Systems: Background and Practical Approaches; Carbone, G., Gomez-Bravo, F., Eds.; Springer International Publishing: Cham, Switzerland, 2015; pp. 3–27. [Google Scholar] [CrossRef]
- Bedaka, A.K.; Lin, C.Y. CAD-based robot path planning and simulation using OPEN CASCADE. Procedia Comput. Sci. 2018, 133, 779–785. [Google Scholar] [CrossRef]
- Zhang, G.; Wang, J.; Cao, F.; Li, Y.; Chen, X. 3D curvature grinding path planning based on point cloud data. In Proceedings of the 2016 12th IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications (MESA), Auckland, New Zealand, 29–31 August 2016; pp. 1–6. [Google Scholar] [CrossRef]
- 0ctree. Available online: http://www.open3d.org/docs/latest/tutorial/geometry/octree.html (accessed on 25 June 2022).
- K Dimensional Tree | Set 1 (Search and Insert). Available online: https://www.geeksforgeeks.org/k-dimensional-tree/ (accessed on 25 June 2022).
- Trybała, P.; Blachowski, J.; Błażej, R.; Zimroz, R. Damage Detection Based on 3D Point Cloud Data Processing from Laser Scanning of Conveyor Belt Surface. Remote. Sens. 2020, 13, 55. [Google Scholar] [CrossRef]
- Veiga, G.; Malaca, P.; Cancela, R. Interactive Industrial Robot Programming for the Ceramic Industry. Int. J. Adv. Robot. Syst. 2013, 10, 354. [Google Scholar] [CrossRef] [Green Version]
- Yu, Z.; Lin, H.I. Development of robotic polishing/fettling system on ceramic pots. Int. J. Adv. Robot. Syst. 2021, 18, 17298814211012851. [Google Scholar] [CrossRef]
- Mohsin, I.; He, K.; Cai, J.; Chen, H.; Du, R. Robotic polishing with force controlled end effector and multi-step path planning. In Proceedings of the 2017 IEEE International Conference on Information and Automation, Macao, China, 18–20 July 2017. [Google Scholar] [CrossRef]
- Kassow Robots ApS, Oliefabriksvej 57 2770 Kastrup Denmark. Kassow Robots: Software Manual, Version: 1.2.1 en01 ed. Available online: https://www.kassowrobots.com/products/kr810/ (accessed on 30 June 2022).
- Alvarez, M.; Brancalião, L.; Gomes, D.; Pinto, V.; Carneiro, J.; Santos, J.; Coelho, J.P.; Gonçalves, J. Prototyping and Control of an Automatic Ceramic Tableware Finishing Device; Springer: Berlin/Heidelberg, Germany, 2022. [Google Scholar]
Function | Description |
---|---|
GoSdk_Construct | Constructs the Gocator SDK library |
GoSystem_Construct | Constructs a GoSystem object |
GoSystem_FindSensorByIpAddress | Gets the sensor object with the specified IP address |
GoSensor_Connect | Creates a connection to the sensor |
GoSystem_EnableData | Establishes data connections to all connected sensors currently in the <em>ready</em> or <em>running</em> states. |
GoSensor_Setup | Gets the GoSetup instance associated with the sensor. |
GoSetup_UniformSpacingEnabled | Gets the user specified Uniform Spacing enabled state |
GoSystem_Start | Starts all sensors that are currently in the <em>ready</em> state. |
GoSystem_ReceiveData | Receives a set of sensor data messages. |
GoDestroy | Frees the memory associated with a given kObject sourced class handle. |
Shape | Average Error of X Coordinate (mm) | Average Error of Y Coordinate (mm) | Maximum Error (mm) |
---|---|---|---|
Circular | 0.34 | 0.78 | 0.78 |
Oval | 0 | 1.02 | 1.02 |
Rectangular | 0.108 | 0.781 | 0.781 |
Shape | Top Ideal Measurement (mm) | Bottom Ideal Measurement (mm) | Top Value Error (mm) | Bottom Value Error (mm) | Max Error (mm) |
---|---|---|---|---|---|
Circular | 50 | 50 | 2.241 | 2.241 | 2.241 |
Oval | 45 | 30 | 1.401 | 1.675 | 1.675 |
Rectangular | 85 | 52.5 | 1.774 | 1.599 | 1.774 |
Shape | Height (mm) | Average Measured Height (mm) | Maximum Error (mm) |
---|---|---|---|
Circular | 94.4 | 93.361 | 1.039 |
Oval | 19 | 19.448 | 0.48 |
Rectangular | 17 | 17.263 | 0.263 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Gomes, D.; Alvarez, M.; Brancalião, L.; Carneiro, J.; Gonçalves, G.; Costa, P.; Gonçalves, J.; Pinto, V.H. Data Analysis for Trajectory Generation for a Robot Manipulator Using Data from a 2D Industrial Laser. Machines 2022, 10, 907. https://doi.org/10.3390/machines10100907
Gomes D, Alvarez M, Brancalião L, Carneiro J, Gonçalves G, Costa P, Gonçalves J, Pinto VH. Data Analysis for Trajectory Generation for a Robot Manipulator Using Data from a 2D Industrial Laser. Machines. 2022; 10(10):907. https://doi.org/10.3390/machines10100907
Chicago/Turabian StyleGomes, Diogo, Mariano Alvarez, Laiany Brancalião, Jorge Carneiro, Gil Gonçalves, Paulo Costa, José Gonçalves, and Vítor H. Pinto. 2022. "Data Analysis for Trajectory Generation for a Robot Manipulator Using Data from a 2D Industrial Laser" Machines 10, no. 10: 907. https://doi.org/10.3390/machines10100907