1 Introduction

Due to the large number of goods in the port area, the logistics path is complex, and the climate inside the port area is relatively humid and there are many water vapors, the logistics path will be seriously affected, and the logistics and transportation will often be confused. Based on this, it is necessary to use a reasonable transportation method to effectively guide the logistics transport vehicles. In the information age, the transportation of port area mostly uses automatic transport vehicles as the main transport vehicles. Therefore, this study takes the automatic transport vehicles as an example to conduct transport route guidance research.

In the late 1950s, automatic transport vehicles began to be used in warehouse automation and factory operations, and Japan began to introduce automatic transport vehicle technology from then on. In the mid-1970s, due to the application of integrated circuit technology and electronic technology in automatic transport vehicles, the automatic transport vehicles were significantly improved in terms of automation and control performance. The automatic transport vehicle entered the production system as a production component and has also been rapidly developed [1]. During this period, European companies standardized the size and structure of pallets for containers, which accelerated the development of automated transport technology in Europe [2]. The first International Conference on Unmanned Pallets was held in June 1981 in London, England, which has shown a breakthrough in the technology of automatic transport vehicles [3]. In 1984, General Motors first tried an automated transport vehicle on their flexible assembly system. Two years later, the number of automatic transport vehicles increased to 1407, making it the world’s largest automatic transport vehicle user [4]. In 1985, due to the development of computer microprocessors and the rise of control technology, computer communication and identification technology entered the field of automatic transport vehicles, and automatic transport vehicles developed toward intelligence [5]. In 1987, it was reported that Sweden first used automatic transport vehicles in the field of logistics systems in 1969 [6]. In 1974, the Swedish Volvo Car Company applied automatic transport vehicles to their car assembly lines. This improvement has been a huge success, not only reducing labor, assembly time, and assembly failures, but also speeding up capital flow by 43% [7]. Many Western European countries have followed suit because of the practical economic benefits of this application. In the 1980s, the wave of automatic transport vehicles in Europe flooded into the US market. Many US companies transferred advanced automatic guided trolley technology to Metron through technology introduction and joint ventures ([8]. In 1978, a direct computer-controlled automated transport vehicle system introduced from Europe was successfully applied at the Keebler Distribution Center in Chicago, USA [9]. In 1981, John Corporation of the USA applied automated transport vehicles to automated warehouses to increase the efficiency of material handling during manufacturing, and the entire process was monitored in real time [10]. The French outdoor guide automatic transporter runs at speeds of up to 97 km/h [11]. In the following 10 years, various intelligent automatic transport vehicles have emerged in an endless stream. The automatic transport vehicles based on visual navigation have also been greatly developed. At this time, the typical visual navigation system mainly includes ARCADE system of the University of Michigan; LANA system [12]; NAVLAB system of Carnegie Mellon University, USA; EMS, Vision system of German Federal University of Defense; ROMA system of IITB of Germany; and PVS system of MITI of Japan. According to statistics, by 2004, there were more than 16,000 automatic transport vehicle systems in use worldwide and more than 100,000 automatic transport vehicles [13].

In China, the development of automatic transport vehicles started late. In 1975, China’s first electromagnetically guided three-wheeled automatic transport vehicle was successfully developed at the Beijing Crane Transportation Machinery Research Institute [14]. In the late 1980s, the Beijing Machinery Industry Automation Research Institute developed the first automatic transport vehicle that can be used in the three-dimensional warehouse and successfully applied in the Second Automobile Group. During the same period, the Beijing Postal Research Institute also successfully developed the Automated Guided Car IV [15] using two-way wireless communication technology. In the 1990s, China’s research on automatic transport vehicles entered a period of rapid development. The automatic transport vehicle imported from abroad was successfully applied to the CIMS experimental research at the National CIMS Engineering Center of Tsinghua University. Shenyang Institute of Automation developed an automatic transport vehicle for automobile engine assembly for Jinbei Automobile Co., Ltd., which is a successful application in China’s automobile industry [16]. Kunming Marine Equipment Research Institute successfully developed an automatic transport vehicle based on laser/infrared guidance for the first time. The Intelligent Vehicles Group of Jilin University is mainly engaged in the research of automatic transport vehicles based on visual navigation. It has developed JUTIV1 and JUTIV2 visual navigation vehicles. On this basis, they developed the JUTIV3, general-purpose and assembly-type visual navigation automatic transport vehicles for the actual application of the factory [17].

In the control algorithm of the automatic transport vehicle, the most widely used is PID control, because the adjustment parameters are convenient. With the development of intelligent control technology, many automatic transport vehicles using fuzzy control have emerged. In addition, advanced control algorithms such as expert systems, neural networks, learning, and genetic algorithms have also seen a lot of research, but at present, they only exist in the theoretical research stage, and there are few application examples in real engineering. In order to study the visual navigation automatic transport vehicle based on image processing, this paper conducts a guided analysis of the logistics transportation path in the port area.

2 Research methods

As shown in Fig. 1, the automatic transport vehicle involved in this paper is a two-wheel differential adjustment, which includes two drive wheels and one driven wheel. In order to analyze the problem conveniently, the driven wheel is not considered, and the friction between the wheel and the ground is not considered, and only the two driving wheels are analyzed. Because the wheeled automatic transport vehicle has the advantages of easy control, easy sliding friction, stable motion, no need to consider the balance problem during driving, and low energy consumption, it has become one of the favorite fields of intelligent service robots. Therefore, the kinematics analysis of the wheeled automatic transport vehicle and the establishment of mathematical models have brought together the results of many researchers. The automatic transport vehicle of Harbin Institute of Technology’s Bitong Intelligent Robot Research Center is used in automobile production assembly workshops. It adopts three-wheel mode, the front two-wheel differential adjustment is the driving wheel, and the back is a universal wheel, which plays a supporting role and does not play a major role in the adjustment of speed and direction. Figure 1 is a schematic diagram of the navigation of the automatic transport vehicle. In Fig. 1, the driving wheel is on the left and right sides of the front, the broken line is the navigation track, Vt, Vr is the linear velocity of the left and right wheels, ω is the angular velocity of the two wheels, and O is the center point of the two-wheel spacing.

Fig. 1
figure 1

Schematic diagram of automatic transport vehicle navigation

Since the rear universal wheel does not participate in adjusting the speed and direction, we have further simplified the model in the kinematics analysis, using only two wheels instead of the automatic transport vehicle. The simplified model diagram is obtained as shown in Fig. 2.

Fig. 2
figure 2

Simplified model diagram

Using only two wheels instead of the automatic transport vehicle, we assume that the car body quality is even, the center position C of the two wheels is the center of gravity of the car body, the speed of the center point of the car body is Vn, the diameter of the wheel is D, and O1 and O2 are the centers of the left and right wheels respectively. At the same time, we assume that L is the distance between the center of the left and right wheels, O is the center of the space rotation of the automatic transport vehicle, and the distance between O and C is the radius of rotation, denoted as R. The relationship between the center speed of the vehicle body and the speed of the left and right wheels can be obtained as follows.

$$ \left\{\begin{array}{c}{V}_n=\left({V}_r+{V}_l\right)/2\\ {}\omega =\left({V}_r-{V}_l\right)/D\end{array}\right. $$
(1)

The above equation can be transformed to obtain a relational Expression (3) between the radius of rotation R and the speed of the vehicle body Vl, Vr.

$$ \frac{2\uppi \left(R-\frac{D}{2}\right)}{V_l}=\frac{2\uppi \left(R+\frac{D}{2}\right)}{V_r} $$
(2)
$$ R=\frac{D}{2}\left(\frac{V_r+{V}_l}{V_r-{V}_l}\right) $$
(3)

Assuming that the navigation speed V_n is fixed, we can substitute the formula (1) into the Eq. (3), and then obtain the simplified formula (4). Normally, the automatic transport vehicle travels at a stable navigation speed V. Therefore, different driving rules can be clearly derived from Eq. (4) to draw the following conclusions.

$$ R=\frac{D{V}_n}{V_r-{V}_l} $$
(4)

When Vr = Vl, R = ∞, Vn = Vr = Vl, which indicates that the automatic transport vehicle performs linear translation motion at this time. When Vr ≠ Vl, (0, ∞), which indicates that the automatic transport vehicle performs circular motion with R as the radius of rotation. In short, the camera plays a role as a projector. This transformation can be represented by orthogonal transformation or geometric perspective transformation. The model of orthogonal transformation is a model in which the appearance of the imaging plane does not change with the positional change of the camera in the environment, and the geometric perspective model changes according to the position change of the camera. In the case of automatic transport vehicles, the imaging model is often represented by a geometric model. The image information includes not only the path, but also the environment and noise interference. The purpose of preprocessing is to remove various noise interferences, distinguish the environment from the path, and identify the path. After image pre-processing, the path is basically separated from the environment, and the path is the area between two lines with a certain width. In order to more easily extract the positional deviation and angular deviation of the path, the centerline position of the path is fitted to a straight line in this design, and its width is ignored. Using this line as the standard of the path, it is more accurate and convenient to obtain the deviation value.

The image captured by the camera is preprocessed to obtain the image as shown below. The coordinate system is established thereon, the horizontal right direction is the positive direction of the X-axis, the direction perpendicular to the X-axis is the positive direction of the Y-axis, the white area is the path information, the line center line equation is y = kx + b, the distance between the line and the Y-axis is d, and the angle between the line and the Y-axis is the angle deviation. From Fig. 3, we can see that the path in the image exists due to the installation position of the camera on the automatic transport vehicle, the height from the ground, the angular difference from the horizontal position, and the difference in the distance between the camera and the path, the width of the path in the image is inconsistent. The farther the distance is, the narrower the width is, which also affects the accuracy and stability of navigation to some extent. Therefore, it is desirable to use the straight line of the center line of the path as the path. After drawing this line, the pixel on the line is the pixel of the path, which can also eliminate the interference of some discrete noise and improve the denoising ability.

Fig. 3
figure 3

Path coordinate system

The main principles and processes of the path centerline measurement algorithm are as follows: 3 × 3 square structure elements are selected, the image is etched, and the etched image is subtracted from the original image to get Edge_Road. Then, a zero-matrix CenterR of the same size as the original image is created, and a column vector with the number of the CenterR is constructed. The column vector is compared with the column vector in the image from the left side. The path is all labeled 1 and the environment is all labeled as 0. Therefore, if Edge_Road is not equal to 1, the algorithm continues to advance to the right for comparison. When Edge_Road is equal to 1, it indicates that the left edge position of the path is detected, and the coordinates are located, denoted as P1. Then, the position detection of the right edge is performed, and the detection method is similar to the left edge detection. The difference is that the initial detection starts from the right side of the image, and when the pixel is detected to be 1, the detection is stopped, that is, the right edge position of the path is recorded as P2. When the left and right edge positions have been determined, then the position of the left and right edge position coordinates and the position of one half are the position coordinate of the path center line. Finally, the pixel value at this coordinate is assigned a value of 1, the other pixels are marked as 0, and the final result is obtained.

Experiments prove that this method is effective. It can be seen from Fig. 3 that the path of different widths, through the method of locating the centerline, finally integrate a straight line. This line is the position of the center line of the path shown by the broken line in Fig 3, which effectively facilitates the extraction of positional deviation and angular deviation. At the same time, due to taking the center position and re-assigning, the influence of discrete noise is suppressed to some extent. Comparing the result graph with the graph in the previous section, it is not difficult to find that the two white noise points below the original path no longer exist in the processed result graph, and the expected effect is achieved.

After designing the fuzzy controller model, we need to save the model and store the result in a matrix buffer in the form of a matrix. If we want to make the designed controller enter the simulation test as a module on the Simulink simulation platform, we can achieve the purpose by assigning the output matrix variable as a parameter to a packaged fuzzy module.

This paper chooses MATLAB to carry out simulation test of fuzzy controller and define input and output variables. First, we entered the FIS (Fuzzy Inference System) editor and set the name and number of the fuzzy controller’s input and output variables, the blur factor, and the clearing method through the selection of the main menu. It can be set in order as needed. Figure 4 shows the input and output variables selected according to the requirements of the fuzzy controller designed in this paper. The linguistic variable membership function is then defined as described in the previous table. The steeper the shape of the membership function, the higher the resolution and the higher the control sensitivity. On the contrary, if the change of the membership function is slow, the control characteristics are also gentle. We choose the triangle membership function as needed.

Fig. 4
figure 4

a, b Path center line location map

Then, the fuzzy control rule is defined. First, we enter the main interface of the fuzzy rule editor, which is essentially a text edit box. Fuzzy rules are shown in the table. Here, we write the rules to the editor in turn according to the fuzzy rule writing format. After the fuzzy rule is correctly input according to the input mode of the specified editor, the 3D preview can be accessed through the main menu of the editor. After designing the fuzzy controller model, we need to save the model and store the result in a matrix buffer in the form of a matrix. If you want to make the designed controller enter the simulation test as a module on the Simulink simulation platform, then we need to assign the output matrix variable as a parameter to a packaged fuzzy module to achieve the goal.

3 Results

In this article, the experimental platform was first built, then a large number of test experiments were carried out on the experimental platform, the experimental data was carefully recorded, and the experimental data was carefully classified. It was found that the proportion of navigation success was more than half, and the effectiveness of the method was tested. At the same time, we carefully analyzed the experimental group of navigation failures in the experiment, tried to find out the key factors affecting navigation, and reasonably forecast the future research and development direction. The specific results are as follows.

The linguistic variable membership function is defined. Figure 5 shows the membership function of the control quantity U.

Fig. 5
figure 5

The membership function of the control quantity U

The result of the 3D preview is the sharpened result graph, and the three axes represent the two inputs and a single output of the system. Through the 3D graph, we can query the domain of the fuzzy variable and verify whether the above fuzzy rules and anti-fuzzification processes are correct. From Fig. 6, we can check the correctness and rationality of the designed controller from multiple angles and intuitively.

Fig. 6
figure 6

3D image after defuzzification

A set of simulation data is given as shown. Figure 7 shows the trajectory of the automatic transport vehicle tracking circular. The red trajectory in Fig. 7 is the set path, and the blue trajectory is the trajectory when the automatic transport vehicle tracks the path. The radius of the circle is 2 m, which simulates the actual minimum radius of rotation in the real world. The starting position starts from the center of the circle and looks for the trajectory to the right. It can be seen in Fig. 7 that the circular trajectory can be well tracked.

Fig. 7
figure 7

Tracking results of a circular path

There are a positional deviation and an angular deviation in the path of the automatic transport vehicle transport task and the actual operation. Therefore, the control system needs to correct the running posture in real time, make it set the route to run smoothly, and simulate the travel route of the automatic transport vehicle when actually carrying out the transportation task. The automatic transport vehicle starts from the center of the circle corresponding to the simulated route. When it reaches the far right, it starts to track the circumference and finally returns to the starting point of the circumference, and the transport task is completed. Automated transport vehicles follow a circular path when performing simulation tests. Since the automatic transporter follows the circular motion, it must be constantly corrected in the X direction because the motion trajectory is curved. We observe the error value of the automatic transport vehicle trajectory in the X direction through the observer. Similarly, when the automatic transporter moves in a circular motion, it needs to be constantly corrected in the Y-axis direction, so that the trolley can travel according to the set path. Figure 8 is the error curve in the X-axis direction, and the step size is 1000. When the automatic transport vehicle runs normally along the trajectory, the error in the X-axis direction is about 2 cm, which is within the error tolerance. The reason for this error is that the trajectory is circular, and each trajectory has a curvature, so it is necessary to constantly adjust the traveling direction to advance along the path centerline position.

Fig. 8
figure 8

Error analysis in the X direction

Figure 9 shows the error in the Y-axis direction. When the automatic guided vehicle starts normal operation along a circular path, the error value in the Y-axis direction is about 2 cm, which is acceptable in the error tolerance range.

Fig. 9
figure 9

Error analysis in the Y direction

After the experimental platform was built, a large number of experiments were carried out in the indoor trajectory and the number of experiments was more than 1000 times. Experiments were carried out on straight trajectories, elliptical trajectories, circular trajectories, and so on. Due to the large amount of experimental data, only one of the groups was listed in this study. The data of the experiment was carried out on a straight trajectory with a distance of 15 m. The speed was adjustable, and the accuracy of reaching the destination was used as the evaluation standard.

4 Discussion and analysis

When the car reaches the destination from the starting point, the error is recorded as qualified at about 3 cm. When the error is exceeded, it is recorded as the navigation failure. The total number of experiments was 200, the number of successful navigation was 178, the number of failures was 22, the success rate was 89%, and the failure rate was 11%. The detailed analysis below causes the error to be too large to cause navigation failure and improvement.

There are two experimental data in Table 1 that the distance from the centerline of the path exceeds 10 cm when the car arrives at the destination. In the local experimental environment at the time, this error value was too large and it was a serious navigation failure. The reason for this situation may be that the algorithm adaptability is poor. When the end of a loop does not correctly assign a value to the variable update, the navigation fails and the car directly runs out of the trajectory a long distance. In response to this problem, we can improve the algorithm, for example, after initialization, check whether the assignment is correct. If it continues correctly, it will be reinitialized incorrectly.

Table 1 Partial experimental data

In the 15th experiment, a wooden board was suddenly placed 5 cm in front of the car when the car was running normally, and the car collided with the board and stopped. The car has an ultrasonic obstacle avoidance module in front of the design, but according to the principle of ultrasonic obstacle avoidance, we know that the ultrasonic obstacle avoidance is limited by a certain distance. If the distance is too short, the time difference between the sounds and the rounds is small, and it is almost impossible to distinguish, and the obstacle avoidance effect cannot be achieved. In the future research, multi-sensor data fusion technology can be fully utilized, and the ultrasonic sensor and the infrared sensor are used to cooperate with each other to complement each other to achieve better obstacle avoidance effects. We tested 10 groups of obstacle avoidance obstacles, 7 of which were successful in obstacle avoidance and 2 were not shown in the table. The obstacle is the tall plank we placed above the path. The car did not successfully evade the obstacle, but collided with the board because the obstacle was too high and the ultrasonic sensor did not detect the presence of the obstacle.

Under normal conditions, when the car drives to the end of the path, there is no longer a sign of the path, the car will stop, but in the experiment, the car stopped when it was in the middle of the path. After analysis, we found that the groups of experiments that had problems occurred under the strong sunlight of direct traffic on the road. Analysis of strong light illumination from image processing may result in blurred images, so no path is detected, resulting in operational parking. In addition, there are two sets of data because in the experiment we deliberately covered the path with dark coverings. When the distance covered by the path is short, the car can still judge the continuity of the path to continue. When the width of the covering exceeds 10 cm, the trolley makes a judgment path terminal, and thus, a parking operation is made.

In the car experiment, if there is a bad road condition, the road is not flat, and there are gullies, etc., it will also affect the navigation accuracy. Therefore, in the future research, the car body can be improved from the mechanical structure, so that it can withstand the general condition. The reason is that the road conditions are relatively stable in the actual workshop application, and the bad road conditions account for a small number of sections. It is not the case that the outdoor work situation is particularly strong against the road conditions.

The working power supply is very important for the normal operation of the car, which is the necessary energy. If there is no power supply, no matter how good the controller is, it will not work. Although it is easy to operate by means of a rechargeable battery, it requires manpower to replace the battery or charge when the power is exhausted. Therefore, future research can make efforts in the automatic charging method to make the automatic transport vehicle more intelligent.

Through the above analysis, it is known that the path region is divided in the image as a target region for subsequent processing to reduce interference caused by other objects in the background. Then, the translation vector is detected by the fast gray projection algorithm, and the video image is corrected by motion compensation to achieve the image stabilization purpose.

5 Conclusion

This study analyzes the path of port logistics transport vehicles and studies several key technologies of the new visual navigation automatic transport vehicles. Combining the actual needs of current port logistics and the visual navigation in this paper, this study adopts monocular vision for logistics vehicle guidance, comparatively studies the mathematical models established by past scholars, and establishes a simplified mathematical model of automatic transport vehicles. In the fourth chapter, in the research of the extraction of path information, an algorithm for extracting the position of the centerline from a path with a certain width is proposed innovatively, and good results have been obtained through experiments. In addition, this study established the controller model of the automatic transport vehicle and built the model under Simulink in Matlab to simulate the automatic transport vehicle to track the circular trajectory to run, analyze the error, and verify the effectiveness of the method. Finally, we carried out the actual performance test on an automatic transport vehicle of the project team and tested the performance of speed, precision, and motor running respectively. The test results show the feasibility of the method.