## 2 Materials and Methods
### System Architecture
#### 2.3.2 Electronic Subsystem  
The electronic subsystem is composed of four separate boards in charge of specific control tasks implemented by dedicated firmware. Its functional block diagram is shown in Figure 4. The circuits are powered by means of a 5 V DC power supply or 4.8 V battery pack (four AA-sized rechargeable batteries) to also ensure operation without the availability of a power plug. Figure 4: Functional block diagram of the electronic subsystem. Figure 3: Computer-made models of the ElGo system: (**a**) mechanical infrastructure and (**b**) transmission subsystem. The first element is an off-the-shelf current driver produced by Roboteq Inc., Scottsdale, AZ, USA [35], which is used to power and control the DC motor; for later reference, it will be called the Motor Driver (MD). The MD incorporates a full-featured Proportional, Integral, Differential (PID) control algorithm. It adjusts the power output based on the difference measured between the desired position (set by the user's issued command) and the actual position (captured by the encoder). In particular, every 1 ms, the algorithm measures the actual motor position and subtracts it from the desired position to compute the position error. The resulting error value is then multiplied by a user-selectable Proportional gain (P\({}_{\text{gain}}\) = 2.0). The effect is to apply power to the motor that is proportional to the distance between the current and desired positions: when far apart, high power is applied, with the power being gradually reduced and stopped as the motor moves to the final position (maximum velocity 600 rpm). The Integral component performs a sum of the error over time. The value is then multiplied by the configured gain (I\({}_{\text{gain}}\) = 2.0) and added to the output. This helps to reach and maintain the exact desired position when the error would otherwise be too small to energize the motor using the proportional component alone. The Differential component of the algorithm computes the changes to the error from one ms time period to the next. It aims to give a boost of extra power when starting the motor due to changes to the desired position value. We selected D\({}_{\text{gain}}\) = 0 to avoid this power contribution. In addition to its main control function, the MD also has several useful features for monitoring and managing the performance of the controlled motor such as an instant current meter, a current limiter, and a passive or powered brake. Although it can be used with several interfaces, both analog and digital, we selected the RS 232 UART port for our purposes. The second is the user interface board, featuring a joystick, four push buttons, and four mono 3.5 mm jack inputs suitable to connect almost every commercial switch designed for disabled users. This board can be connected both with a wired USB link or wireless, by means of a Class 1 Bluetooth point-to-point link established exploiting the embedded transceiver; for later reference, it will be called User Controller (UC). The developed UC is shown in Figure 5. Its sensor equipment allows it to support all three game modes provided in the ElGo system. The third board is the main controller, also referred to as the ElGo Controller (EC). Its task is to acquire all the signals sent by the user's input and sensors and combine them with the stored configuration (for instance the active game mode) in order to calculate the next motion-controlling action to be performed. Then, it sends the computed command to the MD to directly control the motor, and thus, the movement of the dummy. The EC also provides a simple user interface made of a rotary switch, four push buttons, and an  
Figure 5: Universal controller enabling all three game modes. LCD display mainly dedicated to diagnostic and configuration purposes. For instance, it allows verifying the status of boards and sensors, changing the game mode on the fly, and calibrating the system at the startup. The fourth and final board implements the safety system, which is a critical feature of the ElGo system.