Next Article in Journal
Modeling IoT-Based Solutions Using Human-Centric Wireless Sensor Networks
Next Article in Special Issue
Incorporating a Wheeled Vehicle Model in a New Monocular Visual Odometry Algorithm for Dynamic Outdoor Environments
Previous Article in Journal
Design Low Crosstalk Ring-Slot Array Structure for Label-Free Multiplexed Sensing
Previous Article in Special Issue
A Kalman Filter-Based Short Baseline RTK Algorithm for Single-Frequency Combination of GPS and BDS
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Investigation of Matlab® as Platform in Navigation and Control of an Automatic Guided Vehicle Utilising an Omnivision Sensor

1
Department Electrical, Electronic and Computer Engineering, Central University of Technology, Free State, Private Bag X20539, Bloemfontein 9300, South Africa
2
Research Group in Evolvable Manufacturing Systems, Central University of Technology, Free State Bloemfontein 9300, South Africa
3
Technology and Innovation, Central University of Technology, Free State, Private Bag X20539, Bloemfontein 9300, South Africa
*
Author to whom correspondence should be addressed.
Sensors 2014, 14(9), 15669-15686; https://doi.org/10.3390/s140915669
Submission received: 20 June 2014 / Revised: 11 August 2014 / Accepted: 13 August 2014 / Published: 25 August 2014
(This article belongs to the Special Issue Positioning and Tracking Sensors and Technologies in Road Transport)

Abstract

: Automatic Guided Vehicles (AGVs) are navigated utilising multiple types of sensors for detecting the environment. In this investigation such sensors are replaced and/or minimized by the use of a single omnidirectional camera picture stream. An area of interest is extracted, and by using image processing the vehicle is navigated on a set path. Reconfigurability is added to the route layout by signs incorporated in the navigation process. The result is the possible manipulation of a number of AGVs, each on its own designated colour-signed path. This route is reconfigurable by the operator with no programming alteration or intervention. A low resolution camera and a Matlab® software development platform are utilised. The use of Matlab® lends itself to speedy evaluation and implementation of image processing options on the AGV, but its functioning in such an environment needs to be assessed.

1. Introduction

AGV sensors like infrared and ultrasonics are being replaced by using vision, which produces more information for controlling the vehicle. The AGV utilises a single digital camera providing omnidirectional (360°) vision for navigation [1]. A reconfigurable solution for manufacturers could be the reprogramming of such a vehicle to use alternative routes and keeping the operators' programming input to a minimum, rather than implementing altering conveyor systems for transporting goods.

The project involved a vision sensor, AGV vision navigation control and the development of a reconfigurable approach to prove the feasibility of using a single software platform like Matlab® for speedy evaluation and implementation of image processing options. An overview of the system is illustrated in Figure 1.

2. Vision Sensing

As the surroundings were to be detected by vision, the setup used a webcam using an omni-mirror setup placed on top of a National Instruments (NI, Austin, TX, USA) robot platform is shown in Figure 2. All the processing and control was done by a laptop placed on the NI platform.

A PC was used for the development and initial simulations. The code was then transferred to a laptop for navigation trials. Table 1 lists the specifications of the PC and the laptop.

2.1. Omnidirectional Conversion for Vision Sensing

Scaramuzza's research proved that a polar transfer function can be implemented by creating a good panoramic image [2]. The polar transform implemented in Matlab® applied Equation (1) shown below:

R = radius ϕ = ( φ × resolution 180 ° × π ) rad X Pixel position = R cos ( ϕ ) + X Centre offset Y Pixel position = R sin ( ϕ ) + Y Centre offset 0 R Maximum radius 0 ° φ 360 °
where Maximum radius represents the height of the frame to be converted and φ the resolution width of the panoramic view, as can be seen in Figure 3.

This polar transform was applied to Figure 4 using Matlab® with the result shown in Figure 5 ([3], pp. 1835–1839).

Figure 5 was generated with a Matlab® function with a radial step resolution of 1° [4,5]. This function does the transform on pixel level and is very time consuming. It took almost 1 s for the image of 2.25 MB to be transformed with this function on an Intel® Pentium® 3.4 GHz CPU with 3.25 GB of RAM. Figure 6 shows the flowchart and Figure 7 an extract of the Matlab® M-file providing the result.

2.2. Omnidirectional Sensing Software in MATLAB®

The initial development was done on single pictures taken with the omnidirectional photographic setup. These were changed to a video streamed system. Simulink® was incorporated for this purpose. Figure 8 shows a conversion model development for accessing the camera by utilising the From Video Device data block. The Embedded MATLAB function was written incorporating the conversion model seen in Figure 7.

Implementing the Concept of an Area of Interest

With the results obtained in Section 2.1, it seemed imperative to reduce the computation time for acquisition, conversion and display. This could be done by selecting a smaller area of interest in the direction of movement of the AGV as illustrated in Figure 9.

2.3. Transferring the Omnivision Software from Computer to Laptop Platform

Matlab® has a feature, called bench, to evaluate the processing strength of computers in different calculating areas. The result for the platforms used in Table 1 is shown in Figures 10 and 11.

Figures 10 and 11 clearly indicate that the particular PC used outperformed the laptop platform to which it was compared. The comparison data for other computer platforms are stored in a text file, “bench.dat”. Updated versions of this file are available from Matlab® Central [6]. Keeping these results in mind, the results shown in Table 2 were obtained.

4. Reconfigurable Approach Using Sign Recognition

The concept of sign detection in conjunction with route tracking is to provide the AGV controller with an indication as to which route is to be taken when encountering more than one option. This is accomplished by incorporating left- and right turn signs, with a stop sign at its destination. This gives the AGV a reconfigurable route set by the operator, without programming intervention or changes, by placing the required signs along a changeable route. Altering the colour which the AGV responds to, gave rise to alternative routes for different AGV's to follow, best illustrated by Figure 13.

Correlation was achieved by implementing templates of the signs after initial detection of the preset colour for the specific AGV. An example of the templates is shown in Figure 14.

4.1. Displaying the Recognition Results

After a potential sign has been detected in consecutive video frames, the model identifies the sign to generate the appropriate command to be sent to the AGV. Examples of signs detected are shown in Figure 15.

4.2. Detecting the Colour for Different AGV Routes

Different methods for colour detection were investigated, which included:

  • the RGB video signal implementing a tolerance for each colour signal representing this selected route colour;

  • HSV signal rather than the RGB signal; and

  • the YCbCr signal. This produced better results using the colour signals red (Cr) and blue (Cb).

Using Equations (2)(4) below, and substituting typical constants for the Y signal, Equation (5) was derived. The equation was implemented with the Simulink® model shown in Figure 16:

Y = k r R + k g G + k b B
C B = k r R k g G + k b B
C R = + k r R k g G k b B
C g = 1.5 R + 2 G 0.54 B + 0.5

This method proved experimentally the most successful, as the colour selected made the output signal less sensitive to variations in different levels of lighting.

4.3. Implementing Sign Detection Command Control

Detecting the command signs successfully posed a problem with respect to the reaction time of the AGV to execute the relevant command. This made a difference in the distance from the sign to the specific position of the AGV.

The size of the different signs was standardised to be approximately 18 cm × 18 cm. By knowing the sign size, the distance from the AGV to the sign could be calculated using the number of pixels representing the image size recognised ([10], pp. 324–329). Table 3 gives a summary of the distance relevant to pixel count, obtained experimentally using the omnivision sensor.

A safe distance from the AGV to a sign or obstruction was found to be between 70 cm and 90 cm. This resulted in the choice of image size, representing the stochastic distance to a sign selected and evaluated, of approximately 84 × 84 pixels (total of 7056 pixels). The distance to the sign selection was developed to be a variable input in the Simulink® model.

Determining this distance to the sign was achieved by using the area of the bounding box placed around a detected sign and then comparing this pixel count with the required size (total pixel count). When true, the relevant sign command detected was executed. Provision was made for a multiple count of signs detected in a single frame during consecutive frames.

Figure 17 shows the implemented Simulink® model block where the area of the detected sign (Prod) and the variable distance (Dist) is needed as input with the stop, direction and switch control signals generated as output.

Figure 18 shows the flowchart and Figure 19 indicates an abbreviated version of the Matlab® function block code generating the control and switching signals. Only the forward, left, right and stop signals are shown for illustrative purposes.

5. Results and Discussion

Looking at the specifications of the PC and laptop used, the speed of the processor and size of RAM were the major factors that caused the difference in processing power. Figure 20 shows the drastic decrease in frames per second available to work with in image processing after each stage of the system, including that obtained by the PC for comparison. The frame rate of 30 frames per second available from the camera is decreased to almost 14 frames available after acquisitioning with a selected frame size of 96 × 128 pixels. This frame rate is further decreased to 2 frames per second after the omnivision conversion process available on the laptop and 7 frames per second on the PC for image processing.

5.1. AGV Performance as a Result of Using Matlab®

The maximum respective speeds of two different AGV types were 2.7 and 1.3 km per hour without using any vision—as depicted in Table 4. The maximum frame rates achieved by using the omnivision sensor in the study were 7 frames per second for the PC and 2 frames per second for the laptop, seen in Figure 2019. This information relates to a distance travelled of 36.5 cm per second with the slowest AGV, or approximately 18 cm travelled by the AGV per frame, using the laptop control which performs at 2 frames per second.

The speed of 18 cm per frame was clearly too fast to allow for image processing using the laptop. The AGV's speed needed to be reduced, because 6 to 8 frames per second were necessary for proper vision control. This meant that the AGV travelled more than a meter at 6 frames per second (18 cm × 6 frames = 108 cm). This is more than a typical turning circle distance (90 cm) allowed before a control decision could be made. Altering the speed to suit the processing time related to a speed of 6 cm per second, which was not suited for the final industry application. Thus the laptop processing speed was insufficient for such a vision sensor AGV control application.

5.3. Reconfigurable Ability of the Vision System

The sign recognition system provided the route reconfigurability to be applied by the operator by placing the applicable signs along the route for a specific AGV. The sign recognition system was designed and made provision for signs to be detected to a rotated angle of ±7.5°. The signs could however be detected to a maximum rotated angle of 45° for the left and right sign, and 30° rotated angle for the stop sign. Figure 23 indicates the results achieved in simulations, as it was never placed at this angle in the actual evaluation runs.

Encountering the signs at a horizontal offset angle also did not provide a problem, as the deviation from the straight-on position could vary by as much as 50° without causing a failure in recognising a sign, as can be seen in Figure 24.

The AGV movement control acted on the signs control function at a predefined distance, set at 70 cm for evaluation purposes, determined by the set area of the bounding box. The distance between the sign and AGV was determined by the average area of the bounding box (seen in Figure 23) around the sign. The width of the bounding box depended most on the angle at which the AGV approached the sign, thus it had the biggest influence on the area of the bounding box, as the sign size was constant. The result was that, at a large horizontal angle deviation from head-on to the sign, the AGV acted on the sign command much later, resulting in a distance of reaction of between 64 cm and 40 cm. This did not pose any problems, as the size of the platform was relatively small. It is perhaps better illustrated in Figure 25.

6. Conclusions

The research covered in this article proved the viability of a developed omnidirectional conversion algorithm written in Matlab®. Selecting a webcam and making use of an area of interest enabled the saving of valuable computational time in converting an image.

Matlab® was chosen as the complete software platform generating results, evaluating the camera setup and mirror configuration on a PC and later a laptop. The results obtained proved that the laptop processing time was too slow for omnivision purposes for the mobile system to be implemented in industry.

The navigational goals, using vision, as described in this article were successfully met by the developed AGV platform and the route navigation with the sign recognition and control implemented. A reconfigurable layout could be achieved with relative success using an AGV recognising only a set colour for its specific route.

Acknowledgments

The financial support of the Central University of Technology (CUT), Free State, and the equipment of Research Group in Evolvable Manufacturing Systems (RGEMS) are gratefully acknowledged.

Author Contributions

Ben Kotze did the research and conducted the experiments, analyzed the data and drafted the manuscript. Gerrit Jordaan acted as promoter.

Conflicts of interest

he authors declare no conflict of interest.

References

  1. Fernandes, J.; Neves, J. Using Conical and Spherical Mirrors with Conventional Cameras for 360° Panorama Views in a Single Image. Proceedings of the IEEE 3rd International Conference on Mechatronics, Budapest, Hungary, 3–5 July 2006.
  2. Scaramuzza, D. Omnidirectional Vision: From Calibration to Robot Motion Estimation. Ph.D. Thesis, Department of Mechanical and Process Engineering, Swiss Federal Institute of Technology University, ETH Zurich, Switzerland, 2008. [Google Scholar]
  3. Kotze, B.; Jordaan, G.; Vermaak, H. Development of a Reconfigurable Automatic Guided Vehicle Platform with Omnidirectional Sensing Capabilities. Proceedings of the 2010 IEEE International Symposium on Industrial Electronics, Bari, Italy, 4–7 October 2010.
  4. Users Guide, Image Acquisitioning Toolbox; Version 1; The Mathworks: Natick, MA, USA; March; 2003.
  5. Users Guide, Image Processing Toolbox; Version 4; The Mathworks: Natick, MA, USA; May; 2003.
  6. Lord, S. Bench. Available online: http://www.mathworks.com/matlabcentral/fileexchange/1836 (accessed on 1 August 2009).
  7. Li, J.; Dai, X.; Meng, Z. Automatic Reconfiguration of Petri Net Controllers for Reconfigurable Manufacturing Systems with an Improved Net Rewriting System-Based Approach. IEEE Trans. Autom. Sci. Eng. 2009, 6, 156–167. [Google Scholar]
  8. Sotelo, M.A.; Rodriguez, F.J.; Magdelena, L.; Bergasa, L.M.; Boquete, L. A Colour Vision-Based Lane Tracking System for Autonomous Driving on Unmarked Roads. In Autonomous Robots 16; Kluwer Academic Publishers: Alphen, The Netherlands, 2004; pp. 95–116. [Google Scholar]
  9. MATLAB®. Chroma-Based Road Tracking Demo, Computer Vision System Toolbox. Available online: http://www.mathworks.cn/products/computer-vision/code-examples.html?file=/products/demos/shipping/vision/vipunmarkedroad.html (accessed on 1 October 2009).
  10. Hsu, C.-C.; Lu, M.-C.; Chin, K.-W. Distance Measurement Based on Pixel Variation of CCD Images. Proceedings of the 2009 IEEE 4th International Conference on Autonomous Robots and Agents, Wellington, New Zealand, 10–12 February 2009.
  11. Kotze, B.J. Navigation of an Automatic Guided Vehicle Utilizing Image Processing and a Low Resolution Camera. Proceedings of the 14th Annual Research Seminar, Faculty of Engineering & Information Technology, Bloemfontein, South Africa, 13 October 2011.
  12. Swanepoel, P.J. Omnidirectional Image Sensing for Automated Guided Vehicle. Dissertation MTech, School of Electrical and Computer Systems Engineering, Central University of Technology, Bloemfontein, South Africa, 1 April 2009. [Google Scholar]
  13. Scaramuzza, D.; Siegwart, R. Appearance-Guided Monocular Omnidirectional Visual Odometry for Outdoor Ground Vehicles. IEEE Trans. Robot. 2008, 24, 1015–1026. [Google Scholar]
Figure 1. Illustrated layout of the complete system.
Figure 1. Illustrated layout of the complete system.
Sensors 14 15669f1 1024
Figure 2. AGV platform using a laptop, NI robot platform and omnivision system.
Figure 2. AGV platform using a laptop, NI robot platform and omnivision system.
Sensors 14 15669f2 1024
Figure 3. Graphical representation of a polar transform.
Figure 3. Graphical representation of a polar transform.
Sensors 14 15669f3 1024
Figure 4. Environmental picture in circular (680 × 670 pixels) mirror image.
Figure 4. Environmental picture in circular (680 × 670 pixels) mirror image.
Sensors 14 15669f4 1024
Figure 5. Transferred image of Figure 4, −90° corrected and mirror image effect corrected.
Figure 5. Transferred image of Figure 4, −90° corrected and mirror image effect corrected.
Sensors 14 15669f5 1024
Figure 6. Flowchart for program—polar to Cartesian.
Figure 6. Flowchart for program—polar to Cartesian.
Sensors 14 15669f6 1024
Figure 7. Matlab® program extract—polar to Cartesian.
Figure 7. Matlab® program extract—polar to Cartesian.
Sensors 14 15669f7 1024
Figure 8. Simulink® model for converting omnivision pictures to a panoramic picture stream.
Figure 8. Simulink® model for converting omnivision pictures to a panoramic picture stream.
Sensors 14 15669f8 1024
Figure 9. Illustration of capturing a frame, selecting an area of interest for conversion and final resolution for conversion.
Figure 9. Illustration of capturing a frame, selecting an area of interest for conversion and final resolution for conversion.
Sensors 14 15669f9 1024
Figure 10. Matlab® bench feature displayed as the PC's result, for the process speed in seconds.
Figure 10. Matlab® bench feature displayed as the PC's result, for the process speed in seconds.
Sensors 14 15669f10 1024
Figure 11. Matlab® bench feature displayed as the laptop's result, for the process speed in seconds.
Figure 11. Matlab® bench feature displayed as the laptop's result, for the process speed in seconds.
Sensors 14 15669f11 1024
Figure 12. Matlab®Chroma-Based Road Tracking” demo.
Figure 12. Matlab®Chroma-Based Road Tracking” demo.
Sensors 14 15669f12 1024
Figure 13. Incorporating signs for defining reconfigurable routes for multiple AGV's by using different colours.
Figure 13. Incorporating signs for defining reconfigurable routes for multiple AGV's by using different colours.
Sensors 14 15669f13 1024
Figure 14. Three sign templates: stop, left and right; with three orientations each, 0° + 7.5° and −7.5°; generated for the recognition process.
Figure 14. Three sign templates: stop, left and right; with three orientations each, 0° + 7.5° and −7.5°; generated for the recognition process.
Sensors 14 15669f14 1024
Figure 15. Left, right and stop signs recognised by the AGV and identification sign of each.
Figure 15. Left, right and stop signs recognised by the AGV and identification sign of each.
Sensors 14 15669f15 1024
Figure 16. Matlab® implementation of the Simulink® model evaluated for a set Green signal.
Figure 16. Matlab® implementation of the Simulink® model evaluated for a set Green signal.
Sensors 14 15669f16 1024
Figure 17. Simulink® model implementing AGV motor control at a set distance depending on the area in terms of the number of pixels.
Figure 17. Simulink® model implementing AGV motor control at a set distance depending on the area in terms of the number of pixels.
Sensors 14 15669f17 1024
Figure 18. Flowchart for the Distance function block generating stop, direction and switch control.
Figure 18. Flowchart for the Distance function block generating stop, direction and switch control.
Sensors 14 15669f18 1024
Figure 19. Abbreviated Matlab® code for the Distance function block generating stop, direction and switch control.
Figure 19. Abbreviated Matlab® code for the Distance function block generating stop, direction and switch control.
Sensors 14 15669f19 1024
Figure 20. Decrease in frames per second along the image processing on the laptop platform relative to that of the PC.
Figure 20. Decrease in frames per second along the image processing on the laptop platform relative to that of the PC.
Sensors 14 15669f20 1024
Figure 21. AGV position and orientation along a destined route plotted for evaluation.
Figure 21. AGV position and orientation along a destined route plotted for evaluation.
Sensors 14 15669f21 1024
Figure 22. Corresponding frame captures for the positions indicated in Figure 21.
Figure 22. Corresponding frame captures for the positions indicated in Figure 21.
Sensors 14 15669f22 1024
Figure 23. Indication of the degree at which the signs could be detected using sign recognition.
Figure 23. Indication of the degree at which the signs could be detected using sign recognition.
Sensors 14 15669f23 1024
Figure 24. An indication of possible offset angles still resulting in successful sign recognition.
Figure 24. An indication of possible offset angles still resulting in successful sign recognition.
Sensors 14 15669f24 1024
Figure 25. Distance from the sign determined by area at different angles of approach.
Figure 25. Distance from the sign determined by area at different angles of approach.
Sensors 14 15669f25 1024
Table 1. Processor platform specifications.
Table 1. Processor platform specifications.
Personal Computer (PC)Laptop
Microsoft Windows XPMicrosoft Windows XP
Professional Version 2002 with Service Pack 3Professional Version 2002 with Service Pack 3
Intel® Core™ Duo CPU E8400 @ 3.00 GHzIntel® Core™ Duo CPU T7500 @ 2.20 GHz
2.98 GHz, 1.99 GB of RAM789 Hz, 1.99 GB of RAM
Table 2. Frame rates incorporating different area of interest sizes compared to the results obtained on a PC and laptop.
Table 2. Frame rates incorporating different area of interest sizes compared to the results obtained on a PC and laptop.
Input Frame SizeOutput Frame SizeFrame Rate Obtained on PCFrame Rate Obtained on Laptop
640 × 480720 × 1863.5 frames per second0.5 frames per second
640 × 480720 × 1864.5 frames per second0.7 frames per second
640 × 480360 × 1867.5 frames per second1.3 frames per second
640 × 480180 × 9614 frames per second2.4 frames per second
Table 3. Summary of distance from AGV to signs with respect to image pixel count.
Table 3. Summary of distance from AGV to signs with respect to image pixel count.
Distance to a SignApproximate Pixel Count
40 cm174 × 174
50 cm144 × 144
60 cm120 × 120
70 cm106 × 106
80 cm96 × 96
90 cm84 × 84
100 cm76 × 76
110 cm66 × 66
Table 4. Comparative speeds of the 3- and 4-wheeled NI AGV's used in the research without vision.
Table 4. Comparative speeds of the 3- and 4-wheeled NI AGV's used in the research without vision.
3 Wheel AGV4 Wheel AGV
Maximum speed obtained in forward/reverse without vision2.7 km/h1.3 km/h
Individual speeds denoted in meter per minute45.24 m/min21.9 m/min
Individual speeds denoted in centimetre per second75.4 cm/s36.5 cm/s

Share and Cite

MDPI and ACS Style

Kotze, B.; Jordaan, G. Investigation of Matlab® as Platform in Navigation and Control of an Automatic Guided Vehicle Utilising an Omnivision Sensor. Sensors 2014, 14, 15669-15686. https://doi.org/10.3390/s140915669

AMA Style

Kotze B, Jordaan G. Investigation of Matlab® as Platform in Navigation and Control of an Automatic Guided Vehicle Utilising an Omnivision Sensor. Sensors. 2014; 14(9):15669-15686. https://doi.org/10.3390/s140915669

Chicago/Turabian Style

Kotze, Ben, and Gerrit Jordaan. 2014. "Investigation of Matlab® as Platform in Navigation and Control of an Automatic Guided Vehicle Utilising an Omnivision Sensor" Sensors 14, no. 9: 15669-15686. https://doi.org/10.3390/s140915669

Article Metrics

Back to TopTop