Processing blocks¶
A processing block is a block of code that consumes data from its inputs, processes this data based on the provided configuration, and produces the result on its output signals.
The number of inputs, outputs & parameters of the processing block and its behavior are defined by a template. The templates can be loaded from files provided by Prodrive Technologies or can be created yourself. In Simulink code generation is described how to generate custom processing block templates via Simulink and C++. This section describes the processing block templates provided by Prodrive Technologies.
Note
Processing block templates are provided for different processor architectures. Make sure you use the binary that corresponds with the architecture of your target platform:
bb-armv8a_64 - ARM based controller, e.g. the Arcas motion controller.
bb-x86_64 - x86 based controller, e.g. the Poseidon-CFL motion controller.
windows-x86_64 - PMP simulator on Windows.
linux-x86_64 - PMP simulator on Linux.
Control networks¶
Name |
Description |
---|---|
Feedforward implementation with Coulomb, viscous, acceleration, jerk and snap feedforward. |
|
Position feedback control implementation with PID, 4 biquad filters, settling state machine and delay matching. |
|
Position feedback control implementation with PID and 2 biquad filters. |
|
Velocity feedback control implementation with PID, 2 biquad filters, velocity state observer and delay matching. |
|
Velocity feedback control implementation with PID and a biquad filter. |
|
Generic feedback control implementation for control processes unrelated to motion. |
|
Second order mechanical model for plant simulation. |
Signal routing and conversion¶
Name |
Description |
---|---|
Sum with 2 or 10 inputs. |
|
Gain with an offset after the gain, for example for position feedback scaling from encoder counts to SI units. |
|
Gain with offsets before and after the gain. |
|
Electrical angle determination from a position sensor using the pole pair count and the pole distance. |
|
Temperature determination from a resistance using the Steinhart-Hart equation. |
Waveform generators¶
Name |
Description |
---|---|
Pseudo-random noise generator. |
|
Sine waveform generator with support for sine sweeps. |
|
Trapezium waveform generator. |
|
User-defined sequence waveform generator with 10k or 1M samples. |
Event generators¶
Name |
Description |
---|---|
Event generation based on a boolean condition. |
|
Moving mean, variance and standard deviation calculation with anomaly detection based on dynamically calculated thresholds. |
Miscellaneous¶
Name |
Description |
---|---|
Additional general purpose read-write signals. |
See also
- Processing block templates
General concept of template creation, instantiation and configuration.