Índice

Introduction

Basic concepts

Theoretical concepts

DC motor continuous model

Digital control design for faster positioning of DC motor

Technical vision system

Continuous TVCS design and functioning principle

Algorithm of DC motor control for continuous positioning

Experimentation realization and results

Experimentation analysis

Conclusions

Appendix

List of Symbols

List of Abbreviations

Bibliography

Legales

Universidad Autónoma de Baja California

Lars Lindner

Theoretical method to increase the speed of continuous mapping in a

three-dimensional laser scanning system using servomotors control

Selección Anual para el Libro Universitario

INTRODUCTION

Geodesy is the science of measuring and mapping the Earth’s surface, including its geometric form, its gravity field and its orientation in space (Helmert, 1880). It is one of the fields of engineering science and it connects astronomy with geophysics. It is especially close to topography, which represents the engineering of land measurement and delimitation of surfaces, and it is also involved in the determination of geometric parameters (position, shape, size) and it’s derivative with respect to time (speed, acceleration) (Schlemmer & Mueller, 2000). Part of the work of topographers is the measurement of 3D Coordinates, which is of great need and used in modern science and industry. Its main task is to determine the coordinates of an examined object, which is mainly realized by optical methods in a very large amount of applications.

For example, Wendt, Franke and Härtig (2012) describe a concept of large 3D structure measurement using four portable high-accurate tracking laser interferometers. Each of these interferometers tracks a single moving retroreflector and sends its data to a central control, which calculates the 3D point coordinates using the Pythagorean’s Theorem in space. An optical scanning tomography (OST) for time-resolved measurements of kinematic fields in the volume of structures is presented in a paper by Morandi and collaborators (2014). This tomography uses a plane laser beam, which illuminates a transparent probe in layers and the scattered light of each layer is recorded with a single camera. Another example for determination of 3D coordinates is introduced in the paper (Li et al., 2014), where a coordinate-measuring machine (CMM) is combined with two CCD-cameras to perform 3D inspections of complex and freeform surfaces. This hybrid system uses a new development in coordinate unification, to merge the measured data of tactile and optical sensors. Measuring 3D coordinates using a non-diffracting beam is presented in an article by Ma, Zhao and Fan (2013). It also used a combined system, which included a laser beam and an optical system to measure the attitude angle of a probe. A 3D shape measurement system which uses digital micro-mirror devices (DMD) with high-speed refreshing rate is proposed in the paper by Wang and collaborators (2014). A DMD chip contains a large amount of individual microscopic mirrors, in which every mirror represents one pixel in the projected or scanned image. These mirrors can be rotated on high speed, which allows a superfast 3D shape measurement. Another application of 3D coordinate measurement can be found in laser welding, used within the automotive industry (Colombo, Colosimo, & Previtali, 2013). The main objective is to monitor the welding conditions online, in order to guarantee constant product quality. A panoramic fringe projection system to retrieve the three-dimensional topography of quasi-cylindrical objects is demonstrated in an investigation by Flores and collaborators (2014). Thereby the examined object is positioned in a conical mirror and illuminated by an LCD projector. Then, the reflected light from the conical mirror is observed using a CCD camera over a 45º staggered beam splitter. The publication (Genovese et al., 2013) shows the possibility for stereo measurements with one CCD camera, using a biprism between an observed object and the camera. The biprism in front of the camera split the scene into two equivalent lateral stereo views, which get captured by the two halves of the CCD sensor. This approach allows a compact set-up suitable for miniaturization. Also, measurement of 3D coordinates is needed in small applications, where a specific parameter, like the diameter of a machine shaft, has to be determined (Sun et al., 2014). Thereby the two edges of the shaft are projected into a world coordinate system, using the parameters of the camera model.

Applications for contactless measurement of 3D coordinates use mostly optical signals with CCD cameras or laser signals in Laser Scanning Systems (Toth & Zivcak, 2014). Cameras have the advantage of resembling the way human vision works (Sergiyenko, 2010), which makes implementing algorithms for different scenario detection in an unknown environment easy. Also, when using cameras, the scanning results do not depend on the examined object surface properties. On the other hand, cameras are not preferable for single coordinate measurements (e.g. distance), due to the large amount of data they generate. Another disadvantage is their dependency from the condition and existence of visible light and from atmospheric effects. Laser scanning systems however are suited for accurate coordinate measurements, which they can perform on objects from long distances and are independent of ambient light. They also have the advantage of fast measuring speed, simple optical arrangements and a low cost (Zhongdong et al., 2014). On the other hand, it must be noted, that for laser scanning systems the measurement readings depend on the scanning surface and that post-processing is required, due to large and high-resolution 3D data sets.

One application, where measurement of 3D coordinates is absolutely needed, can be found in the movement control of autonomous and mobile robots (AMR). The environment of a robot is typically measured with CCD cameras and/or laser scanning systems. In a paper (Ohnishi & Imiya, 2013), for example, a robot is navigated using a “visual potential”, which is computed using a sequence-capturing of various images by a camera mounted on the robot. Another paper (Correal, Pajares & Ruz, 2014) uses an automatic expert system for 3D terrain reconstruction, which captures its environment with two cameras in a stereoscopic way, like human binocular vision. Laser scanning systems, as remote sensing technology, instead are known as light detection and ranging (Lidar) systems, which are widely used in many areas, as well as in mobile robot navigation. A paper (Kumar et al., 2013) for example uses an algorithm and terrestrial mobile Lidar data, to compute the left and right road edge of a route corridor. In a paper (Hiremath et al., 2014), a mobile robot is equipped with a Lidar-system, which, using the time-of-flight principle, navigates through a cornfield.

However, other sensors and methods are also used to navigate mobile robots. The paper by Benet and collaborators (2002) uses infrared (IR) and ultrasonic sensors (US) for map building and object location of a mobile robot prototype. One ultrasonic rotary sensor is installed on the top and a ring of 16 infrared sensors are distributed in eight pairs around the perimeter of the robot. These IR sensors are based on the direct measurement of the IR light magnitude that is back-scattered from a surface placed in front of the sensor. The typical response time of these IR sensors for a distance measurement is about 2ms. Distance measurement with this sensor can be realized from a few centimeters to 1m, which represents one limitation of this approach. The range for coordinate measurements by triangulation can be far over 1m. An article written by Volos, Kyprianidis and Stouboulos (2013) even experiments with a chaotic controlled mobile robot, which only uses an ultrasonic distance sensor for short-range measurement to avoid obstacle collision. The experimental results show applicability of chaotic systems to real autonomous mobile robots.

A novel optical 3D laser scanning system for navigation of autonomous mobile robots, called technical vision system (TVS) was developed at the laboratory of optoelectronics and automated measurement of the Universidad Autónoma de Baja California (UABC) (Sergiyenko O., 2010); it consists mainly of a laser scanning system, which uses the dynamic triangulation method, to obtain 3D coordinates of any object under observation. This autonomous robot navigation system’s main task is the prevention of obstacle collision in an unknown environment. More results about investigation on the robot navigation system can be found in Basaca-Preciado and collaborators (2010a; 2010b; 2012; 2014) and Sergiyenko and collaborators (2006; 2008; 2011); and extensive preliminary research about the TVS is in the work written by Flores-Fuentes and collaborators (2014b; 2015a; 2015b; 2016a; 2016b), also Lindner and collaborators (2014a; 2016a; 2016c) and Lindner on his own investigation (2016), and finally, by Murrieta-Rico and collaborators (2015; 2016a; 2016b; 2016c). Another application of the TVS was explored in the medical field, where it can be used to monitor scoliosis (Rodriguez-Quinonez et al., 2011; Rodriguez-Quinonez et al., 2013; Rodriguez-Quinonez et al., 2014). Thereby 3D coordinates of the human spine are measured, in order to classify deformations using the Cobb Angle. Recent research about increasing the scanning speed of the TVS by use of combined variable steps can be found in Garcia-Cruz and collaborators (2014). Also, a power spectrum centroid for measurement improvement got applied in the paper Combined application of power spectrum centroid and support vector machines for measurement improvement in optical scanning systems (Flores-Fuentes et al., 2014).

All these applications use the same indicated TVS, which performs line-by-line laser scans using stepping motors to position the emitted laser. Stepping motors have a discontinuous behavior, due to their stepwise rotation of the motor shaft. Modern stepping motors in certain operating modes have step sizes less than one degree but will always have unreachable angles in their field of motion (FOM). It is proposed that substituting these stepping motors with direct-current motors (DC motors) would help to eliminate dead zones and to perform a continuous scan in the TVS field of view (FOV). These motors will be controlled as servomotors in closed and open-loop configuration. Thus, by use of stepping motors in the previous developed TVS, the FOV is discretized and its resolution would depend on the distance of the examined scanning object. Targets, with smaller dimensions than the FOV resolution at a certain distance, cannot be scanned or captured. These targets are located within the dead zones of the TVS and thereby not detectable by it. Also, previous work (Garcia-Cruz et al., 2014) has shown the possibility of optimizing laser scanning speed by variating the scanning step angle, in dependency of the scenario to be scanned and the required quantity of information. Because of their physical construction, stepping motors always have a fixed step angle and thereby cannot be used to implement a variable step scanning method. In order to improve these serious disadvantages, the present work proposes the substitution of the stepping motors by DC motors and it derives additional theoretical aspects to be considered, which gets its solution along this work.

To determine this 3D coordinates, the TVS predecessor prototype no. 2 uses stepping motors, which result in major disadvantages, due to the discrete behavior of these types of actuators. Stepping motors leads to a discrete field of view (FOV), which resolution depends on the distance to the examined object, and inevitable dead zones, where 3D coordinates cannot be detected. The present work describes the substitution of these discrete actuators by DC motors, to eliminate dead zones and to perform a continuous laser scan in the TVS FOV. Our main objective is the development of all required theoretical formalism to provide laser scanning in continuous mode. Using DC motors as actuators in the new TVS successor prototype No.3 eliminates the disadvantages of a discrete FOV and replaces it with a continuous one. By changing the physical operation principle from discrete to continuous, the implementation of applications gets available, which previously were limited by the fixed step size or by the observed object distance. Using DC instead of stepping motors, a significantly reduced positioning time can be accomplished, maintaining the relative positioning error in less than 1%. For the TVS prototype no. 3 the control algorithms for position and speed control of DC motors in closed and open-loop configuration are described in this work and implemented using a digital controller. Important concepts of the digital controller are derived, which are necessary when controlling the position and speed of the DC motor shaft. These concepts are considered for practical implementation of the DC motor’s position and speed control. Extensive experimentation is realized to control the DC motor shaft angle of the proposed DC motor to achieve a minimal step response rising time and a minimal angular position error. The experimentation results are summarized in tabular form and analyzed in detail. They show, in overall, the total correctness of the preliminary defined hypotheses, as well as some practical deviations are analyzed, which helps to enforce the final practical design.

Thereby, the present work is organized as follows. After introduction, the chapter Basic concepts presents the needed terms to design, develop and realize the new successor TVS prototype. The chapter Theoretical concepts stablishes the framework needed to model and analyze the stability of the proposed DC motors in position and speed control-loop. The next chapter, named DC motor continuous model, uses these theoretical concepts to define continuous models for the DC motor position and speed closed-loop control and derives the step response for both control loops. Following, the chapter Digital control design for faster positioning of DC motor describes, in detail, the main concept needed to control a DC motor using digital controllers. The predecessor prototype number two of the defined Technical vision system and his successor prototype number three are explained in the chapter Technical vision system. The next chapter, Continuous TVS design and functioning principle, defines the main issues detected with the TVS prototype numbers two and offers new approaches to counter them. The practical implementation of DC motor position control is described in the chapter Algorithm of DC motor control for continuous positioning and the experimental realization and results are presented in chapter Experimentation realization and results. An extensive experimental analysis of DC motor position control is developed in chapter named Experimentation analysis and the last chapter closes the work with some conclusions and perspectives for further research.

BASIC CONCEPTS

Basic concepts must be defined for design, development and realization of the proposed TVS prototype number three. Thereby, the present chapter describes the principal measurement method of triangulation, compares the static with dynamic triangulation and defines the transition from a discrete to a continuous laser scanner FOV. Also, we describe electromechanical actuators, which are currently used in the presented TVS, represented by stepping, DC and servomotors. The advantages and disadvantages of each actuator are presented, and they show that servomotors are best suited for the task of dead zone elimination in the TVS FOV. Finally, the programming environments and hardware that were used are briefly described, to implement the required control tasks for the proposed servomotors.

LASER SCANNING METHODS

Optical laser scanning systems currently use three major methods to determine 3D coordinates: Measuring of elapsed time (time-of-flight), Measuring of phasing and Triangulation. An overview of the advantages of these methods gives table 1:

Previous research (Basaca-Preciado et al., 2014; Flores-Fuentes et al., 2014a Sergiyenko, 2010) has shown the advantage of the TVS, which use the triangulation method over the other two methods. The paper by Basaca-Preciado and collaborators (2014) explains the disadvantages of multisensory systems, of stereo vision systems and systems that use structured light methods. The TVS represents a low-cost and high-precision vision system with enough reliability as a main characteristic. The TVS is achieving the following functions, which are specified in the paper by Sergiyenko (2010):

- Detection of objects and their classification

- 3D coordinates measurement of detected objects

- Determination of information about the scanned objects surfaces

TRIANGULATION

Triangulation consists in dividing in triangles and measuring an area, which form a mesh and where angles and distances are calculated using trigonometric functions (Sergiyenko et al., 2011). To measure 3D coordinates using triangulation, be considered a triangle in top view (figure 1) and lateral view (figure 2), where the distances d, d’, p and q are unknown:

The distance a and the angles β and γ are known and by using the law of sines, the distance d, p and q can be determined (Sergiyenko et al., 2011):

By extending the two-dimensional triangle from figure 1 to the three-dimensional space, the third coordinate h can be determined as shown in figure 2. The distance d is already known from equation 1. The angle η is now measured and thus the height is determined:

Distance d’ represents a projection of distance d on the top plane and is defined by:

The point A(q;d’;h) now represents a point in a three-dimensional Cartesian coordinate system.

Laser scanners, which use triangulation, typically consists of a transmitter and a receiver unit. Thereby, Figure 1 also shows a scheme of laser triangulation, where the transmitter unit is indicated as the positioning laser (PL) and the receiver unit as the scanning aperture (SA). The stricken and reflected laser beam is marked by red color and all measured coordinates by black color.

STATIC VS. DYNAMIC TRIANGULATION

The use of the triangulation method in laser scanning systems can be of static or dynamic characteristic (Sergiyenko et al., 2011). Static characteristic is referred to an operation mode without moving the positioning laser or the scanning aperture, which results in a statically behavior of the triangulation. Figure 3 shows the basic principle of measurement, which represents the industry standard for contactless distance measurement sensors. A laser beam reflected on a surface is focused on an image sensor (CCD or CMOS sensor) by an optical lens.

A distance change dz of the scanned surface produces a position change dz’ of the received laser beam on the image sensor. Because of the static characteristic of this measuring method, the size of the image sensor limits the maximum possible range of the distance measurement. To increase the measuring range of the laser scanner FOV, the principle of dynamic triangulation was developed, and it is depicted in figure 4:

The dynamic triangulation uses not-fixed transmitter γij and receiver angles βij, to make the measurement range independent of the receiver image sensor size. The transmitter strikes the laser beam under the angle γij to the object to be measured, the laser beam gets reflected (total or diffuse) on the object surface and received by the receiver unit under the angle βij. With the measured angles γij, βij and the equations 3, 4, and 5, the three-dimensional coordinates of the examined object are determined.

DISCRETE VS. CONTINUOUS FIELD OF VIEW

The use of stepping motors for the positioning laser leads to a discrete FOV of the TVS, depicted in figure 5. In the discrete FOV there can be scanning objects with smaller dimensions than the resolution of this field and which will not be detected by the TVS. Figure 5 also shows, how the resolution of the discrete FOV is increased, by increasing the scanning plane distance and two mutual excluding conditions, when using a discrete FOV: A) Narrow FOV with high resolution or B) wide FOV with low resolution.

It must be noted, that by discretization of the scanner FOV, the continuous equations of triangulation get converted to equations using discrete values for the PL and SA angle. Distance a remains a constant value:

The point Ai (qi;di’;hi) now represents a discrete point in a three-dimensional Cartesian coordinate system.

Using equation (3), the horizontal distance between two adjacent points A_1 (q_1;d_1) and A_2 (q_2;d_2) can be defined by:

Supposing a constant distance d for both points, they are distinguished by a different PL angle γ:

Since γ_2=γ_1+Δγ, equation (11) can be rewritten:

Using γ_1=γ and the trigonometric sum equations, formula 12 can be expressed as:

Hence, the distance Δq between two adjacent points is a function of the PL angle γ and the PL angle increment Δγ. In the case of , equation 13 gets simplified to:

Since the tan(x) for the interval x ϵ [0,π⁄2] represents a monotone increasing function, equation 14 shows the resolution of the discrete FOV decreasing, when the PL angle increment ∆γ or the scanning distance d is increasing. Also, equation 14 shows the transition from the discrete to a continuous FOV when using Δγ=0, depicted in figure 6:

The continuous FOV, proposed and researched in Lindner and collaborators (2014b; 2015; 2016a; 2016b) originates from the use of DC motors instead of stepping motors for the TVS positioning laser.

ELECTROMECHANICAL ACTUATORS

Electromechanical actuators are drive elements, which convert electrical signals into mechanical movements or other physical variables. Electromechanical actuators are the counterpart to sensors in measurement and control and represent the active operators in a control system. A main group of electromechanical actuators are represented by electrical motors, of which the stepping motor, the DC motor and the servomotor are briefly explained in the following.

STEPPING MOTOR

A stepping motor is a special type of synchronous motor (figure 7), with a cogged permanent magnet rotor (1) and particular stator poles (2), whose windings (3) are driven by periodic current pulses (Fischer, 2003).

An electronic circuit for stepping motors generates these pulses in the correct order to control the desired speed and direction. One pulse moves the stepping motor in one step-angle, which is a typical parameter of each motor. The pulse sequences generate a rotating magnetic field, which the rotor follows exactly, if the load torque is less than the rated torque ML<MM. Under this condition, the driving of a stepping motor is simpler than that of a servomotor and therefore no sensors for position feedback are required. Because of a discontinuous operation mode, the stepping motor is suitable as a switching mechanism (printer, quartz clock, etc.) and for positioning tasks. In the actual market, there many of different stepping motors, which are characterized by the parameters shown in table 2.

The stepping motor shaft positioning with 10 steps with α=1.8° is shown in figure 8, the discontinuous behavior can be clearly identified:

Table 3 summarizes the most important advantages and disadvantages of stepping motors.

DC MOTOR

A direct-current motor (figure 9) is a machine, which is energized with direct current (DC) and mainly consists of the following parts (Lindner, Bauer & Lehmann, 1999):

The stator produces the direct magnetic field by the main poles and the stator windings. The stator can be made of permanent magnets in smaller machines (<30 kW). The ends of the main poles are designed to pole shoes. The rotating part of the machine consists of a shaft, which carries the grooved armature. The grooves sustain the rotor windings, which consist of separate individual coils and which are electrically connected to the commutator. When rotating the shaft, the commutator realizes the current reversal in the coils so that a torque is produced on the shaft in the actual rotating direction originated by the Lorentz Force. Current is delivered to the commutator over the carbon brushes, which are usually made of self-lubricating graphite. DC motors can be classified according to the connection between the stator and the rotor windings, summarized in table 4:

Furthermore, the rotor of the DC motor can use an iron-cored or an ironless winding, as shown in figure 10 and figure 11. The ironless winding was first developed by the company Faulhaber in 1958 and patented in 1965 (Faulhaber Drive Systems, n. d.). Ironless windings have the following advantages compared to conventional iron-cored windings (Maxon Academy, n. d.):

- Completely free rotation of rotor, without cogging torque

- High acceleration due to a lower moment of inertia

- Good characteristics at low speed and no iron losses

The acceleration of a typical DC motor to 236 rpm is shown in figure 12, it can be clearly identified the continuous behavior.

Table 5 summarizes the most important advantages and disadvantages of DC motors.

SERVOMOTOR

An electrical motor controlled in a closed-loop leads to the servomotor, which has its original function as an auxiliary drive in the field of machine tools (Schulze, 2008). Like the term servomotor only refers to a servosystem, where one or several actuators control a motor in a closed-loop, this motor can be any type of. Often are used DC motors in a cascade structure (Figure 13):

Figure 13 shows the details of a servosystem in a cascade structure, where G represents the tachogenerator that can be a resolver, an incremental or an absolute encoder. Each higher-level controller calculates the setpoint for the lower-level control loop, which must be faster, than his higher-level control. The current controller determines the voltage setpoint, which is converted to the corresponding armature voltage of the motor terminals via the power electronics. The actual values of position, speed and current are detected by sensors and feed backed to their corresponding control loops.

Modern hobby servos, like the Futaba S3003 (figure 14), are often used as actuators for radio control and small robots. Like stepping motors, they are mass produced in a wide variety of types. The most common one comes in a compact housing with an integrated potentiometer and an electronic system to control the angle of the servo in a closed-loop. The potentiometer connects with the output shaft and gives the actual angle of the servo to the electronic system. This system compares the actual value with the reference value, received from an input pulse-width-modulation signal (PWM). With a difference between actual and reference value, the electronic system corrects the output shaft angle, until the difference turns zero. The PWM-signal is given by the operator and has commonly a frequency of 50 Hz with a duty cycle between 5–10%. The electronic system of servos can be analog or digital. Digital servos have a higher angular resolution and the angular position is controlled more quickly and accurately than analog servos. On the other hand, they have higher power consumption and are mostly more expensive than analog servos.

The step response of a typical hobby servo is shown in figure 15. It can be clearly identified the continuous behavior.

Also, table 6 summarizes the most important advantages and disadvantages of servomotors.

Two typically nonlinear effects must be accepted when using low-cost servomotors: the breakaway and the cogging torque. The breakaway torque describes the moment which must be applied by the rotor at standstill, so that it starts to rotate. In Tribology, the breakaway torque is generally referred to as Static Friction, which was described first by the laws of Amonton and Coulomb laws (Gohar & Rahnejat, 2008). Static friction is a highly nonlinear effect, which is currently state of the art of modern research and for which exists a lot of complex mathematical models (Popov, 2016). The cogging torque is caused by the interaction between the permanent magnet of the stator and the coil windings of the rotor. The alignment of the rotor windings to the magnet poles of the stator, resulting in a “snapping” of the stator in only very specific angular positions.

PROGRAMMING ENVIRONMENT

Programming environments are required, to implement the theoretically developed algorithms on hardware level. In order to develop the TVS software cost-effective, only open-source and free development environments are considered. Thus, the two main programming environments used for TVS software development are outlined in the following.

ARDUINO PLATFORM

The Arduino platform describes a family of open-source single-board microcontrollers (figure 16), which since its launch in 2005 has greatly facilitated the development of projects in many areas, not only engineering. The Arduino platform has a modular construction, which allows adding extension shields to expand the functionality and comes with a large software library. Table 7 presents the advantages and disadvantages of the Arduino platform.

The most basic Arduino Uno has the following main specifications:

- 8-bit AVR RISC-based microcontroller from Atmel with 16 MHz clock speed

- USB Interface for programming and communication with PC

- Integrated timers and counters for time-based operations

- Digital inputs / outputs and analog inputs for measuring and sending signals

- Outputs with pulse width modulation (PWM) to control external drivers and loads

- Interrupt inputs to respond to asynchronous external events immediately

C# WINDOWS FORMS

The programming language C# was developed by Microsoft within its .NET Framework initiative and first released in January 2002. It is the successor of the languages C / C++ and a multi-paradigm programming language for different operating systems like Windows, Mac OS X or UNIX. C# on Windows systems can be developed with the free Microsoft Visual C# Express integrated development environment. Furthermore, Windows Forms represents a programming tool to build graphical user interfaces (figure 17) and is included in the Microsoft .NET-Framework. It is used to communicate between user and the physical platform Arduino Uno. The user can send reference variables and commands to the Arduino and receive actual and status variables from it.

THEORETICAL CONCEPTS

The newly presented scanning principle shall use servomotors instead of stepping motors, to substitute the discrete laser scanner FOV by a continuous one. The present chapter provides fundamental theoretical concepts, which are required for modeling and stability analysis of the used servomotors in the next chapter, named DC motor continuous model. There, the modeling of the servomotors position and speed control is defined in detail. For stability analysis of these two control tasks, the present chapter outlines the mathematical deduction of the Routh criterion and the Routh algorithm, which determines the denominator zeros of a linear transfer function (TF) in the complex plane. This mathematical deduction requires the determination of the number of real zeros of a real polynomial f(x) in each interval [a,b], which is explained by Sturm’s Theorem. Furthermore, a brief introduction about Fourier series and the Fourier transformation is given, which also will be required for following chapter to describe mathematically digital square wave signals. More detailed information on the presented theoretical concepts can be found in a relevant literature about classical control theory (Lutz & Wendt, 2012; Reinschke, 2014).

STURM’S THEOREM

Jacques Charles François Sturm published 1829 the Sturm’s theorem, which represents a mathematical method to determine the number of real zeros of a polynomial f(x) with degree n in an interval [a,b]. To form a polynomial chain, the following two initial polynomials are defined:

The following polynomials Pk+2 with k=0,1,…,n of the chain are determined by using the Euclidean algorithm for polynomials (polynomial long division):

By applying the Euclidean algorithm, the degree of the polynomials Pk is decreasing monotonically. The polynomials Pk+2 are formed by the remainder of the polynomial long division and the chain is continued until the last polynomial Pn arises as a constant not zero. By evaluating the polynomials Po,P_1,…,Pn at both boundaries of the given interval [a,b] and counting the sign changes of the calculated values, the number of sign changes V(x ̃) for each boundary is determined. The number of sign changes V(a) and V(b) is used by Sturm’s theorem:

Theorem 1:

Be f(x) a real polynomial with only simple zeros. The number of real zeros in the interval [a,b] is equal to the difference V(a)-V(b) (Reinschke, 2014).

Example 1:

It shall be determined the number of zeros of f(x) = x^3- 6x^2 + 11x - 6 in the interval [0,4]. First are defined P_0 = f(x) = x^3- 6x^2 + 11x - 6 and P_1=f ’ (x) = 3x^2- 12x + 11. Then it is formed the corresponding polynomial chain:

P_3=1 represents a constant, the polynomial chain finishes here. Now the signs of these polynomials are evaluated at the interval boundaries:

The difference V(a) - V(b) = 3, indeed f(x) = x^3- 6x^2 + 11x - 6 = (x -1)(x - 2)(x - 3) has 3 real zeros.

ROUTH CRITERION AND ALGORITHM

The stability of a linear transfer element can be determined by the zeros of the denominator polynomial, also called characteristic polynomial:

As widely known from linear control theory (Reinschke, 2014), this transfer element is stable, if all zeros of the characteristic polynomial have a negative real part. Since the characteristic polynomial usually is of higher degree, the analytic determination of the zeros turns out to be a complex task. As a result of the Galois theory, it has been shown that for polynomials of fifth degree or more, no analytical solution for determination of the zeros is present. However, for determination of the transfer element stability, only the real part signs of the denominator zeros are essential. The Routh criterion gives a conclusion about the location of polynomials zeros in the complex plane without explicitly solving the polynomials. The Routh criterion represents an algebraic criterion, which uses only the denominator polynomial coefficients for the Routh algorithm. The Routh algorithm gives a practical and simple way to determine the number of zeros with positive real part of the characteristic polynomial D(s). Both the Routh criterion and algorithm were presented in 1877 by Edward John Routh in his article Treatise on the stability of a given state of motion.

ROUTH CRITERION

Be f(s) = ansn + an-1sn-1 +…+ a_1 s + a_0 an arbitrary polynomial of the complex variable s = σ + jω, with real coefficients and degree n, which has k zeros with positive real part. Using the Fundamental theorem of algebra, this polynomial can be converted into its linear factors form:

and exponential form:

whereat:

Equation 20 can be proofed using the well-known equation for multiplying two complex numbers z_1 and z_2 in their exponential form:

By integrating the polynomial f(s) along the imaginary axis s=jω, the following relationship for the increment of the polynomial argument d arc f(s) can be derived (Reinschke, 2014):

Equation (23) shows that the increment of the polynomial argument depends only from the difference between the zeros with negative and the zeros with positive real part. In this case, zeros with negative real part add + π and zeros with positive real part add – π to the increment of the polynomial argument d arc f(s). Routh separated the polynomial along the imaginary axis f(jω) in a real and imaginary part (Reinschke, 2014):

With this decomposition, the integral of (23) can be simplified as follows (Reinschke, 2014):

Thus, through evaluation of integral (25), the number of zeros with positive real part k can be concluded. It must be noted, that the function represents a strictly proper function, due to deg f_1 (ω) > deg f_2 (ω). It can be formed a polynomial chain for the function, using the polynomial long division. For this division to be applied, f_1 (ω) must represent the dividend and f_2 (ω) the divisor:

Example 2:

It shall be analyzed the following polynomial f(s) = s^3 + s^2+ 4s + 16. First, this polynomial shall be separated in real and imaginary part for s=jω using equation (24):

Hence, f_1 (ω) = ω^3 - 4ω and f_2 (ω) = ω^2-16. Then it is formed the corresponding polynomial chain for the strictly proper function :

f_4 (ω)=16 represents a constant, the polynomial chain finishes here. Now the signs of these polynomials are evaluated for certain values and neighborhood ε ≪ ω̃:

It must be noted, that the function has discontinuities where f_1 , which can change from “– ∞” to “+ ∞” (positive change) or from “+ ∞” to “– ∞” (negative change). The number of sign changes Vcan only be increased or decreased at these discontinuities. The product of the signs of the two functions f_1 (ω) and f_2 (ω) before and after the discontinuity determines the sign change direction. When the discontinuity represents a negative change, then V is increased and counting the number of changes gives V– ∞. When the discontinuity represents a positive change, then V is decreased and counting the number of changes gives V+ ∞. For the current example V is increased twice, hence V-∞ = 2 and V is decreased once, hence V+ ∞=1.

The value (n–2k) can also be determined by the difference of V+∞ and V–∞, which can also be found as the Cauchy Index (Lickteig & Roy, 1996):

Since the degree of f_1 (ω) is equal to f(jω), the sum of the positive V+∞ and negative changes V– ∞ gives:

Equation (17) now can be solved for k and using the current example, gives:

Hence, the polynomial f(s)=s^3+s^2+4s+16 has two zeros with positive and one zero with negative real part. Indeed, the zeros are s_1=0.6475+2.5598j, s_2=0.6475-2.5598j and s_3=-2.2949.

ROUTH ALGORITHM

To derive the Routh algorithm, the polynomial chain for f_1 (ω) and f_2 (ω) shall be formed. First, equation (24) defines f_1 (ω) and f_2 (ω):

Second, the polynomial long division for is applied:

The polynomial long division results:

Solving for f_3 (ω) gives:

The polynomial long division will be repeated now for f_2 (ω) and f_3 (ω). Like division represents the same division like reduced by one degree for power and indices, it can directly be concluded for the polynomial division:

Solving for f_4 (ω) gives:

Continuing the polynomial chain until:

In summary, the Routh calculation scheme can be presented as it follows and which is widely found in most literature of linear control theory (Lutz & Wendt, 2012; Reinschke, 2014):

The first two rows are the coefficients of the polynomial to be examined f(s). Subsequently, from the third row, the coefficients are calculated recursively using the following equations:

Example 3:

Using example 2, it is formed with the Routh calculation scheme for the polynomial f(s)=s^3+s^2+4s+16:

The calculated values are also the coefficients of the polynomial chain according to Sturm’s theorem. Subtracting equation (28) from (27) results:

That is, the zeros with positive real part arises solely from the number of negative changes V–∞ of the sign changes V at discontinuities of the division. It can be shown, that the number of changes V–∞ results from the sign changes of the first column coefficients in the Routh calculation scheme (Reinschke, 2014):

Thereby, the number of zeros k with positive real part can be concluded by the number of sign changes V–∞ in the first column of the Routh calculation scheme. The case k = 0 represents the Routh criterion for stability of a linear transfer element :

Theorem 2:

A linear transfer element is stable, if after application of the Routh calculation scheme for the denominator polynomial D(s), all the coefficients of the first column have the same sign.

Finally, it shall be mentioned that there exists a sign condition for the coefficients of the denominator polynomial D(s), which is often referred to as Stodola-condition (Reinschke, 2014):

Theorem 3:

A linear transfer element is unstable, if the denominator polynomial D(s) has one coefficient with different sign or a vanishing coefficient.

FOURIER SERIES

From calculus it is known, that every piecewise continuous and periodic function f (t) with period can be decomposed into harmonic functions (Fourier analysis) or be composed from it (Fourier synthesis) using:

By summation of infinite elements of sine and cosine functions, the Fourier series converges for all t to the periodic function f(t). Equation (32) describes the discrete frequency spectrum of the periodic function f(t). The DC part represents the mean value over one function period:

For n = 1,2,3,… the coefficients an and bn represents the amplitudes of the n-th Harmonic fn and are defined by:

These amplitudes of the harmonics decrease with increasing frequency, so that the Fourier series converges to f (t). In practical applications, it is usually enough to consider only a finite number of harmonics (partial sum). For signals with a low slew rate (for example a triangular wave), the Fourier series converges faster than for signals with a large slew rate. For commonly used periodic functions there exist correspondence tables with computed coefficients.

FOURIER TRANSFORMATION

The transition from the Fourier series to the Fourier transformation is used to describe non-periodic and double-sided limited signals. By forming the limit value T→∞ of the periodic time function f (t) and assuming that f (t) is absolutely integrable we have:

the Fourier transformation of f (t) is specified by following definition:

The Fourier transformation is used to convert a time function f (t) into its continuous frequency spectrum F(jω) defined in the complex frequency domain jω. The inverse Fourier transformation allows the conversion of the frequency function F(jω) into the time domain:

Correspondence tables exist for commonly used time functions.

DC MOTOR CONTINUOUS MODEL

DC motors shall be used as servomotors for the new TVS prototype number three. To analyze the stability of the closed-loop position and speed control and to optimize the controller parameters, the present chapter will define a continuous and linear model for DC motor position and speed control and derive the step response for both control loops, using the Routh criterion and Routh algorithm, defined in the previous chapter. The linear models of position and speed control are expressed as transfer functions in the frequency domain. Furthermore, the frequency response of the DC motor transfer function and of the DC motor output signal shall be derived, in order to compare the lowest cutoff frequency of both frequency responses. Thereby it shall be proved that, due to the second-order low-pass filter behavior, the DC motor filters all harmonics of the PWM signal of the armature voltage uA (t). The present chapter describes the general transfer function of a DC motor, in detail the continuous model for position and speed control and the frequency response of the DC motor and DC motor output.

TRANSFER FUNCTION

In the following part, a model for the electrical and mechanical part of a DC motor used as servomotor (Figure 13) is derived. For the sake of simplicity, the cascade structure of the servomotor is replaced by single-loops for position and speed control. Figure 18 shows the equivalent circuit diagram for a DC motor with permanent magnets, which can be found in most literature (Chapman, 2005; Fischer, 2003; Fuest & Doering, 2004; Lyshevski, 1999; Song & Byun, 1999), under neglecting nonlinear effects, such as breakaway and cogging torque and neglecting the back electromotive force (back-emf). Thereby uA (t) represents the DC motor armature input voltage, iA (t) the armature current, LA the armature inductance, RA the armature resistance, ωo (t) the actual angular speed and M(t) the produced motor torque. It represents the electrical part of the DC motor.

In this case, applying the Kirchhoff Law for meshes and transforming the differential equation into the frequency domain by Laplace transformation with initial values zero, it can be derived from the transfer functions G(s) of the linear transfer elements that:

1. Because of the delayed magnetization of the rotor windings, a first-order delay element describes the behavior of the motor current iA (t), when applied the armature input voltage uA (t):

with the armature gain and the electrical time constant.

2. Here, a proportional element describes the relation between motor current and motor torque:

The linear behavior between the armature input voltage of the DC motor and the produced motor torque is now described by a chain structure:

The mechanical part of the DC motor describes the following torque equation:

Thereby J represents the total moment of inertia, ωo (t) the actual angular speed and Mf (t) the friction torque. Because for relatively small velocities, the friction torque depends lineary on the actual angular speed Mf = r ∙ ωo with damping r, this torque equation can be rewritten as:

and then be transformed into the frequency domain:

with the mechanical time constant. Now with the torque equation (41), the chain structure of the electrical part shown in figure 19 will be extended to the complete chain structure of the DC motor:

and the complete system transfer function of the DC motor is represented by:

POSITION CONTROL

CLOSED-LOOP MODEL

To optimize the position-control of the servomotor, the DC motor (figure 20) shall be controlled in a closed-loop using a P-controller, shown in figure 21:

It must be noted, that for the position control of the DC motor, an integral part of the controller would be useless, since this would generate an armature voltage UA in the case of an angular position error zero Φe=0 and thereby the motor would not stop at the reference angular position Φr. The actual angular position Φo results by integrating the actual angular speed Ω_0. This actual angular gets rested from the reference angular position Φr and results in the angular position error Φe:

The gain of the P-controller is the amplification factor of the positioning algorithm KR. The open-loop transfer function of this control loop is defined by the product of the controller TF with the controlled system TF:

The closed-loop TF of the position control then can be calculated using G(s) = :

STABILITY

The stability of the given closed-loop speed control model (21) and transfer function G(s) (45) shall be analyzed, depending on the controller parameter KR. As described in section Routh criterion and algorithm, all zeros of the denominator polynomial:

must have a negative real part. Using the Routh algorithm and the Routh criterion, the stability of the transfer function G(s) shall be determined. The Routh algorithm gets applied for the denominator polynomial:

According to the Routh criterion, all expressions in the first column must have the same sign, so that the analyzed transfer function G(s) is stable. As it can be observed from the first two lines, since the controller parameter KR is positive and real, that all expressions must also be positive. This condition can be used, to determine a condition for KR. The function obtained in line I must be positive too:

Solving equation (47) for KR results in:

When condition (48) is complied, the function f (KR) will be positive. Because KR is positive and real, the expression in line II of Table 8 is positive too:

Finally that means, to guaranty stability of the given closed-loop position control model (figure 21), KR has to be within the range:

STEP RESPONSE

The step response of the closed-loop position control shall be made as fast as possible without overshoot. As well-known, the step response depends on the roots of the denominator polynomial D(s) of (46). The degree of this denominator polynomial is three (n = 3) and four cases of the roots can be distinguished:

Extrema se per definition are points of the polynomial, where D’ (se ) = 0. Inflection points sf per definition are points of the polynomial, where D’’ (sf ) = 0. If an extrema is also an inflection point, it is called a saddle point ss and thereby applies D’ (ss ) = D’’ (ss ) = 0. Using the slope of the denominator polynomial in the inflection point D’ (sf ) leads to sufficient and necessary conditions for the four cases, which are summarized in Table 9. Thereby, this table shows the possible cases for negative, zero or positive slope D’ (sf ) in the inflection point. As for positive slope D’ (sf ) > 0 only one case is possible, this condition represents the required condition for case 4. Zero slope D’ (sf ) = 0 represents the necessary condition for case 3 and 4 and negative slope D’ (sf ) < 0 the necessary condition for case 1, 2 and 4.

As well as in a second-order system, the rise time of the servomotor step response in position-control decreases from case 1 to case 4. In order to obtain the fastest servomotor step response without overshoot, the highest possible case shall be pursued. Case 4 must be avoided, since it produces oscillations in the step response. Without loss of generality, the denominator polynomial D(s) (46) can be represented as a third-degree polynomial:

which has positive coefficients, due to positive system parameters. Because of the free tunable controller parameter KR, the coefficient d is a function of this parameter:

Since the coefficient d is the constant term in the polynomial, the curve of D(s) can only be moved vertically. Thereby, for example, case 1 can be converted to case 2. By forming the derivatives up to order n, a curve analysis can be made:

Consequently, that the third derivative is always positive, the curvature of D(s) goes from right to left, like illustrated in figures 22a, 22b, 22c and 22d. To determine the inflection point sf, the second derivate must be zero D’’ (sf ) = 0. Thereby results the inflection point:

Thus, the inflection point s_f is lying on the negative s-axis. The inflection point s_f is being used now in the first derivative to determine the slope of the polynomial in this point:

Because of the difference in expression (57), the slope in the inflection point D’(sf) can be negative, zero or positive, which leads to the following distinctions:

Slope negative

If D’ (sf ) < 0, generally case 1 is presented with D(s) containing 3 real and different roots. The step response of the position-controlled servomotor (46) can be accelerated by vertically shifting curve D(s) with the parameter d, so that case 1 gets converted to case 2. The parameter d can be calculated, by calculating the absolute value of polynomial D(s) at his minimum. In this way, the polynomial has a tangential point to the s-axis, which leads to two equal roots in this point. Now the minimum of D(s) has to be calculated and therefore the first derivative (53) has to be zero. The resulting second-order equation must be solved for the variable s, which leads to two extrema:

The expression under the square root must be positive, as two real extreme points exist (see figure 22). Substituting these two extreme points in the second derivative leads to the distinction between maximum or minimum:

The second derivative is positive for a minimum, hence s_1 is the minimum:

Substituting s_1 in the polynomial and equating to zero D(s_1) = 0, gives the value for parameter d then:

Slope zero

If D’ (sf) = D’’ (sf ) = 0, the inflection point represents a saddle point sf = ss and using KR, case 3 can be achieved. Thereby, the polynomial in this saddle point has to be zero D(ss) = 0. Thus, gives the value for parameter d then:

With the criterion (62) a value for KR can be found, which in this case guaranties the fastest step response of the closed-loop position control. However, this case will be very improbably, due to parameter variations of the closed-loop, which makes D’(sf) not exact zero.

Slope positive

If D’ (sf) > 0, the polynomial D(s) has always one real and two complex conjugate roots (case 4). Because of complex conjugate roots, the step response of the closed-loop position control is overshooting. As we can see, with parameter d, the rise time and the overshoot of the step response can now be influenced in the manner shown in table 10.

SIMULATION RESULTS

The theoretically results of section Stability and Step response shall be validated exemplary for the DC motor Maxon motor RE-max29, using the system parameters from table 24 System parameters of selected DC motors (Appendix). First, the controller parameter KR range shall be determined. Using equation (48) the value for K̅R is calculated:

If the parameters would differ around its nominal values with a barrier of maximal 10%. Then K̅R would only decrease, when the nominator of (48) will decrease and the denominator will increase. Thus, leads to a minimum value of K̅R, which represents the worst case:

Similarly, a maximum value of K̅R can be determined:

Like equation (64) shows the worst case, the upper limit of K̅R would only decrease ≈ 20% from its nominal value (65). For practical reasons, KR will not exceed this value, hence the stability of the closed-loop position control model is ensured, even under large parameter variations of the controlled system. Secondly, the step response of the closed-loop position control (figure 21) shall be optimized with the aim, to be as fast as possible without overshooting. Using the system parameters from table 24 (in the Appendix), the polynomial D(s) coefficients (46) can be calculated:

By equation (57) the slope in the inflection point sf then is calculated:

For small values of KR, case 1 is presented and the denominator polynomial D(s) has three real and different roots. By equation (61) a value for the coefficient d (and thus also for KR) shall be calculated so, that case 1 gets converted to case 2. Equation (60) gives the value for the minimum of the denominator polynomial:

Now, the value for KR can be calculated:

This optimal value is confirmed by simulating the step response of the closed-loop position control (figure 21) for different amplification factors KR of the P-controller, depicted in figure 23. It can clearly be observed, that the value (69) is the optimal value for a fast step response time without overshooting:

SPEED CONTROL

CLOSED-LOOP MODEL

To optimize the speed-control of the servomotor, the DC motor (figure 20) shall be controlled in a closed-loop using a PI-controller, depicted in figure 24.

It must be noted, that the integral part of the controller is needed to produce a continuous armature voltage UA, when the angular speed error turns zero Ωe= 0. The actual angular speed Ωo gets rested from the reference angular speed Ωr and results in the angular speed error Ωe:

The gain of the PI-controller is KR and the reset time TN. The open-loop transfer function of this control loop is defined by the product of the controller TF with the controlled system TF (42):

The closed-loop TF of the speed control then can be calculated using G(s) =:

STABILITY

The stability of the given closed-loop speed control model (figure 24) and transfer function G(s) (72) shall be analyzed, depending on the controller parameters KR and TN. As described in section Routh criterion and algorithm, all zeros of the denominator polynomial:

must have a negative real part. Using the Routh algorithm and the Routh criterion, the stability of the transfer function G(s) shall be determined. The Routh algorithm gets applied for the denominator polynomial in table 11.

According to the Routh criterion, all expressions in the first column must have the same sign, so that the analyzed transfer function G(s) is stable. As it can be seen from the first two lines, since the controller parameters KR and TN are positive and real, all expressions must be positive too. This condition can be used, to determine a condition for TN. The function obtained in line I must be positive:

Solve the equation for TN results in:

Using L’Hoptial’s rule the upper limit of (75) can be determined:

When expression (75) is complied, the function f (KR,TN) will be positive. Because KR is positive and real, the expression in line II is positive too:

Finally, that means that, to guaranty the stability of the given closed-loop speed control model (figure 24), any positive value for KR can be defined and with this a value for TN using expression (75) be determined.

STEP RESPONSE

The step response of the closed-loop speed control shall be made as fast as possible. Therefore, first shall be used the method of pole-zero-compensation (Lutz & Wendt, 2012). This method uses the zeros of the controller to compensate “slow” poles of the controlled system and thereby reduce the step response rise time of the closed-loop. Slow poles of the controlled system mean higher time constants in the denominator of the transfer function. The open-loop TF of the speed control (71) can be rewritten using equation 41:

Typically, the mechanical part of a DC motor is slower than the electrical, so the following compensation will be made:

To guaranty stability of the closed-loop speed control, it shall be checked if TN is greater, than the upper limit of (76):

Because all system parameters are positive and real, equation (80) is true, hence the closed-loop speed control is stable. With K = KR KE KT r-1 the open-loop TF of the speed control (71) now is simplified to:

The closed-loop TF of the speed control (72) is also simplified to:

Here, the closed-loop TF now represents the normalized form of a second-order system:

ω_0 represents the characteristic angular frequency and D the damping of the system. By comparing the coefficients of (82) and (83), the values of ω_0 and D can be determined like:

To comply the condition, that the step response of the closed-loop speed control shall be as fast as possible, the damping D must be equal 1. This corresponds to the second case of the homogeneous differential equation solution (critically damped). From this, the value of KR can be calculated:

If this value increases, the system begins to oscillate (underdamped solution). If this value decreases, the step response will be slower (overdamped solution) than the critically damped step response.

STIMULATION RESULTS

The theoretically results of sections Stability and Step response shall be exemplary validated for the DC motor Maxon Motor A-max16, using the system parameters from table 24 (Appendix). Since the value for KR can be freely chosen, the upper limit of expression (75) shall be calculated using (76):

This value is approximately zero so, from a practical standpoint, TN can have any real value greater than zero, to guaranty stability of the given closed-loop speed control model (figure 24). To obtain the fastest possible step response of figure 24 without overshooting, equation (86) is substituted in (84):

Using the closed-loop TF of speed control (83), the characteristic angular frequency value (88) and the damping D = 1, the optimized speed control step response ωo (t) to an unit step ωr (t) = σ(t) can be derived (Lutz & Wendt, 2012):

This step response now depends only of the electrical time constant TE. The optimized step response for the Maxon Motor A-max16 is shown in figure 25.

With compensation (79) and the value (86), the fastest step response of the servomotor without overshoot is achieved. It can be seen in figure 25, that this motor reaches the reference speed in approximately 0.6ms.

FREQUENCY RESPONSE

SERVOMOTOR

The DC motor transfer function (42) represents a second-order transfer element or second-order low-pass filter, which can be expressed in the general form, using T_1 = TE, T_2 = TM and K_1 =:

Using τ_1 = T_1 T_2 and τ_2 = T_1 + T_2, the amplitude of the frequency response is given by:

The cutoff angular frequency ωc for the DC motor transfer function is defined by the following condition:

Equating (91) and (92) yields the following fourth-degree polynomial for ωc:

which contains the following two zeros for ωc^2:

Since real frequencies are represented by positive values, only the first solution is considered. By the same reason, the cutoff frequency fc for the DC motor now is determined by:

Using exemplary the DC motor Maxon RE-max29 (table 24, Appendix), equation (95) gives the cutoff frequency:

which can be confirmed by sketching the Bode Plot of the DC motor transfer function GS (s).

SERVOMOTOR OUTPUT

The applied armature input voltage uA (t) to the DC motor is a PWM signal. To determine the continuous frequency spectrum of the PWM signal, a single rectangular pulse with pulse duration τ is considered and transformed using Laplace. This single rectangular pulse is mathematically defined and described in following section Pulse-width Modulation. Following equation for the rectangular pulse is defined there:

Using T_1 = TE, T_2 = TM and K_2= , the actual angular speed Ωo (s) as output of the DC motor is expressed as:

Using τ_1= T_1 T_2 , τ_2= (T_1+T_2 )+T_1 T_2 and τ_3= +T_1+T_2, the amplitude of the frequency response is given by:

The cutoff angular frequency ωc of the DC motor actual angular speed is defined by the following condition:

Equating (99) and (100) yields the following sixth-degree polynomial for ωc:

The analytic determination of the zeros of (101) turns out to be a complex task, since the polynomial is of sixth-degree. Therefore, using approximations, the polynomial coefficients shall be simplified. Since in practice, a small PWM period TPWM is used and the electrical time constant of a DC motor is always much smaller than the mechanical one, the following two conditions can be defined:

Using these conditions for equation (101), approximated values for the polynomial coefficients shall be derived:

Using the approximation (104) and that (105) ≪ (106) , the polynomial (101) is reduced to:

which gives the cutoff frequency fc for the DC motor actual angular speed:

Using the DC motor Maxon RE-max29 (table 24, Appendix), equation (108) gives the cutoff frequency:

Because of equality of the cutoff frequency of the DC motor (96) and the DC motor actual angular speed (109), it is shown, that all frequency components of the PWM signal above the cutoff frequency fc are blocked. That is, by complying condition (102), the second-order low-pass filter behavior of the DC motor ensures, that all harmonics of the PWM signal are filtered and that the DC motor armature voltage uA (t) is approximated using only the PWM DC value:

Where the applied armature voltage depends proportionally to the PWM duty cycle and thus to the controller output variable y (t). For a duty cycle d =1, condition (102) can be rewritten:

Besides the minimal value for the PWM frequency defined by (111), it must be considered, that a higher PWM frequency results in more switching and thereby power losses in the motor inductances. Thus, motor heating is increased, which reduces the overall lifetime of itself. A PWM frequency lower than is manifested by vibrations of the DC motor, caused by the PWM signal harmonics.

It must be noted that the resolution of the controller output variable y defines the resolution of the armature voltage uA. That is, the higher the resolution of y, the finer the armature voltage uA can be adjusted. The next chapter (Digital control design for faster positioning of DC motor) shows, that the controller output variable resolution TOP and the PWM frequency fPWM are two mutual excluding conditions. A good and practical compromise between these two conditions is found by experimentation (chapter Experimentation realization and results).

DIGITAL CONTROL DESIGN FOR FASTER POSITIONING OF DC MOTOR

To implement the theoretical method for continuous triangulation, the proposed DC motors are digitally controlled, using a digital controller, motor driver, digital-analog (D/A, DAC) and analog-digital converter (A/D, ADC), as depicted in figure 26. Here, k represents discrete time points of the continuous time t.

The digital controller is implemented using a microcontroller, which receives a constant reference value φr, calculates the current error φe (k) and uses an algorithm to calculate the current controller output variable y(k). Since digital controllers only have two signal levels as output signals, the discrete amplitudes of the output variable y(k) must be represented using a pulse-width-modulated signal (PWM). In order to generate the required power for the DC motor, the output variable y(k) must be amplified to the DC motor armature voltage uA (k) using the motor driver, which is realized by an electronic H-bridge. The DAC is represented by the same DC motor, which due to his second-order low-pass filter behavior converts the discrete values of the DC motor armature voltage uA (k) into continuous values of the actual angular position φo (t). The continuous values of φo (t) again are converted into a pulse sequence by the ADC, which is represented by the incremental encoder. Counting the pulses of this sequence, the digital controller then determines the measured angular position φm (k) and measured angular speed ωm (k). The present chapter describes in detail the main concepts of digital controller, the needed microcontroller timer, PWM signals, H-bridge and incremental encoder of the used DC motor.

DIGITAL CONTROLLER

In modern control technology, digital controllers are used the most, since they have significant advantages over analog controllers. Thereby, table 12 compares advantages and disadvantages of analog vs. digital controller.

SAMPLING LOOP

The transition from an analog to a digital controller is accomplished by the implementation of the control algorithm using a microcontroller, which constitutes a sample and hold-element H(s) (S&H). The S&H-element is described mathematically in the complex variable domain s by a zero-order holding element, with TS representing the sampling period and fS = the sampling rate:

and in the time domain t described by the sum of two unit step functions:

The sum of two units step function gives a rectangular pulse with pulse length equal the sampling period TS, depicted in figure 27:

Using the S&H-element, a continuous time signal y = f (t) is sampled at equidistant time points tk= k ⋅ TS, with and . The time-discretized signal is depicted in figure 28:

Sampling replaces the continuous time signal y = f (t) by a sequence of values { f [k] } = { f [0], f [1], f [2],…}, which due to the limited storage of a digital controller only consists of a set of discrete values. The amplitude-quantized signal is depicted in figure 29:

Signals discretized in time and quantized in amplitude are called digital signals used by digital controllers, which are stored as floating-point (float) or fixed-point (integer) numbers. Table 13 shows the range of float- and integer-numbers used by Atmel’s AVR microcontrollers.

Comparing these ranges, float-numbers have eight digits and integer-numbers 10 digits of precision. This higher resolution of integer-numbers presents one advantage over float-numbers, besides other negative effects of floating-point arithmetic, like round-off error, loss of significance, invalidity of associative and distributive property, etcetera. So, the digital control algorithm may comprise a more analog behavior, the higher is the resolution of the internal variables. The latter refers to the smallest representable number, which can be expressed by the used datatype and is shown in the last column of table 13. Because of the limited number of presentable digits, every stored float-number can be converted to an integer-number by multiplying with the corresponding ten-power, which is called fixed-point arithmetic, for example:

MICROCONTROLLER TIMER

16-BIT TIMER1

The positioning algorithm is implemented in the microcontroller (Arduino Uno) using timer1 for PWM generation and calling the positioning algorithm with the sampling period TS, using a timer overflow interrupt (TOV). To produce a PWM signal with a defined resolution and frequency, timer1 is programmed in fast PWM mode, which is depicted in figure 30.

Using the CPU clock rate fCPU of the microcontroller, the counter of timer1 is counting from BOTTOM (zero value) to a defined TOP value and constantly compared to a defined OCR value. The output logical level on a specific microcontroller pin is set using following conditions:

Atmel’s AVR microcontrollers contain two PWM pins (or PWM channels) for each timer, so a positive and negative rotation of the DC motor can be generated using the H-bridge. So, with the TOP value the PWM frequency fPWM is defined and with the OCR and TOP value the duty cycle (120):

The resolution of this duty cycle is also defined by the TOP value. Because timer1 represents a 16-bit timer, the TOP value must comply following condition:

and depends mutual with fPWM on the CPU clock rate fCPU of the microcontroller:

That is, with higher duty cycle resolution, the PWM frequency is decreasing and vice versa with lower duty cycle resolution, the PWM frequency is increasing. Here, two mutual excluding conditions are presented: a) high duty cycle resolution or b) high PWM frequency. To realize a quasi-continuous control, these two conditions both must be as high as possible, because analogue controllers do not possess a sampling period and the resolution of the output signals is infinity.

The TOV is used, to call and execute the positioning algorithm with a fixed sampling period TS ≥ TPWM = . This also ensures that the controller output variable y (t) does not change more quickly, as the duty cycle of the PWM signal. The opposite would violate the Principle of causality.

8-BIT TIMER2

Timer2 is used to trigger the microcontroller serial communication on equidistant points and is therefore programmed in clear timer on compare match (CTC) Mode. Like timer1, the counter of timer2 also is counting from BOTTOM (zero value) to a defined TOP value (figure 30), using the CPU clock rate fCPU of the microcontroller and generates a timer compare match interrupt (COMPA) to trigger the serial communication. Like the serial communication is a very time-consuming process and the microcontroller shall use primary CPU time for position control of the DC motor, the execution period of the serial communication is chosen with Tserial = 500ms. This period is far greater, than the positioning time of the DC motor, see experimental results.

MICROCONTROLLER USART

The universal synchronous and asynchronous serial receiver and transmitter (USART) represents a serial communication device, using a protocol operating with 0V and 5V. The transmitter consists of a write buffer, a transmit shift register, a parity generator and control logic to configure different serial frames. The receiver includes a receive shift register, a parity checker, control logic and a two level receive buffer. The USART transmits serial data over the TX pin and receive data on the RX pin. It sends a serial frame, which represents a character of data bits with start and stop bits used to synchronize the frame. The USART uses the following possible frame formats:

- 1 start bit

- 5 to 9 data bits

- Even, odd or no parity bit

- 1 or 2 stop bits.

The order of this possible frame formats is shown in figure 31 and explained in table 14.

To communicate between two devices, they must use the same transfer rate in bits per second, called baud rate. Atmel’s microcontrollers use a register to configure the baud rate (UBRRn), USART baud rate register. The following expression is used to determinate that register value considering the baud rate BAUD and system oscillator clock frequency fCPU:

To use USART practically, it must be initialized, the baud rate been set, the frame format and TX and RX enabled. Most usual values also used by the Arduino Uno are: 1 start bit, 8 data bits, no parity and 1 stop bit.

The USART share the same register to send and receive data. To transmit, the data register should be empty, and the program must wait until the UDRE (USART data register empty) flag is set, then the data is loaded in the shift register and transmitted to the TX pin. To receive data, the USART verifies if there is unread data buffered in the data register. In that case, the data is stored in another register, the data register is cleared again and prepared to receive or transmit more data.

Receiving and transmitting serial data can be performed in two different modes: polling mode and interrupt mode. In polling mode, the microcontroller checks continuously or every certain time period the status of a specific flag. When the flag is set, the microcontroller performs the programed action to receive or transmit serial data. The polling mode is the simplest way to interact with external devices, but it consumes program execution time from the microcontroller. More suitable is the interrupt mode, which uses interrupt requests given to the microcontroller, when receiving or transmitting serial data. These requests interrupt the actual program execution and start a subroutine, specified by the interrupt, as response to the interrupt. Using interrupts make the communication happens at the same instant the data is ready to be transmitted or available in the buffer to be read.

PULSE-WIDTH MODULATION

Because the used microcontroller does not possess an analog output, the obtained controller output variable y (t) is converted to the armature voltage uA using a pulse-width modulated signal (PWM), which varies the ratio between on time (τ) and a fixed period (TPWM=) of a square wave signal, called duty cycle d. Here, the obtained controller output variable y (t) corresponds to the duty cycle:

and figure 32 shows pulse series with a duty cycle of d = 25, 50 and 75%, where H represents a high and L a low logic level:

With this PWM signal, an H-bridge is controlled, which generally consists of four MOSFET’S and drives the DC motor using its nominal voltage uN. Thereby, the high-level H represents the PWM amplitude A with value uN Volt and the low-level L represents the PWM ground with value 0 Volt. By applying of Fourier series, the PWM square wave can be described mathematically by an infinite function series of sine and cosine functions:

Here, the amplitude A = uN and the angular frequency ω corresponds to the PWM angular frequency ωPWM = 2πfPWM and thereby:

So, the DC value of the PWM signal is described by uNd and the frequency of the nth harmonics by nfPWM.

By forming the limit value of TPWM→∞, the periodic PWM signal is converted into an aperiodic rectangular pulse (known from section Sampling loop) with pulse duration τ and it’s represented in figure 33.

The Laplace Transform F(s) of the rectangular pulse is given by:

Using the first-order Padé approximation, equation (123) can be represented as follows:

H-BRIDGE

An H-bridge, also called four-quadrant chopper, typically consists of four semiconductor circuits using MOSFET transistors, which can convert a DC into an alternating current voltage with variable-frequency and variable pulse width. H-bridges are mostly used for power inverters, as motor controller and for other power electronic applications. For the application as motor controller, figure 34 shows a schematic of the H-bridge, containing four transistors T1-T4, four fly back diodes D1-D4 and the controlled DC motor:

Depending on the switching states of the four transistors, generally 3 operating modes of the H-bridge can be defined: motor, generator and freewheel-mode. Table 15 summarizes the operating modes, where 0 means switched off and 1 switched on:

In motor-mode, the DC motor consumes electrical and converts it to mechanical power. For DC motor constant speed, a constant signal is applied to T1 and T4. For DC motor variable speed, a PWM signal is applied to T1 and T4 is switched on. The motor inductance is magnetized during the switch-on phase of T1 and the motor is accelerated. In the switch-off phase of T1, the motor winding induces a voltage and the current continues to flow through D2, which decreases the magnetization of the motor inductance. If the current decreases to zero during demagnetization, this is referred to intermittent operation, otherwise to not- intermittent operation of the DC motor. For the opposite rotation direction of the DC motor, a PWM signal is applied to T2 and T3 is switched on.

The generator-mode is used to brake the DC motor actively in both directions. For this, the DC motor is short-circuited via ground or via the operating voltage Uop. Thereby, the current generated by the motor is only limited by the resistive losses and the mechanical power is converted completely into heat. In freewheel-mode, the DC motor is neither accelerated nor braked. It is used to allow the motor to coast until standstill. The short-mode represents a forbidden operating state of the H-bridge, which must be avoided under all circumstances, as otherwise the operating voltage is short-circuited to ground.

H-bridges can be built from discrete components or used as an integrated circuit (IC), where the L298 is one of the most commonly used. The L298 IC contains two independent H-bridges, can support current up to 2A, is controlled using standard TTL logic and drives inductive loads like stepping and DC motors. To further simplify the general use of the L298 IC, the L298N driver module is used, to control the DC motors of the new TVS prototype No.3 (Figure 35). By use of PCB header connectors and terminal blocks, the connection of supply voltage and DC motor cables is very simplified. The L298N module can drive DC motors using a nominal voltage between 5 and 35V and using an onboard 5V regulator allows sourcing of external devices. Using jumpers, different functions of the module can be preset. More information of general use and application of the L298 IC and the L298N driver module can be found widely in online sources.

INCREMENTAL ENCODER

Incremental encoders deliver phase shifted square-wave pulses on two channels A and B, to measure the precise actual angular position and speed of the motor. The used incremental encoder MR type ML from Maxon motors provides 1000 pulses on each channel and per revolution (1000 ppr) of the motor and contains in addition an index channel I, which provides 1ppr. Figure 36 shows the pulse sequence of channel A and B, when turning clockwise (CW). When turning counterclockwise (CCW), the pulse sequence of channel A and B are interchanged.

The resolution of the actual angular position of the motor is limited by these pulses. To increase the resolution, the incremental encoder is considered as a state machine with four states, which sequence is defined by the revolution direction (figure 37). H thereby represents a high and L a low logic level.

By detecting the actual state of channel A after a state change (rising or falling edge) and comparing it to the last state of channel B, it can be determined a CCW rotation, if this two states are equal. Otherwise, if these two states are not equal, a CW rotation is determined. By detecting the rising and falling edge of channel A, the resolution of 1000ppr is doubled. By applying this procedure vice versa for channel B, it can be doubled again the resolution to a maximum resolution of 4000ppr. The maximum resolution now is defined by = 0.09°, which defines the maximum possible angular position resolution of the used incremental encoder.

TECHNICAL VISION SYSTEM

The technical vision system (TVS) predecessor prototype No.2 was developed at the laboratory of optoelectronics and automated measurement of UABC. The TVS consists mainly in a laser scanning system, which uses dynamic triangulation, to obtain 3D coordinates of any examined object. Although the TVS has replaced the disadvantages of camera light sensors by use of a single-sensor detector, it still operates with stepping motors. As novel approach, the present work proposes the substitution of these stepping motors by servomotors, to eliminate the disadvantage of a discrete FOV and replace it with a continuous behavior of scanning element. By replacing the measurement principle of a discrete FOV with a continuous one, the discretization of the FOV for 3D coordinate measurement is no longer a physical limitation. Thereby applications become possible, which were previously limited by the fixed step size or by the distance to the examined object. The technical realization of this substitution will be the TVS successor prototype No. 3, described in this chapter. Therefore, firstly technical details and functionality of the prototype No. 2 are described for the two principle mechanical parts, represented by the Positioning laser and the scanning aperture. In the second part of the chapter, the new TVS successor prototype No. 3 containing the new positioning laser and scanning aperture will be introduced.

PROTOTYPE NO. 2

The TVS prototype No. 2 is composed of two principle mechanical parts: the positioning laser (PL) and the scanning aperture (SA) (Rodriguez-Quinonez et al., 2013), which can be seen in the technological scheme in Figure 38:

The TVS varies the PL angle γ using stepping motors model 42BYGH404-R and the SA angle β using a DC motor in open-loop configuration.

POSITIONING LASER

The positioning laser, depicted in figure 39, basically consists of two 45° staggered mirrors, a red laser (635 nm, 20 mW) and two stepping motors, to position the laser beam in the FOV. Figure 39a shows the system view (physical representation) of the two stepping motors with their respective transmissions (worm gears). The upper stepping motor (I in Figure 39a) is responsible for the laser beam horizontal positioning by rotating one 45° staggered mirror over a transmission. Figure 39b shows a schematic view of the two staggered mirrors, including the optical path of the laser beam. Coming from the laser source, the beam gets redirected by the first mirror (I in figure 39b) upwards to the second mirror (II in figure 39b), which in turn deflects the laser beam forward into the TVS field of view. The lower stepping motor (II in figure 39a) is responsible for the laser vertical positioning, by rotating the entire TVS around its horizontal axis over a transmission.

The stepping motors are driven in “full step” mode, where they need 200 steps per complete revolution, which defines the horizontal laser position resolution without transmission:

The transmission of every stepping motor decreases the angular speed and increases the positioning resolution with a gear ratio of 96:1. By using this transmission, the laser position resolution now is defined:

SCANNING APERTURE

The reflected laser beam from the examined object is received by the scanning aperture (figure 40), which basically consists of a 45° staggered mirror, two biconvex lenses, a zero sensor and a stop sensor. The mirror is rotated by a DC motor and redirects the reflected laser beam from the observed object towards the lenses, which concentrate them for the stop sensor (high speed phototransistor). When the received laser beam is in the orthogonal plane of the 45° staggered mirror, the stop sensor receives the maximum amplitude of the laser beam and converts it to an electrical pulse. The zero sensor produces a reference signal each full revolution and starts two counters to accumulate pulses. The first counter accumulates pulses from a standard reference fP between two consecutive zero sensor pulses, which defines the pulse number for N2π in each full revolution. The standard reference signal represents a pulse train with fixed period TP = and is generated by a microcontroller.

The second counter accumulates pulses of the same standard reference between the zero-sensor pulse and the stop sensor pulse, which defines the pulse number for NA in each revolution. Hence, NA represents the received beam angle encoded in the pulse number of this variable. The received laser beam angle then is calculated using following equation:

Figure 41 depicts the standard reference signal fP, the zero sensor signal f2π, the period for one revolution T2π, the full revolution pulse number N2π, the time phase shift TA and the SA angle pulse number NA:

PROTOTYPE NO. 3

Figure 42, own elaboration.[1]

Figure 42 depicts the TVS successor prototype No. 3, containing the new positioning laser (PL) and scanning aperture (SA), which comprises the following advantages compared with the TVS prototype No. 2:

- Using servomotors instead of stepping motors, to substitute the discrete FOV by a continuous one and thereby elimination of dead zones in the TVS FOV.

- Using servomotors directly without gear, to increase speed and accuracy of the 3D coordinate measurement.

- Minimization of the PL relative positioning error by simplification of mechanical design and optimized control.

- By lowering the TVS mechanical degree of complexity, possible causes of systematic errors are eliminated.

- Opening the possibility for implementation of new scanning algorithms, e.g. variable step scanning methods (Garcia-Cruz et al., 2014).

POSITIONING LASER

The new design of the positioning laser is depicted in figure 43, which shows the optical path of the transmitted laser beam (I), the DC motor Maxon RE-max29 (II), a 45° staggered mirror (III), the pancake motor printed motor works GPM9 (IV), a laser diode module coherent stingray-514 (V) and the TVS main rod (VI). Compared to the design of the PL prototype No. 2 (figure 39) first it can be seen, that due to elimination of all transmission parts, a high simplification of the positioning laser is achieved. Systematic errors produced by face clearance in every transmission are eliminated and the PL angle γ (figure 1) corresponds directly to the actual angular position φo of the DC motor (II).

Also, because the TVS is rotated around his horizontal axis without using a transmission, a motor with high torque and flat dimensions is needed. These two conditions are fulfilled by a pancake motor. Similarly, here, the PL angle η (figure 2) corresponds directly to the actual angular position φo of the pancake motor (IV). It must be noted, that now any PL angle η, which not corresponds to the TVS balanced state in the earth gravitational field, must be controlled in closed-loop configuration, since the advantage of a self-locking worm gear is not used anymore. Since the pancake motor constantly must generate a holding torque, this can lead to higher energy consumption.

Furthermore, this design requires only one 45° staggered mirror to redirect the laser beam in the TVS field of view, due to the vertical installation of the laser source (V). This decreases the systematic error produced by manufacturing tolerances and non-alignment of the staggered mirror and reduces the overall cost of the optical components. The laser source contains a 10 mW laser diode with 514 nm wavelength. The system parameters of the DC motor Maxon RE-max29, the pancake motor printed motor works GPM9 and the DC motor Maxon DCX22S are summarized in table 24 (Appendix). The DC motor DCX22S represents the proposed successor model for the currently used DC motor Maxon RE-max29.

SCANNING APERTURE

The new design of the scanning aperture is depicted in figure 44, which shows the optical path of the received laser beam (I), the DC motor Maxon A-max16 (II), a 45° staggered mirror (III), two biconvex lenses (IV), an optical filter (V) and a high-speed photodiode (VI).

Like the DC motor has an integrated quadrature encoder with index channel, there is no need for the zero sensor anymore. The optical filter thereby has a center wavelength of 515 nm, full width-half wavelength of 10 nm and a transmission of 45%. The center wavelength of the filter corresponds to the laser diode module wavelength. The photodiode is used with a transimpedance amplifier, to convert the small photocurrent of the diode to a higher voltage, which thereby is measured using the ADC of the microcontroller. The Maxon A-max16 is digitally controlled by a microcontroller (Arduino Uno), which by use of a PI-algorithm controls the actual rotating speed of the 45° mirror. The system parameters of the proposed Maxon A-max16 and the 45° mirror are summarized in Table 24 (Appendix).

[1] The photograph shows my own prototype.

CONTINUOUS TVCS DESIGN AND FUNCTIONING PRINCIPLE

The implementation of servomotors instead of stepping motors in the new TVS prototype No. 3 pursues two principal objectives:

1. Dead zone elimination in the TVS FOV and thereby substitution of a discrete FOV with a continuous one.

2. Reducing the TVS PL relative angular error and reducing the PL step response rising time.

By implementing these two objectives in the new prototype No. 3, the overall system shall be accelerated, and the accuracy of laser positioning be increased. To accomplish these two objectives, the use of servomotors is proposed, which contains DC motors with encoders and without gears, controlled by a microcontroller (Arduino Uno) in closed-loop configuration, as depicted in figure 26 and a novel theoretical formalism to provide its functioning.

POSITIONING LASER

By using worm gears in the TVS prototype No. 2, a first major disadvantage is detected and defined. The existence of backlash in every mechanical transmission (figure 45) results always in a positioning error of the TVS positioning laser.

When the worm screw (I) turns in one direction, the thread front flank is pressing against one face of the worm wheel (II) thread. Between the worm screw rear flank and the other face of the worm wheel exists a small clearance, which upon reversal of rotation causes a backlash of the worm gear. Thus, the worm gear backlash produces a deadband behavior of the actual angular position of the TVS positioning laser. To eliminate this major disadvantage, for the TVS successor prototype No. 3 it is proposed to eliminate every transmission and mount the 45° staggered mirror (III, figure 43) directly on the servomotor shaft (II, figure 43).

A second major disadvantage is detected when using a transmission: High resolution and fast positioning of the TVS PL are two mutually exclusive conditions. This problem limits the dynamic triangulation method whether it is more accurate or fast, but both conditions cannot be complied simultaneously (Lindner et al., 2016b). By avoiding transmissions in the TVS successor prototype No. 3, this second major disadvantage is also eliminated.

Another major disadvantage detected for the positioning laser in the TVS prototype No. 2 is represented using stepping motors to position the laser. As it can be seen in Figure 8, stepping motors have a discontinuous behavior, due to their stepwise rotation and thereby the positioning laser can only be positioned in discrete points. Thus, as depicted in figure 5, the TVS FOV is discretized and its resolution depends on the distance of the examined object. The only advantage of this discrete behavior is that the positioning error is zero in these discrete points. Besides, that by using stepping motors the positioning laser can never reach every desired position in the TVS FOV, stepping motors produce oscillations in every step, which increase the step response rising time.

It must be noted, that the positioning resolution of servomotors is limited only by physical constraints. In low-cost servomotors, the breakaway and cogging torque prevent a constant and linear rotation of the motor shaft under low speed. Because of these two moments, a minimum armature voltage must be applied to avoid the motor from stopping, and hence the motor shaft will always be positioned with an error, which represents a residual error not zero. To reduce this positioning error, high-cost servomotors with less breakaway and without cogging torque must be used (Lindner et al., 2016b). Therefore, different suppliers of servomotors were compared, and the priority was given to Maxon motors for the following two reasons: greater choices in motors with different accessories and major availability of products. Maxon motors are using an ironless winding for their rotors, which do not possess a cogging torque and use high-quality ball bearings, which reduce the breakaway torque. These motors can be operated constant and linear even at low rotational speeds. Therefore, the shaft of these high-cost servomotors can be positioned more accurately and with higher resolution, than the shaft of low-cost servomotors (Lindner et al., 2016b).

Therefore, for the positioning laser of the new TVS prototype No. 3, high-quality servomotors from Maxon motor with encoder and without gear shall be used.

SCANNING APERTURE

The SA electronic of the TVS prototype No.2 uses the signals defined in figure 41, to determine the SA angle β using equation (127). The open-loop control of the DC motor of the scanning aperture results in a non-constant actual angular speed ωo and thereby in different measurements βij for the same angles of incidence, which represents the major issue for the SA prototype No. 2. The non-constant actual angular speed ωo (t) of the DC motor results a zero-sensor frequency f2π dependence on time:

The SA angle error shall be analyzed. Therefore, the instantaneous value of the zero-sensor frequency is defined using a mean f̅2π and error value ϵ2π:

This error value ϵ2π can also be negative and its statistical behavior must be determined experimentally. The standard reference frequency is constant and the pulse number N2π is given by:

Equation (130) shows, how the error value ϵ2π affects the pulse number N2π. The pulse number NA is calculated using the time phase shift TA, which is also time-dependent, and the standard frequency fP:

Equation (130) and (131) shows, that due to the non-constant speed of the DC motor, the number of N2π and NA varies every revolution. Inserting both equations in (127) results:

Equation (132) shows, that the SA angle β depends on the time-dependent phase shift TA (t) and on the non-constant actual angular speed ωo (t), which produces different measurement results for a same SA angle. To eliminate this major issue, the new prototype No. 3 shall contain a closed-loop speed control for the SA DC motor, to stabilize the DC motor actual angular speed ωo and to minimize the measurement errors defined by equation (132).

ALGORITHM OF DC MOTOR CONTROL FOR CONTINUOUS POSITIONING

For the new TVS prototypes No. 3 the control algorithms for position control of servomotors must be implemented using digital controller. The correct and practically implementation of these algorithms requires the following conditions:

1. Equidistant execution of the control algorithm using microcontroller timers. A digital controller has a fixed CPU clock rate though, but a variable program execution time, due to asynchronous events, conditional statements, branches, etc. In order to ensure the condition of an equidistant execution of the control algorithm, microcontroller timers must be used, which represent the sample and hold element H(s) and guarantee an execution of the algorithm using the sampling period TS.

2. Discretization of input and output values. Digital controller constitutes a sample and hold-behavior (S&H), which discretize the time and quantize the amplitude of a continuous time signal f(t). By discretization of input and output variables, an inevitable systematic error is added to the values of these variables. Section Sampling loop describes the S&H-element.

3. Normalization of input and output variables. By normalizing the input and output variables of the digital controller the value range is scaled to a range between [0-100%]. Normalization is necessary to represent the input and output variables regardless of their physical measuring unit; thus, they are made dimensionless. The dimensionless values of the input variables are used for the control algorithm to calculate the manipulated variable, which is related to the range of the output variable then. Thereby, the calculated control variable is returned to the measuring unit of the output variable.

4. Calculations using floating-point or fixed-point numbers. Because of the limited storage of a digital controller, all internal variables must be stored with a limited resolution. The internal variables of a digital controller are stored and calculated either as fixed-point or floating-point values. Both number formats have their own advantages and disadvantages. Floating-point numbers have a higher precision, higher dynamic range and are more general purpose, than fixed-point numbers. Fixed-point numbers, in turn, have advantages in calculation speed and memory requirements, as shown in section Sampling loop.

5. Resolution of internal variables. The resolution of the internal variables is directly related to the precision they store a given value and depends directly on the number of bits of the used datatype. Hence, an internal variable can store a value more precise, the higher is this number of bits.

6. Clamping of the controller output variable y(t). When calculating the control algorithm, values outside the permitted normal range of the output variables can be arise. Because of real physical constrains, like maximum DC motor armature voltage uA, the controller output variable y(t) must be clamped to the range of [0-100%]. This guarantees that the output variable does not exceed its technically maximum possible values.

Present chapter describes in detail the practical implementation of the position control algorithm for the DC motors, used by the new TVS prototype No. 3.

ACTUAL ANGULAR POSITION MEASURING

Like it is used the Maxon motor RE-max29 with encoder MR type ML, without using a transmission, the actual counted pulses ρo (counts) from the encoder in quadcount mode represent directly the actual angular position φo (degree) and can be converted vice versa by relation:

An analysis of the measurement error ϵ for the actual angular position is given in section Error analysis. This section gives a measurement error of ϵ ≤ 0.09°, which represents a major improvement, when compared to the horizontal laser position resolution without transmission of the TVS prototype No. 2 (125).

CLOSED-LOOP ALGORITHM

In order to realize the proposed position control practically, the Maxon motor RE-max29 with encoder is connected with a microcontroller (Arduino Uno) and L298N driver module in closed-loop (CL), depicted in figure 46. The position controller is realized by the Arduino, which also contains the comparator.

Thereby, φr represents the reference angular position from the user, φe (k) the absolute angular error, y(k) the controller output variable, uA (k) the motor armature voltage generated by the motor driver, φo (k) the actual angular position and φm (k) the measured angular position of the motor shaft. Thereby, k represents discrete time points of the continuous time t. The positioning algorithm is part of the position controller block.

CONTROLLER OUTPUT VARIABLE

The absolute angular error φe is calculated by the difference between the reference angular position φr and the measured angular position φm:

To normalize this absolute error to percentage, this value is related to the reference angular position φr and thereby converted to the relative angular error φ’e:

Like the determination of the actual angular position φo has an integral characteristic (accumulating the encoder pulses), only a P-controller (KR) is needed to control the actual angular position of the motor shaft (Figure 21). Thus, the controller output variable y (t) is calculated by:

By multiplying the internal variables φ’e and KR (represented as float-numbers) with a certain ten-power and storing them as integer-numbers, the significant figures of the stored value is defined. It must be noted that the significant digits of both internal variable φ’e and KR are added up by equation (136) and therefore may not exceed the maximal possible digits of precision, defined in table 13 (10 digits).

To improve the step response of the controlled Maxon motor RE-max29, the absolute angular error φe can be related to the maximum positioning angle of 360°:

Thus, the initial armature voltage / motor speed uA will be higher, the greater is the initial absolute angular error φe (0). This prevents unstable oscillatory step responses, when the initial absolute error is too small. For equations (136) and (137) apply the conditions, that KR > 0 and φr ≥ φm. Both controller output variables are considered as functions of the measured angular position φm, that is y (φr )= y_360 = f (φm). Because of real physical constrains, like maximum motor armature voltage uA, the controller output variable must be clamped to the range of [0-100%]:

The analyze the influence of the parameters KR and φr to the growth of the controller output functions yφr = f (φm) and y_360= f (φm), the zeros, the slope, the intersection with ordinate axis and the intersection with the 100%-line shall be calculated. The zeros are calculated by:

Both functions possess the same zero:

The slope results by differentiation:

That means, that the slope of the yφr function depends on KR and φr and the slope of the y_360 function only on KR. The intersection with the ordinate axis is calculated by:

The intersection with 100%-line is calculated by:

In order that φm,100 > 0 and thereby yφr (0) >100 or y_360 (0) >100, for the first function must KR >1 and for the second function must KR >.

Figure 47 shows a graphical sketch of both controller output functions yφr= fφm and y_360= fφm. For both functions it shows two cases, when y (0) >100 and when y (0) <100. Both controller output variables are not greater than 100%, because they are clamped to the range of [0-100%] (138). Both functions have the same zero (140), different slopes (141), different intersection with the ordinate axis (142) and different intersection with 100%-line.

ERROR ANALYSIS

When calculating the controller output variables, an absolute measurement error ϵ is considered, which is defined by the difference between the actual angular position φo and the measured angular position φm:

This error originates from the actual angular position measuring by counting the encoder output pulses, represented by ρo (counts). Thereby exists an uncertainty of one pulse ∆=1, due to the discrete values of the counted output pulses, which are represented by integer numbers in Figure 48.

Using equation (133) this one pulse represents 0.09° and thus, the error ϵ is limited by the following range:

To define the influence of this error to the controller output variables, equation (144) is inserted in the controller output functions (136) and (137):

Thereby y’φr and y’360 represent the relative controller output variables and ϵ’φr and ϵ’360 the relative measurement errors of the controller output functions. It can be seen, that ϵ’φr depends of the reference angular position φr, while ϵ’360 has a fixed value of . Because of (146) and (147), the relative measurement error ϵ’ is producing an armature error voltage, independent if the relative controller output variable y’ is zero or not. This means, that the amplification factor KR must be chosen so small, that this error voltage is small enough so that the static friction force prevents rotation of the DC motor.

Equations (146) and (147) also define the range of the controller output functions yφr and y_360. The resolution of the internal variables KR, y’, ϵ’ and the controller output variable y is defined by the used datatype for storing.

OPEN-LOOP ALGORITHM

The open-loop (OL) position control, depicted in figure 49, is derived from the closed-loop model (figure 46). The measured angular position of the motor shaft φm (k) from the incremental encoder is not fed back to the controller and therefore is no need for a comparator anymore:

Again, k represents discrete time points of the continuous time t. Because of the no-feedback characteristic of the open-loop position control, two control algorithms 1 and 2 are developed, implemented and tested.

ALGORITHM 1

Algorithm 1 is based on a theoretical approach, using the DC motor physical constants, which define the transition of motor shaft positioning and final states according to the supplied voltage and current:

- Speed constant Kv describes the revolutions per minute per volt .

- Mechanical time constant TM represents the time for the motor to reach 63.2% of its nominal angular speed.

For the open-loop position controlled Maxon motor RE-max29 the speed constant is Kv=56.8 and the mechanical time constant TM=4.35 ms. Using the speed constant to calculate degrees per volt seconds gives:

Calculating the amount of time, the motor uses to rotate 1°, when applying an armature voltage uA= 6V, gives:

Equation (149) shows theoretical, that when applying the armature voltage uA= 6V for the time of ≈0.5ms, the DC motor shaft will position with 1° angular position. When executing the OL algorithm, this amount of time is guaranteed by use of microcontroller timer with a defined sampling rate fS and a defined constant PWM duty cycle dconst. That is, dconst defines the average armature voltage u̅A applied to the DC motor and TS the duration of this u̅A.

ALGORITHM 2

The algorithm 2 represents an empirical algorithm, to optimize the positioning task using a triangle profile of the DC motor armature voltage uA. The averaged armature voltage u̅A produced by the PWM signal is increased and decreased between 0 and 2V. Thereby, the variable PWM duty cycle dvar is increased lineal from 0% - 17% and afterwards decreased lineal to 0%. Thus, the DC motor shaft is driven to the final angular position φ∞= φo (t →∞), which corresponds to a feed forward control.

The reference angle φr from the user is divided by an empirical constant Kemp, to get the maximum iteration number of the algorithm at given voltage:

To calculate the increasing variable duty cycle dvar, following equation is applied, using a resolution of PWM signal KPWM:

and vice versa for the decreasing variable duty cycle dvar, following equation is applied:

EXPERIMENTATION REALIZATION AND RESULTS

Experimentations have been realized to control the DC motor actual angular position φ_o of Maxon motor RE-max29, the experimental setup is depicted in figure 50:

Present chapter describes in detail the experimental conditions and realization of the DC motor position control in closed- and open-loop configuration. Experimental results get summarized and compared in tables.

CLOSED-LOOP ALGORITHM

The realized experimentations to control the DC motor actual angular position φo uses the following experimental parameters, measured values and constants (table 16).

The reference angular position φr represents the user command and input of the closed-loop position control for the microcontroller. KR represents the amplification factor of the positioning algorithm used in equation (136) and (137). The maximal resolution used from the Maxon motor incremental encoder MR Type ML is constant with ppr = 4000. The PWM frequency fPWM depends, if the Arduino function analogwrite() is used with a fixed PWM frequency of 980Hz or the microcontroller Timer1 directly. The reference value Kref defines, whether φr or ppr is used to calculate the relative angular error φ’e, using the known equation 135:

The measured angular position φm represents the measured motor shaft angle after application of the positioning algorithm. trise represents the measured step response rising time for this. Using 5 measurements, the average for the relative angular error and step response rising time is computed and represented by φ̅’e and t̅rise. So, 6 experimental factors (table 17) and arrangements of these factors in 15 tests (table 18) are defined, to analyze the influence of every experimental factor.

Factor B and F depends each other, since no PWM signal is produced, when using timer1 in CTC mode. Instead it is used the Arduino function analogwrite(), to generate the PWM signal, which has a duty cycle resolution of 255. When using Timer1 in Fast PWM mode, the PWM frequency is defined by the TOP value of (118), which defines the overflow frequency of timer1. With fCPU= 16MHz microcontroller clock speed and fPWM= 1KHz PWM frequency, equation (118) gives a duty cycle resolution of:

With the used PWM frequency of fPWM = 1KHz and the used duty cycle resolution of TOP=16000, a good and practicable balance between these two mutual excluding conditions described by (118) is found.

Varying the parameters KR and φr from table 16, five measurements for the relative angular error average φ̅’e and the step response rising time average t̅rise are recorded (using experimental setup depicted in figure 50) and collected in table 25 and Table 26 (Appendix). For every test, two different amplification factors KR of the used positioning algorithm (136) and (137) are chosen, to measure the different effect for the step response of the controlled Maxon motor REmax-29 and three different reference angular positions of 1°, 5° and 90°, to measure the step response using a small, middle and high angular position.

All the variety of factors combination (table 18) in experimental results (table 25 and table 26 presented in Appendix) shows the adequate stability of the new proposed positioning system in the most probable situations of real system use.

OPEN-LOOP ALGORITHM

ALGORITHM

Experimentations have been realized to observe the effectiveness of an algorithm that follows the theoretical concept, modifying the experimental factors defined in table 19. The parameters varied in the tests are the sampling rate of positioning algorithm, to compare the difference using faster algorithm’s iterations and the PWM duty cycle (50% represents 0-6V and 43% represents 0-5.16V), to observe if there is a variation in the algorithm’s behavior using a lower motor armature voltage (uA).

The tests are performed with four different reference angles (φr) and 10 samples for each angle, as shown in table 20:

For comparative purpose the relative angular error average (φ̅’e ) with 10 samples is used, the obtained results are presented in figure 51:

Generally it can be seen, that test 3 and 4, which are using a motor armature voltage uA=5.16V, contain a lower relative angular error average, than Test 1 and 2. In the first two tests, the relative error average remains above 10%, whereas that in the last two tests the relative error average keeps under 5%.

ALGORITHM 2

Experimentations have been realized to observe the empirical positioning algorithm behavior varying experimental factors, defined in table 21:

Two different armature voltage ranges are applied (16% represents 0-2V and 50% represents 0-6V) and five sampling rates of positioning algorithm for four different reference angles and 20 samples for each angle. That gives a total of 80 samples for each test. The arrangements of the algorithm 2 experimental factors are shown in table 22:

Statistical calculations are applied for the results, receiving the Mean Absolute Error (MAE) and the Standard Deviation (SD), which represent accuracy and precision of the final angular position φ∞ respectively. The MAE indicates the absolute angular error average φ̅e and the SD indicates the deviation of the measured values from this average value.

Figure 52 compares the MAE for tests 1, 2, 3 and 4. It can be seen from Figure 52, that using a lower motor armature voltage uA, the algorithm’s accuracy is improved, keeping the MAE below 1.5°, while using a higher voltage results in a MAE above 2.0°. Test 3 is determined having the lowest MAE for different reference angular positions φr.

Test 1, 3, 5, 6 and 7 depicted in figure 53, are performed to analyze, if the MAE continues to decrease as the sampling rate fS increases, maintaining the armature voltage range uA= 0-2V. The best result is still represented by test 3, when using 2kHz, producing less variation in measured data and maintaining MAE < 1° for different reference angles.

Figure 54 shows the standard deviation for the measured data. The sampling rate for positioning algorithm fS= 2kHz results in the least variation, resulting a SD σ < 0.4.

EXPERIMENTATION ANALYSIS

CLOSED-LOOP ALGORITHM

First it can be seen from table 25 and table 26, that there exist tests (marked with red), which could not be executed due to an unstable step response of the DC motor, that is highly motor shaft oscillations around the reference angular position φr or increasing the measured angular position φm until infinity. It is noted that this unstable step response only appears for tests 1, 2, 5, 6, 9 and 10, where the experimental factor D is on level 1 and always appears in these tests for φr=1°. By using the reference value for relative position error calculation Kref= φr equation (146) shows, that the relative controller output variable y’φr not depend of the reference angular φr and so, at the beginning of the motor shaft positioning a relative controller output variable of y’φr =1.0 is always present, which leads to the same acceleration of the motor shaft, regardless of the reference position φr. However, the acceleration of the motor shaft should be reduced, the smaller is the absolute angular error φ_e, which leads to equation (8 15), where the pulses per revolution of encoder ppr is used as reference value for relative position error calculation. Thus, the relative controller output variable y’360 now depends of the reference angular φr and a stable step response of the DC motor can be seen in tests where the experimental factor D= 2; that is Test 3, 4, 7, 8, 11-15.

To analyze the conclusions made by condition 4 (calculations using floating-point or fixed-point numbers) of the positioning algorithm, the floating-point algorithm is converted to a fixed-point algorithm, maintaining other conditions identical. Thereby tests 1-4 contains the positioning algorithm using the float datatype and tests 5-15 the positioning algorithm using the integer datatype. Especially tests 5-8 contains the same experiment factors, as tests 1-4. Since in tests 3, 4, 7 and 8 the relative angular error φ’e depends of the reference angular φr (D=2) and this reference angular φr< 360°, an amplification factor of positioning algorithm KR > 1 and clamping the output to 100% is chosen, to analyze the effect. Tests 3 and 7 use the same sampling rate fS=100Hz and tests 4 and 8 use the same sampling rate fS= 200Hz. Between tests 3, 7 and tests 4, 8, the relative angular error average φ̅e’ remains approximately the same, what confirms the functionality and equality of the positioning algorithm using integer datatypes. Here, a relative angular error average φ̅e’= 100% means that the motor shaft was not moving. Hence, the step response time average was defined with 0s.

A significant improvement of the relative angular error average φ̅e’ and the step response rising time average t̅rise can be observed for tests 11-15, where a fixed-point algorithm (A=2), a reference value for relative positioning error calculation Kref=ppr (D=2) and a resolution of the integer positioning algorithm with three digits (E=2) is used. Especially an improvement can be noted when using the PWM signal with high resolution (F=2), a high sampling rate of positioning algorithm fS=500Hz (C=3) and a high amplification factor KR=500. The best experimental results are given by test 15 and are marked with green. Acceptable test results are marked with yellow and failing test results with red.

OPEN-LOOP ALGORITHM

ALGORITHM 1

Figure 53 shows MAE for algorithm 2 for different sampling rates; therefore, all tests performed with φr=5° presents irregular results and significant relative errors, due to small reference angular positions φr, which implies small positioning times and friction forces acting in opposition to the motor shaft revolution.

Tests 3 and 4, with lower motor armature voltage (factor B = 2), present a relative angular error average φ̅e’< 6%, while tests 1 and 2 contain a relative angular error average φ̅e’> 10%. Therefore, using a lower motor armature voltage, improves the positioning accuracy.

The sampling rate of positioning algorithm fS is doubled in tests 2 and 4 (factor A = 2), thereby the microcontroller timer count is changed from 16 000 to 8 000. As the sampling rate fS and the PWM resolution KPWM are synchronized with the same microcontroller timer, the KPWM from equation (8 19) must be reduced in the same proportion to keep the same PWM duty cycle.

ALGORITHM 2

Analyzing algorithm 2, that positioning is improved, and the statistical results lead to the conclusion, that MAE and SD are better than for algorithm 1.

During the tests, experimental factors like position algorithm sampling rate and motor armature voltage are varied to select the best algorithm configuration to achieve a good position result. It can be seen in tests 2 and 4 (blue) and tests 1 and 3 (yellow) in figure 52, that using a higher voltage in the algorithm, increases the absolute error for greater reference angular positions. A better result is obtained with an armature voltage range uA=0-2V, which represents 0-16.6% of PWM duty cycle. That is, using a lower motor armature voltage improves positioning accuracy also for algorithm 2.

The MAE is maintained less than 1° using an algorithm sampling rate fS=2Khz. Setting the fP=1,3,5 or 10kHz results in greater absolute errors, the MAE is more than 1° for these frequencies.

Considering the positioning algorithm is calibrated for φr=20°. The experimentation results accuracy decreases as the reference angular position is different from 20°. The absolute error increases proportionally to the sampling rate of positioning algorithm. As it can be seen from the standard deviation in figures 9 5, using 2kHz generates a lower profile in standard deviation and a more constant result for different reference angles. Therefore, accuracy and precision are improved using 2kHz sampling rate of positioning algorithm.

Both constants Kemp and KPWM from (150) and (151) are empirically defined for best results of DC motor shaft positioning. Using the best values according to the experiments realized in segment named Algorithm 2 inside Open-loop algorithm section, which correspond to fP=2kHz and uA=0-2V, these constants are set to Kemp=3.7 and KPWM=2666.

ALGORITHM COMPARISON

Because of motor mechanical and electrical limitations, the open-loop algorithm presents problems when positioning the motor shaft with small angles. The inherent and not negligible breakaway torque omits a linear and constant movement under low speeds of the motor shaft. Because of the inherent rotor inertia, time is required to accelerate and decelerate the rotor and thereby position with small angles.

Recalling, that the Maxon RE-max29 mechanical time constant TM=4.35 ms, where the motor shaft is accelerating to 63.2% of its final speed. Considering the approximation that the motor needs TM to reach the final speed and thereby work at constant speed. The motor moves maximal 1° in 0.489 ms (149) using constant speed, thereby the open-loop algorithm is not working properly, when position the motor shaft with less than φr=8.89°:

Concluding, the open-loop algorithm is working properly only after the motor has reached its final speed, positioning angles of 8.89° or less will present insufficient positioning results.

As mentioned above, the empirical algorithm (algorithm 2) presents better results than the theoretical algorithm (algorithm 1), with relative angular error average φ̅e’< 2.1%. The problem of impossibility to position small angles is still present, considering the armature voltage uA is less in algorithm 2 than in algorithm 1, positioning small angles results in greater relative error averages in algorithm 1, shown in table 23:

CONCLUSIONS

The present work introduces a novel theoretical method for continuous laser scanning of a technical vision system (TVS), based on closed-loop direct-current motor (DC motor) control using digital controller. This TVS, researched and further developed in this work, represents a laser scanning system, which by using the dynamic triangulation measurement method determines 3D coordinates of any examined object. In order to accomplish this theoretical method for continuous scanning, in the present work were provided:

1. The use of a novel physical principle of laser beam propulsion with the aim to achieve the possibility to position the laser beam in any 3D point, to displace this beam from any initial to another predefined 3D point in the shortest possible time using any arbitrary trajectory; the ability to apply any angular value of the scanning step with the aim to achieve the novel theoretical possibility realize scanning with variable step size.

2. Novel geometrical strategy allows to perform the 3D scanning in non-discontinued way, where any of preliminary desired 3D point can be reached by the laser beam with predefined and adjusted during multiple experimentation uncertainty of scanning element positioning; this concept permits to eliminate the dead zones of previous prototype, i.e. to convert the discontinued FOV into continuous one.

3. Novel algorithm of continuous laser scanner opens the possibility of applications implementation, which previously were limited by the fixed step size or by the observed object. By using the continuous scanning element for positioning the laser beam, the positioning time is significant shortened, while keeping constant or decreasing the relative positioning error less than 1%.

4. Novel formalism using the routh criterion proofs the stability of the DC motor continuous model laser scanning for different controller parameters and for different control loop configurations by simulation results and comparison. The frequency response of the continuous DC motor model gives information about the input and output behavior of the linear system in the frequency domain.

5. Digital control algorithm designed for realization of DC motor control with the purpose of performing a continuous laser scan of dynamic triangulation. The digital control algorithm was designed using various parameters and constants associated with real TVS functioning, and algorithms were defined for different control loop configurations.

6. Analytic comparison of several control algorithms in order to reach the optimization of laser beam propulsion under such criterions as the laser beam positioning accuracy and precision and step response rising time of the mechanical actuator.

7. To test the different control algorithms to perform a continuous scan in the TVS field of view, extensive experimentations have been designed and realized, using Taguchi statistical method. The experimentation results are summarized in tabular form, analyzed in detail and used to optimize the different control algorithms for different control loop configurations.

8. Experimentations are proving the novel theoretical method for continuous laser scanning. Experimentation results show the possibility of positioning the DC motor shaft on any desired position in the TVS field of view, with minimal step response rising time and a minimal relative angular error.

APPENDIX

LIST OF SYMBOLS

LIST OF ABBREVIATIONS

BIBLIOGRAPHY

Basaca-Preciado, L., Rodriguez-Quinonez, J., Sergiyenko, O., Tyrsa, V., Hernandez, W., Nieto Hipólito, J., Starostenko, O. (2010a). 3D Laser Scanning Vision System for Autonomous Robot Navigation. Industrial Electronics (ISIE) International Symposium Bari (pp. 1773-1778). Bari, Italy: IEEE.

Basaca-Preciado, L., Rodriguez-Quinonez, J., Sergiyenko, O., Tyrsa, V., Hernandez, W., Nieto Hipólito, J., Starostenko, O. (2010b). Resolution improvement of Dynamic Triangulation method for 3D Vision System in Robot Navigation Task. IECON 2010 – 36th Annual Conference on IEEE in Glendale Arizona (pp. 2886-2891). Las Vegas, Nevada, USA: IEEE.

Basaca-Preciado, L., Sergiyenko, O., Rodriguez-Quinonez, J., & Rivas-Lopez, M. (2012). Optoelectronic 3D Laser Scanning Technical Vision System based on Dynamic Triangulation. Photonics Conference (IPC) in Burlingame California (pp. 648-649). New Brunswick, New Jersey, USA: IEEE.

Basaca-Preciado, L., Sergiyenko, O., Rodriguez-Quinonez, J., Garcia, X., Tyrsa, V., Rivas-Lopez, M., Tabakova, I. (2014, March). Optical 3D laser measurement system for navigation of autonomous mobile robot. Optics and Lasers in Engineering, 54, 159-169.

Benet, G., Blanes, F., Simo, J., & Perez, P. (2002, September). Using infrared sensors for distance measurement in mobile robots. Robotics and Autonomous Systems, 40, 255-266.

Bright Hub Engineering. (n.d.). Retrieved from https://www.brighthubengineering.com/consumer-appliances-electronics/64577-parts-of-an-iron-core-permanent-magnet-dc-brush-motor/

Chapman, S. (2005). Electric Machinery Fundamentals (5th. Edition). United States of America: McGraw Hill.

Colombo, D., Colosimo, B. & Previtali, B. (2013, January). Comparison of methods for data analysis in the remote monitoring of remote laser welding. Optics and Lasers in Engineering, 51, 34-46.

Correal, R., Pajares, G. & Ruz, J. (2014, March). Automatic expert system for 3D terrain reconstruction based on stereo vision and histogram matching. Expert system with application, 41, 2043-2051.

Faulhaber Drive Systems. (n.d.). Retrieved from www.faulhaber.com

Fischer, R. (2003). Elektrische Maschinen (12th ed.). Munchen, Germany: Carl Hanser Verlag GmbH & Co.

Flores, V., Casaletto, L., Genovese, K., Martinez, A., Montes, A., & Rayas, J. (2014, July). A Panoramic Fringe Projection System. Optics and Lasers in Engineering, 58, 80-84.

Flores-Fuentes, W., Rivas-Lopez, M., Sergiyenko, O., Gonzalez-Navarro, F., Rivera-Castillo, J., Hernandez-Balbuena, D. & Rodriguez-Quinonez, J. (2014a, May). Combined application of Power Spectrum Centroid and Support Vector Machines for measurement improvement in Optical Scanning Systems. Signal Processing, 98, 37-51.

Flores-Fuentes, W., Rivas-Lopez, M., Sergiyenko, O., & Lindner, L. (2014b). Barrido opto-electrónico para cuerpos macroscópicos en la infraestructura industrial. ARGOS 2014 (pp. 145-158). Mexicali, Baja California, Mexico: Tecnólogico Nacional de Mexico.

Flores-Fuentes, W., Rodriguez-Quinonez, J., Hernandez-Balbuena, D., Rivas-Lopez, M., Sergiyenko, O., Rivera-Castillo, J., Lindner, L., Basaca-Preciado, L. & Mayorga-Ortiz, P. (2015a). Photodiode and charge-coupled device fusioned sensors. 2015 IEEE 24th International Symposium on Industrial Electronics (ISIE) (pp. 966-971). Buzios, Brazil: IEEE

Flores-Fuentes, W., Sergiyenko, O., Lindner, L., Rivas-Lopez, M., & Rodriguez-Quinonez, J. (2015b). Tecnologías de inteligencia artificial en colaboración con el desarrollo de la infraestructura industrial. VIII Congreso Nacional de Ingeniería Industrial ARGOS 2015. (pp. 442-453). Tijuana, Baja California, Mexico: Tecnológico Nacional de México.

Flores-Fuentes, W., Rivas-Lopez, M., Hernandez-Balbuena, D., Sergiyenko, O., Rodriguez-Quinonez, J., Rivera-Castillo, J. & Basaca Preciado, L. (2016a). Applying Optoelectronic Devices Fusion in Machine Vision: Spatial Coordinate Measurement. In O. Sergiyenko, & J. Rodriguez-Quinonez (Eds.), Developing and Applying Optoelectronics in Machine Vision (p. 37). Hershey, Pennsylvania, USA: IGI Global.

Flores-Fuentes, W., Sergiyenko, O., Gonzalez-Navarro, F., Rivas-Lopez, M., Rodriguez-Quinonez, J., Hernandez-Balbuena, D., Tyrsa, V. & Lindner, L. (2016b, August). Multivariate outlier mining and regression feedback for 3D measurement improvement in opto-mechanical system. Optical and Quantum Electronics, 48(8), 21.

Fritzing. (n.d.). Retrieved from http://fritzing.org

Fuest, K. & Doering, P. (2004). Elektrische Maschinen und Antriebe (6th ed.). Wiesbaden, Germany: Vieweg & Sohn.

Garcia-Cruz, X., Sergiyenko, O., Tyrsa, V., Rivas-Lopez, M., Hernandez-Balbuena, D., Rodriguez-Quinonez, J., Basaca-Preciado, L. & Mercorelli, P. (2014, March). Optimization of 3D laser scanning speed by use of combined variable step. Optics and Lasers in Engineering, 54, 141-151.

Genovese, K., Casaletto, L., Rayas, J., Flores, V. & Martinez, A. (2013, March). Stereo-Digital Image Correlation (DIC) measurements with a single camera using a biprism. Optics and Lasers in Engineering, 51, 278-285.

Gohar, R. & Rahnejat, H. (2008). Fundamentals Of Tribology. (T. K. Wei, Ed.) London, England: Imperial College.

Helmert, F. (1880). Die mathematischen und physikalischen Theorien der Höheren Geodäsie (Bd. 1). Leipzig, Germany: Teubner.

Hiremath, S., van der Heijden, G., van Evert, F., Stein, A., & ter Braak, C. (2014, January). Laser range finder model for autonomous navigation of a robot in a maize field using a particle filter. Computers and Electronics in Agriculture, 100, 41-50.

Instructables. (n.d.). Retrieved from http://www.instructables.com

Kumar, P., McElhinney, C., Lewis, P. & McCarthy, T. (2013, November). An automated algorithm for extracting road edges from terrestrial mobile LiDAR data. ISPRS Journal of Photogrammetry and Remote Sensing, 85, 44-55.

Li, F., Longstaff, A., Fletcher, S. & Myers, A. (2014, April). A practical coordinate unification method for integrated tactile-optical measuring system. Optics and Lasers in Engineering, 55, 189-196.

Lickteig, T. & Roy, M. F. (1996). Cauchy index computation. In Calcolo (pp. 337-351). Pisa, Italy: Springer.

Lindner, L. (2016). Laser Scanners. In O. Sergiyenko, J. Rodriguez-Quinonez, O. Sergiyenko, & J. Rodriguez-Quinonez (Eds.), Developing and Applying Optoelectronics in Machine Vision (p. 38). Hershey, Pennsylvania: IGI Global.

Lindner, L., Bauer, H. & Lehmann, C. (1999). Taschenbuch der Elektrotechnik und Elektronik (7th ed.). Munich, Germany: Carl Hanser GmbH & Co. KG/Fachbuchverlag.

Lindner, L., Sergiyenko, O., Rodriguez-Quinonez, J. & Flores-Fuentes, W. (2014a). Sustitución de motores de pasos con servomotores en triangulación dinámica de láser para escaneo continúo de coordenadas espaciales. ARGOS 2014 (pp. 159-172). Mexicali, Baja California, Mexico: Tecnológico Nacional de Mexico.

Lindner, L., Sergiyenko, O., Tyrsa, V. & Mercorelli, P. (2014b, June). An approach for dynamic triangulation using servomotors. Industrial Electronics (ISIE), 2014 IEEE 23rd International Symposium (pp. 1926-1931). Instanbul, Turkey: IEEE.

Lindner, L., Sergiyenko, O., Rodriguez-Quinonez, J., Tyrsa, V., Mercorelli, P., Fuentes-Flores, W., Murrieta, F. & Nieto-Hipólito, J. (2015). Continuous 3D scanning mode using servomotors instead of stepping motors in dynamic laser triangulation. Industrial Electronics (ISIE), 2015 IEEE 24th International Symposium on (pp. 944-949). Buzios, Brazil: IEEE.

Lindner, L., Sergiyenko, O., Rivas-Lopez, M., Rodriguez-Quinonez, J., Hernandez-Balbuena, D., Flores-Fuentes, W., Tyrsa, V., Nieto-Hipólito, J., Murrieta Rico, F. & Kartashov, V. (2016a). Issues of exact laser ray positioning using DC motors for vision-based target detection. 2016 IEEE 25th International Symposium on Industrial Electronics (ISIE) (pp. 929-934). Santa Clara, California, USA: IEEE.

Lindner, L., Sergiyenko, O., Rodriguez-Quinonez, J., Rivas-Lopez, M., Hernandez-Balbuena, D., Flores-Fuentes, W., Murrieta Rico, F. & Tyrsa, V. (2016b). Mobile robot vision system using continuous laser scanning for industrial application. Industrial Robot, 43(4), 360-369.

Lindner, L., Sergiyenko, O., Rivas-Lopez, M., Valdez-Salas, B., Rodriguez-Quinonez, J., Hernandez-Balbuena, D., Flores-Fuentes, W., Tyrsa, V., Medida-Barrera, M., Murrieta-Rico, F., Mercorelli, P. & Gurko, A. (2016c). UAV remote laser scanner improvement by continuous scanning using DC motors. Industrial Electronics Society, IECON 2016. Florence, Italy: IEEE.

Lutz, H. & Wendt, W. (2012). Taschenbuch der Regelungstechnik (9th. ed.). Frankfurt, Germany: Harri Deutsch.

Lyshevski, S. (1999, August). Nonlinear control of mechatronic systems with permanent-magnet DC motors. Mechatronics, 9(5), 539-552.

Ma, G., Zhao, B. & Fan, Y. (2013, May). Non-diffracting beam based probe technology for measuring coordinates of hidden parts. Optics and Laser in Engineering, 51, 585-591.

Maxembedded. (n.d.). Retrieved from http://maxembedded.com

Maxon Academy. (n.d.). (Maxon Motor) Retrieved from www.maxonmotor.com

Morandi, P., Breman, F., Doumalin, P., Germaneau, A., & Dupre, J. (2014, July). New Optical Scanning Tomography using a rotating slicing for time-resolved measurements of 3D full field displacements in structures. Optics and Laser in Engineering, 58, 85-92.

Murrieta-Rico, F., Hernandez-Balbuena, D., Rodriguez-Quinonez, J., Petranovskii, V., Raymond-Herrera, O., Nieto-Hipólito, J., Sergiyenko, O., Lindner, L. Tyrsa, V. & Melnyk, V. (2015). Instability measurement in time-frequency references used on autonomous navigation systems. 2015 IEEE 24th International Symposium on Industrial Electronics (ISIE) (pp. 956-961). Buzios, Brazil: IEEE.

Murrieta Rico, F., Petranovskii, V., Raymond-Herrera, O., Sergiyenko, O., Lindner, L., Hernandez-Balbuena, D., Rodriguez-Quinonez, J., Mercorelli, P., Nieto-Hipólito, J., Tyrsa, V. & hernandez, W. (2016a). High resolution measurement of physical variables change for INS. 2016 IEEE 25th International Symposium on Industrial Electronics (ISIE) (pp. 912-917). Santa Clara, California, USA: IEEE.

Murrieta-Rico, F., Sergiyenko, O., Petranovskii, V., Hernandez-Balbuena, D., Lindner, L., Tyrsa, V., Rivas-Lopez, M., Nieto-Hipólito, J. & Karthashov, M. (2016b, May). Pulse width influence in fast frequency measurements using rational approximations. Measurement, 86, 67-78.

Murrieta-Rico, F., Hernandez-Balbuena, D., Rodriguez-Quinonez, J., Petranovskii, V., Raymond-Herrera, O., Gurko, A., Mercorelli, P., Sergiyenko, O., Lindner, L., Valdez-Salas, B. & Tyrsa, V. (2016c). Resolution improvement of accelerometers measurement for drones in agricultural applications. Industrial Electronics Society, IECON 2016. Florence, Italy: IEEE.

Ohnishi, N., & Imiya, A. (2013, June-July). Appearance-based navigation and homing for autonomous mobile robot. Image and Vision Computing, 31, 511-532.

Popov, V. (2016). Kontaktmechanik und Reibung (3th. ed.). Berlin, Germany: Springer Vieweg.

RC Hobbies. (n.d.). Retrieved from www.rchobbies.co.nz

Reinschke, K. (2014). Lineare Regelungs-und Steuerungstheorie. (2nd. ed.). Berlin, Germany: Springer.

Rodriguez-Quinonez, J., Sergiyenko, O., Tyrsa, V., Basaca-Preciado, L. & Nieto-Hipolito, J. (2011). Monitoreo continuo de rehabilitación en pacientes con escoliosis utilizando barrido laser automático. Health Care Exchanges (PAHCE) Conference Rio de Janeiro (pp. 410-414). Buzios, Brazil: IEEE.

Rodriguez-Quinonez, J., Sergiyenko, O., Gonzalez-Navarro, F., Basaca-Preciado, L. & Tyrsa, V. (2013, February). Surface recognition improvement in 3D medical laser scanner using Levenberg–Marquardt method. Signal Processing, 93(2), 378-386.

Rodriguez-Quinonez, J., Sergiyenko, O., Basaca-Preciado, L., Tyrsa, V., Gurko, A., Podrygalo, M., Lopez, M. & Hernandez-Balbuena, D. (2014, March). Optical monitoring of scoliosis by 3D medical laser scanner. Optics and Lasers in Engineering, 54, 175-186.

Schlemmer, H. & Mueller, G. (2000). Handbuch Ingenieurgeodäsie. Grundlagen. Heidelberg: Herbert Wichmann.

Schulze, M. (2008). Elektrische Servoantriebe: Baugruppen mechatronischer Systeme (1st. ed.). Munich, Germany: Carl Hanser GmbH & Co. KG.

Sergiyenko, O. (2010). Optoelectronic System for Mobile Robot Navigation, Optoelectronics. Instrumentation and Data Processing, 46, 414-428.

Sergiyenko, O., Burtseva, L., Bravo, M., Rendon, I. & Tyrsa, V. (2006). Scanning Vision System For Mobile Vehicle Navigation. Electronics and Photonics Multiconferences in Guanajuato (pp. 178-180). Guanajuato, Mexico: IEEE.

Sergiyenko, O., Tyrsa, V., Hernandez-Balbuena, D., Rivas-Lopez, M. & Devia-Cruz, L. (2008). Precise optical scanning for practical multi-applications. Industrial Electronics, 2008. IECON 2008. 34th Annual Conference of IEEE (pp. 1656-1661). Orlando, Florida, USA: IEEE.

Sergiyenko, O., Tyrsa, V., Basaca-Preciado, L., Rodriguez-Quinonez, J., Hernandez, W., Nieto-Hipólito, J., Rivas-Lopez, M. & Starostenko, O. (2011). Electromechanical 3D Optoelectronic Scanners: Resolution Constraints and Possible Ways of Improvement. In Optoelectronic Devices and Properties. InTech. Retrieved from https://www.intechopen.com/books/optoelectronic-devices-and-properties/electromechanical-3d-optoelectronic-scanners-resolution-constraints-and-possible-ways-of-improvement

Song, J. B. & Byun, K. S. (1999, August). Throttle actuator control system for vehicle traction control. Mechatronics, 9(5), 477-495.

Sun, Q., Hou, Y., Tan, Q. & Li, C. (2014, April). Shaft diameter measurement using a digital image. Optics and Lasers in Engineering, 55, 183-188.

Toth, T. & Zivcak, J. (2014). A Comparison of the Outputs of 3D Scanners. 24th DAAAM International Symposium on Intelligent Manufacturing and Automation 2013. 69, pp. 393-401. Kosice, Slovakia: Elsevier.

Volos, C., Kyprianidis, I. & Stouboulos, I. (2013, December). Experimental investigation on coverage performance of a chaotic autonomous mobile robot. Robotics and Autonomous Systems, 61(12), 1314-1322.

Wang, Y., Bhattacharya, B., Winer, E., Kosmicki, P., El-Ratal, W. & Zhang, S. (2014, July). Digital micromirror transient response influence on superfast 3D shape measurement. Optics and Lasers in Engineering, 58, 19-26.

Wendt, K., Franke, M. & Härtig, F. (2012, December). Measuring large 3D structures using four portable tracking laser interferometers. Measurement, 45, 2339-2345.

Zhongdong, Y., Peng, W., Xiaohui, L. & Changku, S. (2014, March). 3D laser scanner system using high dynamic range imaging. Optics and Lasers in Engineering, 54, 31-41.

LEGALES

Esta investigación fue dictaminada por pares académicos

Lindner, Lars

Theoretical method to increase the speed of continuous mapping in a three-dimensional

laser scanning system using servomotors control [recurso electrónico] /

Lars Lindner. – Mexicali, Baja California : Universidad Autónoma De Baja California, 2020.

1 recurso en línea

(Selección Anual para el Libro Universitario)

ISBN: 9786076076262

1. Ingeniería 2. Aplicaciones de la electrónica 3. Sistemas de exploración

I. Universidad Autónoma de Baja California II. t.

TK7882 .S3 L37 2020

©D.R. 2020 Lars Lindner

Las características de esta publicación son propiedad de la

Universidad Autónoma de Baja California.

Departamento de Editorial Universitaria. Av. Reforma 1375.

Col. Nueva. Mexicali, Baja California, México. C.P. 21100.

Teléfono: (686) 552-1056.

Correo electrónico: editorial@uabc.edu.mx

www.uabc.mx

ISBN: 978-607-607-626-2

Coordinación editorial: Laura Figueroa Lizárraga.

Formación electrónica: Lilian Guadalupe Beckham Lara.

Edición: Paulina Ximena de la Cueva García.

Portada: César Alonso Cervantes Vargas.

Universidad Autónoma de Baja California

Dr. Daniel Octavio Valdez Delgadillo

Rector

Dr. Édgar Ismael Alarcón Meza

Secretario general

Dra. Mónica Lacavex Berumen

Vicerrectora Campus Ensenada

Dra. Gisela Montero Alpírez

Vicerrectora Campus Mexicali

Mtra. Edith Montiel Ayala

Vicerrectora Campus Tijuana

Dra. Luz María Ortega Villa

Coordinadora general de Extensión de la Cultura

y Divulgación de la Ciencia

Table of Contents

Introduction

Basic concepts

Theoretical concepts

DC motor continuous model

Digital control design for faster positioning of DC motor

Technical vision system

Continuous TVCS design and functioning principle

Algorithm of DC motor control for continuous positioning

Experimentation realization and results

Experimentation analysis

Conclusions

Appendix

List of Symbols

List of Abbreviations

Bibliography

Legales