Computers in Industry 38 Ž1999. 187–200
Application of a real time expert system platform for flexible autonomous transport in industrial production c,3 Martin Mellado a,) , Eduardo Vendrell a,1, Alfons Crespo b,2 , Pedro Lopez , ´ c,4 c,5 d,6 d Juan Garbajosa , Carmen Lomba , Klaus Schilling , Hubert Stutzle , ¨ e,7 Rudolf Mayerhofer a
Department of Systems Engineering and Control (DISA), Polytechnic UniÕersity of Valencia, Camino Vera s r n, E-46022 Valencia, Spain Department of Computer Engineering and Science (DISCA), Polytechnic UniÕersity of Valencia, Camino Vera s r n, E-46022 Valencia, Spain c GMV, c r Issac Newton, 11, PTM Tres Cantos, E-28760 Madrid, Spain d FH RaÕensburg-Weingarten, Postfach 1261, D-88241 Weingarten, Germany e Schoeller-Bregenz, Mariahilfstrasse 29, A-6901 Bregenz, Austria
b
Abstract In a manufacturing environment, material transport plays a key role for the production process efficiency. In Schoeller-Bregenz ŽSB., a textile manufacturing SME, induction wire guided vehicles performed typical material transports, without the flexibility to adapt transport routes to changes in the production process. To overcome these deficits in the RETRARO project 8 an Autonomous Guided Vehicle ŽAGV. was designed and tested in the production plant. To adapt to changing production configurations, RETRARO had to provide solutions for the following functionality regarding economical constraints: algorithms for efficient path planning and health monitoring; economic sensor systems to provide navigation and obstacle avoidance functions; Integration of free navigation capabilities with existing wire guidance systems. This paper presents a survey on the AGV system design and details on the implementation of the control system based on: the real time
)
Corresponding author. Tel.: q34-963879575; fax: q34-963879579; e-mail:
[email protected] E-mail:
[email protected]. 2 Tel.: q34-963877570; fax: q34-963877579; e-mail:
[email protected]. 3 Tel.: q34-91-8072100; fax: q34-91-8072199; e-mail:
[email protected]. 4 Current address: OEI, Madrid Polytechnical University, Crtra. Valencia Km 7, E-28031 Madrid, Spain. Tel.: q34-913367882; e-mail:
[email protected]. 5 Tel.: q34-91-8072100; fax: q34-91-8072199; e-mail:
[email protected]. 6 Tel.: q49-751-48542; fax: q49-751-48523; e-mail:
[email protected]. 7 Tel.: q43-5574-609-0; fax: q43-5574-609-307; e-mail:
[email protected]. 8 The RETRARO project ŽRef. 20.778. is partially funded by the ESPRIT IV Programme of the European Commission. RETRARO Consortium is formed by GMV, UPV, ARS, FH Ravensburg-Weingarten and Schoeller-Bregenz. 1
0166-3615r99r$ - see front matter q 1999 Elsevier Science B.V. All rights reserved. PII: S 0 1 6 6 - 3 6 1 5 Ž 9 8 . 0 0 1 1 8 - 3
188
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
expert system REAKT for path planning and health monitoring; a low cost ultra sonic range detection system using sensor data fusion for navigation and obstacle avoidance. q 1999 Elsevier Science B.V. All rights reserved. Keywords: Intelligent control; Autonomous guided vehicles; Intelligent planning; AGV integration in manufacturing; Sensors; Navigation; Expert systems
1. Introduction Throughout Europe there are about 1700 transport systems operating in industrial production and material distribution. These systems are mainly based on robots guided by artificial reference marks, mainly by induction wires laid down in the floor, the socalled Wire Guided Vehicles ŽWGV.. Although this approach functions reliably, it presents some lack regarding flexibility to adapt to new transport requests for changing production needs. Autonomous Guided Vehicles ŽAGV. could help to avoid this lack of flexibility because of their capability to move on a freely planned path around in the factory. In order to achieve an efficient Autonomous Guided Vehicle system, performance requires innovations in areas such as: 1. Distributed control. Allocating responsibilities for path planning and obstacle avoidance to the vehicles distributed among different processes that will take care of the interface to the production planning system. 2. Real Time features for scheduling, path planning and status monitoring as well as for health monitoring. 3. Sensor data fusion, including Fuzzy Logic and occupancy grid processing schemes, to derive robust, low cost ranging systems for navigation and obstacle avoidance purposes. Several experiments have been carried out in order to integrate an AGV in a real environment. Each one, according to the particular environment, bases the integration on different appropriate techniques. In this sense, PRIAMOS w1x is an autonomous mobile robot that bases its efficient operations on a reliable model of the real world and integrates a sophisticated sensor system that allows update this model. Another experiment is MARTHA w2x, a ESPRIT project that implements a system based on a fleet of mobile robots, controlled by a central system that makes the mission planning and assigns individual tasks to each mobile robot.
In the RETRARO project, a research project awarded by the European Union, control and sensor data processing concepts on the basis of fuzzy logic and real time expert systems were applied to enable a vehicle to deal autonomously with typical uncertainties of an industrial working environment. This approach provides good navigation, collision avoidance and target docking capabilities, based on measurements by cheap, but less accurate sensors w3x, followed by intelligent data processing based on REAKT, a real time expert system platform resulted from two previous ESPRIT projects w4–6x. The main aim of the RETRARO project is to expand an already existing wire guided transportrobot system in the production environment of the company Schoeller-Bregenz ŽSB., active in the area of wool processing and spinning. SB is a spinningmill for the production of worsted-yarn. The main products of SB for the last 40 years had been yarns of pure wool and blending with acrylic. A lot was about 5000 kg in mainly the same colour and about 8 lots must be handed in parallel. In 1985 a transportsystem with WGVs was installed to increase the efficiency of the transport between the spinning and the winding department. The vehicles are guided by inductive wires in the floor and controlled by a central computer. Both, the inductive wires and the stored program in the central computer, are fixing the paths of the vehicles. After years of stability, most of production changes have been faced in the last years: The lots decreased to 1500 kg and are still decreasing Žprobably to less than 800 kg., implying more than 20 lots in parallel and all of them in different colours. To fulfil these demands, total changes in the layout of the plant and in the working methodology are required. These changes require a permanent innovation in the internal transport system. After each removal or replacement of a machine, the paths and the logical connection between different working places have to be updated. In traditional WGV based transport systems, large efforts and modifications in hardware to adapt the
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
system to the new situation are required. Specifically, the optimisation of transport tasks needs a lot of brainwork and time. So the transport system in a company with the need of permanent changes need to be very flexible and not very expensive. Only advanced AGVs can fulfil the required flexibility as far as they work without any fixed installation. The adoption of any new technology must be performed in a fashion that production suffers as little as possible. There will be always a period in which the new application will have to be tuned and that period is always problematic. This period must be reduced to a minimum. For this reason, the strategy decided in the case of SB was a step by step one. That is, in a first stage, one AGV will be introduced, and the AGV operation within the manufacturing process tested. This is the opportunity to test and tune the Intelligent Control System of this AGV. The second step will be to replace the WGV control system by another in which several AGVs are co-ordinated, probably a distributed control system. Therefore, within the existing fleet of four vehicles, one vehicle is upgraded to perform free
189
navigation in areas not covered by the existing induction wire network, laid down in the floor. This free navigating AGV will be used to provide a flexible mean for the transport of materials between different processing areas. The concrete application example concerns transports of boxes with bobbins or tubes between production units in wool processing, including spinning machines, steamers and winding machines. Some of the most relevant requirements fixed by the end user of the new system are the following. Ø Some new transport tasks must be considered between new loadingrunloading positions Žmachines and buffers.. These new positions are outside the induction wire network, so free navigation must be used to solve the tasks allowing the AGV to reach them. The new free navigation paths are displayed on Fig. 1 on the factory layout. Ø The AGV should use the shortest way to the winding department and without blocking any of the other vehicles using new defined paths with no inductive wires. Therefore, the existing system is to be upgraded by free navigation functionality. The
Fig. 1. New transport paths to be considered are marked with bold lines on the factory layout.
190
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
transport should be on an efficient path, and should also avoid collisions with unforeseen obstacles, like moved materials or persons passing by. Ø The AGV should find alternative paths, if available, to perform a specific task when a path is blocked. When an obstacle is found on the path, the reactive level will try to detour the obstacle. If this is not possible, a re-planning order must be sent to the path planning module in order to find the optimal alternative path to perform the task. Ø For shared areas with the other three vehicles, these have higher priority and the AGV must wait until the path is free. Special optic or magnetic barriers must be introduced on the factory and a traffic control software module must warranty that this is achieved. Ø The AGV mission planning shall perform an efficient battery recharging strategy based on capabilities to predict consumption of energy resources and to detect deviations. For this purpose the AGV maintains a data base, covering values like energy consumption per meter transport distance Žwithrwithout payload., per docking manoeuvre, per material transfer by the handling equipment etc. Due to these predictions and the measured battery charging level, stops for recharging are to be scheduled and co-ordinated between the AGV and the other three available vehicles, interrupting the transport tasks as little as possible. Ø The AGV should be able to detect major malfunctions and perform simple recovery actions. Comparison between predictions and actual sensor values regarding power consumption, environment, attitude should be used to identify malfunctions. The central control computer should be informed. The AGV should try to reach a parking position in order not to block the other vehicles. Possible simple counteractions like re-initialisation or redundancy switching should be tried in order to reach the maintenance station for a check by the personal. If this is not possible, the AGV should stop all activities, advice a survival mode and set a warning light to wait until maintenance personal takes care of it. Ø The system must be configurable in order to allow the definition, modification or elimination of practicable paths, as well as loadingrunloading positions. In this way, special software to adjust the data-basis keeping the path graphs and nodes must
be developed. This software should depart from a CAD map of the factory to define paths and loadingrunloading positions in a user-friendly way. Ø A man–machine interface must show at any time the state of the AGV. A graphical interface has been developed in order to show the AGV position, task under development, batteries status, and so on. This man–machine interface must allow the operator to introduce sets of tasks with different priorities, modify or cancel the tasks, know historical and statistical data of performed tasks, etc.
2. Architecture of the AGV control system The control system is the core of the AGV operation. This control system must hold in mind two manufacturing issues: Ø The optimum use of the facilities available, in order to get material transport at the lowest possible cost and in the shortest period of time, leading to a multi-objective path planning problem. Ø The whole set of tasks that the total manufacturing process is made of. It is important that the material transport activity never becomes a bottleneck. This leads to a monitored material transport flow. These two issues are closely inter-related. Nevertheless, as long as the specific objectives are different, we need to tackle them separately, reducing in this way the problem complexity. To accomplish this intelligent control, an architecture, not only hardware but also software, must be designed. The software architecture must allow integrating all the functionality of the system, with all the features that the system has to comply with. The hardware architecture is related to the configuration of all the equipment used in the system, the communication way and all the physical questions to be solved in order that the system performs all activities programmed. There are different architectures proposed to control an AGV system, each one according to the system features and functionality. In Ref. w7x, an architecture to control an autonomous underwater vehicle is presented. This control architecture is or-
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
ganised in three levels and is dynamically configurable in the sense that the lower level, the functional layer, is reorganised during mission execution by an architecture co-ordinator configuring all connections among modules and maintaining these connections to execute in the best way all actions planned. On the other hand, DAMN w8x is a proposed distributed architecture thought to select the task to be executed for a mobile robot by means of a voting decision. So, several distributed modules determine a mobile robot path by voting for each of various possible actions, then an arbiter performs command fusion to select the action to be executed. For the system at SB, the hardware architecture will be modified with a computer system composed of the following w9x. Ø A Central Control Computer ŽPS with OSr2 operating system.. It will be the existing one and will still control the other three existing wire guided vehicles Žby infrared communication.. Ø The RETRARO Control Computer ŽPC with Windows NT operating system.. It will control the RETRARO AGV by means of a part of the RETRARO-Software, dedicated mainly to mission planning, co-ordination with the old system, supervision and the system interface. The communication with the computer in the AGV is reached via a radio modem link guarantied in most of the movement area, in particular, for the start and end locations. Ø The on-board AGV Control Workstation Ža portable workstation with UNIX operating system.. It will manage additional sensors related to navigation and obstacle avoidance tasks. These inputs will be processed, together with the transportation task inputs, by the additional computer on-board taking care of mission planning, path planning and reactive level on the free navigation path segments. Ø The existing servo-level Control Unit of the vehicle, which will not be modified. To implement free navigation capabilities without major hardware modifications, the ‘manual’ operation mode will be used. Thus a direct transfer of control commands Žby simulating related joystick outputs. to the drive electronics is enabled, bypassing the servo-levels onboard CPU ŽMotorola 68000.. The software architecture has to reflect the incorporation of the existing system without modifications into a new architecture providing also components
191
related to free navigation. The Software Architecture is displayed in Fig. 2, with software modules within squares and arrows representing data information flow as commented below. The flow of the information can be described as follows. Ø The operator generates transport tasks on RM1 through the Man–Machine Interface Module or, via the Button Interpreter Module, arriving from the DAMUX device after pressing a specific button at the machine requesting for a transport task. The Man–Machine Interface Module also informs the operator of the state of the AGV and its position through a graphical interface. Ø The Mission Planning Module on RM1 receives the tasks requirements and decides which part of the tasks is made in the free navigation area and which one is crossing the wire-guided area, that is, the shared area, splitting the tasks in different missions called motion tasks. Therefore, the motion tasks imply either, movements only on the shared path segments, or movements only on the free navigation segments. Ø A Supervisor Module controls and allows the input in the shared area of the RETRARO AGV according to information obtained via the Traffic Controller Module from special sensors to know if any of the WGV is in or getting into the shared area. This module also controls the battery status and data coming from the Health Monitoring Module in order to generate tasks for batteries change, service, etc. Ø Two Communication Modules, in RM1 and RM2, are responsible for communicating RCC with the AGV Workstation via an infrared link in both ways. Ø The Actions Manager Module in RM2 generates, from motion tasks, three kinds of actions in order to complete successfully a motion task: Ø Motion actions to move the AGV, which are sent to the Path Planning Module; Ø Auxiliary actions for payload loadingrdelivering, which are sent to the Handling Equipment Interface Module Ø Docking actions for AGV dockingrundocking, which are sent to the Reactive Level. Ø The Path Planning Module generates motion commands from motion actions and sends them to the Servo Input Generator according to some factors
192
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
Fig. 2. Software architecture for the RETRARO system.
obtained from the Path Database in order to compute the optimal path. Ø The Handling Equipment Interface Module generates auxiliary commands from auxiliary actions and sends them to the Servo Level. Height adaptation, part loadrunload and bar code reading are some examples of auxiliary commands. Ø The Reactive Level generates motion commands from docking actions and sends them to the Servo Input Generator according to information ob-
tained from sensors. The Reactive Level also solves the navigation problem with position control to get motion actions be successfully completed. Ø A Health Monitoring Module in RM2 must control parameters such as: brake and board status; emergency stop; container type, code and position; container lack and errors coming from handling equipment, height adaptation equipment, servo level and sensors, as well as any other relevant data. The Health Monitoring Module should also perform sim-
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
ple recovery functions when possible, as well as control and actualise the estimated status of batteries of the AGV. RM1 has been implemented on Windows NT using threads in order to allow multi-tasking. There are many tasks to develop concurrently in the RETRARO application w10x: managing all the messages between RM1 and RM2, computing the path along the AGV develop its task, redrawing the path and the AGV image on the screen, adding new tasks to the queue, etc. The response time to some of these tasks is critical. Therefore, the management of any other task cannot delay this response. The RETRARO application takes advantage of the multithread programming that Windows supplies in its 32-bit version. Each task is implemented as a thread, so all of these tasks are executed concurrently. For example, the AGV can be seen on the screen while a new task is added to the queue and the application deals with the message traffic between RM1 and RM2. In addition to the external interaction with the user and sensors, the main objective of this module is mission planning. In fact, mission planning has been split into two levels. Ø The lower level is running on RM2 based on REAKT, as commented in next section. The mission planning at this level is specific for the AGV, considering movements, docking and part loadingrunloading. This module, called Actions Manager Module, is very related with the Path Planning Module, implemented by means of a search on a geometric graph contained in the Path Database. This geometric graph contains the co-ordinates of all the possible nodes that can form a path and the arcs that joint the nodes to represent the path segments. Ø The higher level is running on RM1 and is able to control the co-ordination of different AGVs. For this case, co-ordination is made with the WGVs through a shared area, while the AGV can also moves on other free navigation areas. The co-ordination is reached using a graph for the shared area and as many graphs as required for free navigation areas. At this level, different topological graphs are used without any geometrical data. The nodes of the graph are special points such as connection of areas, loadingrunloading locations and some others as service and recharging stations. The mission planning first considers the connection of these graphs, and then a
193
search within each graph. The total computational cost is then reduced because each topological graph is usually very small. In this way, the input tasks are divided in motion task, which will be the input to the Actions Manager Module in RM2. A motion task is solved only on one graph, so they imply either, movements only on the shared path segments, or movements only on the free navigation segments. One of the main advantages of the system is that all the information of the paths on the factory layout is stored on the Task Database and the Path Database. Hence, this data is not part of the software code. In fact, all this information is generated via a CAD application implemented in Visual Basic for AutoCAD v12 for Windows. A communication is established between this application and AutoCAD using DDE ŽDynamic Data Exchange.. This application allows the user, with a friendly graphic interface, to design on the factory layout, the topological information Žshared and free navigation areas, connection of areas, loadingrunloading locations, service and recharging stations, etc.. and the geometric information Žco-ordinates for all the characteristic points and nodes, arcs representing path segments, limitation on path segments, initial estimated cost of a path segment, etc... All this information is stored in a file and transferred to the databases of the control system. Moreover, a simple modification as the change of some co-ordinates of points due to a machine shift can be done in less than five minutes. Due to required functionality, a system based on REAKT is used on RM2 to implement mission planning, path planning, supervising and health monitoring capabilities, while for the reactive level an approach based on data fusion and fuzzy logic seems most appropriate w11,12x. Next sections show a brief description of the use of REAKT system for this application and the basic idea of the reactive level approach. 3. Use of REAKT architecture for RETRARO The REAKT ŽReal Time Knowledge based Tool. platform is a software environment for developing and delivering real-time knowledge-based systems ŽRTKBSs.. This product is the result of the REAKT and REAKT II European Community ESPRIT projects.
194
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
The REAKT real-time Architecture is based on a Blackboard model of multi-agent co-operation. Blackboard systems offer a powerful and flexible problem-solving approach, with outstanding capabilities for integration and control. While providing the benefits of the Blackboard approach, REAKT extends the classical model along several directions to provide an architecture adapted to real-time operation. Among the extensions to the classical blackboard model which are provided by the REAKT toolkit, the following ones seem to fit the implementation requirements: Ø The presence of communication modules which are in charge of feeding the system with external data. Ø Multitasking through the execution of agents Žindependent processes. supervised by the control component. Ø Management of past, present and future temporal information. REAKT Toolkit constitutes a good baseline for the implementation of the above referred innovations. For the RETRARO application, the above functionality has been developed w13x. The resulting application is named REAKT KERNEL and it is based on the REAKT architecture. Several benefits are being gained with the use of REAKT KERNEL in AGV control applications: Ø The REAKT KERNEL architecture and philosophy provides a great value for simplifying control system design and flexibility towards future additions to the system. Ø REAKT KERNEL features can be easily integrated with procedural modules developed in C or C q q. Ø The REAKT KERNEL infrastructure saves coding effort. Ø The REAKT KERNEL is portable to a variety of different platforms. The REAKT KERNEL provides support for bi-directional communication between external data sources and the REAKT KERNEL application itself. There can be as many communication links as required by the application. Multitasking is implemented in REAKT KERNEL using a multithreading library: this means that most of the modules of the REAKT KERNEL application execute in a single process.
Basic data structures of the REAKT KERNEL application, which are created in the Blackboard, are initialised at the beginning of the execution and remain available during the whole execution. The data contained in the Blackboard are shared among the threads of the application. These data structures are composed of static and temporal fields. The main features of a temporal field are as follows: it can be associated to an external process so that this field is fed with inputs from the external processes of the application. It also enables the storage of past and present information. In addition, events can be associated to any modification of its value so that another thread can be activated or deactivated. REAKT KERNEL provides the baseline architecture for the integration of the several functional levels detailed above. These levels will be developed using ad hoc procedural modules: Ž1. the Actions Manager, Path Planning, Health Monitoring and Handling Equipment modules will constitute a whole independent process. These four modules will share the data contained in the REAKT KERNEL Blackboard. Ž2. The Servo Input Generator and Reactive Level modules constitute external processes and will send data to and receive data from the application’s Blackboard. Ž3. The following threads will do the reception of external data: Ø T_SERVO_INPUTL_READ Ø T_SERVO_INPUTM_READ Ø T_REACTIVE_LEVEL_READ Ø T_ACTIONS_MANAGER_READ. Ž4. The internal communication is based on sockets. The emission of data to the external processes will also be performed using the socket mechanism. Fig. 3 shows the decomposition of the processes contained in RETRARO functional architecture and identifies the role played by REAKT KERNEL toolkit in the developed application. The Path Planning is based on a Dijkstra algorithm for searching the optimal path in a geometrical graph, included in the Path Database, which is composed of nodes and arcs. Nodes contain the coordinates of characteristic points to define a geometrical path on the factory layout. Arcs give the features of one-way path segments between two nodes as maximum possible speed, limitations on width, height or weight, estimated cost of the segment and so on. The modules Filenodes and Filearcs allow to
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
195
Fig. 3. RETRARO module decomposition.
actualise the blackboard according to available path segments. Costs of path segments are updated on real-time according to the last value obtained for a movement of the AGV. In order to deal with the upgraded free navigation and obstacle avoidance tasks, a low-cost approach based on an ultrasonic system combined with odometry has been implemented w14x. For free navigation purposes, the drift in odometry will be corrected at selected characteristic locations by estimation of the actual position derived from range measurements of the different ultrasonics, matched with a pre-stored map of the factory. In particular, characteristic corners as generated by doors are used to initiate updates ŽFig. 4.. The task of the reactive level is to compensate the deviations from the expected to the actually encountered environment, as perceived by the sensors during free navigation path segments. It has to deal with: Ø Measured obstacles, not included in the environment data base Že.g., collision avoidance. Ø Small sensor and actuator deviations, accumulated on the path Že.g., docking to a target.
Ø Determination of actual position and orientation with respect to the environment. Particular emphasis is placed on the use of inexpensive sensors, providing less accurate measurements. This approach is quite efficient, as industrial transport tasks require not always a very high precision movement, and as it is often sufficient to adaptively increase the precision with decreasing distances to the objects. For this case, approaches based on sensor data fusion in combination with maps of the environment and fuzzy control methods have been used in order to derive robust, reasonable control reaction w15x. The Reactive Level manages the detour of unpredicted obstacles, where it is physically possible. Otherwise, it stops and sends a path re-planning order to the Path Planning Module. The reactive level corrects the odometry error by means of range and optical marks detected by a camera sensor. It controls docking of the vehicle to material delivery locations. The Reactive Level also manages bumper retractionrexpansion for dockingrundocking, necessary due to the limited space at material transfer locations.
196
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
Fig. 4. Measured ultrasonic range profile of the two side-looking ultrasonic sensors generated by passing two doors, while slightly approaching a wall.
In order to cause minimum changes of the existing AGV configuration the RETRARO control is transferred to the vehicle via the serial RS232 interface of the ‘Manual Control’ joystick. The Servo Input Generator Module will use the ‘Manual Control’ functions of the existing AGVs to perform free movements of the existing vehicle without making use of the normal guidance and control functions based on induction wires. The Servo Input Generator Module receives a sequence of commands, like ‘move xx m straight forward’, ‘turn xx degrees to the right’. These commands will be transformed into a voltage level for an appropriate period of time, simulating the outputs of the joystick for manual control. By using the encoder data a local control feedback loop is established.
4. Advantages of the methodology The methodology used to implement the control system, presented in this paper, is based on four different levels, as summarised below. 4.1. The definition of a hardware and software architecture The basis of this architecture is the split of the control system into two modules, a central co-ordina-
tor module, unique and located in an external PC, and a local AGV control module, located at the specific AGV. With this division, the central coordinator is dedicated to global functions such as monitoring the whole system, man–machine interface, task assignation to vehicles or control the shared area between the AGV and the WGVs. Therefore, the local module is assigned to the real-time reaction such as path planning, free navigation, sensor control, etc. This aspect allows replicating only the second module whenever a new AGV is incorporated to the transport system, without any significant change on the central co-ordinator. The implementation of both modules is based on the use of threads, solving the multi-tasking requirements due to the existence of several functions on each one. Particularly, two of the main functions to solve in the control system are mission planning and path planning. Usually, a graph search solves both problems in just one step. Our proposal is that while path planning is the solution of a geometrical path for a specific AGV, and can be located on it, mission planning covers aspects for the specific AGV as well as co-ordination with other vehicles. The solution adopted is based on splitting the co-ordination global mission planning in the central module and the particular mission planning of the AGV in its local control system. To reach this division, instead of using one graph for mission and path resolution, two
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
graphs are used: a high level one, keeping topological information for mission planning and a geometrical one for path resolution. Nevertheless, the use of two graph searches does not imply a higher computational cost, because the split reduces the sizes of the graphs. Moreover, this split allows separating easily free navigation areas and shared areas with other transport systems. One example is the application on the RETRARO Project with other WGVs, but more general cases are connection of shop floors by intermediate corridors, different plants joined with elevators or even buildings communicated by roads.
197
ultrasonic sensors, is also used for obstacle avoidance, providing data for the fuzzy control system that computes the strategy for the detour manoeuvre. About 60 fuzzy rules are needed to adapt speed and steering angle starting from the range of measurements into different directions. In case of high safety requirements, the utilisation of two infrared sensors complements the measurements, using infrared data to be fused by occupancy grid methods with ultrasonic data for the fuzzy control. 4.4. The requirements of the end-user as a practical case
4.2. The use of a real-time expert platform The main purpose of the on-board real time software of the application is to perform orders coming from the central co-ordinator and deal with situations from the AGV’s external environment, which require an immediate reaction. This on-board software must also take care of the AGVs health by processing inputs coming from the AGVs sensors, and take corrective reactions depending on the nature of these inputs. The local module is also in charge of the intelligent re-planning, when the AGV cannot proceed with the current task through the path initially chosen due to an unforeseen obstacle. The amount of processing that has to be done by the high control level of the application as well as its time restriction makes REAKT the real time platform the most adequate for its implementation. 4.3. The data fusion and fuzzy logic techniques for the reactiÕe leÕel The reactive level is mainly dedicated to navigation functions, which can be performed accurately as far as proper data from the sensor system are available. One of the advantages of the proposed system is based on the use of data fusion to allow a low-cost sensor system, using the same sensors for different functions. So, odometry is derived from motor encoders, necessary in any case for motor control. Also, environment maps are combined with data sensors in order to increase the accuracy of the navigation functions. The ranging system, mainly the
The implemented methodology has allowed expanding an already existing wire guided transport system to an autonomous transport system, enhancing one existing vehicle with new technology so as to provide free navigation facilities. It has to be remarked that this new functionality has been implemented in a real factory in conjunction with end-user needs and production restrictions. The system functionality was drawn in close co-ordination with the end-user. Thus the final system works meets the user expectations. The application user is particularly enthusiastic with the man–machine interface, which is very simple, clear and user friendly, perfectly adapted to the users needs.
5. Conclusions Within this paper, in an exemplary application, replacement of wire guided vehicles ŽWGV. technology by autonomously guided vehicles ŽAGV. has been studied. The combination of the adoption of AGV technology and real time expert systems to solve specific requirements has been analysed. The proposed system is very flexible and allows to solve tasks that can be performed by WGVs, and on the other hand, new tasks to be accomplished by the AGV. Both, WGVs and AGV share a common crossing zone without any collision, keeping the passing preference always for the WGVs. An Intelligent Control System is the core of the new system. The methodology adopted for the Control System
198
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
implementation is based on three concepts: Ži. the definition of a software architecture, which allows its actual implementation as well as its future enlargement; Žii. the use of a real-time knowledge-based platform, which allows the easy integration of the AGV control processes and Žiii. the use of fuzzy logic and low-cost sensors to reach the free navigation of the AGV. This Control System is able to deal with complex situations and re-planning problems. These inputs are imposed by the manufacturing process constraints. The transport tasks to be performed are typical for a flexible flow of materials, often occurring at SMEs. Thus, this methodology is expected to have interesting technology transfer potential for SMEs beyond the specific actual application.
Acknowledgements The authors want to thank the constructive support of the EU and the external reviewers provided to RETRARO.
w8x w9x
w10x
w11x
w12x
w13x
w14x
w15x
References w1x R. Dillmann, M. Kaiser, F. Wallner, P. Weckesser, PRIAMOS: An Advanced Mobile System for Service, Inspection, and Surveillance Tasks. w2x J.M. Ezkerra, P. Sanz, L. Berasategi, A. Ruiz, MARTHA ŽMobile Autonomous Robots for Transportation and Handling Operations. ESPRIT III-6668. w3x K. Schilling, H. Roth, Sensordatenfusion mit Fuzzy Logic zur Steuerung mobiler Roboter Tagungsband, 5. Aachner Fuzzy Symposium, Aachen, 1995, pp. 137–145. w4x J.J. Galan, ´ J. Garbajosa, The Reakt Tool: architecture and space applications, 5th Esa Workshop On AI And Knowledge Based Applications for Space, ESTEC, The Netherlands, 1995. w5x A. Mensch, D. Kersual, A. Crespo, F. Charpillet, REAKT architecture, Workshop on Integration in Real-Time Intelligent Control Systems IRTICS’93, Madrid, October 5–7, 1993. w6x A. Crespo, V. Botti, F. Barber, D. Gallardo, E. Onaindia, A temporal blackboard for real-time process control, J. Eng. Applications Artificial Intelligence 7 Ž3. Ž1994. 255–266. w7x J. Borges Sousa, F. Lobo Pereira, E. Pereira da Silva, in: U. Rembold et al. ŽEds.., A Dynamically Configurable Control
Architecture for an Autonomous Underwater Vehicle, Intelligent Autonomous Systems, IOS Press, 1995. J.K. Rosenblatt, DAMN: A Distributed Architecture for Mobile Navigation. K. Schilling, J. Garbajosa, M. Mellado, R. Mayerhofer, Design of flexible autonomous transport robots for industrial production, IEEE International Symposium on Industrial Electronics ŽISIE97., Guimaraes, Portugal, June 1997. J. Garbajosa, C. Lomba, M. Mellado, E. Vendrell, A. Crespo, K. Schilling, R. Mayerhofer, An intelligent control system for an autonomous guided vehicle to support material transport, International Conference Interfaces 97, Montpellier, France, May 1997 K. Schilling, H. Roth, DeCarli, Masada ŽEds.., Homing Guidance Schemes for Autonomous Vehicles, Motion Control for Intelligent Automation, Pergamon, 1992, pp. 319– 324. K. Schilling, J. Garbajosa, M. Mellado, R. Mayerhofer, Increasing flexibility of autonomous transport robots through advanced information processing, International Symposium on Automotive Technology and Automation ŽISATA97., Florence, Italy, July 1997. M. Mellado, E. Vendrell, A. Crespo, E. Ballester, J.M. Aparicio, P. Lopez, C. Lomba, Architecture definition for a ´ flexible transport system in industrial production, 3rd IFAC Symposium on Intelligent Autonomous Vehicles ŽIAV98., Madrid, Spain, March 1998. K. Schilling, H. Roth, R. Lieb, H. Stutzle, Low-cost sensor ¨ system for free navigation capabilities of industrial transport robots, 3rd IFAC Symposium on Intelligent Autonomous Vehicles ŽIAV98., Madrid, Spain, March 1998. K. Schilling, R. Lieb, H. Roth, Indoor navigation of mobile robots based on natural landmarks, 3rd IFAC Symposium on Intelligent Components and Instruments for Control Applications, Annecy, June 1997.
Martin Mellado received his BEng in Computer Science in 1987 from the Faculty in Computer Science, Polytechnic University of Valencia ŽUPV., Spain. In 1989 he received the MSc degree in Computer Aided Engineering from the School of Mechanical Engineering, Cranfield Institute of Technology, Great Britain Žwhere he was awarded with the Ellis Horwood Prize.. His PhD degree in Computer Engineering was obtained in 1996 ŽUPV.. Since 1989 he has been an Assistant Professor with the Department of Systems Engineering and Control ŽDISA.. He also has been Sub-director of the MSc Course in CADrCAMrCIM at the same University for 8 years. Dr. Mellado has lead and contributed to some national and European Research Programs and published several papers and books. In 1997, Dr. Mellado a visiting scientist for 6 months in the Joint Research Centre at Ispra, Italy. His research interests include intelligent robot programming, robotic systems, AGVs and robot motion planning, resulting in more than 20 conference papers, journal articles and book contributions.
M. Mellado et al.r Computers in Industry 38 (1999) 187–200 Eduardo Vendrell graduated in September 1991 with a BEng in Computer Science from the Faculty in Computer Science, Polytechnic University of Valencia, Spain. Since 1991 he has been an Assistant Professor with the Department of Systems Engineering and Control at the Polytechnic University of Valencia, Spain. Mr. Vendrell teaches robotics, computer and manufacturing aided design and flexible manufacturing systems simulation, both in the Faculty in Computer Science and the MSc Course in CADrCAMrCIM. He has contributed to some National and European Research Programs and published several papers. His research interests include robot and AGVs programming systems, where he is developing his PhD thesis. Alfons Crespo received his BEng and PhD degrees in Electrical Engineering from the Polytechnic University of Valencia, Spain, in 1979 and 1984 respectively. He is Professor and chair in the Department of Computer Engineering and Science at the Polytechnic University of Valencia. Since 1988, he has lead of the Real-Time research group, being the director of several national and European research projects. His areas of technical interests are real-time systems, integration of intelligent components in real-time systems, and real-time operating systems. His group has participated in several ESPRIT and BRITE projects ŽREAKT, PROMEAT, PRODUCT, RETRARO, etc.. in co-operation with industrial and university partners. He has published in the main forum of conferences and journals related to real time systems and artificial intelligence for real-time control. Pedro Lopez is MSc in Computer Sci´ ence. He joined GMV in 1988. He has been responsible for several projects developing Real-Time on-board software for the European Space Agency and software engineering environments for civil and defence applications. Nowadays he is the head of the GMV’s exploitation unit on Data Processing Centres and Industrial Applications. The experience of GMV in Data Processing Centres includes a broad spectrum of activities from studies and definition of future space missions until the development, operations and maintenance of Data Processing Infrastructures. In parallel, the company takes advantage of the experience generated in the space market to make the resulting technology available to the Industrial Sector where GMV provides telecommunications, process control, and information system solutions based on the application of most advanced information technologies. Pedro was the RETRARO project manager.
199
Juan Garbajosa is an associate professor in the Department of Organizacion ´ y Estructura de la Informacion ´ of Madrid Technical University ŽUPM.. Before that he spent 15 years leading projects and developing software in industry, first in the business domain and then in the aerospace. His research interests include Tools for System Operation and Validation, Advanced Data Base Systems Applications, and Software Engineering Standards and Software Quality. Garbajosa received an MSc in Chemistry in 1980 from Universidad Complutense, Madrid, and a PhD in Computer Science from Deusto University, Bilbao in 1992. He is a member of IEEE, ACM, AdaSpain, Asociacion de Tecnicos en Informatica, and Asociacion Espanola ˜ de Inteligencia Artificial.
Carmen Lomba has MSc in Computer Science. She started working in a consultant company participating in the design and the development of a database management application. She joined GMV in 1990, participating in a wide variety of projects developed for the European Space Agency, dealing with Graphical User Interface software, Real-Time on-board software and the evaluation of the next generation of microprocessors as well as Real-Time development environments that will be used for future ESA space missions. In addition, she carried out within the firm, projects partially funded by the European Commission dealing with realtime industrial software applications applying knowledge based real-time systems state of the art technologies ŽREAKT.. Currently, she is involved as the project manager of the independent software validation team for the Meteosat Second Generation platform. Carmen was the GMVs technical team leader for the RETRARO project.
200
M. Mellado et al.r Computers in Industry 38 (1999) 187–200
Klaus Schilling is Professor for ‘Methods of Artificial Intelligence’ at the Department of Computer Science of University of Applied Science RavensburgWeingarten. In parallel he is director of the Steinbeis center for technology transfer in Applied Computer and Software Engineering ŽARS.. He received his PhD degree in Mathematics at the University of Bayreuth. After having joined space industry, he became head of the group on ‘mission and system analysis’ at the scientific satellite section of Dornier. His actual research interests include autonomous control strategies for spacecraft and mobile industrial transport robots. In this context, technics including adaptive control theory, telematics, fuzzy logic, neural networks and expert systems have been applied, leading to the publication of more than 60 articles and one book. Dr. Schilling is member of the IFAC committees on ‘Aerospace’ and ‘Intelligent Autonomous Vehicles’. He serves as associated editor of the journals ‘Control Engineering Practice’ and ‘Space Technology’. Hubert Stuetzle was born in 1969. He ¨ received his Dipl.-Ing. degree in Mechanical Engineering from the Fachhochschule Ravensburg-Weingarten, Germany, in 1994. Since 1994 he has been working as Research Assistant at the FH Ravensburg-Weingarten. His research work is mainly in the fields of robotics and advanced control strategies. Within the RETRARO Project he was responsible for the Reactive Level of the AGV.
Rudolf Mayerhofer graduated at the Technical University in Graz, Austria in Economical and Mechanical Engineering in 1984. Afterwards he worked in a research project concerning computer simulation of cooling compressors at the Institute of Thermodynamics at the Technical University in Graz. Form 1986 he worked 6 years as project engineer for building facilities and as an assistant of the general management. Then he changed to Schoeller-Bregenz Žspinning mill.. Here he was responsible for the production and the technical environment. He was member of the RETRARO team responsible for definition of the users requirements and acceptance tests. Since end of 1997 he works in the company HAFI Engineering and Consulting as member of the general management. HAFI plans and produces compressor systems for air and all kind of gases.