|
| 1 | +# Welcome to Rattlesnake Vibrarion Controller |
| 2 | + |
| 3 | +## Abstract |
| 4 | + |
| 5 | +Rattlesnake is a combined-environments, multiple input/multiple output control system for dynamic excitation of structures under test. It provides capabilities to control multiple responses on the part using multiple exciters using various control strategies. Rattlesnake is written in the Python programming language to facilitate multiple input/multiple output vibration research by allowing users to prescribe custom control laws to the controller. Rattlesnake can target multiple hardware devices, or even perform synthetic control to simulate a test virtually. Rattlesnake has been used to execute control problems with up to 200 response channels and 24 shaker drives. This document describes the functionality, architecture, and usage of the Rattlesnake controller to perform combined environments testing. |
| 6 | + |
| 7 | +## Nomenclature |
| 8 | + |
| 9 | +abbreviation | description |
| 10 | +--- | --- |
| 11 | +6DoF | six degree-of-freedom |
| 12 | +API | application programming interface |
| 13 | +APSD | auto-power spectral density |
| 14 | +CCLD | constant current line drive |
| 15 | +COLA | constant overlap and add |
| 16 | +CPSD | cross-power spectral density |
| 17 | +FEM | finite element model |
| 18 | +FFT | fast Fourier transform |
| 19 | +FRF | frequency response function |
| 20 | +GUI | graphical user interface |
| 21 | +ICP | integrated circuit piezoelectric |
| 22 | +IDE | integrated development environment |
| 23 | +IEPE | integrated electronics piezoelectric |
| 24 | +IFFT | inverse fast Fourier transform |
| 25 | +JSON | javascript object notation |
| 26 | +MIMO | multiple input/multiple output |
| 27 | +ReST | representational state transfer |
| 28 | +RMS | root-mean-square |
| 29 | +SVD | singular value decomposition |
| 30 | +TRAC | time response assurance criterion |
| 31 | +UI | user interface |
| 32 | + |
| 33 | +## Notation |
| 34 | + |
| 35 | +### Accents |
| 36 | + |
| 37 | +\begin{description} |
| 38 | + \item[$\mathbf{x}$ \normalfont (bold, non-italic typeface)] Matrix or vector |
| 39 | + \item[$x$ \normalfont (non-bold, italic typeface)] Scalar or array |
| 40 | +\end{description} |
| 41 | + |
| 42 | + |
| 43 | +### Variables |
| 44 | + |
| 45 | +### Operations |
| 46 | + |
| 47 | +## Introduction |
| 48 | + |
| 49 | +The field of \ac{MIMO vibration testing has grown substantially in the past few years. \Ac{MIMO vibration testing provides the capability to match a field environment more accurately and at more locations on the test article than traditional single-axis vibration testing. Unfortunately, many existing vibration control systems are proprietary, which makes it difficult to implement new \ac{MIMO techniques. Currently, \ac{MIMO vibration practitioners must either develop a control system from scratch to implement their ideas, or alternatively convince an \ac{MIMO vibration software vendor to implement their ideas into existing devices, and neither of these approaches are conducive to the rapid and iterative nature of research. The Rattlesnake framework was developed to overcome these limitations and facilitate \ac{MIMO vibration research. Rattlesnake is a \ac{MIMO control system that provides the user the ability to overcome testing challenges by providing a flexible framework that can be extended and modified to meet testing demands. Rattlesnake can run multiple environments simultaneously, providing a combined-environments capability that does not yet exist in commercial software packages. It can target multiple hardware devices, or even perform control virtually using a state space model, \ac{FEM results, or a SDynPy System. |
| 50 | + |
0 commit comments