Concurrent Programming and Robotics

Many current robot systems exhibit a significant degree of concurrency, doing many activities in parallel. Future sensor- based robots are expected to exhibit even more concurrency. Programs to control such robots are characterized by the need to wait for external events and/or handle interrupts, de...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Int. J. Robot. Res.; (United States) 1989-04, Vol.8 (2), p.3-16
Hauptverfasser: Cox, Ingemar J., Gehani, Narain H.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:Many current robot systems exhibit a significant degree of concurrency, doing many activities in parallel. Future sensor- based robots are expected to exhibit even more concurrency. Programs to control such robots are characterized by the need to wait for external events and/or handle interrupts, deal with concurrent activities, synchronize actions with external events, and communicate with other robots and processes. In this paper, we focus on the advantages of concurrent pro gramming for robotics and suggest that a general-purpose language with the right facilities is a good vehicle for robot programming. In this context we will discuss Concurrent C, an upward-compatible extension of the C language that provides high-level concurrent programming facilities. We give an historical perspective of concurrent programming followed by a brief description of Concurrent C and how Concurrent C programs communicate with robots and de vices. We show by examples how Concurrent C simplifies writing robot programs. Of specific interest are the process interaction and related interrupt handling facilities. We conclude that high-level concurrent programming facilities provide significant advantages for robot programming. In particular, transaction facilities provide an elegant means by which to synchronize with external events and communicate with interacting robots and manufacturing processes. Inter rupts may also be mapped to high-level transaction calls within the language. A concurrent programming language provides a framework in which to describe and develop con current solutions and can hide many details associated with distributed processing from the user. Finally, we believe that a high-level concurrent programming language such as Con current C is not only useful for robotics but also for manufac turing processes in general.
ISSN:0278-3649
1741-3176
DOI:10.1177/027836498900800201