Releases: gergelytakacs/AutomationShield
Fixed Mega2560 Sampling
This release fixes the Arduino Mega2560 sampling issue.
The library currently supports the following AutomationShield hardware in their respective release (R) versions:
Release | Beta | Hardware | |
---|---|---|---|
MagnetoShield | ✅ | R4 | |
FloatShield | ✅ | R4 | |
BOBShield | ✅ | R2 | |
LinkShield | ✅ | R1 | |
MotoShield | ✅ | R1 | |
PressureShield | ✅ | R2 | |
HeatShield | ✅ | R1 | |
OptoShield | ✅ | R1 | |
TurboShield | ❌¹ | ||
TugShield | ✅ | R1 | |
TempShield | ❌² | -³ |
- ¹ Under development
- ² Not available
- ³ Hardware has not been realized yet.
The current status of the library for individual API is as follows:
Arduino | MATLAB | Simulink | Python³ | LabView | Octave | Scilab | |
---|---|---|---|---|---|---|---|
MagnetoShield | ✅ | ❌¹ | ✅ | ✅ | ❌¹⋅² | ❌¹ | ❌¹ |
FloatShield | ✅ | ✅¹⋅⁴ | ✅ | ||||
BOBShield | ✅ | ✅ | |||||
LinkShield | ✅ | ❌¹ | |||||
MotoShield | ✅ | ✅¹ | ✅ | ||||
PressureShield | ✅ | ✅ | ✅ | ||||
HeatShield | ✅ | ✅¹ | ✅ | ||||
OptoShield | ✅ | ❌¹ | ✅ | ||||
TurboShield | ✅ | ||||||
TugShield | ✅ | ✅ | ✅ | ||||
TempShield |
- ❌ Can not be deployed for technical reasons.
- ¹ Serial communication only, no deployment possible.
- ² LabView LINX: lower end of loop speed is about 140 Hz (7 ms) for a LED toggle example. Tested with LabView 2020.
- ³ CyrcuitPython
- ⁴ Works for FloatShield R1-R3. Currently under development for R4 - it is likely to be implementable.
The library implements the following feedback control concepts in real-time hardware examples in at least one of the API for at least one supported prototyping board:
Model¹ | Identification² | PID³ | LQ⁴ | MPC⁵ | PP⁶ | Kalman⁷ | Luenberger⁸ | |
---|---|---|---|---|---|---|---|---|
MagnetoShield | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
FloatShield | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
BOBShield | ✅ | ✅ | ✅ | ✅ | ||||
LinkShield | ✅ | ✅ | ✅ᵝ | |||||
MotoShield | ✅ | ✅ | ✅ | |||||
PressureShield | ✅ | ✅ | ✅ᵞ | |||||
HeatShield | ✅ | ✅ | ✅ | |||||
OptoShield | ✅ | ✅ | ||||||
TurboShield | ||||||||
TugShield | ||||||||
TempShield |
- ¹ Mathemaical-physical analysis of the system dynamics
- ² Experimental system identification
- ³ Proportional-Integral-Derivative (PID) control
- ⁴ Linear Quadratic (LQ) control
- ⁵ Model Predictive Control
- ⁶ Pole placement
- ⁷ Kalman filtering
- ⁸ Luenenberger observer
- ᵝ According to the Positive Position/Velocity Feedback variant
- ᵞ Contains bugs
Please note that GitHub does not include submodules in the archive, therefore you should download the AutomationShield_v0.4.1.tar
file to include the necessary submodules. The files below under the Source Code name (zip
and tar.gz
) do not include these external repositories. Please refer to the readme.md
file on how to initialize submodules in your own Git clone, if you prefer this method.
Summer Release - New shields and versions supported
This is the fourth major pre-release of the AutomationShield library. The annual major release comes after an academic year's worth of work on the AutomationShield initiative.
Various API support of BOBShield and PressureShield have been added, along with drivers for the new MagnetoShield and FloatShield hardware (R4). The API for the improved hardware should be backwards compatible. The release contains numerous new examples and other features. Please consider the list of commits to learn about the added features.
The library currently supports the following AutomationShield hardware in their respective release (R) versions:
Release | Beta | Hardware | |
---|---|---|---|
MagnetoShield | ✅ | R4 | |
FloatShield | ✅ | R4 | |
BOBShield | ✅ | R2 | |
LinkShield | ✅ | R1 | |
MotoShield | ✅ | R1 | |
PressureShield | ✅ | R2 | |
HeatShield | ✅ | R1 | |
OptoShield | ✅ | R1 | |
TurboShield | ❌¹ | ||
TugShield | ✅ | R1 | |
TempShield | ❌² | -³ |
- ¹ Under development
- ² Not available
- ³ Hardware has not been realized yet.
The current status of the library for individual API is as follows:
Arduino | MATLAB | Simulink | Python³ | LabView | Octave | Scilab | |
---|---|---|---|---|---|---|---|
MagnetoShield | ✅ | ❌¹ | ✅ | ✅ | ❌¹⋅² | ❌¹ | ❌¹ |
FloatShield | ✅ | ✅¹⋅⁴ | ✅ | ||||
BOBShield | ✅ | ✅ | |||||
LinkShield | ✅ | ❌¹ | |||||
MotoShield | ✅ | ✅¹ | ✅ | ||||
PressureShield | ✅ | ✅ | ✅ | ||||
HeatShield | ✅ | ✅¹ | ✅ | ||||
OptoShield | ✅ | ❌¹ | ✅ | ||||
TurboShield | ✅ | ||||||
TugShield | ✅ | ✅ | ✅ | ||||
TempShield |
- ❌ Can not be deployed for technical reasons.
- ¹ Serial communication only, no deployment possible.
- ² LabView LINX: lower end of loop speed is about 140 Hz (7 ms) for a LED toggle example. Tested with LabView 2020.
- ³ CyrcuitPython
- ⁴ Works for FloatShield R1-R3. Currently under development for R4 - it is likely to be implementable.
The library implements the following feedback control concepts in real-time hardware examples in at least one of the API for at least one supported prototyping board:
Model¹ | Identification² | PID³ | LQ⁴ | MPC⁵ | PP⁶ | Kalman⁷ | Luenberger⁸ | |
---|---|---|---|---|---|---|---|---|
MagnetoShield | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
FloatShield | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ||
BOBShield | ✅ | ✅ | ✅ | ✅ | ||||
LinkShield | ✅ | ✅ | ✅ᵝ | |||||
MotoShield | ✅ | ✅ | ✅ | |||||
PressureShield | ✅ | ✅ | ✅ᵞ | |||||
HeatShield | ✅ | ✅ | ✅ | |||||
OptoShield | ✅ | ✅ | ||||||
TurboShield | ||||||||
TugShield | ||||||||
TempShield |
- ¹ Mathemaical-physical analysis of the system dynamics
- ² Experimental system identification
- ³ Proportional-Integral-Derivative (PID) control
- ⁴ Linear Quadratic (LQ) control
- ⁵ Model Predictive Control
- ⁶ Pole placement
- ⁷ Kalman filtering
- ⁸ Luenenberger observer
- ᵝ According to the Positive Position/Velocity Feedback variant
- ᵞ Contains bugs
Please note that GitHub does not include submodules in the archive, therefore you should download the AutomationShield_v0.4.zip
file to include the necessary submodules. The files below under the Source Code name (v0.4.zip
and v0.4.tar.gz
) do not include these external repositories. Please refer to the readme.md
file on how to initialize submodules in your own Git clone, if you prefer this method.
MPC and LQ for FloatShield
This is the third release of the AutomationShield library. The LQ and MPC control of FloatShield has been implemented.
Release | Beta | Arduino | MATLAB | Simulink | |
---|---|---|---|---|---|
FloatShield | ✅ | ✅ | ✅ | ✅ | |
HeatShield | ✅ | ✅ | ✅ | ✅ | |
MagnetoShield | ✅ | ✅ | |||
MotoShield | ✅ | ✅ | |||
OptoShield | ✅ | ✅ | ✅ | ||
LinkShield | ✅ | ✅ | |||
TugShield | ✅ | ✅ | |||
BOBShield | ✅ | ✅ |
Please note that GitHub does not include submodules in the archive, therefore you should download the AutomationShield_v0.3.zip
file to include the necessary submodules. The files below under the Source Code name (v0.3.zip
and v0.3.tar.gz
) do not include these external repositories. Please refer to the readme.md
file on how to initialize submodules in your own Git clone, if you prefer this method.
Second release: MagnetoShield, LinkShield and BOBShield
This is the second release of the AutomationShield library. We have added a relatively well tested support for the FloatShield and MagnetoShield. There is provisional support for the BOBShield, LinkShield and TugShield is available here too.
Release | Beta | Arduino | MATLAB | Simulink | |
---|---|---|---|---|---|
FloatShield | ✅ | ✅ | ✅ | ✅ | |
HeatShield | ✅ | ✅ | ✅ | ✅ | |
MagnetoShield | ✅ | ✅ | |||
MotoShield | ✅ | ✅ | |||
OptoShield | ✅ | ✅ | ✅ | ||
LinkShield | ✅ | ✅ | |||
TugShield | ✅ | ✅ | |||
BOBShield | ✅ | ✅ |
Please note that GitHub does not include submodules in the archive, therefore you should download the AutomationShield_v0.2.tar
file to include the necessary submodules. The files below under the Source Code name (v0.2.zip
and v0.2.tar.gz
) do not include these external repositories. Please refer to the readme.md
file on how to initialize submodules in your own Git clone, if you prefer this method.
First release: OptoShield and HeatShield
This is the first release of the AutomationShield library. It contains a relatively stable support for the OptoShield and the HeatShield. The rest of the shields are quite patchy actually. Sampling should work for AVR, SAM and SAMD but it is not compatible with the Servo
library.
Release | Beta | Arduino | MATLAB | Simulink | |
---|---|---|---|---|---|
FloatShield | ✅ | ✅ | |||
HeatShield | ✅ | ✅ | ✅ | ✅ | |
MagnetoShield | ✅ | ✅ | |||
MotoShield | ✅ | ✅ | |||
OptoShield | ✅ | ✅ | ✅ |
Please note that GitHub does not include submodules in the archive, therefore you should download the AutomationShield_v0.1.tar
file to include the necessary submodules. The files below under the Source Code name (v0.1.zip
and v0.1.tar.gz
) do not include external repositories.