# Rapid control prototyping

Rapid Control Prototyping (RCP) is a type of simulation methodology that allows for the rapid evaluation of control systems, especially for large machinery. It can test and evaluate algorithms as well as associated components such as sensors, actuators, pumps etc. The system requires some type of mock up, usually a scaled down version of the system to be tested, plus high powered computer simulation software. Rapid Control Prototyping has gained popularity thanks to its ability to accelerate product development and reduce their time-to-market. The approach also helps mitigate design risks, thanks to their early identification.

## Methodology

The methodology seeks to rapidly address experimental activities in order to quickly identify and correct potential issues. If necessary, design iterations can be made using computer-assisted simulations. RCP mainly focuses on control system development (by opposition to the plant itself) and may be complementary with other techniques, such as HIL, PIL, or PHIL.
Using Rapid Control Prototyping for product development requires implementing some sort of mockup (often downscaled) of the system under study as well a control system. The control system hardware often differs from the final hardware, as the latter may not yet be available (or clearly defined) at the time of prototyping. In fact, generic control hardware with superior flexibility and performance is often preferred over the final hardware, which is often cost-optimized for a specific application and use. This use of generic control hardware during the early development phase may even be considered as a definition of Rapid Control Prototyping, distinguishing it from design methodologies that exclusively involve the final hardware, possibly with several iterations.

## Fields of application

Rapid Control Prototyping is involved in various fields of engineering, for instance:
* Mechatronics, robotics
* Power electronics, motor drives, motion control
* Automotive, aerospace
* Military

## Rapid control prototyping hardware

Although the control system involved in RCP may theoretically be of any kind, RCP often requires specific programmable digital control hardware. The latter generally features the following characteristics:
* Superior computing performance over the final hardware, offering more flexibility during the control software design and testing phase.
* Superior hardware flexibility, as genericity imposes compatibility with multiple applications and reusability across several product developments.
* Generic mechanical design, for the same reasons as above.
* Possible use in coordination with computer simulation software, notably through well-known and modeled system dynamics.
* Possible use together with automated code generation tools, often directly from the same computer simulation software.
As a matter of fact, these characteristics have been somewhat only enabled by recent advances in embedded computing and computer-assisted design, which explains the still relatively confidential nature of RCP. Also, the obvious drawback of such systems is their high investment cost, which often requires amortization over several development projects.

## Processing devices and cycle time

RCP solutions differ in their capabilities, notably as their applications may be widely different. While some systems may require involving a large number of sensors and/or actuators, some others may implement computationally-demanding algorithms, or other require very short cycle times. Based on these requirements – or combinations of requirements – different processing devices may be involved in the control hardware:
* DSPs, CPUs, MCUs and other sequential processing units are easy to program and implement as part of an automated code generation toolchain. They offer attractive computational performance, but may suffer from non-negligible I/O latency.
* FPGAs and other concurrent processing units demand larger engineering efforts, but may be required in fast closed-loop control applications, where I/O latency is essential.
* Combinations of both above type of devices, such as in SoC devices, resulting in a fair trade-off of performance versus ease-of-use.