• No se han encontrado resultados

OBREROS DE HIRAM ¿DE DÓNDE SURGE LA MASONERÍA?

In document 12.12 LIBRO DE LA SOET (página 44-74)

UAVMainframe was developed by Lehmk¨uler, described in detail in reference [136], and further developed by Anderson [135]. It is a sophisticated real time flight control and

data acquisition system. It is capable of providing an interface with ground control software to control flight tests whilst obtaining high quality synchronised data from many sensors, fusing the resulting data and providing highly accurate data for immediate real time use by the flight controller, and for post flight analysis and system identification routines. It consists of a BeagleBone Black (BBB) single board computer with a wifi adapter to provide a UDP (User Datagram Protocol) link to open source ground control software, QGroundcontrol. The BBB features several I2C and standard serial interfaces that connect to the various sensor boards. The full capability of the system allows for many such boards collecting data from multiple angle sensors, pitot sensors, Global Positioning System (GPS), Inertial Measurment Unit (IMU), Radio Frequency (RF) communications, power management and flight control. In the present work, a very limited subset of these functions is needed, with only 3 rotary encoders, airspeed, IMU, RF communications and flight control required for the 1 degree of freedom wind tunnel tests. A high level diagram of the data flow between components is shown in Figure 5.10.

The BBB board runs a Linux like operating system and handles all communications between UAVMainframe and peripheral sensor boards and to the users computer. The in-built wifi capability is used to connect the BBB Linux operating system to an SSH shell on the remote laptop to allow the user to transfer files onto the BBB and to start and stop the UAVMainframe executable. The files on the BBB include the compiled UAVMainframe executable as well as configuration and input files. The configuration files contain information specific to the model being tested such as the type, either fixed wing or rotary, as well as the mode of the data processing among other things. The input files contain control deflection sequences stored as pairs of control surface angle and time.

These input files are used during system identification tests where UAVMainframe steps the control surface between the specified angles at the prescribed time steps. A custom cape has been developed by Lehmk¨uler [136] and Anderson [135] to support various connectors to all of the boards. The cape also converts I2C voltages for use by the peripheral sensor boards.

UAVMainframe uses individual boards with hardware interrupt capabilities to directly interface with sensors. In this application an Arduino Uno board, referred to as the sensor board, interfaces with the 3 rotary encoders used for attitude and control surface

Figure 5.10: UAVMainframe high-level control and data flow

angle sensing. The sensor board has 3 hardware interrupts which collect from the rotary encoders as soon as it is available. UAVMainframe sends a sync signal to every peripheral board to collect data from the sensors. UAVMainframe then requests this data from the remote sensor boards, so although there is a delay in UAVMainframe collecting the data from each board, every reading is taken at the same time. This is very important for the system identification application as any time delays require more complex processing techniques [153].

RF communications are passed via a Spektrum satellite receiver, which communicates with a SAMD21-mini board (referred to as RC I/O board) and breakout board developed by Anderson [135]. The RC I/O board also controls the two servos used to drive the elevons using its native Pulse Width Modulation (PWM) output capability. This board communicates to the BBB using SPI protocol in addition to separate digital sync and reset lines controlled from the BBB. A second SAMD21 board (Airspeed board) is used to interface with the wind tunnel pressure readings to obtain dynamic pressure readings

synchronized with the other sensor data.

The two rotary position sensors used are the AMT-20V and the MA3-P12-125-B. The AMT-20V is accurate to 0.2 degree resolution [154] while the MA3 sensor resolution is 0.1 degrees [155]. The AMT-20V is specifically designed for measuring rotational position of the shaft and is ideally suited to sensing the gimbal rotation position. 3D printed horns were created for the MA3 to connect to the elevon control shaft. There is no measurable play between the elevon control shaft and the elevon surface, so by custom designing the elevon and MA3 3D printed horns, the measured control surface deflection matches the actual control surface deflection. The AMT-20V sends data to the sensor board using SPI (Serial Peripheral Interface) communications. The MA3 encoders output PWM signls which are read by the sensor board using the native hardware interupts to catch the PWM frames.

The control surfaces are actuated by two HDS-9450MG servos from Scanner RC which are capable of producing 4.1kg-cm of torque which is more than sufficient for Elevon control. These servo motors receive PWM commands from the RC I/O board. There is play between the servo motors, and the elevon control shafts, however this does not have an impact on the system identification process. Deadband between the elevon surfaces and servo motors does cause issues returning the control surface to the trim location during test manoeuvres.

Two UBECS provide power to the BBB and the servo motors at 6V and 5V respectively from a power supply located outside of the model. A power line runs along the wind tunnel mount and into the model to power these UBECs. This power line is attached to the mount in such a way that the lower portion which enters the model is slack, to prevent any impact on the model motion.

Custom QGroundcontrol software widgets allow for tuning of the PID flight controller gains and setting of maximum rotation rates during testing by passing these parame-ters over a standard MAVlink communication protocol. System identification sequences are also controlled via the custom Qgroundcontrol interface with another widget. This interface allows the pre-loaded input sequences on the BBB to be modified using ampli-tude and frequency controls. This greatly speeds up the process of testing as tuning the amplitudes and frequency of the inputs can be done without needing to stop the test

and transfer new input files onto the BBB. The system can run in either an armed or disarmed mode. When disarmed the vehicle is entirely controlled via a remote transmit-ter, the Spektrum DX9 SPMR9900 was used during these tests. When armed the flight controller maintains a trim angle of attack specified by a combination of the transmitter pitch command and the QGroundcontrol pitch trim parameter. During system identifi-cation tests, the input sequence, and frequency and amplitude adjustments are selected and sent to UAVMainframe. During the period of the control input and a short settling time afterwards, the control surface deflection is the sum of the deflection that was used to trim the vehicle and the input sequence deflection. The flight controller is not actively controlling the vehicle during this period to maximise the vehicle response signal in the measured data.

In document 12.12 LIBRO DE LA SOET (página 44-74)