Concurrent C and robotics
Ingemar Johansson Cox, NH Gehani
Abstract
Ingemar Johansson Cox, NH Gehani
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.
OpenAlex reports 10 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
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)