Evaluation of Erlang for a stigmergy holonic routing controller

Van den Berg, Christopher Sean (2018-03)

Thesis (MEng)--Stellenbosch University, 2018.

Thesis

ENGLISH ABSTRACT: A reconfigurable manufacturing system (RMS) is a manufacturing paradigm aimed to be able to react to manufacturing uncertainty caused by hardware failures and changes in the global market. Transport systems for RMSs should be able to easily adapt the routing of parts between manufacturing stations, while making optimal use of the transport infrastructure to maximise the RMS's throughput. In this thesis, a holonic routing controller with stigmergy, aimed at a palletised conveyor for an RMS, is developed using Erlang. The objective is to evaluate the suitability of Erlang in implementing a holonic control architecture where a large number of concurrent processes is required within one controller. The routing controller is adapted from architectures found in literature, and uses elements from the product, resource, order, staff architecture (PROSA). The routing controller is a conveyor controller that transfers a pallet from a source to a destination within the conveyor system based on an instruction given by an outside source, such as a user. The conveyor controller makes use of order, resource, feasibility and ant holons to perform the pallet transfer. Order, feasibility and ant holons were each implemented in their own Erlang process within the conveyor controller, while resource holons used three Erlang processes. The conveyor controller was tested in the Mechatronics, Design and Automation Research Group (MADRG) at Stellenbosch University. Higher-level control was performed by interfacing the conveyor controller, described in this thesis, with previously developed lower-level controllers. The results of the testing proved that the controller possessed all the required characteristics of an RMS and could successfully manage pallet traffic within the conveyor system, including avoiding bottlenecks and changing a previously decided route when conveyor segments unexpectedly become available or unavailable. It was found that Erlang is an appropriate programming language to use in implementing the conveyor controller. Erlang possesses built-in functionality that was found to be convenient and useful. With Erlang, it was possible to create and run processes with ease, even when the system was running.

AFRIKAANSE OPSOMMING: 'n Herkonfigureerbare-vervaardigingsstelsel (HVS) is 'n vervaardigingsparadigma wat daarop gemik is om te reageer op die vervaardigingsonsekerheid wat veroorsaak word deur hardewarefalings en veranderinge in die globale mark. Vervoerstelsels vir HVS'e moet die roete van onderdele tussen vervaardigingsstasies maklik kan aanpas, terwyl die vervoerinfrastruktuur optimaal benut word om die HVS se deurset te maksimeer. In hierdie tesis word 'n holoniese roeteringsbeheerder met "stigmergy", gemik op 'n vervoerband met pallette vir 'n HVS, ontwikkel met behulp van Erlang. Die doel is om die geskiktheid van Erlang te evalueer in die implementering van 'n holoniese beheerargitektuur waar 'n groot aantal gelyktydige prosesse binne een beheerder benodig word. Die roeteringsbeheerder is 'n aanpassing van argitekture wat in die literatuur voorkom, en gebruik elemente van die produk-hulpbron-bestelling-hulp-argitektuur (PROSA). Die roeteringsbeheerder is 'n voerbandbeheerder wat 'n pallet van 'n beginpunt na 'n bestemming binne die vervoerstelsel neem, gebaseer op 'n instruksie wat deur 'n buite-bron, soos 'n gebruiker, gegee word. Die voerbandbeheerder maak gebruik van bestelling-, hulpbron-, haalbaarheid- en mier-holons om die palet-oordrag uit te voer. Bestelling-, haalbaarheid- en mier-holons is elk in hul eie Erlang proses geïmplementeer binne die voerbandbeheerder, terwyl hulpbron-holons drie Erlang prosesse gebruik het. Die voerbandbeheerder is in die “Mechatronics, Design and Automation Research Group” (MADRG) aan die Universiteit Stellenbosch getoets. Hoërvlakbeheer is uitgevoer deur die voerbandbeheerder, wat in hierdie tesis beskryf word, te verbind met voorheen ontwikkelde laer-vlak beheerders. Die resultate van die toetse het bewys dat die beheerder al die vereiste eienskappe van 'n HVS besit en suksesvol palletverkeer binne die vervoerstelsel kon bestuur, insluitende die vermy van bottelnekke en die verandering van 'n voorheen bepaalde roete wanneer vervoerband-segmente onverwags beskikbaar of onbeskikbaar raak. Daar is bevind dat Erlang 'n gepaste programmeringstaal is om te gebruik in die implementering van die voerbandbeheerder. Erlang beskik oor ingeboude funksionaliteit wat gerieflik en nuttig is. Met Erlang was dit moontlik om prosesse met gemak te skep en te loop, selfs wanneer die stelsel aan die gang was.

Please refer to this item in SUNScholar by using the following persistent URL: http://hdl.handle.net/10019.1/103751
This item appears in the following collections: