Simulator of Multi-AGV Robotic Industrial Environments

Size: px
Start display at page:

Download "Simulator of Multi-AGV Robotic Industrial Environments"

Transcription

1 Simulator of Multi-AGV Robotic Industrial Environments Krešimir Petrinec 1, Zdenko Kovačić 1, Alessandro Marozin 2 1 University of Zagreb, Faculty of EE&C, Unska 3, Zagreb, CROATIA 2 Euroimpianti srl, Via Lago di Vico, SCHIO (Vicenza), ITALY Abstract This paper is concerned with simulation of floor shop layouts that may contain a number of robotic manufacturing cells and a number of Automated Guided Vehicles (AGVs) that commutate between dynamically determined starting and end nodes. We describe improvements of the AGVs pure pursuit path planning algorithm that were achieved by using a simulator for the off-line and on-line testing purposes. Simulator enables more efficient planning of the whole manufacturing process, optimization of the number of AGVs for a given floor shop, and easy modifications before implementation of the real system. primarily depend on the AGV traveling speed which is determined (controlled) by the path layout designer (operator). 1 Introduction New emerging technologies have enabled fast transformations of industrial environments. The level of automation and usage of robotic devices in such environments is constantly increasing. In this sense, Automated Guided Vehicles (AGVs) have an important role in manufacturing processes, as they represent an intelligent link between a factory floor shop and an accompanying warehouses merging them into one supervised fully automated system. Due to the large complexity of floor shop layouts and variety of possible configurations, the tendency is to first design such systems in the virtual reality world (see Fig. 1) and then start thorough experimenting before building a real system. In order to provide conditions for realistic experiments in the virtual world, one must create an appropriate simulator. There are several issues which must be considered during simulations. One is AGV path determination, as paths connect nodes and nodes can be either start nodes, end nodes or pass-through nodes, which means that the physical layout of the shop floor determines the path layout in the AGV s corridor (see Fig. 2). When multi-agv systems are considered, all possible routes in the system that a particular AGV can pass through must be determined and controlled by supervisory control. Very often a loss of communication may occur between the vehicle and the supervisory controller or some problems with navigation may happen (for example, the loss of a visual contact between a laser source and mirrors). Also, a manually controlled AGV can be switched to autonomous mode any time and at any position on the shop floor. In that case, a navigation system must provide information regarding a current vehicle position and the vehicle should autonomously move towards the closest segment on its path. In general, paths can be either linear or circular with arbitrary lengths and traverse times. The traverse times Fig. 1: Multi AGV robotic industrial environment. Fig. 2: The AGV traveling on the determined path layout. 2 Pure Pursuit Path Tracking Algorithm In the studied case, AGVs are laser guided vehicles - unmanned forklifts, which travel and switch through sequential layers from the start node to the end node [1]. The configuration of the studied AGVs is of a tricycle type with the front driven wheel and two back stabilization

2 wheels. Due to such AGV configuration, different kinematics models exist for forward and backward direction of motion. Path following is accomplished by using a pure pursuit algorithm, whose main characteristics are marked simplicity and notable effectiveness providing that parameters such as a look ahead distance are well adjusted to the dimensions of the AGV and the dimensions of the path to be followed [2]. The pure pursuit algorithm was originally devised as a method for calculating the arc necessary to get a mobile robot back on a path. A path is a set of straight segments and arcs with a continuous tangent. A segment is defined as a straight line between two nodes. The first task of the pure pursuit algorithm is to find a segment closest to the vehicle. When the closest segment is found, a goal point has to be found. The goal point is point on the path that is one look ahead distance from the current vehicle position. An arc that joins the current point and the goal point is constructed and transformed into a steering wheel angle. The scheme shown in Fig. 3 displays the construction of the arc. Position H, which is look ahead distant from the current vehicle position P, is the goal point of the AGV. The x axis of the vehicle s coordinate system passes through the front axle of the vehicle. The objective is to calculate the curvature of the arc that joins the origin to the position H and whose chord length is d. The required curvature is computed by the following set of equations: was tested and it showed good results within the virtual 3D environment of AGV Simulator, the algorithm was implemented in hardware controlling laser guided vehicles. In the real system communication between the vehicles and the control hardware is going through the wireless TCP/IP connection. To prevent a possible damage of vehicles during first tests of implemented path planning algorithms, instead to the real AGVs, the control hardware was connected via TCP/IP to the AGV simulator. The simulator contains a stable TCP/IP server with a parser that can recognize and execute essential commands like place vehicle, drive vehicle and get current vehicle position. The control hardware is sending these commands to the AGV Simulator and requested positions and orientations of the vehicles are displayed in the virtual environment. Whenever the simulation has shown good results, the AGVs may be turned on and started to execute the hardware s requests. Sample paths for testing of a pure pursuit path tracking algorithm are created within AGV Simulator (Fig. 4), where it is possible to add a new node, set its position, set AGV s velocity on the segment which begins with this node, set a type of node, select some other node and remove the selected point. y α H yp = arctan 2 υ (1) xh xp ( α ) x hc = d cos (2) 2 d R = (3) 2 where υ is the angle between the vehicle s coordinate system and the reference coordinate system, d is a look ahead distance. The calculated x hc is orthogonal projection of H point to the x axis of vehicle s coordinate system. R is the radius of the constructed arc. A steering angle is computed by: w β = arctan 2 (4) R where w is a wheel base the distance between the front and the back vehicle axle. Note that in case of zero or very small x hc, R is infinite or very large and the steering angle β equals to zero. x hc 3 AGV Simulator AGV Simulator is a Windows application developed in first place for the development and testing of path planning algorithms. As mentioned before, we use the pure pursuit path planning algorithm. Only after the planning algorithm Fig. 3: Pure Pursuit Path Planning Algorithm scheme.

3 3.1 Improvement of the pure pursuit algorithm In case that the AGV is distant more than one lookahead distance from the path to follow, the pure pursuit algorithm can result with a large trajectory. To prevent this phenomenon, a new goal point H 2, which is one lookahead distance far from the current vehicle position P, is selected (see Fig. 6). A new arc with the center C 2 has a smaller radius. The smaller radius means a greater steering angle, which results with the quicker path regain. Simulation results are displayed in Fig. 7. Fig. 4: Nodes and Segments Editor. Two types of nodes are supported: a normal type and a pass-through type. If a segment end node is a normal type, the implemented pure pursuit algorithm uses the same look-ahead distance value within the whole segment. If there is any look-ahead distant point within the next segment then the algorithm finds this point to be a goal point. In case of a pass-through type, the algorithm changes (decreases) the look-ahead distance as long as the distance between a current and a goal point is greater then some small value, e.g. 0.1 m. When the end node is reached the algorithm selects the goal point according to the definition of the next segment end node type. It has been noticed that the selection of a look-ahead distance can cause problems [3]. Large look-ahead distances result in a gradual and smooth regaining of the path, but one which may take a considerable amount of time. Short look-ahead distances regain the path quicker, but may result in oscillations about the path. Fig. 5 shows these two effects, where AGV follows a square path, size 8 x 8 m. Experiments show that a good choice of a lookahead distance is around one wheelbase (in our case 1 m). Fig. 6: A new goal point H 2 selected on P-H line results with greater steering angle β 2. Fig. 5: AGV trace when lookahead distance d = {2.0, 1.0, 0.6}. Nodes A and B are normal type. Nodes C and D are pass-through type. Fig. 7: AGV trajectory with and without fast return to the path.

4 In the search for the goal point a combination of the line and the circle segments can result with complex equations and many complex conditions. To avoid possible mistakes and to simplify implementation of the pure pursuit algorithm the circle segments are split into small line segments. Fig. 8 shows an example with such an approximation that proved to be very effective from the practical point of view. A simulated trajectory corresponds to the desired circle segment. AGV_PLACE (int PosX, int PosY, int Angle), AGV_DRIVE (int Vel, int Steer), AGV_GETPOS (). Command AGV_PLACE places the vehicle into position (PosX, PosY) in an Angle direction. Command AGV_DRIVE makes the vehicle drive with a velocity Vel and a steering Steer. Command AGV_GETPOS returns the vehicle position and the angle to the client. Units are millimetres for the position and cent degrees for orientation. Fig. 8 shows the outlook of the AGV Server GUI. In the concrete experimental case the status window displays commands received from the client on the address Fig. 9: AGV Server dialog. 5 Conclusions Fig. 8: Simple circuit segment design. The circuit segment is approximated with five line segments. 4 AGV Server As mentioned before, to prevent accidents in the robotic industrial environments containing multiple AGVs control algorithms must be thoroughly tested. Computer simulations in the virtual environment can give a good insight into what is going on in the system. Since the AGVs in the studied industrial installation are controlled via TCP/IP connection, the AGV Simulator contains AGV Server with a TCP/IP support. The server communicates with clients and vice versa via TCP/IP protocol. It supports one or more clients and treats these clients independently. All the clients control the same robotic environment. As a result of such control clients can interrupt each other's commands. For example, one client can place a vehicle at one position and the other client can move it to another position. To communicate across the network under TCP/IP protocol AGV Server uses Windows Socket 2.0. AGV Server runs in three threads. One thread displays status, refreshes GUI and responds to the user commands like start/stop server, change the port number or exit/hide server dialog. The second thread is listening a user-defined port, handling multiple events and accepting clients. The third thread is parsing and executing commands received from the clients. Currently, the server supports three commands: Control of systems which simultaneously contain elements of industrial and mobile robotics, such as, for example, automatic palletising systems containing palletization robot work cells and the associated cluster of automated guided vehicles - forklifts, allows the full automation of the "end-line" packaging. Simulators which simulate the motion of the AGVs in the virtual world corresponding to the form and size of the actual world may be of great assistance in the process of development and testing the system. We have shown that the developed AGV Simulator has enabled off-line tests of various path planning algorithms, focusing on the pure pursuit path planning algorithm. By taking the AGV configuration into account and by implementation of the forward and backward kinematics, simulator has enabled elegant off-line tests of path planning algorithms. It has been demonstrated that the usage of simulator proved that a standard pure pursuit algorithm can be improved in terms of better regaining of the path by the vehicle that has to return to the path. By adding a TCP/IP server that supports a multi-clientserver communication via TCP/IP protocol, on-line tests of algorithms implemented in the actual control hardware has become possible. In this way, AGV Simulator has allowed possibilities to test all implemented algorithms while having a chance to optimize the floor shop layout and the number of AGVs in the systems, as well the network of their possible trajectories. Fig. 10 shows an example of resolving a path planning coordination of a cluster of four laser-guided vehicles. A further development of AGV Simulator is oriented towards possibilities to include supervisory control which would include different AGV dispatching strategies.

5 Fig. 10. Solution of a path planning problem for a cluster of four laser-guided vehicles displayed in AGV Simulator. Acknowledgement The work presented in this paper was supported by a grant of Sitek S.p.A., Verona, Italy. References [1] AGV Control System for Euroimpianti Automated Guided Vehicles, Technical report, LARICS, Faculty of EE&C, University of Zagreb, [2] R.C. Coulter, Implementation of the Pure Pursuit Path Tracking Algorithm, The Robotics Institute Carnegie Mellon University Pittsburgh, Pennsylvania 15213, Jan [3] K. Schillcutt, D. Apostolopoulos and W. Whittaker, Patterned search planning and testing for the robotic Antartic meteorite search, Field Robotics Center, Carnegie Mellon University, Pittsburgh, PA