Open access peer-reviewed chapter - ONLINE FIRST

Direct Torque Control Strategies of Induction Machine: Comparative Studies

By Cherifi Djamila and Miloud Yahia

Submitted: May 24th 2019Reviewed: October 17th 2019Published: January 24th 2020

DOI: 10.5772/intechopen.90199

Downloaded: 36

Abstract

The direct torque control (DTC) was proposed as an alternative to the vector control in the middle of 1980s for AC machine control. This strategy bases on the direct determination of inverter switching states and offers a simpler scheme and less sensitivity to machine parameters. However, the variable switching frequency of DTC causes high flux and torque ripples which lead to an acoustical noise and degrade the performance of the control technique, especially at low-speed regions. In the objective of improving the performance of DTC for the induction motor, this work addresses the most important points concerning this issue. The reduction of high ripples, which are the major drawbacks, by applying a constant switching frequency using the space vector modulation (SVM) has been done firstly. Then, fuzzy DTC-SVM strategy with adaptive fuzzy-PI speed controller has been proposed. The results of all the discussed aspects of this chapter have been obtained by numerical simulation using MATLAB/Simulink software.

Keywords

  • induction motor
  • conventional direct torque control (DTC)
  • space vector modulation
  • DTC-SVM
  • fuzzy-PI speed controller

1. Introduction

Advanced control of electrical machines requires an independent control of magnetic flux and torque. For that reason it was not surprising that the DC machine played an important role in the early days of high-performance electrical drive systems, since the magnetic flux and torque are easily controlled by the stator and rotor current, respectively. The introduction of field oriented control meant a huge turn in the field of electrical drives, since with this type of control the robust induction machine can be controlled with a high performance. Later in the 1980s, a new control method for induction machines was introduced: The direct torque control (DTC) method. It was proposed by Takahashi and Depenbrock [1, 2]. It bases on the direct selecting of the switching states to control the voltage source inverter (VSI) through a switching look-up table. Due to the limits of the conventional DTC strategy, especially the high torque and flux ripples problem, various control structures are presented to improve the performances of control, [3, 4]. The constant switching frequency DTC using the space vector modulation (DTC-SVM) is a well discussed solution; in order to improve the DTC-SVM performances, hysteresis comparators of electromagnetic torque and stator flux have been replaced by PI controllers, [5, 6]. The main drawbacks of DTC-SVM using PI controllers are the sensitivity of the performances to the system-parameter variations and the inadequate rejection of external disturbances and load changes [7, 8, 9, 10, 11]. To cope with this disadvantage, it is suggested to replace the conventional regulators used for the speed control, flux, and electromagnetic torque by intelligent controllers by fuzzy logic to make the controls more robust against the disturbances of the parameters of the machine. The aim of this chapter is to design and compare three strategies for the direct torque control (DTC) of induction motor (IM). The first method is a conventional direct torque control (C-DTC) where the torque and the flux are regulated by the hysteresis controllers. The second one is direct torque control by space vector modulation strategy (SVM-DTC) where the torque and flux are regulated by PI controllers. The third one is fuzzy SVM-DTC with adaptive fuzzy-PI speed controller where the torque and flux are regulated by fuzzy logic controllers. The main feature of the proposed (SVM-DTC) strategy is the reduction of torque and flux ripples.

2. Model of induction motor dedicated for direct torque control

The mathematical model of induction motor can be described in the stator fixed reference frame (α,β) (stationary frame) by assuming the rotor and the stator flux as state variables:

dXdt=AX+BUE1

with

X=ϕϕϕϕ, A=RsσLs0MRsοLrLs00RsσLs0MRsοLrLsMRrοLrLs0RrσLrω0MRrοLrLsωRrσLr, B=10010000and U=vvwhere

  1. ϕ, ϕ, ϕ, ϕare stator and rotor flux components.

  2. Rs, Rr are stator and rotor resistance.

  3. Ls, Lrare stator and rotor inductance.

  4. Mis the mutual stator-rotor inductance.

  5. σ=1M2LrLsis the Blondel’s coefficient.

  6. ωis the machine speed (ω==ωsωrand p is the pole pair number).

The rotor motion can be described by:

JdΩdt=TemTLfΩE2

where J is the motor inertia, Tem is the electromagnetic torque, TL is the load torque, and f is the friction coefficient.

3. Two-level voltage source inverter (VSI) model

Two-level three-phase voltage source inverter (VSI) is considered as a mature technology and becoming an industrial standard for the demand for energy saving. The output phase voltages are produced by the rectifier (Vdc) is delivered to the inverter input, which, thanks to controlled transistor switches, converts this voltage to three-phase AC voltage signal with wide range variable voltage amplitude and frequency.

The type of the used switches depends on the power of the inverter and switching frequency. In the most applications, IGBT transistors with antiparallel diodes are so helpful.

The model of two-level voltage inverter is shown in Figure 1.

Figure 1.

Three-phase VSI fed star-connected induction machine.

Figure 1 shows the two-level three-phase voltage source inverter (VSI) with six transistor switches, S1–S6, and a dc constant voltage source Vdc connecting a three-phase load.

The voltage vector is generated by the following equation:

Vs=23VdcS+aSebj2π3+Secj4π3E3

where Sa, Sb, and Sc are three-phase inverter switching functions, which can take a logical value of either 0 or 1.

4. Principles of direct torque control

Direct torque control principle was introduced in the late 1980s by [1, 2]. It achieves a decoupled control of the stator flux and the electromagnetic torque in the stationary frame (α, β), and it allows induction machines to have an accurate and fast electromagnetic torque response. It uses a switching table for the selection of an appropriate voltage vector. The selection of the switching states is related directly to the variation of the stator flux and the torque of the machine. Hence, the selection is made by restricting the flux and torque magnitudes within two hysteresis bands. Those controllers ensure a separated regulation of both of these quantities [12, 13, 14]. The inputs of hysteresis controllers are the flux and the torque errors as well as their outputs determine the appropriate voltage vector for each commutation period.

5. Estimation of stator flux and electromagnetic torque

5.1 Control of stator flux

Basing on the induction motor model in stationary frame, the stator flux equation can be expressed as follows [15, 16, 17, 18, 19]:

ϕ=vRsidtϕ=vRsidtE4

Considering that the control of the switches of the inverter is done by control period (or sampling) Teand that at each of these periods the states Sa, Sb, and Scare kept constant, the method of numerical integration of the rectangles makes it possible to obtain an expression of the sample k + 1 of the stator flux in the following form:

ϕk+1=ϕk+vkRsikTeϕk+1=ϕk+vkRsikTeE5

A vector inscription of this expression can be given by:

ϕsk+1=ϕsk+VskRsIskTeE6

We can neglect the stator resistance voltage drop compared to Vs for high speed regions. Then Eq. (6) can be written as:

ϕsk+1=ϕsk+VskTeE7

Eq. (7) means that the stator flux can be changed by the application of stator voltage during a time k. The stator flux vector’s extremity moves in direction given by the voltage vector and making a circular trajectory.

Figure 2.

Evolution of stator flux vector in the complex plan.

A two-level hysteresis comparator is used for flux regulation. It allows to drop easily the flux vector extremity within the limits of the two concentric circles with close radius. The choice of the hysteresis bandwidth depends on the switching frequency of the inverter Figure 2 and 3.

Figure 3.

Two-level hysteresis comparator for stator flux control.

The logical outputs of the flux controller are defined as:

Cflx=1ifΔϕs>hϕsCflx=0ifΔϕshϕsE8

where hϕsis hysteresis band of stator flux.

The stator flux error is defined by the difference between the reference value of flux and the actual estimated value:

Δϕs=ϕsϕsE9

5.2 Control of electromagnetic torque

During one sampling period, the rotor flux vector is supposed invariant. The rotor and stator flux vectors are linked by the following relation:

ϕr=MLs.11+jσωTrϕsE10

The angle between these two vectors is given by:

δ=ArctangσωTrE11

Finally, between the modules of the two flux vectors, we have the following relation:

ϕr=MLs.11+σωTr2ϕsE12

The general expression of electromagnetic torque is given by:

Tem=pMσLsLrϕs.ϕrE13
Tem=pMσLsLrϕs.ϕrSinδE14

where:

pis the number of poles pairs.

ϕs,ϕrare stator and rotor flux vectors.

δ angle between the stator and rotor flux vectors.

From expression (14), it is clear that the electromagnetic torque is controlled by the stator and rotor flux amplitudes. If those quantities are maintaining constant, the torque can be controlled by adjusting the load angle δ.

The torque regulation can be realized using three-level hysteresis comparator.

(Figure 4).

Figure 4.

Three-level hysteresis comparator for electromagnetic torque control.

The logical outputs of the torque controller are defined as:

Ctrq=1ifΔTem>hTemCtrq=0ifhTemΔTemhTemCtrq=1ifΔTem<hTemE15

where hTemis hysteresis band of torque.

The torque error is defined by the difference between the references values of the torque and the actual estimated values:

ΔTem=TemTemE16

6. Estimation of stator flux and electromagnetic torque

6.1 Stator flux estimation

The amplitude of the stator flux is estimated from its two-phase components ϕand ϕ:

ϕs=ϕ2+ϕ2E17

Or ϕand ϕare estimated using Eq. (4) which requires knowledge of the components of the stator current vector iand iand that of the vector stator voltage vand v.

The stator voltage components vand vare obtained by applying Concordia transformation on the output voltage of the three-phase VSI which are given by:

v=23VdcSa12Sb+Scv=12VdcSbScE18

The stator currents components iand ican be obtained also by applying Concordia transformation on the measured currents:

i=32isai=12isbiscE19

6.2 Electromagnetic torque estimation

The produced electromagnetic torque of the induction motor can be determined using the cross product of the stator quantities (i.e., stator flux and stator currents). The torque formula is expressed as the following:

Tem=pϕiϕiE20

7. Switching table construction and control algorithm design

To maintain a decoupled control, a pair of hysteresis comparators receives the stator flux and torque errors as inputs. Then, the comparators outputs determine the appropriate voltage vector selection. However, the choice of voltage vector is not only depending on the output of hysteresis controllers but on the position of stator flux vector also. Thus, the circular stator flux vector trajectory will be divided into six symmetrical sectors (Table 1).

IncreasesDecreases
ϕsVi−1 and Vi+1Vi+2 and Vi−2
TemVi+1 and Vi+2Vi−1 and Vi−2

Table 1.

Generalized switching table.

For each sector, the vectors (Vi and V3+i) are not considered because both of them can increase or decrease the torque in the same sector according to the position of flux vector on the first or the second sector. If the zero vectors V0 and V7 are selected, the stator flux will stop moving, its magnitude will not change, and the electromagnetic torque will decrease, but not as much as when the active voltage vectors are selected. The resulting look-up table for DTC which was proposed by Takahashi is presented in Table 2.

FluxTorque123456Comparator
Cflx = 1Ctrq = 1V2V3V4V5V6V1Two-level
Ctrq = 0V7V0V7V0V7V0
Ctrq = −1V6V1V2V3V4V5Three-level
Cflx = 0Ctrq = 1V3V4V5V6V1V2Two-level
Ctrq = 0V0V7V0V7V0V7
Ctrq = −1V5V6V1V2V3V4Three-level

Table 2.

Look-up table for basic direct torque control.

8. Global scheme of conventional direct torque control

The global control scheme of conventional direct torque control strategy is shown in Figure 5. It is composed of speed regulation loop; the proportional-integral (PI) controller is used for the regulation. It is performed by comparing the speed reference signal to the actual measured speed value. Then the comparison error becomes the input of the PI controller. The pole placement method is used to determine the controller gains. The used PI controller in our work in the outer speed loop is the anti-windup controller. It allows to enhance speed control performance by canceling the windup phenomenon which is caused by the saturation of the pure integrator [20]. Figure 6 shows the speed anti-windup PI controller diagram block.

Figure 5.

Global control scheme of basic direct torque control.

Figure 6.

Speed anti-windup PI controller.

This strategy consists on the correction of the integral action based on the difference between the control signal and the saturation limit. The difference value is passed through a gain block (tracking time constant Ti) before arriving as feedback to the integrator. As well flux and torque hysteresis controllers, look-up switching table, an association of VSI-Induction motor, voltage and current calculation blocks with 3/2 (Concordia) transformation and flux/torque estimators with position/sector determination.

9. Constant switching frequency direct torque control using SVM

The conventional direct torque control has several disadvantages, among which the variable switching frequency and the high level of ripples. Consequently, they lead to high-current harmonics and an acoustical noise and they degrade the control performance especially at low speed values. The ripples are affected proportionally by the width of the hysteresis band. However, even with choosing a reduced bandwidth values, the ripples are still important due to the discrete nature of the hysteresis controllers. Moreover, the very small values of bandwidths increase inverter switching frequency. In order to overcome these drawbacks, most of the studies presented in the literature have been oriented towards modification in the conventional DTC method by the introduction of a vector modulator [21, 22]. The vector PWM technique (SVM) is used to apply a voltage vector with a fixed switching frequency. The control system consists of replacing the switching table and the hysteresis comparators with proportional and integrating controllers (PI) for controlling the stator flux and the electromagnetic torque, [6, 23, 24, 25, 26, 27]. The main drawbacks of DTC-SVM using PI controllers are the sensitivity of the performances to the system-parameter variations and the inadequate rejection of external disturbances and load changes [28, 29]. To cope with this disadvantage, it is suggested to replace the conventional regulators used for the speed control, flux, and electromagnetic torque by intelligent controllers by adaptive fuzzy-PI and fuzzy logic to make the control more robust against the disturbances of the parameters of the machine.

9.1 Space vector modulation algorithm

This technique is much requested in the field of control in that the reference voltages are given by a global control vector approximated over a modulation period Tz. The principle of SVM is the prediction of inverter voltage vector by the projection of the reference vector Vsbetween adjacent vectors corresponding to two non-zero switching states. For two-level inverters, the switching vector diagram forms a hexagon divided into six sectors, each one is expanded by 60° as shown in Figure 7.

Figure 7.

Diagram of voltage space vector.

The application time for each vector can be obtained by vector calculations, and the rest of the time period will be spent by applying the null vector.

When the reference voltage is in sector 1 (Figure 8), it can be synthesized by using the vectors V1, V2, and V0 (zero vector).

Figure 8.

Reference vector as a combination of adjacent vectors at sector 1.

The determination of times T1 and T2 corresponding to voltage vectors are obtained by simple projections (Figure 9).

Figure 9.

Switching times of sector 1.

T1=6V2V2VdcTE21
T2=2VVdcTE22

where Vdc is the DC bus voltage.

T1, T2, and T0 are the corresponding application times of the voltage vectors, respectively. Tz is the sampling time.

Figure 10 shows the global block diagram of DTC with SVM.

Figure 10.

Global control scheme of SVM-direct torque control with PI controller.

9.2 Principle of fuzzy direct torque control

The complete block diagram DTC-SVM improvement of induction motor drive with fuzzy logic controller is shown in Figure 11. The practical difficulty with PI controllers has been addressed in the previous section. The PI controllers are being replaced by fuzzy logic controllers that generates the module and the voltage vector angle in order to bring the stator flux and the electromagnetic torque to references optimally; this vector is used by a PWM control vector to generate the pulses for the control of the switches of the inverter, and PI speed controller is replaced by the adaptive fuzzy-PI speed controller to offer a good insensitivity to parameter variations, to get better response in external disturbance rejection and fast dynamics.

Figure 11.

Global control scheme of SVM-direct torque control with fuzzy logic controllers and adaptive fuzzy-PI speed controller.

9.2.1 Selecting the position of the voltage vector

The position of the reference voltage vector with respect to the stator flux vector must be chosen so as to maintain the stator flux and the electromagnetic torque in an optimal error band around their reference value. The errors of torque and flux are multiplied by “scales factors” to obtain standardized sizes and functions. These values are used by the fuzzification block to be transformed into fuzzy values. These are used by the block fuzzy control rules after defuzzification; the value of (ψ) which must be added to the angle of the stator flux [30, 31, 32] (Figure 12).

Figure 12.

Controller structure for estimating the angle (ψ).

9.2.2 Selection of the voltage vector magnitude

The voltage vector module must be selected to minimize the error of torque and flux. A fuzzy logic controller is designed to generate the appropriate voltage vector magnitude (Figure 13).

Figure 13.

Controller structure for voltage vector module estimation.

9.2.3 Selection of the voltage vector magnitude

The voltage vector obtained from the characteristic comes to the vector modulation V¯s=fεTemwhich in turn generates the states, and switches using Vα, Vβthe following algorithm:

Calculate the biphasic components of the desired voltage vector using the following equations [30, 31, 32]:

V=VscosθV=VssinθE23

  • Calculation of the area where the desired voltage vector is.

  • Get the switching vectors and their operating cycle. Then calculate the operating cycle of the null switching vector t0=1t1t2.

  • Calculation of the relative position of the clock (PRH) in the sampling time by using the following equations:

PRH=Remt/Ts/Ts.E24

9.2.4 The speed control of the IM by an adaptive fuzzy-PI controller

In what follows, we show the synthesis and description of the adaptation of the PI controller by a fuzzy system method:

The fuzzy inference mechanism adjusts the PI parameters and generates new parameters during the process control. It enlarges the operating area of the linear controller (PI) so that it also works with a nonlinear system [33, 34].

The inputs of the fuzzy adapter are the error (e) and the derivative of error (Δe); the outputs are the normalized value of the proportional action (kp) and the normalized value of the integral action (ki).

The normalization PI parameters are given by:

kp=kpkpmin/kpmaxkpminE25
ki=kikimin/kimaxkiminE26

The parameters kpand kiare determined by a set of fuzzy rules of the form:

IfeisAiandΔeisBi,thenkp'isCi,andki'isDiE27

where Ai, Bi, Ci, and Di are fuzzy sets on corresponding supporting sets.

The associated fuzzy sets involved in the fuzzy control rules are defined as follows:

PBPositive bigNBNegative bigBBig
PMPositive mediumNMNegative mediumZEZero
PSPositive smallNSNegative smallSSmall

The membership functions for the fuzzy sets corresponding to the error e and Δeand the adjusted proportional and integral terms (kpand ki) are defined in Figures 14 and 15.

Figure 14.

Membership functions e and Δe.

Figure 15.

Membership functions kp′ and ki′.

By using the membership functions shown in Figure 15, we satisfy the following condition.

1mυi=1E28

The fuzzy outputs kpand kican be calculated by the center of area defuzzification as:

kp'ki'=i=13wicii=13wi=c1c2w1w2i=12wi=υTWE29

where C=c1c2is the vector containing the output fuzzy centers of the membership functions, W=w1w2/i=12wiis the firing strength vector,

and υirepresents the membership value of the output kpor kito output fuzzy set i.

Once the values of kpand kiare obtained (Tables 3 and 4), the new parameters of PI controller is calculated by the following equations:

e
ΔeNBNMNSZEPSPMPB
NBBBBBBBB
NMSBBBBBS
NSSSBBBSS
ZESSSBSSS
PSSSBBBSS
PMSBBBBBS
PBBBBBBBB

Table 3.

Fuzzy rule base for computing kp.

e
ΔeNBNMNSZEPSPMPB
NBBBBBBBB
NMBSSSSSB
NSBBSSSBB
ZEBBBSBBB
PSBBSSSBB
PMBSSSSSB
PBBBBBBBB

Table 4.

Fuzzy rules base for computing ki.

kp=kpmaxkpminkp+kpminE30
ki=kimaxkiminki+kiminE31

10. Simulation results

The DTC control algorithms have been simulated by MATLAB/Simulink software. A comparative study between the three strategies for the direct torque control (DTC) of induction motor (IM) is presented. The first method is a conventional direct torque control (C-DTC) where the torque and the flux are regulated by the hysteresis controllers. The second one is direct torque control by space vector modulation strategy (SVM-DTC) where the torque and flux are regulated by PI controllers. The third one is fuzzy SVM-DTC with adaptive fuzzy-PI speed controller where the torque and flux are regulated by fuzzy logic controllers is presented. The simulation has been conducted for a three-phase 1.5 kW squirrel-cage induction motor with characteristics given in the appendix. The starting up and the steady states of the controlled motor with load introduction are presented. For the classical DTC, the chosen bandwidths of the hysteresis controllers are ±0.01 Wb for flux and ±0.1 Nm for torque.

This section presents the starting up state of the induction motor according to speed step reference of 1000 rpm. Then, a load of 10 Nm is suddenly applied between (t = 1 s) and (t = 2 s).

Figures 16 and 17 show, respectively, rotor speed, torque, stator phase current isa, flux magnitude, and the circular trajectory.

Figure 16.

Simulation results of the classical DTC control applied to IM.

Figure 17.

Simulation results of the SVM-DTC control applied to IM. (a) SVM-DTC-PI. (b) SVM-DTC- Fuzzy.

Figures 16 and 17(a) illustrate the comparison between speed responses of conventional DTC and SVM-DTC-PI, according to the speed reference step of 1000 rpm. The load disturbance has been introduced between (t = 1 s) and (t = 2 s). The results of Figure 16 show that the conventional DTC technique gives a good dynamic at starting up. We can notice that the speed regulation loop rejects the applied load disturbance quickly. The SVM-DTC-PI in Figure 17(a) kept the same fast speed response of DTC strategy. Since the same PI speed controller is used for both schemes, there is no difference in the transient response.

Then, the results illustrate the torque responses with load application. The figures show that at the beginning the speed controller (PI anti-windup) operates the system at the physical limit. It can be seen clearly that the constant switching frequency-based DTC strategy in Figure 17(a) has a reducer ripples level owing to the use of SVM compared to the conventional DTC in Figure 16, where it is observed that the high torque ripples exceed the hysteresis boundary. Next, the stator phase current with zoom is presented. The conventional DTC in Figure 16 shows a chopped sinusoid waveform of current which indicates a high harmonic level, while SVM-DTC in Figure 17(a) shows a smoother sinusoid waveform. After that, the results exhibit the magnitude of stator flux evolution and circular trajectory. It is clear that the flux ripples of the conventional DTC have exceeded the hysteresis boundary. The magnitude and the trajectory illustrate that the flux takes a few steps before reaching the reference value (1.2 Wb) at the starting stage due to the zone’s changing.

The simulation in Figure 17(b) shows that the SVM-DTC-fuzzy has better performance than those obtained by both other DTC strategies (conventional and SVM-PI). There is an appreciable decrease in the start-up response time; we can notice that the speed regulation loop rejects the applied load disturbance very quickly which proves the performance of adaptive fuzzy-PI controller as well as a significant attenuation of the ripples of the torque and of the sinusoidal current without any ripple in the steady state.

11. Conclusion

The main objective of this chapter is the improvement of the performance of an induction motor drive controlled by DTC. The objective of this improvement is to minimize the ripples of the couple and the flux of the IM on the one hand and the decrease of the switching frequency of the inverter on the other hand. In this context, a comparative analysis between different DTC strategies has been presented. This chapter began by explaining the principle of the conventional DTC, SVM-DTC-PI, and SVM-DTC-fuzzy with adaptive Fuzzy-PI speed controller. The chapter presents later a discussion based on the simulation results presented in the same work. The synthesis of this simulation study reveals advantages of SVM-DTC-fuzzy scheme compared to the two strategies: conventional DTC and SVM-DTC-PI. It has been observed by comparing the torque, speed, and stator flux characteristics that the method SVM-DTC-fuzzy is better. It is clear that the current is sinusoidal without any ripple in the steady state and torque ripples are reduced. In order to improve the SVM-DTC-fuzzy to have better performances, this method has been associated to the adaptive fuzzy-PI speed controller. This association makes the induction motor-based DTC perform more and more stable; there is an appreciable decrease in the start-up response time; we can notice that the speed regulation loop rejects the applied load disturbance very quickly.

A. IM motor parameters

ItemSymbolData
IM mechanical powerPW1.5 kw
Nominal speedω1420 rpm
Nominal frequencyf50 Hz
Pole pair numberP2
Stator resistanceRs4.85 Ω
Rotor resistanceRr3.805 Ω
Stator self-inductanceLs274 mH
Rotor self-inductanceLr274 mH
Mutual inductanceLm258 mH
Moment of inertiaJ0.031 kg m2
Friction coefficientF0.00114 kg m2/s

How to cite and reference

Link to this chapter Copy to clipboard

Cite this chapter Copy to clipboard

Cherifi Djamila and Miloud Yahia (January 24th 2020). Direct Torque Control Strategies of Induction Machine: Comparative Studies [Online First], IntechOpen, DOI: 10.5772/intechopen.90199. Available from:

chapter statistics

36total chapter downloads

More statistics for editors and authors

Login to your personal dashboard for more detailed statistics on your publications.

Access personal reporting

We are IntechOpen, the world's leading publisher of Open Access books. Built by scientists, for scientists. Our readership spans scientists, professors, researchers, librarians, and students, as well as business professionals. We share our knowledge and peer-reveiwed research papers with libraries, scientific and engineering societies, and also work with corporate R&D departments and government entities.

More About Us