1989The International Journal of Robotics ResearchRequires access

Concurrent Programming and Robotics

Ingemar Johansson Cox, Narain H. Gehani

Open publisher page 30 citations

Abstract

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.

About this research paper

What this paper is about

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.

Why it matters

OpenAlex reports 30 citations for this work. Citation counts describe recorded attention and do not establish research quality.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

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.

Key concepts: Concurrent object-oriented programming, Computer science, Concurrency, Robot, Concurrent computing, Robotics, Programming language, Interrupt

Related papers

Back to paper searchBrowse research topicsOriginal source
Concurrent Programming and Robotics — Research Paper | ScholarLens