Universidade de Aveiro Departamento de Engenharia Mecânica 2014

Ricardo Luís da Mota Silva Unidade Amovível de Hodometria para Veículos com Direção Ackermann Ricardo Luís da Mota Silva Unidade Amovível de Hodometria para Veículos com Direção Ackermann

Dissertação apresentada à Universidade de Aveiro para cumprimento dos requisitos necessários à obtençãoo do grau de Mestrado em Engenharia Mecânica, realizada sob orientação científica de Vítor Manuel Ferreira dos Santos, Professor Associado do Departamento de Engenharia Mecânica da Universidade de Aveiro e de Ricardo José da Silva Pascoal, do Departamento de Engenharia Mecânica da Universidade de Aveiro.

O júri/ The jury

Presidente / President Prof. Doutor António Silva

Professor Catedático da Universidade de Aveiro

Vogais / Committee Prof. Doutor Vítor Manuel Ferreira dos Santos

Professor Associado da Universidade de Aveiro (orientador)

Prof. Doutor Ricardo José da Silva Pascoal

da Departamento de Engenharia Mecânica (co-orientador)

Prof. Doutor Francisco Alves Miranda

Professor Associado da Universidade do Algarve

Prof. Doutor Nuno Freitas Crato

Professor Auxiliar da Instituto Superior de Gestão

Agradecimentos / Acknowledgements Agradecimentos.

Palavras-chave  Palavra-chave 1; palavra-chave 2; etc.

Resumo  Resumo.

Keywords  Keyword 1; keyword 2, etc.

Abstract  Abstract.

Contents

1 Introduction  1
2 State of the Art  3
3 Study of the Solution  5
4 Experimental Procedure  7
5 Results and Discussion  9
5.1 Parallel Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.2 Diagonal Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
5.3 Circular Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5.4 Oscillatory Movement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.5 Sub-sampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.6 Results Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6 Conclusions and Future Work  21

ii

List of Tables

5.1 Parallel movement - Results for distance of 200 mm. . . . . . . . . . . . . 13
5.2 Parallel movement - Results for distance of 300 mm. . . . . . . . . . . . . 13
5.3 Diagonal movement - Results for distance of 200 mm. . . . . . . . . . . . 14
5.4 Diagonal movement - Results for distance of 300 mm. . . . . . . . . . . . 14
5.5 Circular movement - Results for distance of 200 mm. . . . . . . . . . . . . 15
5.6 Circular movement - Results for distance of 300 mm. . . . . . . . . . . . . 15
5.7 Oscillatory movement - Results for distance of 200 mm at 500 mm/s… 16
5.8 Error results for sub-sampling simulations. . . . . . . . . . . . . . . . . . . 17

iv

List of Figures

5.1 Parallel movement - Velocity plot - 100 mm/s at distance of 200 mm… 10
5.2 Parallel movement - Velocity plot - 500 mm/s at distance of 200 mm… 10
5.3 Parallel movement - Velocity plot - 1000 mm/s at distance of 200 mm… 11
5.4 Parallel movement - Velocity plot - 100 mm/s at distance of 300 mm… 11
5.5 Parallel movement - Velocity plot - 500 mm/s at distance of 300 mm… 12
5.6 Parallel movement - Velocity plot - 1000 mm/s at distance of 300 mm… 12
5.7 Oscillatory movement - Velocity plot - 500 mm/s at distance of 200 mm - Concrete. 16
5.8 Oscillatory movement - Velocity plot - 100 mm/s at distance of 200 mm - Cork. 16
5.9 Oscillatory movement - Velocity plot - 100 mm/s at distance of 200 mm - Stone. 17
5.10 Velocity plot at 5 m/s using sub-sampling from sample of 100 mm/s. … 18
5.11 Velocity plot at 10 m/s using sub-sampling from sample of 100 mm/s… 18
5.12 Velocity plot at 20 m/s using sub-sampling from sample of 100 mm/s… 19

vi

Chapter 1

Introduction

Chapter 2

State of the Art

Chapter 3

Study of the Solution

Chapter 4

Experimental Procedure

Chapter 5

Results and Discussion

This chapter describes the experimental results and its discussion. First, the results of all the movements are presented. Next, a simulation of higher velocities is made, using the method of sub-sampling. And at last the results are discussed.

It was used the same optics magnification on all of the experiments. At the distance of 200 mm the field of view was 50.67 mm and at the distance of 300 mm the field of view was of 77.65 mm.

5.1 Parallel Movement

For the parallel movement the velocity measurements were highly similar to all of the materials. The figures below, show the plots for the velocity calculated with the data collected from camera. Each figure shows, also, the velocity plot from the robot (ground truth). The measurements presented were made on concrete and it should be emphasized that the plots for the other materials are similar.

Figure 5.1 shows a big offset between the velocity calculated by the camera sensor and the ground truth. This is due to the fact that the correlation algorithm only detects a pixel displacement that is a integer. The pixel displacement calculated here was 2 and it gave closer results than at a displacement of 1.

Figure 5.2, 5.3 and 5.6 show consistent measurements from the image sensor.

Figure 5.4 show high fluctuations of the velocity, between 0 and 189.5735 mm/s %. Here the successive frames were so similar to each other that the correlation algorithm failed to compute the displacement. At some cases the displacement calculated was null and at others had the value of 2, that caused the velocity fluctuation.

Figure 5.5 shows an offset on the velocity measured by the sensor and also some fluctuations. Again, the offset was caused because the pixel displacement is always an integer and converting it to velocity induces error.

Tables 5.1 and 5.2 show the velocity errors for all the movements with all the materials. For the velocity it was calculated the average error and the maximum error using the robot as reference. It was also calculated the error for the total distance traveled. The results show that the tendency of the error is the same to all the materials.

As expected, the error for 100 mm/s at the distance of 200 mm is high due to the offset calculated. The same happened for 500 mm/s at the distance of 300 mm. The higher error values were, as expected, for 100 mm/s at 300 mm since the velocity measurements had high fluctuation. For the other cases the results were satisfactory with an error around 1%.

Figure 5.1: Parallel movement - Velocity plot - 100 mm/s at distance of 200 mm.

5.Results and Discussion  11

Figure 5.2: Parallel movement - Velocity plot - 500 mm/s at distance of 200 mm. Figure 5.3: Parallel movement - Velocity plot - 1000 mm/s at distance of 200 mm.

Ricardo Luís da Mota Silva  Dissertação de Mestrado

12  5.Results and Discussion

Figure 5.4: Parallel movement - Velocity plot - 100 mm/s at distance of 300 mm. Figure 5.5: Parallel movement - Velocity plot - 500 mm/s at distance of 300 mm.

Ricardo Luís da Mota Silva  Dissertação de Mestrado

Figure 5.6: Parallel movement - Velocity plot - 1000 mm/s at distance of 300 mm.

Table 5.1: Parallel movement - Results for distance of 200 mm.

Concrete  Cork  Stone

Velocity Error (%)

Distance Error (%)

Velocity Error (%)

Distance Error (%)

Velocity Error (%)

Distance Error (%)

Velocity ; (mm/s)

Avg. Max. Total  Avg. Max. Total  Avg. Max. Total
100  23.71 23.71 23.16  23.71 23.71 22.82  13.70 100.00 12.48
500  1.03 1.03  0.92  1.03 1.03  0.96  1.03 1.03  1.22
1000  1.03 1.03  0.34  1.03 1.03  0.31  1.03 1.03  0.64

Table 5.2: Parallel movement - Results for distance of 300 mm.

Concrete  Cork  Stone

Velocity Error

(%)

Distance Error (%)

Velocity Error (%)

Distance Error (%)

Velocity Error (%)

Distance Error (%)

Velocity ; (mm/s)

Avg. Max. Total  Avg. Max. Total  Avg. Max. Total
100  44.25 100.00 38.71  59.07 100.00 60.24  91.63 100.00 92.02
500  13.74 13.74 10.70  13.03 13.03 10.13  11.71 11.71 9.01
1000  1.11 1.11  0.94  1.11 1.11  0.88  1.11 1.11  0.97

5.2 Diagonal Movement

For the diagonal movement the velocity plots were highly similar to the parallel one. In nature the two movements are very similar, only the diagonal have an angle applied to it.

Table 5.3 shows the velocity errors for all the movements with all the materials at the distance of 200 mm. Table 5.4 shows the results for a distance of 300 mm. It was calculated the average error and the maximum error using the robot as reference.

Here it is possible to see that the tendency of the error is the same as for the parallel movement. In fact, the results were similar in the two cases, being even equal in most of the movements. This is an evidence that this measuring method is robust even when the image sensor has a rotation relative to the line of movement.

Table 5.3: Diagonal movement - Results for distance of 200 mm.

Concrete  Cork  Stone

Velocity Error

(%)

Velocity Error (%)

Velocity Error (%)

\begin{matrix}Angle \\ (^{∘}) \end{matrix}

Velocity ; (mm/s)

Avg. Max. Avg. Max. Avg. Max.

2.5  100  23.71 100.00 23.71 100.00 23.71 100.00
500  1.03 1.03  1.03 1.03  1.03 1.03
1000  1.03 1.03  1.03 1.03  1.03 1.03
5  100  23.71 100.00 23.71 100.00 8.06 100.00
500  1.03 1.03  1.03 1.03  1.03 1.03
1000  1.03 1.03  1.03 1.03  1.03 1.03
10  100  23.71 100.00 23.71 100.00 15.79 100.00
500  1.03 1.03  1.03 1.03  1.03 1.03
1000  1.03 1.03  1.03 1.03  1.03 1.03

Table 5.4: Diagonal movement - Results for distance of 300 mm.

Concrete  Cork  Stone

Velocity Error

(%)

Velocity Error (%)

Velocity Error (%)

\begin{matrix}Angle \\ (^{∘}) \end{matrix} Velocity ; (mm/s)

Avg. Max. Avg. Max. Avg. Max.

2.5  100  45.60 100.00 54.70 100.00 92.88 100.00
500  13.38 24.17 11.28 24.17 9.04 24.17
1000  1.11 1.11  1.11 1.11  1.11 1.11
5  100  19.53 100.00 58.83 100.00 90.61 100.00
500  3.64 24.17 9.96 24.17 10.60 24.17
1000  1.11 1.11  1.11 1.11  1.11 1.11
10  100  1.37 100.00 69.43 100.00 89.96 100.00
500  2.85 24.17 6.14 24.17 3.59 24.17
1000  1.11 1.11  1.11 1.11  1.11 1.11

5.3 Circular Movement

For the circular movement the results are shown in Table 5.5 and 5.6. Table 5.5 shows the velocity errors for all the movements with all the materials at the distance of 200 mm. Table 5.6 shows the results for a distance of 300 mm. It was calculated the average error and the maximum error using the robot as reference.

Table 5.5: Circular movement - Results for distance of 200 mm.

Concrete  Cork  Stone

Velocity Error

(%)

Velocity Error (%)

Velocity Error (%)

Diameter ; (m)

Velocity ; (mm/s)

Avg. Max. Avg. Max. Avg. Max.

2  100  23.71 23.71 23.71 23.71 1.78 100.00
500  1.03 1.03  1.03 1.03  1.03 25.77
1000  1.03 17.53 1.03 17.53 2.09 17.53
5  100  23.71 23.71 23.71 23.71 3.86 100.00
500  1.03 1.03  1.03 1.03  1.03 1.03
1000  1.03 1.03  1.03 1.03  1.03 1.03
10  100  23.71 23.71 23.71 23.71 8.56 100.00
500  1.03 1.03  1.03 1.03  1.03 1.03
1000  1.03 99.88 1.03 1.03  1.03 1.03

Table 5.6: Circular movement - Results for distance of 300 mm.

Concrete  Cork  Stone

Velocity Error

(%)

Velocity Error (%)

Velocity Error (%)

Diameter ; (m)

Velocity ; (mm/s)

Avg. Max. Avg. Max. Avg. Max.

2  100  94.76 100.00 99.98 100.00 99.98 100.00
500  24.17 24.17 24.17 24.17 100.00 100.00
1000  1.11 1.11  1.11 24.17 0.13  24.17
5  100  3.52 89.57 79.58 79.58 98.43 100.00
500  6.17 13.74 8.31 24.17 8.52  24.17
1000  1.11 1.11  1.11 1.11  1.11  1.11
10  100  44.95 89.57 63.59 100.00 97.00 100.00
500  13.23 13.74 10.08 24.17 5.54  24.17
1000  1.11 1.11  1.11 1.11  1.11  1.11

5.4 Oscillatory Movement

For the oscillatory movement the velocity measurements were made at the initial distance of 200 mm, increasing to 225 mm, back to 200 mm and then decreasing to 175 mm. At the middle the robot did a small pause.

The following figures show the velocity plots for each material. Figure 5.7 shows the velocity plot for concrete. An error measuring the velocity can be seen, caused by the changes in magnification. Figure 5.8 shows the result for cork and it is similar to the previous one. Figure 5.9 shows the result for stone, here the error was higher due to the high fluctuation of the values calculated. Stone is a material almost texture-less and the changes in magnification cause blur. This blur induces errors in the velocity estimation. The other materials are less sensitive to the blur as they have bigger grains on its texture.

Table 5.7 shows the errors for these experiments. The average and maximum error were calculated for velocity and the error for total distance traveled was also calculated.

Table 5.7: Oscillatory movement - Results for distance of 200 mm at 500 mm/s.

Velocity ; (mm/s)

Avg. Velocity Error (%)

Max. Velocity Error (%)

Total Distance Error (%)

Concrete 500  2.42  23.71  0.32
Cork  2.16  23.71  0.61
Stone  12.84  100.00  8.78

Figure 5.7: Oscillatory movement - Velocity plot - 500 mm/s at distance of 200 mm - Concrete.

Figure 5.8: Oscillatory movement - Velocity plot - 100 mm/s at distance of 200 mm - Cork.

Figure 5.9: Oscillatory movement - Velocity plot - 100 mm/s at distance of 200 mm - Stone.

5.5 Sub-sampling

Sub-sampling is the process of reducing the sampling rate. When performing a subsample of the video data, one can simulate a higher displacement and thus a higher velocity movement. For example, using the 100 mm/s video and doing the computing on intervals of 5 frames, the displacement will be 5 times higher and thus the velocity, also 5 times higher. With sub-sampling is possible to make a extrapolation of the data to higher velocities.

To prove that using sub-sampling gives the same results as using the full sample some simulations were made. A sample from 100 mm/s was used to simulate a movement with a velocity of 500 and 1000 mm/s the errors were exactly the same as the ones calculated using the full sample. The same was done with a sample form 500 mm/s simulating a movement of 1000 mm/s and the error was also equal. This leads to the conclusion that it is safe to do sub-sampling and extrapolate to higher velocities.

Next, simulations of 5, 10 and 20 m/s are made with the sample taken at 100 mm/s on concrete. The results are shown on Figure 5.10, 5.11 and 5.12 and the error results are presented on Table 5.8. These results show that at a sampling rate of 2500 Hz the sensor can measure velocity up to 10 m/s with an average error of 0.2 % and a maximum error of 5.15 %. At 20 m/s the results begin to show relevant fluctuations and a maximum error of 35.67 % is reached.

Table 5.8: Error results for sub-sampling simulations.

Velocity (m/s) Avg. Error (%) Max. Error (%)
5  0.2  3.918
10  0.18  5.15
20  1.05  35.67

20  5.Results and Discussion

Figure 5.10: Velocity plot at 5 m/s using sub-sampling from sample of 100 mm/s. Figure 5.11: Velocity plot at 10 m/s using sub-sampling from sample of 100 mm/s.

Ricardo Luís da Mota Silva  Dissertação de Mestrado

Figure 5.12: Velocity plot at 20 m/s using sub-sampling from sample of 100 mm/s.

5.6 Results Discussion

While carrying ou the experiments the sensor showed an overall good result, with measurements similar to the ones made on the robot. Although, there are several conditions in which the precision is affected resulting in increased error.

In all the experiments made at 100 mm/s the error was very high. This is due to the fact that the algorithm only computes pixel displacements that are integers. In this case the real displacement was 0.04 mm. At the distance of 200 mm, 2 pixels of displacement are equivalent to 0.04948 mm and 1 pixel is equivalent to 0.02474 mm. 0.04948 is closer to 0.04 so the algorithm gives higher correlation values for the two pixels displacement.

It is also possible to see that successive frames captured can be so similar that the algorithm fails to compute the correct displacement. This can be seen on Figure 5.5 where most of the times the velocity calculated was zero. This fact suggests that the measuring system should have a variable acquisition rate or the algorithm should adapt to the current velocity. Overall, the results were better at the distance of 200 mm. At 300 mm the errors were higher and the only acceptable results were at the velocity of 1000 mm/s. This leads to the conclusion that increasing the field of view reduces the ability to measure small velocities.

The results for the diagonal movements show that having the camera sensor with an angle of up to 10^{∘} does not have an effect on the velocity measured. At the distance of 200 mm the errors were the same as the parallel movement. At 300 mm the errors were higher and the only, as previously, and the only matching with the parallel movement was at the velocity of 1000 mm/s. This leads to the same conclusion that increasing the field of view reduces the ability to measure small velocities. This results are important as they prove that the vehicle can have sideways movements and the sensor still being able to measure the velocity accurately. Also, these results show that the camera sensor will operate properly even if it is poorly installed.

The circular movement showed similar results to the previous ones. It is clear that a line scan sensor can measure longitudinal velocity even when the movement is not linear. A automobile has a typical turning diameter of about 10 m and here was shown that the sensor can perform well to diameters as low as 2 m.

For the oscillatory movement show that measuring the velocity with a small change on the optics magnification is possible, although with higher errors than the previous situations. The measurements showed some fluctuations but on average the error was small and the total distance computed had a very small error, except for stone were the average error was 12.84 %. The surface texture is an important variable in this type of movement, as a texture-less surface like stone can induce higher errors. It might be possible to solve this problem with telecentric lenses, which have a magnification invariable with the focal distance.

The results of the sub-sampling show that increasing the displacement increases the global and the average error. At an acquisition frequency of 2500 Hz the measurements are acceptable up to 10 m/s, if dealing with higher velocities one should increase the sampling rate. This leads to the conclusion that for car-like velocities it is necessary to increase the sampling rate. For example if one wants to measure a velocity up to 120 km/h or 33.333 m/s, it would be necessary a sampling rate of 3.3333 × 2500 = 8333.33 Hz.

Chapter 6

Conclusions and Future Work References

[1] U. de Aveiro, “Atlas project.” http://atlas.web.ua.pt/, May 2014.

[2] A. V. Topalov, “Recent advances in mobile robotics,” InTech, 2011.

[3] A. Sleeswyk, “Vitruvius’ odometer,” Scientific American, pp. 188–200, 1981.

[4] “Schickard  versus  pascal  -  an  empty  debate?.”

http://metastudies.net/pmwiki/pmwiki.php?n=Site.SchicardvsPascal ,

May 2014.

[5] “History of andrew p. shumway.” http://www.mendonutah.net/history/personal_histories/shumway_andrew_p.htm ,

May 2014.

[6] J. Sentinel, “First state flight to be commemorated in beloit.”

http://www.jsonline.com/news/wisconsin/69028117.html, May 2014.

[7] I. J. Cox, “An Experiment in Guidance and Navigation of an Autonomous Mobile Robot,” IEEE Transactions Robotics and Automation, pp. 193–204, 1991.

[8] J. Borenstein, H. Everett, and L. Feng, Where am I? Sensors and methods for mobile robot positioning. PhD thesis, University of Michigan, 1996.

[9] J. Borenstein, H. R. Everett, L. Feng, and D. Wehe, “Mobile robot positioning:

Sensors and techniques,” Journal of Robotic Systems, vol. 14, pp. 231–249, Apr. 1997.

[10] A. Agent, “The advantages of absolute encoders for motion control,” Sensors, pp. 19– 24, 1991.

[11] J. G. Webster, Instrumentation and Sensors Handbook. CRC Press, 1st ed., 1998.

[12] J. Bernstein, “An overview of mems inertial sensing technology.”

http://www.sensorsmag.com/sensors/acceleration-vibration/an-overview-mems-inertial-sensing-technology-970 ,

May 2014.

[13] P. Robotics and Electronics, “Minimu-9 v2 gyro, accelerometer, and compass.”

http://www.pololu.com/product/2468, May 2014.

[14] L. M. Y. Cheng, M. W. Maimone, “Visual Odometry on the Mars Exploration Rovers,” IEEE Robotics & Automation Magazine, pp. 54–62, 2006.

[15] N. Nourani-Vatani, J. Roberts, and M. Srinivasan, “IMU aided 3D visual odometry for car-like vehicles,” Australian Robotics and Automation Association, 2008.

[16] V. Kálmán, On modeling and control of omnidirectional wheels. PhD thesis, Budapest University of Technology and Economics, 2013.

[17] N. Nourani-Vatani, J. Roberts, and M. Srinivasan, “Practical visual odometry for car-like vehicles,” 2009 IEEE International Conference on Robotics and Automation, pp. 3551–3557, May 2009.

[18] Kistler, “Wheel incremental transducer wpt for acquisition of wheel rotation.”

http://www.kistler.com/pt/en/product/angular-rate/CWPTA411, May 2014.
[19] Kistler, “Kistler optical sensors.” http://www.corrsys-datron.com/optical_sensors.htm,

May 2014.

[20] A. Corp, “Pos lv.” http://www.applanix.com/products/land/pos-lv.html, May

2014.

[21] J. Horn, A. Bachmann, and T. Dang, “A Fusion Approach for Image-Based Measurement of Speed Over Ground,” 2006 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, pp. 261–266, Sept. 2006.

[22] N. Nourani-Vatani and P. V. K. Borges, “Correlation-based visual odometry for ground vehicles,” Journal of Field Robotics, vol. 28, pp. 742–768, Sept. 2011.

[23] http://www.panavision.com/, May 2014.
[24] H. Photonics. http://www.hamamatsu.com/us/en/product/category/3100/4005/4120/S3901-256Q/index.html ,

May 2014.

[25] D. Imaging, “line scan image sensors.” http://www.dynamax-imaging.com/, May 2014.

[26] T. F. J. Rafeiro, Rede de Sensores Inerciais para Equilíbrio de um Robô Humanóide.

PhD thesis, Universidade de Aveiro, 2013.

[27] O. Engineering, “Telecentric lenses: Basic information and working principles.”

http://www.opto-engineering.com/, May 2014.

[28] M. Watanabe and S. Nayar, “Telecentric optics for computational vision,” Proc. of European Conference on Computer Vision, pp. 439–451, 1995.

[29] S. Mitra and Y. Kuo, Digital signal processing: a computer-based approach. McGraw-Hill, 3th ed., 2006.

[30] J. P. Lewis, “Fast Normalized Cross-Correlation Template Matching by Cross-,”

Vision Interface, vol. 1995, no. 1, pp. 120–123, 1995.

[31] J. P. Lewis, “Fast Template Matching Template Matching by Cross Correlation 2 Normalized Cross Correlation Normalized Cross Correlation in the Transform Domain,” Pattern Recognition, vol. 10, no. 11, pp. 120–123, 1995.

[32] R. D. Keane and R. J. Adrian, “Theory of cross-correlation analysis of PIV images RICHARD D. KEANE & RONALD J. ADRIAN,” Kluwer Academic Publishers, pp. 191–215, 1992.

[33] T. D. Inc. http://www.teledynedalsa.com/imaging/products/cameras/line-scan/piranha2/P2-4X-04K40%20(7%20uM)/ ,

May 2014.

[34] R. P. Optics, “Rodagon.” http://www.rodenstock-photo.com/en/main/products/lenses-for-enlarging-and-ccd/rodagon/ ,

May 2014.

[35] RobotWorx, “Fanuc m-6ib/6s.” http://www.robots.com/fanuc/m-6ib-6s, May

2014.

[36] Z. Zhao, Line scan camera calibration for fabric imaging. PhD thesis, The University of Texas at Austin, 2012.

[37] C. A. Luna, M. Mazo, J. L. Lázaro, and J. F. Vázquez, “Calibration of Line-Scan Cameras,” vol. 59, no. 8, pp. 2185–2190, 2010.