Arduino Meets Raspberry Pi in Automation: An Implementation of State-Based Distributed Control with Round-Robin Scheduling

Sergey Mikhailovich Staroletov · 2024

The utilization of simple control systems, which rely on direct connections between sensors and actuators to the controller, has been found to be limiting due to the requirement of a significant number of wires, poor expandability, and low reliability. To address these limitations, advanced control systems for cyber-physical systems such as vehicles have adopted a decentralized approach, in which multiple controllers operate together. Each controller possesses its own state that represents data from sensors directly linked to it, as well as partially updated state information received from other controllers through data buses. The controllers can differ in their architectures and processing capabilities, including the speed at which they process information. This study focuses on the implementation of a demo distributed control system for a bottling line. Control is distributed over logical functions to four dedicated controllers, which communicate with each other via the CAN bus. The heterogeneity of the solution is demonstrated through the use of Arduino and Raspberry Pi as embedded hardware platforms. The latter device provides a full-fledged Linux cooperative environment and serves as both a controller and a control object simulator. A distinguishing feature of this solution is that the control algorithm is initially described using a process-oriented domain-specific language that incorporates finite state machines and logical processes. This enables the generation of target code for specific execution platforms. The exchange of variable values via the bus occurs at the beginning of each control cycle, with each controller working with its own vector of values.

Read the paper · More papers on PaperTik