Keywords

1 Introduction

1.1 What Is AGV?

AGV is a system consisting of an unmanned, battery-powered vehicle, a guidance system, and other associated components. It is a programmable system which can be programmed according to the need of the organization’s shop floor requirements, it can take material/product through a variety of different paths based on the traffic along the paths using programming to get to the desired location. AGV’s can work throughout the year, round the clock increasing the productivity of organization. There are four main components of an AGV system. They are as follows:

  • The Vehicle, which is used to traverse through the shop floor without human operator.

  • The Guide Path, which guides the vehicle to move along the specified path of travel avoiding obstacles.

  • The Control Unit is consisting of various controllers, sensors, encoders, etc., for proper monitoring of the system.

  • The Computer Interface: Several AGVs are connected to the main host computer and other systems such as Automated Storage and Retrieval Systems (AS/RS) to perform the functions efficiently as in flexible manufacturing systems.

1.2 Role of AGV

The use of material handling system within the organization helps improve the productivity within the organization and reduces the dependency on labor for the organization, which is a key problem for any organization. There is scope for reducing labor in material handling systems by using technology in a competitive global environment. It can perform tasks even in hazardous environments. Its application involves: (a) Handling of raw materials in an organization, (b) Movement of the work in process (WIP) inventory, (c) Handling of pallets using automotive technology.

1.3 Existing AGV

Table 1 shows the advantages and disadvantages of various existing AGVs on the basis of the guidance systems used.

Table 1 Advantages and disadvantages of existing AGV systems

2 Literature Review

Saurin Sheth et al. have developed a color-guided vehicle system and special purpose machine using mechatronics system, which includes machine vision, pneumatics, Arduino, and Zigbee wireless module [1, 2, 3, 4]. V. Chauhan et al. have developed sophisticated approach for detection of colored object detection using computer vision [5] and also further helped in improvement in the color detection algorithm [6]. Hark Hwang et al. have developed a new automated guided vehicle (AGV) dispatching algorithm which is based on the concept of bidding. The given algorithm utilizes the information of WIP and travel time of the AGV by making use of mathematical functions [7]. Ottjes et al. proposed a free range which is dynamic and has benefits over other models. A simulation model compares various layouts of the fixed type with the approach to connect through the shortest route. Explicitly the avoidance of collision will play an important role. It can thus be concluded that this approach has very high potential in terms of transport capacity [8]. K.H. Patel et al. have designed a closed-loop image processing system in a mechatronics system. Closed-loop system aids the robotic arm to align in a required sophisticated arrangement [9]. J.T. Udding et al. have developed an AGV system using zone control methodology. A number of layouts are designed for the workspace of the AGVs. A traffic control strategy is formulated which decouples the traffic congestion problems of the AGV traveling on congested networks consisting of several AGVs. An algorithm is formulated for tackling the problem of traffic congestion using zone control. The goal is to minimize the travel time of the AGV as well as the transportation time [10]. Lothar Schulze et al. have provided an overview on AGVS technology, giving information about recent technological advances made in the field of material handling systems and the results of research through use of various methods such as statistical analyses, characteristics curves, and new approaches [11]. David Portugal et al. have presented the full integration of compact educational mobile robotic platforms built around an Arduino controller board in the robotic operating system (ROS) [12]. ROS serves as a common platform for interfacing of various hardware and software such as controllers, sensors, and image processing software such as OpenCV. By reviewing this, it seems that new school of thought to secure intelligent interaction between environment and robot vehicle is required.

3 Scope, Objective, and Need of Proposed System

Block diagram of the proposed system in Fig. 1a shows the setup of the proposed system. It shows the predefined arena with start point and end point, along with the various static obstacles that are lying around. The obstacles are of various sizes and shapes, which have to be identified by various algorithms like shape detection and edge detection [13]. The image that comes from the center camera located at the top is used to obtain the shortest global path from start to end using image processing with help of the off board laptop having various packages in ROS. This global path will generate waypoints for the robot to traverse. The image will also provide current pose for the robot which helps in estimating the next pose for the robot. Thus, the proposed system uses image processing and artificial intelligence to decide the shortest path in various applications like material handling systems, defense industries, agriculture, etc.

Fig. 1
figure 1

a Conceptual sketch of the proposed system. b Block diagram of proposed system

Figure 1b shows the block diagram and concepts used in designing of this intelligent system. First, take the image which is captured by the camera, which is then homographed using the homography function in OpenCV so that a desired image is available for image processing operations in OpenCV. After homography that image is used to find the contours, corners, and centroids of the obstacles in the image and their distances from the start point. The obtained points are given to the artificial intelligence algorithms which will form a desired shortest path of travel between the start point and target point. Now, these points are given to ROS which serves as a common platform for the interfacing of various hardware, software, and sensors. As per the instructions given by ROS, the Arduino controls motor and thus reaching the target point via the shortest path avoiding obstacles.

4 Design Methodology

4.1 Mechanical Design and Its Model

Figure 2 shows the simple and conceptual model of the AGV.

Fig. 2
figure 2

Conceptual sketch of AGV

Figure 2 shows different components that were used in the making of automated guided vehicle. The system uses two wheel drives to traverse in workplace. The frame for unit is a hollow frame, i.e., just a frame which supports motor support clamps. Onto this frame, a flat plate is put which acts as a base on which material is loaded or unloaded. This cylindrical block shown here is the conceptual design for motor body.

4.2 Homography

In the field of computer vision, any two images of the same planar surface in space are related by a homography. Homography is a mathematical operation performed using the concept of matrices. It consists of two matrices P and Q such that P = HQ; where P = output image, Q = input image, and H = homography matrix, Thus after finding the homographic matrix H, we apply it onto the input image Q to get the output image P on which all of the image processing operations can be performed to get the desired results. As the image is taken from the overhead camera placed at a suitable height above the working arena, the image obtained is trapezoidal in shape but in order to process the image, it is needed to be in square form, which can be achieved through the process of homography. Figures 3 and 4 show the example of homographic process as mentioned above. Homography can also be of use in recognizing alphanumeric through image segmentation when viewing from an angled camera [14].

Fig. 3
figure 3

Original image before homography

Fig. 4
figure 4

Result of homography

Figure 5 shows the experimental output achieved by generated codes of image processing. Here, the homography is performed on real-time situation using the live video stream of the camera.

Fig. 5
figure 5

Experiment’s real time result of the homography

4.3 Image Segmentation, Counter Detection, and Centroid Detection

Now, the image which is obtained after homography is used to find the contours of the obstacles placed in the path of the vehicle. After detecting the contours, the centroids of the obstacles and the distances of the centroids from the start point of the arena can be obtained and the distances can be mapped into a 10 ft × 10 ft area. Figure 6 shows the centroid and contour detection.

Fig. 6
figure 6

Image segmentation and contour and centroid detection

4.4 Artificial Intelligence

Rapid Exploring Random Tree (RRT)

RRT as shown in Fig. 7, is an AI algorithm which can be used for path planning of AGVS in the proposed system. It works by finding a shortest path between the start and target point. Similar to a RRT is an algorithm called A* which can be used to program the system efficiently to achieve the shortest path. The tree preferentially expands towards large unsearched areas. It tries to connect the samples in random space available in the search space. If the result of searching is feasible then a new state is added to the tree and the tree starts expanding towards the target point taking the shortest possible path among several global paths. Then, check the collision of robot with the environment objects and do it until the robot is not in collision and has not reached the random target point. If robot hits an object in environment at a grid point say, for example [6, 6], then take the previous point [5, 5] which is not in collision. Insert all points till the new point example [5, 5] in the dictionary with parent as key and new point as value. Repeat it once again. Put random value == goal position after every 3–4 random values, so that the tree is directed towards the goal point. Experiment with this value. Repeat the whole thing again till last point in the dictionary (Nodes) is not the goal point in other words, the goal has not been reached [15].

Fig. 7
figure 7

RRT example

A* Search Algorithm

A* search algorithm is used to find the path and graph traversal. It employs a process of finding efficient traversable points in the path called the nodes. It is known for its accuracy and performance. However, practically in travel-routing systems, it is outperformed by some algorithms which can preprocess the graphs to attain better accuracy and performance. However, much of the work done shows that A* outperforms many algorithms and is considered superior to other approaches.

In this algorithm, staring node and ending node is defined or at least stored on the system. Loop of the algorithm starts by the evaluating or expanding first node and determines the neighboring nodes. These new nodes are kept in the “open” nodes while the analyzed nodes are shifted into “closed” one. f(x) = g(x) + h(x): where f(x) is the total weight or total cost while g(x) is called path cost and h(x) is called the heuristic cost, shortest distance between current node and the final node. Algorithm eliminates the high cost paths and finally calculates and provide the sequence of nodes for the shortest path [16, 17, 18].

4.5 Specification of the System

Efficient system is a prerequisite for running any process efficiently. So, an attempt is made to make a product that meets the required specifications but within an affordable cost structure to the consumer. The capabilities of the system use during testing are provided in Tables 2, 3, and 4.

Table 2 Arduino specification
Table 3 Camera specification
Table 4 Motor specification

4.6 Environmental Constrains

As this intelligent system cannot be used in just any environment, much of constrains are defined below for successfully implementation of the proposed system.

  • The obstacles should remain static throughout the run.

  • No moving object should come in the path of AGV.

  • The surface on which vehicle is moving needs to be flat.

  • The vehicle is restricted to move in a fixed region only.

  • The given area should be completely visible in a single frame of camera.

5 Experimentation and Testing

Figure 8 shows the experimental environment for real-time testing. The image in this figure has been taken from the key camera which is being used to guide the AGV. Here, the prototype of AGV is in the left hand side corner which is a starting point and the final position in the right-hand side corner. Figure 9 shows that sample test was carried out. Here, a cardboard of various shapes is used as an obstacle. With the help of the central camera, the images are taken. Then, the homography of the image has been carried out and final images were used to define contours, obstacles, and their distance from the start point. With the help of the artificial intelligence, it will follow the shortest path without touching the obstacles, with help of the algorithms, which commands the motors through ROS interface. A number of tasks are performed in the environment as shown in Fig. 8. Accuracy in positioning of the AGV, while testing, was almost 80% with an error of 5–10 cm. Here, main frame computer was the laptop and also, camera and Arduino Uno were connected through cables with it.

Fig. 8
figure 8

Experimentation setup environment

Fig. 9
figure 9

Images of final testing in the experimental environment

6 Conclusion and Future Scope

This intelligent system proposed works entirely on the open source platform using open source software like ROS, OpenCV, OpenRave, etc., thus, minimizing the overall cost of the system and being productive. It can be used in various industrial applications like (a) manufacturing, (b) Warehousing, (c) Pharmaceuticals, (d) Automotive, etc.

Above system has been developed by using various open source platforms and is thus cost-effective. The productivity of the organizations can increase to a great extent due to optimized path travel. The same concepts can be used for variety of industries.

The proposed system has its scope of working in defense where it can carry ammunitions to remote places of war which are far from the base camp of the army. This application would require advancement in the system which could include accurate positioning and giving direction to the vehicle through the advanced vision and navigation system by use of satellites.

Above proposed system can work only for static obstacles during the run but it can be further extended to work with a dynamic environment using dynamic obstacles and improved navigation technology. For dynamic environment A* will not be of any use, instead many options are available such as D* [19], D* LITE, Anytime A* [20], etc. These algorithms are widely used for unknown or partially known dynamic environment for path planning of the AGV.

Localization of AGV can be further improved using triangulation method for positioning and for orientation of robot, wheel encoders will be an effective choice [21]. This whole system will need ROS-based environment and for that large communication network must be created which can be accessed across the whole environment. Line following technique is also one of the options for navigation of an AGV and in fact, it is one of the popular navigation approaches in industries [22]. Swarm robotics in AGV is also much in popular in modern industries and can also further be improved by improving the swarm communication among them [13].

This intelligent system can also be used in mining application. Additional sensors are required for navigation of the AGV. Mining robots are of great choice when exploring dangerous mines, in terms of poisonous gases and uneven mine caves. Here, satellite navigation or normal wireless navigation may not be an option due to robot traveling inside the caves; fiber optic communication can be used for positioning and transfer of data in this type of environments.