Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Designing a Pan-Tilt Laser Tracking System for Sound Localization: TDOA and Triangulation, Exams of Algorithms and Programming

The final report for ecse-4962 control systems design project at rensselaer polytechnic institute, where a team of students designed a sound localization system using time difference of arrival (tdoa) and triangulation. The report covers modeling, control system design, sensor system design, system integration, design verification, costs and schedule. It includes figures and tables to illustrate the system's performance.

Typology: Exams

Pre 2010

Uploaded on 08/09/2009

koofers-user-ohe
koofers-user-ohe 🇺🇸

10 documents

1 / 61

Toggle sidebar

Related documents


Partial preview of the text

Download Designing a Pan-Tilt Laser Tracking System for Sound Localization: TDOA and Triangulation and more Exams Algorithms and Programming in PDF only on Docsity! SOUND TRACKING PAN-TILT MACHINE Final Report for ECSE-4962 Control Systems Design Kevin Murphy Matthew Daigle Matthew Gates Vadiraj Hombal April 28th, 2004 Rensselaer Polytechnic Institute ii Executive Summary The focus of this report is to discuss the work on our final proposed design to use sound localization to develop a pan-tilt laser tracking system. This also includes a discussion of all results from all stages of the project. The stages include but are not limited to modeling, control, sensors, test bed, software, and integration. We plan to use the pan-tilt mechanism to track an object making sound on a 5 foot by 5 foot test bed with a laser pointer in less than 1 second. We will summarize the project goal, objective, and specifications as well as professional and societal considerations. We then outline the importance of our design procedure, our design details, and lastly the verification of our design. The machine will have to integrate two major sub-systems. The first is the sensor array which will be a microphone network. This actual sensor system will use Time Difference of Arrival approaches to take the microphone signals and triangulate the position on the test bed in a smooth and fast fashion. The second major subsystem is the control system which uses a pair of lead controllers. Included are also a final cost analysis and schedule and comparison from previous estimates. 1 Introduction Our proposed system should be able to track a single sound source in our test bed configuration. In order to accomplish this, the system should able to, given a sound signal, compute the position of the source, transform this position into desired pan and tilt angles, calculate the new motor output, and send this to the motors. See Figure 1. Microphone Signals Get input from microphones. Page 1 Figure 1 – Block Diagram of System The system used a microphone sensor array to detect and locate a single sound source and then adjust a laser pointer mounted on the system to point directly at the sound. It then was also able to disregard background hums and other noises while focusing on the sound that really matters. The system should locate and point at this sound in less than 1 second. The system software used the “time difference of arrival” (TDOA) technique in conjunction with triangulation to determine the location of the sound on the test bed. As Aarami [1] explains, TDOA is the relative time difference of a signal between two receivers. Aatique [2] discusses methods to do this. The most popular is generalized cross-correlation. For the purposes of this application we had planned to investigate 3 specific types of motion of a single source on a strictly 2 dimensional surface. The first type of motion that was accomplished was point to point motion. The second type of motion that was planned to be investigated was linear motion. The last type of investigated motion was to be random motion. Sampler Triangulation Algorithm TDOA Measurements (every 10 ms) Control System Sample the microphone signals. Compute TDOA between microphone pairs. Compute sound source position in world coordinates. Transform Cartesian position to motor angles. Compute new motor output. Pan and Tilt Motors Move laser pointer Page 2 The initial tracking requirements of our system are summarized in Table 1. A typical tracking target is a walking person. Our tracking frequency is 3 Hz, because it would be hard for a person to walk much faster than that. We also attempted to achieve less than 10% error for this bandwidth. A more detailed derivation of these specifications can be found in Chapter 4.2 - Control Specification Value Target Velocity 2 ft/sec Angular Target Velocity 1.3 rad/sec (max) Tracking Frequency 3 Hz Maximum Tracking Error 10 % Table 1 – Tracking Specifications Our initial control specifications were derived from our chosen workspace configuration and experimentation with the limits of our system. They are shown in Table 2. This being a security device, we decided that we would sacrifice some overshoot to improve rise time when possible because it would be more important to get to the area of the sound as quickly as possible. Rise and settling times were also chosen from system responses to step inputs and what the team with our system from last year was able to accomplish. A more detailed derivation of these specifications can be found in Chapter 4.2 - Control. Note that these values have changed from our proposal because we were able to test the system and discover its limits in these areas. Pan Specifications Time Domain Joint Angle (for unit step) Workspace Maximum Overshoot 5% 0.05 rad 0.25 ft (max) Rise Time < 0.3 s - - Settling Time < 0.4 s - - Steady State Error 0 0 rad 0 ft Tilt Specifications Time Domain Joint Angle (for unit step) Workspace Maximum Overshoot 5% 0.05 rad 0.25 ft (max) Rise Time < 0.4 s - - Settling Time < 0.5 s - - Steady State Error 0 0 rad 0 ft Table 2 – Control Specifications We also decided to limit the frequency range of the sound source we would detect. Human hearing ranges from 20-20,000 Hz but for the purposes of this project, we felt that limiting our range of sound from 20-5,000 Hz would better suit our needs. One major reason for this was sampling time. We needed to sample at the Nyquist rate, which is twice the highest frequency, but sampling at 40,000 Hz was simply not plausible. A sampling rate of 10,000 Hz was a much more realistic goal. Another reason for limiting the frequency range was that a sound above 5,000 Hz would not be a normal sound for an intruder to make. Yet another reason to limit the frequency of the sound was that higher frequency sounds lose coherency, which in turn harms chances of getting accurate TDOA readings. The project was also broken down into two major sub-systems that would be designed and implemented separately and then smoothly integrated in the end. The first major subsystem was the sensor system. This consisted of two separate microphone arrays. Each array consists of three microphones. The second subsystem was the control system which included designing and implementing a controller for each Page 3 axis of rotation. Also a test bed was developed, which included designing and fabricating a 5 foot by 5 foot grid on the floor and a mounting structure to hold the pan-tilt machine 5 feet above the floor. The co-ordinates (Xi, Yi), (Xj, Yj) are the co-ordinates of sensors i and j respectively and (Xt, Yt) are the co- ordinates of the sound source. Previous researchers have proposed numerous methods for solution of these equations. We, however, utilized the MATLAB fsolve routine for the purpose. Apart from being the computationally most accurate solution of the system of equations, it also yields acceptable time performance. This helped us quickly settle to a method of solution and allowed us time to conduct analysis which allowed us insights into the sensor placement configuration and array and sensor pair selection for effective localization. It also allowed us to analyze the effect of perturbations of sensor positions (calibration problem) on the final achievable accuracy. Using other methods would have consumed a lot of time for the development and analysis of the method itself. 3.4 System Integration Strict modularization and clear definition of the interfaces between these sub-systems of the entire project helped us in smooth integration of the system. The overall system samples at 0.0001 seconds. The system is first started and the microphones acquire the signal of the sound source. It is then analyzed at the host computer which returns new sound source coordinates to the target computer and hence the control system. The control system then makes the appropriate changes in the pan and tilt directions to point the laser at the sound source. Page 6 4 Design Detail 4.1 Modeling Modeling of the system began with the analysis of Eqn. (4). (4) Motor inertias and gear ratios were determined from the motor and gear specifications. The load inertias were calculated using SolidWorks. Table 3 summarizes these parameters for each joint. Tilt Axis Parameter Symbol Identified Value Load Inertia JL 4.777x10-5 kg m2 Motor Inertia Jm 1.6x10-6 kg m2 Gear Ratio N 32.319 Pan Axis Parameter Symbol Identified Value Load Inertia JL 1.4x10-3 kg m2 Motor Inertia Jm 1.6x10-6 kg m2 Gear Ratio N 32.319 Table 3 – Identified Model Parameters The pan axis is mounted to avoid gravity, and for the tilt axis, the load’s mass is less than 0.2 kg, therefore gravity was not identified for either joint. The gears and motors used are the same for both axes, so for both the gear ratio is described in Eqn. (5). (2.6/0.506)*(6.3) = (5.13)*(6.3) = 32.319 (5) The first value is the ratio of gear diameters, and the second is the motor’s internal gear ratio. Our next step was identifying friction for each joint. This was done by first commanding a 10 volt spike for 1 second to break static friction, then commanding constant voltage for 7 seconds. Velocities were calculated using finite differences, and steady state velocities were measured by averaging the last second of each velocity plot, for each voltage. This was done for positive and negative voltage ranges for each axis. Voltages were converted to torques using Eqn. (6) T = (N*Kt*Kn) V (6) where, Kt is the motor torque constant, and Kn is the current to voltage ratio for the amplifiers. This comes to 32.319*4.36x10-2*0.1 = 0.141 Nm/V. Figure 2 shows applied torque versus steady state velocity for the tilt axis. The plot for the pan axis is similar with different values for Bv and Bc. All of these values are shown in Table 4. Page 7 Figure 2 – Tilt Axis Friction Plot Figure 2 also clearly shows that our selected motors can achieve angular velocities above our angular velocity requirements, which were far less than 30 rad/s. Static friction values were also identified for each joint by commanding a constant voltage to each axis. Higher voltages were looped through until the joint moved. This was done multiple times to get an accurate average for static friction. Table 4 summarizes our friction identification results. After our first trial, we were concerned that viscous friction values were not very similar for positive and negative voltage ranges. The results shown in Figures 2 and Table 4 represent results using averaged steady state velocities for each voltage over three trials, and confirm the difference in viscous friction values. Page 8 Step Response Time (sec) Am pl itu de 0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Figure 3 – Tilt Axis Step Response with Unity Gain Feedback (Linear Simulation) -50 -40 -30 -20 -10 0 10 M ag ni tu de (d B) 10 1 10 2 -180 -178 -176 -174 -172 -170 Ph as e (d eg ) Bode Diagram - Linear Tilt Axis Model Frequency (Hz) Figure 4 - Tilt Axis Frequency Response with Unity Gain Feedback (Linear Simulation) Page 11 Figures 5 and 6 show the same scenario for the pan axis. The time domain requirements are not met, although the frequency requirements are. A similar analysis for this axis yields the same results, namely, that simple gain adjustment will not achieve our desired specifications. Step Response Time (sec) Am pl itu de 0 5 10 15 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 Figure 5 - Pan Axis Step Response with Unity Gain Feedback (Linear Simulation) -40 -30 -20 -10 0 10 20 30 40 M ag ni tu de (d B) 10 0 10 1 -180 -175 -170 -165 Ph as e (d eg ) Bode Diagram - Pan Axis Frequency (Hz) Figure 6 - Pan Axis Frequency Response with Unity Gain Feedback (Linear Simulation) Page 12 Clearly then, apart from damping, what is needed is an open-loop zero so that the root locus may be pulled to the left. If properly selected, this could also have the desirable effect of introducing some lead into the system and thus compensate for the lags introduced by other subsystems in the loop. Thus both axes require compensation. The mechanics of control design was based on transfer functions shown in Eqn. (8) for the tilt axis and in Eqn. (9) for the pan axis and the use of MATLAB’s rltool for pole-zero placement and gain adjustment. We found that an overly aggressive controller in the linear simulation produced a desirable response in the nonlinear simulation (which more accurately represents our system). Therefore, the step responses of the linear simulations were designed to have very small rise and settling times. We also observed that unless there was a large overshoot in the linear response, the nonlinear response was sluggish. The basic design idea to achieve these characteristics was that we needed a zero as close to the origin as possible to obtain small rise and settling times. Further, a pole far in the left plane was needed to account for the increase in overshoot caused by the zero without affecting the rise and settling times. Thus a lead compensator was in order. Further, placement of the compensator zero and pole would also be constrained by our frequency domain specifications. The controllers were designed in continuous time. Once a controller was found to yield a desirable step response, a sine input was used to observe if the controller also met our tracking specifications. If so, the continuous controllers were transformed to discrete controllers with a sample time of 0.0001 seconds using the zero-order hold method. Initially, sampling of the controllers was done at 0.001 seconds, but this caused instability due to the continuous to discrete conversion of the controllers. The design process eventually produced the controllers in Eqns. (10) and (11). Tilt: 9795.0 )99929.0(100904.1 2 − −⋅⋅ z z (10) Pan: 990232.0 )99774.0(101126.1 2 − −⋅⋅ z z (11) Table 5 shows the achieved specifications with these controllers. Pan Desired Specification Achieved Specification Maximum Overshoot 5% 1% Rise Time < 0.3 s 0.15 s Settling Time < 0.4 s 0.2 s Steady State Error 0 0 (approx) Tracking < 10% at 3 Hz < 10% at 2 Hz < 15% at 3 Hz Tilt Desired Specification Achieved Specification Maximum Overshoot 5% 0% Rise Time < 0.4 s 0.5 s Settling Time < 0.5 s 0.6 s Steady State Error 0 0 (approx) Tracking < 10% at 3 Hz < 10% at 3 Hz Table 5 – Desired and Achieved Controller Specifications Page 13 0 0.5 1 1.5 2 2.5 3 3.5 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 P os tio n (ra d) Closed Loop Response - Tilt with Step Input and Trajectory Generation Time (sec) actual desired Figure 10 – Tilt Axis Actual Response to Trajectory-Generated Step 0 0.5 1 1.5 2 2.5 3 3.5 x 104 0 0.2 0.4 0.6 0.8 1 1.2 1.4 P os iti on (r ad ) Time (sec) Closed Loop Response - Pan with Step Input and Trajectory Generation nonlinear input linear Figure 11 – Pan Axis Simulated Response to Trajectory-Generated Step Page 16 0 0.5 1 1.5 2 2.5 3 3.5 0 0.5 1 1.5 2 2.5 3 3.5 P os iti on (r ad ) Closed Loop Response - Pan Axis with Step Input with Trajectory Generation Time (sec) actual desired Figure 12 – Pan Axis Actual Response to Trajectory-Generated Step Tuning of the control system was done mostly in simulation until a suitable controller was found. When tried on the actual system, very little tuning actually had to be done. The pan controller was aggressive enough and its frequency response was such that friction cancellation was not needed. The tilt controller should have been a bit more aggressive, and friction cancellation was necessary to avoid steady state error. For the tilt axis, vibrations at low velocities were observed. This was found to be due to the friction cancellation. Putting the friction cancellation at 50 % was found to minimize this effect to the point where it was not noticeable most of the time. The incoming velocity for the friction cancellation was calculated using finite differences and then filtered with a 5th order, low-pass Butterworth filter with a cutoff at 100 Hz and a sample time of 0.0001 seconds as in the rest of our system. The filter has the transfer function shown in Eqn. (12). 54321 543216 815.0245.4840.8207.9796.41 )276.0138.0276.0276.0138.00276.0(100.1)( −−−−− −−−−−− −+−+− +++++⋅⋅ = zzzzz zzzzzzF (12) Figure 13 shows the bode diagram of this filter. The filter also helped to attenuate the vibrations. In addition, the controller gain was lowered to make the controller less aggressive, but less unsteady at low velocities. This was determined to be more desirable for point-to-point tracking. Page 17 -800 -600 -400 -200 0 200 M ag ni tu de (d B) 10 0 10 1 10 2 10 3 10 4 -540 -450 -360 -270 -180 -90 0 Ph as e (d eg ) Bode Diagram - Velocity Filter Frequency (Hz) Figure 13 – Velocity Filter Bode Diagram 4.3 Microphones The microphones that were used were the Panasonic WM-61A omni directional back electret condenser microphone cartridge. These microphones feature high resistance to vibrations, a high signal-to- noise ratio, and a high sensitivity type. This sensitivity range is -35 plus/minus 4 decibels. The desired frequency was in the range that the microphones provided. The maximum operating voltage is 10 volts; however, only 5 volts was applied. For more specifications see Appendix C. The circuit used was very simple as shown in Figure 14. Testing of the microphones allowed us to conclude that an amplifier was not needed. This experimentation showed that we could get usable signals at a distance of approximately 7 feet away. This worked well because that is longer than needed for our test bed configuration. One side of the microphone was connected to ground and the other side to power through a resistor. We also added a capacitor in this circuit to get rid of a DC offset difference between microphones. Page 18 1000 2000 3000 4000 5000 6000 7000 8000 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4 4.1 Number of Samples A m pl itu de Sample Microphone Signals Figure 17 – Example of three captured microphone signals 4.4 Time Difference of Arrival The system software used the “time difference of arrival” (TDOA) technique in conjunction with triangulation to determine the location of the sound on the test bed. As Aarami [1] explains, TDOA is the relative time difference of a signal between two receivers. Aatique [2] discusses methods to do this. The most popular is generalized cross-correlation. This is a more rigorous approach than peak detection because of noise and other effects on the signal. See Appendix D for source code. This method did not work correctly for the signals we were receiving and the signal window size that was used therefore peak detection was used instead. We observed that when a sound is made, the first peak is usually the maximum of the sound. So, in turn we could use the max function in MATLAB to return a position and how tall the maximum is. Figure 18 shows a zoomed in version of Figure 17 above. Page 21 Microphones Signal Maximums Figure 18 – Signal Estimation of Max-based TDOA We then subtracted the times and multiplied by our sampling frequency. If the TDOA was negative then signal 2 leads signal 1, and if it was positive signal 1 leads signal 2. After computing this we sent it to our triangulation script. To determine which sensor array to use we added the signals together on their respective sides. We then used the side with the smaller signal strength. If we used the signals from the side where the source originated then there could be degenerative solutions. See Appendix D for source code that was used. This was a simplified method but then again not as precise as cross correlation would be. Cross correlation would be absolutely needed when the sound source is not a clearly distinguishable sound or when amplitude variations arise due to noise. 4.5 Triangulation If we let Tij be the TDOA of sound signals emitted from the source, located at (Xt,Yt), and received at sensors i and j located at (Xi,Yi) and (Xj,Yj) respectively. Sa is the speed of sound in air (1134 ft/s at 74 degree Fahrenheit). The distance difference of the sound source to sensors is then given by Eqn. (14). 2222 )()()()( YtYjXtXjYtYiXtXiTijSadij −+−−−+−=×= (14) Thus, given the TDOA between sensor pairs, source localization is the problem of finding solutions of the hyperbolic equations of the above type. Clearly, we need a minimum of two such equations r presen the dist e ting ances differences of the source from 3 sensors, to determine the position of the source. In general, two hyperbolas intersect at 0, 1 or 2 points. In terms of sound source triangulation these correspond to degenerate, desired and un-observable source conditions. Exploration of situations leading to these conditions provides us with insights in to the design of sensor configuration and selection. Page 22 Page 23 cting only that solution that lies in the workspace. Further, when they exist, the two solutions will reside on either side of the boundaries, thus averting If we choose to place our sensors along boundaries of our workspace, we can easily disambiguate the situation when there are two solutions to the equations by sele a possible scenario of an unobservable target which is a target that moves from the location of one solution to the location of the other solution in exactly one sampling interval. Figure 19 illustrates the positioning of the sensors and the idea that for source positions at either roots (source and alias points), the equations are the same. Figure 19 - Source Triangulation in Workspace In practice, the positions of the sensors are only known with finite precision. Apart from introducing large errors in the estim near the sensors, this also introduces degeneracy in the solution (Figure 21) because, at such close distances, the difference in distances between the sensors ate of the target (Figure 20), for target positions is comparable to the error in estimation in sensor position. Thus the hyperbolic equations yield no real solutions to these cases. Using an additional sensor array parallel to the existing array and selecting the array farthest to the source for triangulation solves the issue of degeneracy. The idea is to mitigate the effect of the comparable magnitude of the sensor position error by choosing an alternative array such that the distance difference that is relatively larger. For a detailed study of the effect of finite precision and perturbations in sensor position measurement, refer to our preliminary and progress reports Murphy et al [4] and [5]. For completeness, here we would like to mention that for the practically realizable case of even perturbations of a small order, the effect of perturbations on source location errors is small. 22 yxr += (15) )/(cos 1 ryp −=θ (16) )5/(tan 1 rt −=θ (17) One issue that the system also dealt with was the case when r was zero, which causes the cos-1 function to give an infinite angle instead of just zero. A simple if statement in the Simulink diagram checked for this problem and accounted for it by setting y to 0.0001. Figure 22 also shows the workspace and the convention used for θp and θt. The upper red dot represents the location of our pointing device, and the lower red dot represents an arbitrary target position. In a production application of our system, the loop would consist of continuously running the system, and every 100 samples, computing the TDOAs, inputting them into a lookup table or triangulating with an fsolve s-function interface to get target position, and then setting the new position. The lookup table would be pre-calculated for the chosen workspace configuration. Page 26 5 Design Verification 5.1 Model Validation After friction identification, we built a Simulink model (Appendix E) in order to simulate our system with our identified model and compare this to the actual system response in the open loop. We chose a 3 second square pulse for this purpose. As the step response represents all frequencies, it captures a lot of the system dynamics. For the tilt axis, actual and simulated results for a +1.8 volt pulse are shown in Figure 23. The effect of quantization noise in position can be seen in the velocity plot. The results match closely. For the pan axis, Figure 24 shows the results for a +3 volt pulse. The results again match fairly well. 0 1 2 3 4 5 6 7 8 9 10 -10 0 10 20 30 40 Time (sec) A ng ul ar P os iti on (r ad ) Tilt Axis - Actual vs. Simulated for 3 second +1.8 Volt Pulse Actual Simulated 0 1 2 3 4 5 6 7 8 9 10 -5 0 5 10 15 20 Time (sec) A ng ul ar V el oc ity (r ad /s ) Actual Simulated Figure 23 – Tilt Axis for +1.8 Volt 3 Second Square Pulse Page 27 0 1 2 3 4 5 6 7 8 9 10 -10 0 10 20 30 40 50 Time (sec) A ng ul ar P os iti on (r ad ) Pan Axis - Actual vs. Simulated for 3 second +3 Volt Pulse Actual Simulated 0 1 2 3 4 5 6 7 8 9 10 -5 0 5 10 15 20 25 Time (sec) A ng ul ar V el oc ity (r ad /s ) Actual Simulated Figure 24 - Pan Axis for +3 Volt 3 Second Pulse The open loop response results suggest that our model is accurate enough for model-based control design. The model is not perfectly validated, for there are discrepancies between the actual and simulated results, but that is to be expected with an approximate model with experimentally identified parameters. Not all the dynamics of the system can be modeled anyway and it is, after all, the job of the controller to compensate for uncertainty in it. 5.2 Control Much of the Control Verification followed the discussion in Chapter 4.2 Control. The pan and tilt controllers were able to accurately track various trajectories and achieve fast point-to-point motion, as evidenced by system demonstrations and figures in that Chapter. This section serves supplement to the control verification already discussed. One issue that we consistently faced was the effect Coulomb and static friction on steady state error, especially at low velocities. Figure 25 is the result of a study on the effect of these frictions to a step input. We employed compensation of both Coulomb and static friction based on Eqn. (7). Compensation works best when the models for friction are exact. However, in general, compensation aids in reducing steady state error and the performance of even an under-compensated system is vastly better than that of a system without compensation. However, compensation is dependent on noisy velocity estimation. At low velocities (such as at peaks and troughs of a sine wave), the dominant control effort is provided by the friction compensator, which essentially acts like a bang-bang controller. This manifests as jarring vibrations at low velocities. Further, at low velocities, the limited encoder resolution comes into play and compounds this effect. This effect is also sensitive to parameter variation. In particular, the lag in the tilt controller that was noticeable can Page 28 Another the source of uncertainty in sensor position is the estimation of TDOA. Continuous to discrete conversion of a time step limits the least TDOA to one sample period (0.0001s). In order to get a feel for contribution of TDOA to the error in localization, another theoretical experiment was conducted wherein a perturbation equal to our average TDOA error was added to the simulated TDOA. Perfect calibration of sensor position was assumed for this experiment. Figure 27 illustrates the outcome. The error in distance due to TDOA perturbation is 0.2749 feet, which is again of an order comparable to our average distance error. Figure 27 - Effect of TDOA Perturbation on Triangulation To verify the estimates of TDOA provided by the Max method we compared its results with the simulated TDOA assuming a fixed source location on the workspace. The small but significant deviations in results that we observed could be attributed to two factors. Firstly, while the simulation assumes a perfectly coherent, point source for the sound, actual sounds that we could create (claps) are not perfectly coherent, as there always is some reverberation. This was validated by the empirical observation that error in localization of sources that created sound with a lot of reverberations (e.g., banging of metal rods) was more than non-reverberant sources. Secondly, there is an error of dimensionality. The fact that sound source was always at a height from the plane of the workspace added a small but significant component to the error in TDOA estimates. The method of TDOA estimation based on difference between maximums works sufficiently if the analysis window size is properly controlled. For our demonstration based on a controlled experiment of tracking a sharp clap, even a rather large window size of 1 second worked. However, in production for real time tracking of the sound source, the window size must be small in order to eliminate the ambiguity caused by two large peaks in the same window. However, as theoretically proven, cross- Page 31 Page 32 correlation as a method is much more superior (offering noise rejection) and further research into exploring this option must be conducted before production. Detailed analysis of the triangulation method provided us with important results that we used to implement the solution. Specifically, the sensor configuration and array selection algorithm were based on theoretical study. As a consequence, we observed neither degeneracy nor blind zones in the triangulation of the sound source in the workspace. Apart from signal processing and control issues described above, the system faces some mechanical issues too. The error in alignment of the pan-tilt unit about the origin was caused due a slight slant in the alignment of the support structure of our test bed, the errors in physically mounting the pan- tilt unit at the origin and the alignment of the laser pointer with respect to the tilt-axis. However, this is a static type of error and was corrected by manually adjusting the setup. In production, this could be remedied with precise construction of the support structure and laser pointer and also with calibrated mounting. A more important mechanical source of disturbance is the vibration of the support structure when the pan-tilt unit is running. The errors due to vibrations accumulate and cause the position of the pan-tilt unit to shift. This effect manifests in several ways including creation of a visually jarring effect of the laser trace on the workspace to a shift of origin of the pan-tilt unit due to slippage. It also adds to the effects of coupling between the two motors. In severe cases it could also lead to deviations in encoder readings. However, as our pan-tilt unit was smooth and the support structure relatively rigid, the effect of vibrations though palpable was not considerable. Again, in production, creating a more rigid support structure can reduce the effect of this uncertainty. We tested our system in the fairly noisy environs of an end-of-the-semester-lab that was shared by students of two classes. This environment can be considered as a worst-case scenario as, a rather silent environment, disturbed only by the sounds of an intruder, would surround any production system used in security environments. On an average we observed the localization of the sound source was within 0.25 feet (3 inches) of position of the clap. Even though this is greater than our initial aggressive specification, given our testing environment and various sources of uncertainty discussed above, this result validates the concept of sound based tracking. The media clips on the Final Report CD show the acquisition of a sound source and thus visually establish the proof of concept for sound-based tracking. Page 33 6 Costs and Schedule Analysis 6.1 Costs We have compared our actual costs from the estimated one from our project proposal. Our estimated new cost was $83.50. We were subsequently informed that we would be allowed a $100 budget for the project. We have now computed all relevant costs during the semester. Below is a list of the new parts and cost to date as well as a list of overall project cost. New Parts: Price MDF Board (x2) $37.92 2”x 3” Wood (x3) $ 3.99 2”x 4” Wood (x3) $ 7.32 Wood Screws $ 3.65 6’ Computer Cable Extender $13.99 Electronic Circuit Supplies $22.60 Microphone Cartridges (x10) $16.21 Subtotal (Final) $105.68 Estimated cost from Proposal $ 83.50 Budgeted Constraint $100.00 Amount Over Budget $ 5.68 6.2 Schedule We have compared our actual schedule to that of our project proposal. Below is the schedule from that proposal. We believe it was a good outline for our work throughout the semester. We were on schedule most of the time. We do believe, looking back, that it would have been better for us if we had allotted more time for signal analysis as well as system integration. Having additional time for each of those tasks would have allowed us to better complete and enhance our project. Week Task(s) Persons 6 (2/15 – 2/21) Final Design and Modeling Hombal 7 (2/22 – 2/28) Order Parts Gates Verification of Model Daigle / Hombal 8 (2/29 – 3/6) Pan/Tilt System Construction Gates MATLAB algorithms for TDOA Hombal / Daigle 9(3/7 – 3/13) SPRINK BREAK 10 (3/14 – 3/20) Work on Progress Report/Presentation Team 11 (3/21 – 3/27) Control System (PID) Construction Murphy / Gates 12 (3/28 – 4/3) Sensor Network Construction Murphy / Gates 13 (4/4 – 4/10) System Integration Team (Control System and Sensors) 14 (4/11 – 4/17) Final Tuning and Optimization Team Final System Demonstration Team 15 (4/18 – 4/24) Final System Presentation Team 16 (4/25 – 4/28) Work on Final Report Team Page 36 8 Bibliography [1] P. Aarabi, "The Fusion of Distributed Microphone Arrays for Sound Localization," EURASIP Journal of Applied Signal Processing, Vol. 2003, No. 4, pp. 338-347, March 2003. [2] Muhammad Aatique, Evaluation Of TDOA Techniques For Position Location In CDMA Systems, Master of Science Thesis, Virginia Polytechnic Institute and State University, September 1997. [3] Robert J. Schilling, Fundamentals of Robotics: Analysis and Control, New Jersey: Prentice- Hall, 1990, pp. 202-203. [4] Kevin Murphy et al., SOUND TRACKING PAN-TILT MACHINE, Project Proposal for ECSE 4962 Control Systems Design, Rensselaer Polytechnic Institute, February 2004. [5] Kevin Murphy et al., SOUND TRACKING PAN-TILT MACHINE, Progress Report for ECSE 4962 Control Systems Design, Rensselaer Polytechnic Institute, February 2004. [6] K.J Astrom et al., “Friction Models and Friction Compensation”. http://www.cat.rpi.edu/~wen/ECSE4962S04/astrom_friction.pdf [7] G.Liu, “On Velocity Estimation Using Position Measurements”, Proceedings of the American Control Conference, Anchorage, AK May 8-10, 2002 [8] Y. Zhang et al., “Friction Compensation with Estimated Velocity”, proceedings of the 2002 IEEE International Conference on robotics & automation Washington DC May 2002 Page 37 Appendix A - Team Member Contribution Task/Chapter Primary Contributor Executive Summary Kevin Murphy Introduction Kevin Murphy Professional and Societal Consideration Kevin Murphy Design Procedure Modeling Matthew Daigle Control System Matthew Daigle Sensor System Matthew Daigle System Integration Matthew Gates Design Details Modeling Matthew Daigle Control Matthew Daigle Microphones Matthew Gates Time Difference of Arrival Matthew Gates Triangulation Vadiraj Hombal System Integration Vadiraj Hombal Design Verification Model Verification Matthew Daigle Control Validation Vadiraj Hombal TDOA and Triangulation Vadiraj Hombal Costs and Schedule Kevin Murphy Conclusion Kevin Murphy Report Integration Kevin Murphy All members of the team contributed to editing and revisions to each section. Matthew Gates was responsible for inertia identification, microphone testing and setup, and test bed construction. Matthew Daigle, Kevin Murphy, Vadiraj Hombal were responsible for modeling and control. Vadiraj Hombal was also responsible for triangulation algorithm and uncertainty analysis. While these members took the lead on certain design aspects, all team members gave input on all parts. ____________________________ Kevin Murphy ____________________________ Matthew Gates ____________________________ Vadiraj Hombal ____________________________ Matthew Daigle Appendix B – Other Experimental Results 0 0.5 1 1.5 2 2.5 3 3.5 x 104 -0.4 -0.3 -0.2 -0.1 0 0.1 0.2 0.3 P os iti on (r ad ) Time (sec) Closed Loop Response - Tilt with 3 Hz Sine nonlinear input linear 0 0.5 1 1.5 2 2.5 3 3.5 x 104 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Closed Loop Response - Tilt with Step Input P os iti on (r ad ) Time (sec) nonlinear input linear Page 38 0 0.5 1 1.5 2 2.5 3 3.5 x 104 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 Time (sec) P os iti on (r ad ) Closed Loop Response - Pan with 2 Hz Sine nonlinear input linear 0 0.5 1 1.5 2 2.5 3 3.5 x 104 0 1 2 3 4 5 6 Time (sec) P os iti on (r ad ) Closed Loop Response - Pan with Step Input nonlinear input linear Page 41 Appendix C — Microphone Specifications Panasonic. Electret Condenser Microphone Cartridge 1 Some oa Nah wchage internal elacbet axcteolen smu bys opemia prope. Gw cavees le mooven. nisrone, conte! tated eras tae RyacvebRatcwichetter meh, | fulent. eeobac seophenss we sooeing ay fon Oe haste Be ovay wonkieet Shut vein sic enemmneaniat Woke, corde! woe anit aabeses x (| ‘opens hgh tee area! Aygiaens Toons an iq sna a be ro Fo? res roe ro ree Qs en ® a ® & & oa @ oo wos rue 1 rot Tew vo roe ro re a Faz Fae Tez ree Fa. 25 al Us | DS | Os | Gs | Oa = a) | = — zs 2. Damn Us| Bed) SOS seJasye avswAlosraalsavealsesEs ¢ Bas: Ey SSeS RES ERA REEE TERA ETEAE Rabe Exel: Microphone Holders e BS 1 TE a oS ( dew BB SS = = 2 Pp M BF = 353 3 3 More Product Available Online: www.digikey.com Toll-Free: 1-800-34d-4539 + Phone: 218-681-6674 » Fax: 218-681-3380 «rosy 1053 @ Page 42 Panasonic Microphone Cartridges Omnidirectional Back Electret Condenser Microphone Cartridge seies WM-61A : : WM-61 B tinnoe) j & Features SY @ Small microphones for general use Back electret type designed for high resistance to vibrations, high signaHto-noise ratio @ High sensitivity type @ Microphone with pins for flexible PCB (WIM-618 type) & Sensitivity poo. -35 + 448 & Specifications Sensitivity — 36408 (Odb = 1Vépa, 1KH2) impedance Less than 2.2 ko Directivity Omnidirectional Frequency 20-20,000 He Max operation voltage tov Standard operation vortage av Current consumption Max. 0.5 mA Senstivtty reduction Within ~3 08 at 1.5¥ SIN ratio More than 62.08 & Typical Frequency Response Curve 20 6 100 OHHH BOD TKK 0K Frequency (H2) @ Dimensions in mm (not to scale) WM-61A WM-61B aa 34.15 Term 4 Tern 4 fy ‘output output 2 2 ( ) [ } Ge ; — \ Term 2 Terrn2 ground ground Dsspnand spaciicators a subpct © change wihoutnofice. Ask factory ft technical speriealbone before purchase ardor We Whenever a doubt about safety arises from this precket, please coriact us immediatly fr technical consultation. @ Page Page 46 Example Code For TDOA Perturbation Analysis. written by Vadiraj for ECSE-4962 Control Systems Design Team 3 clc clear all close all Xs = [-2.5,-2.5,-2.5,2.5,2.5,2.5]'; %Sensor X co-ordinates Ys = [0,2.5,5,0,2.5,5]'; %Sensor Y co-ordinates Xt = [2.5]; %Target X co-ordinates Yt = [1.5]; %Target Y co-ordinates X0=[2.5,2.5]; %Initial Guess %visualizeWorkSpace1(Xs,Ys,Xt,Yt); %Simulation of distance differences and TDOA Dij_st=simulateTDOA(Xs,Ys,Xt,Yt); %Sensor Selection SensorSelect=[1,2;2,3]; pert=0:0.0001:0.0001*1; for j= 1:length(pert) Dij_st_pert=Dij_st+pert(j)*1134; xt = triangulate(SensorSelect,Xs,Ys,Dij_st_pert,X0); err(j)=sqrt((Xt-xt(1))^2+(Yt-xt(2))^2); end err; plot(pert,err,'*-'); Tdoa function using xcorr: written by Matthew Daigle for ECSE-4962 Control Systems Design Team 3 function [tau] = tdoa(x,y) % x and y are signals of the same length % tau is time difference of arrival from signal x to y midpoint = length(x); c = xcorr(x,y); [a,b]=max(c); tau = midpoint-b; % tau is time difference between x and y, % so if x leads y, tau>0, else tau<0 Appendix E - Simulink Diagrams tilt nonlinear tilt linear tilt_models.mdl pan nonlinear Pani dynamios pan_models.mdl @ Page 47 Fricucn_Tomme_sbe TUT Foul PAW pul @ Page hputGere rar veloay petoct by Debun TILT Fricton Gance lon Nisetectn) - ence teu | ee} $$ to cone tipostteny TILT cantor pan porlteny oe ee teen | ete, }- $$ trfpan enue on terol FAW contol " . Seem picton Tome _Ale veteety petoe! b_Deben FAN Frito Canoe ton 1 7 6 el Dkcet Fier ube Dior Fifer 3 <a POIM-DasiEant6 Compre rBoad Avakg pet dg OboRE FIER de Dice Files de Dice Fert PCIN-DASIGOD 16 a Dkore Fite Complete System All Trajectories 48 error 41126247 66278694e+002" 620 997749387 14824) (z0.99023288509240) oa pan controller pan controller CG) torque Velocity Friction_Torque_Ate numiz) we tu) den(z) Discrete Filter pan friction nonlinear pan friction cancellation Velocity_Debug fio tilt torque torque to voltage (25 b> pan torque torque to voltage @ Page PCIM-DASTB0Z18 ComputerBaards Analog Output PCIM-DAS1B02 16 System actual position tilt pesition velocity tilt output tilt velocity actual position pan position velocity pan output pan velocity 51 PCLQUAbO4 Comp. Boards Inc, Eneoder Angle Tums Init PCI-QUADO4 pan actual position Theta ThetaDot welocity Tum Gain pan Pan Velocity Estimator @ Page pan output Theta PC-QUADO4 Comp. Boards Inc. Encoder Angle Tums Init PCLQUADOS tilt a fe 004 ThetaDot Finite Difference Sain Unit Delay pan velocity estimator actual position Theta ThetaDot }——f(_ 2) welocity Tum Gain tilt Ttil Velocity Estimator tilt output 52 tilt velocity estimator tilt controller tilt friction cancellation Page 53 Appendix G — Motor, Gear, and Pulley Specifications GMs7245010 LoeSeg® Cao Ge onnictor res ra L 4 a (rnetuel ad fice | iced apse 1 i Features Trereean Tope Due 7 7 Mok Sie Saal Tl Sod bree _— | | Peery A caecee reread, Soe fca lore mbtectiocunge etteviroior Geapim cep ata ie reipasace orty rT) FIPTUSHL SIS Gontsheal Dobe, Horbrpaitie, PA UMTS, Pho: BS PTA, Fore ZEGGSX+ ER Carat: aieiSeorvediee, Web el, wee reed @ Page 56 UNCONTROLLED ong fe coeds penegd ait TIM =a oe dd 57
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved