2005Unpublished venueRequires access

Concurrent C and robotics

Ingemar Johansson Cox, NH Gehani

Open publisher page 10 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/processes. In this paper, we focus on the advantages of concurrent programming 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 a brief description of Concurrent C followed by a description of how Concurrent C programs communicate with robots and devices. We then show, by means of examples, all of which were implemented, how Concurrent C simplifies the writing of robot programs. Of specific interest are the process interaction and related interrupt handling facilities.

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/processes. In this paper, we focus on the advantages of concurrent programming 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 a brief description of Concurrent C followed by a description of how Concurrent C programs communicate with robots and devices. We then show, by means of examples, all of which were implemented, how Concurrent C simplifies the writing of robot programs. Of specific interest are the process interaction and related interrupt handling facilities.

Why it matters

OpenAlex reports 10 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/processes. In this paper, we focus on the advantages of concurrent programming 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 a brief description of Concurrent C followed by a description of how Concurrent C programs communicate with robots and devices. We then show, by means of examples, all of which were implemented, how Concurrent C simplifies the writing of robot programs. Of specific interest are the process interaction and related interrupt handling facilities.

Key concepts: Concurrency, Concurrent object-oriented programming, Robot, Computer science, Interrupt, Robotics, Concurrent computing, Context (archaeology)

Related papers

Back to paper searchBrowse research topicsOriginal source