1. Introduction
Laser scanners as sensors in machine vision systems play an important role, when it comes to measure three dimensional coordinates of any object under observation. Compared to other types of sensors, laser scanners offer advantages, because they do not estimate the 3D data of these objects, but determine their physical position and in real time using different measurement methods (Sergiyenko & Rodriguez-Quiñonez, 2016). Thereby, laser scanners capture stereo data of the scanning object without having to compare between different scanning points, as is the case with cameras, for example. This allows to design laser scanners as single sensor systems, with low requirements of data post-processing. However, most laser scanners today still use cameras to receive the reflected laser beam and convert it into a matrix of digital signal values. Compared to single-sensor photodetectors, cameras have significant disadvantages, which can be defined using the precision of real physical values measurement and the speed of post-processing of these values. The main task of laser scanners can be defined by the determination of observed objects 3D coordinates, which is mainly realized using optical methods in a very large number of applications. 3D mapping (Zhang & Singh, 2017), autonomous robots, automatic inspections, coat thickness measurement, object existence and location detection, show clear examples of accurate positioning technologies. Besides, most of those are constituted using mechatronics systems, which integrate DC motors as main electromechanical actuators. A novel Technical Vision System (TVS, prototype No.3) was developed (Lindner, Sergiyenko, Rivas-López, Hernández-Balbuena, et al., 2017), which represents an optoelectronic machine vision system capable of measuring 3D coordinates in the TVS field-of-view (FOV), to determine the information of scanned surfaces for scientific and industrial applications. The TVS has the key advantage over cameras that it is basically designed and constructed as a single-sensor, high-speed, and ultra-low cost laser scanning system, which uses the dynamic triangulation measurement method and trigonometric functions, to measure 3D coordinates of any object under observation (Lindner, Sergiyenko, Rodríguez-Quiñonez, et al., 2016; Lindner, Sergiyenko, Rivas-López, Ivanov, et al., 2017). Dynamic triangulation, in comparison to classic (static) triangulation, allows a faster acquisition of all 3D coordinates in the FOV of a laser scanner. Since with dynamic triangulation only the laser point is moved over the surface of an object under observation, and not the entire technical system, higher dynamics and thus significantly reduced scanning time can be achieved. A typical application for dynamic triangulation can be found in the navigation of mobile vehicles, where fast acquisition of 3D coordinates plays an important role. Using the novel approach of dynamic triangulation and the TVS, the mobile vehicle FOV can be defined regardless of its movement trajectory, and thus the vehicle can map and capture a new environment in shorter time and with less energy usage, than with static triangulation or multiple sensor systems. When designing this TVS, two special requirements were defined in order to simplify significantly the prototyping of the system. The first requirement was defined by the use of off-the-shelf mechanical, electromechanical and optical elements and the second requirement by the use of open-source hardware and free software tools. This allows the general reproduction of our TVS and realization as an ultra low-cost laser scanning system.
To implement the dynamic triangulation measurement method in practice, the TVS consists mainly of a laser transmitter and receiver. The laser transmitter of our TVS was realized as the Positioning Laser (PL), shown in Fig. 1, and contains the following main components: a Maxon brushed DC motor with incremental encoder providing 1000 pulses per revolution, a 45° cut mirror and a 10 mW laser module. To aim the laser beam precisely at an observed object surface, the actual angular position of the DC motor must be controlled with the smallest possible angular error. This has been achieved by implementing a proportional algorithm (P-Algorithm) in closed-loop (CL) configuration, using a microcontroller (Lindner, Sergiyenko, Rivas-López, Rodríguez-Quiñonez, et al., 2016). In this previous research, the P-algorithm controlled the actual angular position of the DC motor shaft, using a constant reference angular position, which leads to a step response of the DC motor shaft. A positioning time ≤ 100 ms and a relative angular error ≤ 11.10% was achieved (Lindner, Sergiyenko, Rivas-López, Rodríguez-Quiñonez, et al., 2016). Due to static and dynamic non-linear friction effects (Virgala et al., 2013; Virgala & Kelemen, 2013), the DC motor shaft thereby is always positioned with an angular error.
Further reduction of the positioning time and relative angular error is desired, thus
present paper describes a new approach to control the actual angular position of the
PL DC motor, using a trapezoidal profile as trajectory for the reference angular
speed
2. Related works
Laser scanners, which use cameras to detect the reflected laser beam, can be found in numerous and even older articles. Schmalfus presents one of the first papers which compares laser scanners versus CCD cameras for automated industrial inspection (Schmalfuß, 1990). Podsedkowski et al. (1999) present a method for robot navigation, using different sensors for estimating current position and orientation of the mobile robot system. The robot orientation system is based on a laser scanner brand SICK LS200. The combination of both laser scanner and camera is used in (Acosta et al., 2006), which introduces the design and development of a 3D scanner, using a line laser and a webcam. From this point, an increasing amount of research about laser triangulation using cameras is widely found in scientific literature (Abu-Nabah et al., 2016; Emam et al., 2014; Idrobo-Pizo et al., 2019; Kienle et al., 2020; Kim et al., 2018; Lee et al., 2017; Lehtomäki et al., 2016; Lin et al., 2017; Mill et al., 2013; Xiao et al., 2015). However, research that implements 3D scanners without cameras is much less available. After an intensive literature search, no work on 2D or 3D scanners was found that only uses off-the-shelf optical and electromechanical elements, to implement the laser scanner. This means, that in all found research a standard industrial 2D or 3D laser from different brands was used. The literature review also revealed, that for moving and positioning these laser scanners also industrial solutions, in the form of servo systems (electrical motor and controller), was used. Kolu et al. (2015) describes an obstacle mapping method for navigating a multipurpose loader, using a tilted 2D laser-servo system, consisting of a SICK laser scanner and a tilting servo module. Martinez et al. describes the construction and calibration of a low cost 3D laser scanner for mobile robot navigation (Martínez et al., 2015), which furthermore uses a DC servomotor equipped with a gear unit. Using a gear units increase the systematical error of the system, which among others is due to the backlash present in every gear. Also, this work uses a Hokuyo laser scanner, which represents a high-cost commercial solution. Moon et al. (2015) offers a 3D laser range finder for object recognition, which also uses a high cost industrial solution from SICK. The presented system consists of a 2D laser range sensor working measurement and a servo drive controlled by an embedded computer running Linux. Bauersfeld et al. (2019) present a 3D laser scanner, developed by adding an additional axis of rotation to a planar tilted 2D laser scanner, which is moved using a Dynamixel servomotor. As last example Singh et al. (2020) presents a modified 3D laser system assembled from a 2D laser scanner coupled with a servomotor is presented. The UTM-30LX laser scanner is coupled with a servomotor, which are used to generate a 3D point cloud for mobile robot navigation. Also, most research developing 2D or 3D scanners does not use open-source hardware or free software. For example, Viola et al. (2017) design and evaluate a fractional order PID controller, whereby different control strategies are implemented using the MATLAB stateflow toolbox and a NI data acquisition system. To prove the proposal of an DC motor speed regulator using active damping, Kim and Ahn (2021) uses a Quanser QUBE-Servo2 and the myRIO-1900.
In summary, it can be said, that after intensive literature research, not a single project was found, which pursues our novel approach of combining a laser triangulation system with DC motors, without using cameras. The unique design principle of our Technical Vision System is described in numerous previous research (Básaca-Preciado et al., 2014; Lindner, Sergiyenko, Rivas-López, Hernández-Balbuena, et al., 2017; Lindner, Sergiyenko, Rivas-López, Ivanov, et al., 2017; Lindner, Sergiyenko, Rivas-López, Rodríguez-Quiñonez, et al., 2016; Lindner, Sergiyenko, Rivas-López, Valdez-Salas, et al., 2016; Lindner, Sergiyenko, Rodríguez-Quiñonez, et al., 2016; Reyes-Garcia et al., 2018, 2018; Reyes-García et al., 2019; Rodríguez-Quiñonez, Sergiyenko, Hernandez-Balbuena, et al., 2014; Rodríguez-Quiñonez, Sergiyenko, Preciado, et al., 2014) and partly presented in this paper. This can be summarized by the following properties. Our system represents a single-sensor, high-speed, ultra low-cost laser scanning system, which uses the dynamic triangulation measurement method and DC motors controlled in CL configuration, to physically measure 3D coordinates of any object under observation, without using large post-processing or cameras. It must be emphasized that for the TVS mechanical design no gears have been implemented, to further reduce the systematic error, caused by gear backlash and other non-linear effects of gear mechanism. All DC motors are controlled directly and without gears in CL configuration, which reduces the absolute angular error and the positioning time of all TVS DC motors shaft. It must also be emphasized, that for the overall TVS design only off-the-shelf mechanical, electromechanical and optical elements and open-source hard and free software tools were considered, which highly reduces the complexity and highly improves the reproducibility of our 3D laser scanning system.
3. Theoretical concepts
Previous research has shown the reduction of the angular error
transforming (1) to the frequency domain
The well-known model of a DC motor with permanent magnets and back-EMF in the frequency domain is depicted in Fig. 3 and can be found in most literature (Chapman, 1985; Fischer, 2016; Hughes & Drury, 2019).
Here, K E represents the electrical gain, K T the torque constant, K M the mechanical gain, K b the back-EMF gain, T E the electrical time constant and T M the mechanical time constant, which are usually provided by the data sheet. The corresponding transfer function of the DC motor is represented by:
Fig. 4 depicts the DC motor speed control in
closed-loop configuration, using a PI-controller. The gain of the PI-controller is
K
R
and the reset time T
N
. The integral part of the controller is necessary since, when the
angular speed error
The corresponding transfer function of the DC motor speed control in closed-loop configuration can be represented as a third-order rational function:
Using the final value theorem of the Laplace transform, the final value of the actual
angular position
Using (2), (4) and evaluating this expression yields an indeterminate form. Applying
twice L’Hopital’s rule and using
Thus, a possibility was found to define the final value of the DC motor shaft actual
angular position using only two parameters
4. Methodology
Fig. 5 depicts the block diagram of the LM629 implementation as digital controller in the TVS PL, which consists of 10 principal components. Starting with the first component, a Graphical User Interface (GUI) was developed to monitor the actual DC motor shaft position and velocity, as well as provides global commands for the digital controller LM629. The GUI represents the Software Interface (1). The next component represents the Hardware Interface (2) between the user and the digital controller LM629, implemented using an Arduino Mega, which receives and sends single data strings to the LM629 Host-Interface (3), translating the user commands for the digital controller. The string data is divided per each command, coefficient and values, necessary to load the reference trajectory using the Trajectory Profile Generator (4).
The digital controller also contains a summing junction (5), a position encoder (10) and a digital PID loop compensation filter (6), which calculates a newset point as reference value for the DC motor. The control signal from the PID filter is sent to an 8-bit PWM block (7), which generates a PWM signal, and which than is amplified using the motor driver Hbridge module L298N (8). The control signal from the PID filter is sent to an 8-bit PWM block (7), which generates a PWM signal, and which is then amplified using the motor driver H-bridge module L298N (8).
Finally, the output signal of the incremental encoder (9) is detected by the position feedback interface of the LM629 (10). Fig. 7 shows the overall connection diagram of the PL DC motor shaft position control, using the digital controller LM629 in closed-loop configuration.
5. Experimental realization
According to previous section methodology, the LM629 connection diagram (Fig. 7) was developed, which represents the
design of the new approach for controlling the TVS PL. The developed hardware
connections and hardware algorithms were oriented for intercommunication, reading
and writing operations and control logical signals, using as host an Arduino Mega,
the LM629 precision motion controller, a L298N dual full bridge driver and the Maxon
brushed DCX motor, which represents the actuator for the TVS PL. The developed
experimental hardware connections are depicted in Fig.
8. After the experimental hardware implementation, a GUI was developed
based on the LabVIEW platform, to interact with the LM629 precision motion
controller. Fig. 6 depicts the front panel of
the GUI, which shows the tracking of the positioning laser, using the data formatted
as (x: time, y: position) and displayed in a XY Graph, to determine the DC motor
shaft actual angular position
All used experimental parameters are summarized in Table 1, which represents the minimum data required for positioning the DC motor shaft.
Symbol | Description | Value | Unit |
---|---|---|---|
φ r | Reference angular position | Variable double type | arc degrees (°) |
φ o | Actual angular position | Variable double type | arc degrees (°) |
φ e | Absolute angular error | Variable double type | arc degrees (°) |
φ’ e | Relative angular error | Variable double type | percentage (%) |
|
Relative angular error average | Variable double type | percentage (%) |
N r | Counts per reference angular position | Variable double type | counts |
N m | Counts per actual angular position | Variable double type | counts |
a | Reference acceleration | 26 | rev/s2 |
ω max | Reference maximum velocity | 27 | rev/s |
The desired angular displacements of the laser beam are represented in values of the
reference angular position
The DC motor shaft actual angular position is represented by
The actuator of the TVS PL includes an incremental encoder of 1024 pulses per
revolution as angular resolution. Using the LM629 motor position decoder module, the
digital controller quadruples this angular resolution defined by the LM629 data
sheet, resulting in a maximum possible angular resolution of
and the counts per actual angular position Nm(t) represent the discretized actual
angular position
The second stage consists in setting up the trapezoidal velocity trajectory
6. Experimental results
During the experiment, various observations were made. The DC motor shaft was
positioned using as acceleration
φ r | N r | N m |
|
t p (ms) |
---|---|---|---|---|
1° |
|
11 | 0 | 1 |
11 | 0 | 1 | ||
11 | 0 | 1 | ||
11 | 0 | 1 | ||
11 | 0 | 1 | ||
5° |
|
57 | 0 | 1 |
57 | 0 | 1 | ||
57 | 0 | 1 | ||
57 | 0 | 1 | ||
57 | 0 | 1 | ||
15° |
|
171 | 0 | 2 |
171 | 0 | 3 | ||
171 | 0 | 4 | ||
171 | 0 | 2 | ||
171 | 0 | 2 | ||
90° |
|
1024 | 0 | 22 |
1024 | 0 | 21 | ||
1024 | 0 | 25 | ||
1024 | 0 | 22 | ||
1024 | 0 | 22 | ||
360° |
|
4095 | 0.02 | 44 |
4096 | 0 | 42 | ||
4096 | 0 | 43 | ||
4096 | 0 | 44 | ||
4096 | 0 | 44 |
7. Conclusions
Present paper explores a new methodology to further reduce the angular error of a
laser scanning machine vision system using a trapezoidal trajectory profile for the
TVS PL mechanical actuators (DC motors). Thereby, the step response of the DC motors
is replaced by a trajectory response, using a trapezoidal profile for the DC Motor
velocity, to reduce the angular error of the DC motor shaft. The trapezoidal profile
for the DC Motor velocity is implemented using the digital controller LM629. This
approach reduces significantly the relative angular error to a value less than or
equal 0.1%, compared to the previously used step response (Lindner, Sergiyenko, Rivas-López, Rodríguez-Quiñonez, et al.,
2016). The results in Table III
show the advantages of using a trapezoidal velocity trajectory