<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Edge Computing Workshop, April</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Test platform for Simulation-In-Hardware of unmanned aerial vehicle on-board computer</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Arsen R. Petrosian</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ruslan V. Petrosian</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oleksandra M. Svintsytska</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Zhytomyr Polytechnic State University</institution>
          ,
          <addr-line>103 Chudnivsyka Str., Zhytomyr, 10005</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2024</year>
      </pub-date>
      <volume>5</volume>
      <issue>2024</issue>
      <fpage>0000</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>Recent years have been marked by the rapid development of unmanned aerial vehicles, which is of interest not only to ordinary citizens but also to military, industrial and civilian spheres of activity. Designing and developing software to control the orientation and movement of an unmanned aerial vehicle in space takes a long time, including time for debugging, testing, and conducting flight tests. Errors made in the development of the software can lead to emergencies or other unforeseen failures during operation, which can lead to the destruction of the vehicle or cause harm to people and the environment. In the course of analyzing recent studies of software testing methods for embedded systems, their advantages and disadvantages were identified. It was found that both mechanical test benches and simulation modeling in a 3D environment are used: SIL, HIL and SIH simulation. Mechanical test benches allow testing and calibration of the parameters of real models of unmanned aerial vehicles, but have some limitations. Simulation modeling does not require additional equipment due to the use of virtual models of unmanned aircraft and does not have the limitations inherent in mechanical test benches. The most successful implementation of the test platform is the implementation using SIH simulation. The proposed method is an improved version of SIH simulation. The basis of this variant is a sensor and actuator simulator that ensures the operation of the original firmware of an unmanned aerial vehicle and allows you to organize the interconnection of on-board and personal computers. To test the idea, the test platform was implemented in practice. A configuration utility for the simulator of sensors and actuators has also been developed. The results obtained in the work will allow to organize software testing of the on-board computer of an unmanned aerial vehicle even without having the source code.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;UAV</kwd>
        <kwd>unmanned aerial vehicle</kwd>
        <kwd>on-board computer</kwd>
        <kwd>software testing</kwd>
        <kwd>SIH simulation</kwd>
        <kwd>HIL simulation</kwd>
        <kwd>3D environment</kwd>
        <kwd>sensor and actuator simulator</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Unmanned aerial vehicles (UAV), which are flying robots, are an important part of scientific research in
military, industrial and civilian areas of activity: aerial photography and mapping, promptly obtaining
information about the consequences of emergencies, monitoring industrial and natural complexes,
delivering goods, entertainment purposes, etc. Designing and developing software for controlling UAV
orientation in space takes a long time, including time for debugging, testing, and flight tests.</p>
      <p>Using classical methods of debugging and testing flight controller firmware is problematic. One way
to test controller firmware is to use an oscilloscope and logic analyzer to obtain timing diagrams. This
approach is efective, but it is not always possible. In our case it is not possible to use these tools, because
the UAV must move in space. When the controller is operating power equipment, it must not be stopped.
Stopping the controller during operation at the breakpoint will, at best, cause the equipment to stop,
and at worst it may lead to equipment failure. Also further step-by-step debugging becomes impossible
because the system state will change (closed-loop control system). However, many debugging tools,
such as J-Link, display the change of variables in real time. As in the first case, it is impossible to connect
directly, so it is necessary to use remote data transfer. this possibility is theoretically possible (figure 1),
but this option is not provided.</p>
      <p>Each of the considered options can be used to solve narrowly focused problems, but all the considered
approaches do not guarantee the work of the whole system. Mistakes made in the development of UAV
software can lead to emergencies or other unforeseen failures during operation. In this regard, the task
of checking the reliability of the UAV’s on-board computer software arises, which will simplify the
maintenance, modernization and optimization of the software.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Theoretical background</title>
      <p>Debugging and testing UAV software is a challenging task. The problem lies in the dificulty of generating
a complete set of sensor signals and the impossibility of creating emergency situations on a real UAV,
so special software and hardware are used to develop, test and debug UAV software.</p>
      <p>
        Let us consider modern approaches used to verify the reliability of software during development,
namely testing. According to the degree of code isolation, there are 4 levels of testing [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:
• unit testing;
• integration testing;
• system testing;
• acceptance testing.
      </p>
      <p>Unit testing is a level in which individual modules or components of a program (functions, methods,
or classes) are tested independently of the rest of the program. This level of testing is intended to
verify that each component works correctly. An important aspect of unit testing is the isolation of the
component under test from other components of the application to ensure that bugs are detected and
corrected locally within the component.</p>
      <p>Integration testing is a level that is aimed at checking the interaction between diferent modules or
components of the application. Integration testing checks how components interact with each other
and how they interact with external systems, if any.</p>
      <p>System testing – a level that is carried out at the final stage of development, when all components
of the application are already integrated together and ready for testing in real conditions before the
application is released into operation</p>
      <p>Acceptance testing is a level aimed at verifying that the application meets the requirements of the
customer or end user. It is usually performed by the customer or their representatives.</p>
      <p>Testing ensures that:
• code quality;
• compliance with the stated requirements;
• optimization of computing resources;
• data security and integrity;
• time saving (searching for errors can take a lot of time);</p>
      <p>In many cases, the use of testing during the development of, for example, computer application
software is suficient to ensure the required level of reliability of the software, but not for firmware.</p>
      <p>
        For efective and eficient testing of embedded software, a large number of testing methods,
approaches, and tools are used, so in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], a review and systematization of literature sources in this area
was carried out.
      </p>
      <p>
        Embedded systems often need to work in interaction with the environment, using sensors to obtain
input data (temperature, pressure, etc.) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and UAVs are no exception. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the main idea is to
develop a test platform for mechanical flight simulation and better stabilization of multi-rotor UAVs
using various feedback control algorithms, including PID controllers [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ]. This stand allows you to
check and calibrate model parameters and perform real-time control of a multi-rotor UAV. A more
functional stand for educational purposes is presented in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. As in the previous work, the test stand is
a gyroscopic structure with three degrees of freedom, which provides pitch, roll, and yaw motion of
the quadrotor. However, unlike the previous test stand, it allows translational movement, albeit with
limitations (figure 2).
      </p>
      <p>One of the efective methods of testing embedded systems is simulation modeling. Simulation
modeling is a research method that uses models that describe real-world processes. Using such models,
it is possible to test the real system without exposing it to danger. Simulation modeling is most often
used when it is impossible to conduct an experiment on a real object or it is necessary to simulate the
behavior of a real system in time.</p>
      <p>
        The firmware test in UAV simulation can be performed in three places: on a host computer, using
code compilation for the source platform; in an emulator on a host computer, such as QEMU; on a real
lfight controller, using cross-compilation of code for the target hardware. The first two options are used
when performing SIL (Software in the Loop) simulation [
        <xref ref-type="bibr" rid="ref8 ref9">8, 9</xref>
        ]. The advantage of SIL is that it is easy to
organise, as no additional hardware is required. SIL allows developers to perform firmware simulation
in the early stages of development, even before it is integrated into the target hardware. The third
option is used when performing HIL (Hardware in the Loop) simulation [
        <xref ref-type="bibr" rid="ref10 ref11 ref8">8, 10, 11</xref>
        ]. HIL simulation
involves the use of target equipment that brings the system’s operation as close as possible to real
conditions. Recently, another approach to testing has emerged – SIH simulation [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. SIH simulation is
an alternative to HIL simulation. In this case, everything works on the onboard computer, and the PC is
used only to display the virtual UAV.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Result</title>
      <p>
        As mentioned above, various testing methods and tools are used to ensure the reliability of embedded
system software. The main dificulty is testing the hardware components of the embedded system, so
additional hardware and/or software tools are being developed. Figure 2 shows a test stand that provides
verification of the functioning of algorithms in the on-board computer, the operation of sensors, motors,
etc. However, it is obvious that this stand limits the UAV’s movement in space. Another approach that
allows you to test a full-fledged UAV flight is to use HIL simulation. The flight is performed in a 3D
environment on a computer (e.g., Gazebo, jMavSim, or another). Figure 3 shows a diagram of such a
HIL simulation system of the PX4 autopilot software [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>
        Obviously, this approach allows testing only the operation of the on-board computer, while other
hardware nodes are virtual. These virtual nodes interact with the on-board computer using the MAVLink
protocol [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Figure 4 shows the appearance of the jMavSim 3D environment.
      </p>
      <p>
        To ensure firmware testing in the on-board computer, you need to use mock objects. The purpose of
mock objects is to replace the objects that are tested in the program code with equivalent debugging
objects. Creating mock objects can be associated with some dificulties, for example, using interrupts
from a specific communication interface that a real sensor uses. The disadvantage of this approach
is that the firmware during testing will not correspond to its final implementation. The use of SIH
simulation (figure 5) improves the situation when testing UAVs [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], but does not eliminate most of the
problems that HIL simulation has.
      </p>
      <p>To address these shortcomings, it is proposed to implement a test platform that uses the original
ifrmware of the on-board computer. How to implement it? Consider a simplified diagram of any sensor
(figure 6).</p>
      <p>The sensor consists of:
• a sensing element that is directly related to the measured value;
• transducer, which serves to convert the measured value into another value convenient for
transmission, processing and storage.</p>
      <p>
        When using any simulation option (HIL, SIH), the virtual sensor is fully implemented in a 3D
environment [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ]. In this case, the question arises: how to transmit information to the on-board
computer? The MAVLink protocol is mainly used, although it is not necessary, for which mock objects
are implemented in the firmware of the on-board computer. Thus, the data of the virtual sensor is
processed on the side of the on-board computer. Obviously, in this case, it is necessary to complicate
the architecture of the autopilot software, as well as to provide for diferent compilation scenarios.
However, the KISS design principle states that there is no need to overcomplicate, each node should
perform only a specific task.
      </p>
      <p>The on-board computer already uses communication interfaces with sensors (mainly I2C, SPI), so it is
logical to use them to solve the problem. In this case, the on-board computer will access real hardware
nodes, but this is problematic because these interfaces are not available in a personal computer. On
the other hand, it is necessary to use a 3D environment to organise safe flights when testing UAV
algorithms.</p>
      <p>Obviously, a node is needed to connect the on-board computer with the 3D environment on a PC to
transmit navigation and control information to the UAV. From the above, it follows that a sensor and
actuator simulator (SAS) is needed, where the software model will correspond to the hardware nodes.
The architecture of the proposed test platform is shown in figure 7.</p>
      <p>
        When using this approach, in fact, the SAS will perform the functions of a sensor converter (figure 6),
and only the sensing element will be used in the 3D environment. The information transmitted from
the 3D environment will be wrapped in a software model of the sensor (in our case, MPU-6050 [
        <xref ref-type="bibr" rid="ref16 ref17">16, 17</xref>
        ]).
Figure 8 shows some registers of the MPU-6050 accelerometer and gyroscope.
      </p>
      <p>A debugging board is required for UAV simulation. The most popular microcontrollers for the
on-board computer are STM32F405RGT6 and STM32F722RET6. Unfortunately, STMicroelectronics does
not produce a debugging board based on the STM32F405RGT6 microcontroller, so you need to use a
third-party debugging board, such as the Core405R from Waveshare or the STM32F405 Core Board from
WeAct. The NUCLEO-F722ZE debug board can be used to simulate an on-board computer based on the
STM32F722RET6 microcontroller. The SAS can be performed on any debugging board that has three
I2C and SPI interfaces each (the number of interfaces is determined by the number of interfaces in the
above-mentioned microcontrollers). In our case, we used the STM32G431 Core Board from WeAct. The
configuration of the SAS for each sensor is performed similarly to its prototype, and the data registers
are filled with information coming from a personal computer with a 3D environment.</p>
      <p>The software of the SAS is implemented in the C++ programming language. For sensors with an I2C
interface, the basis is an abstract class shown in the screen (figure 9).</p>
      <p>
        To configure the SAS, we developed a simple utility in the C++ programming language using the QT
framework (figure 10). For each channel, the sensor model, interface, and variable part of the address,
as well as noise parameters are configured in accordance with expression (1) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]:
      </p>
      <p>=  +  + , (1)
where  is the original value,  is the current ofset, and  is a white Gaussian noise with zero mean.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>The article considers a test platform for hardware modelling of an unmanned aircraft’s onboard computer.
Various testing methods and tools are used to ensure the reliability of embedded system software. The
main dificulty is testing the hardware components of the embedded system, so additional hardware
and software tools are being developed.</p>
      <p>To accomplish this task, a comparative analysis of existing testing approaches was carried out to
identify advantages and disadvantages. It was found that both mechanical test stand and simulation
modelling in a 3D environment are used: SIL and HIL. A mechanical test rig is heavy and restricts the
UAV’s movement in space. Existing SIL and HIL simulators do not require additional equipment, but
they do not take into account the actual operation of hardware components.</p>
      <p>An improved version of SIH simulation is proposed. The proposed variant is based on a sensor
and actuator simulator that ensures the operation of the original UAV firmware and allows for the
interconnection of the onboard and personal computer. The sensor and actuator simulator was built on
the basis of the Core Board STM32G431 debugging board from WeAct. To configure the sensor and
actuator simulator, a small utility was developed in C++ using the QT framework.</p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>Conceptualization, Arsen Petrosian and Ruslan Petrosian; software, Arsen Petrosian; hardware, Ruslan
Petrosian; investigation, Arsen Petrosian; resources, Oleksandra Svintsytska; data curation, Oleksandra
Svintsytska; writing-review and editing, Arsen Petrosian.</p>
      <p>We would like to express our gratitude to our relatives who supported and helped us. We would also
like to express our gratitude to all the organizers of the conference “doors-2024: 4rd Edge Computing
Workshop” conference, especially Tetiana Vakaliuk.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Aniche</surname>
          </string-name>
          , Efective Software Testing:
          <article-title>A developer's guide</article-title>
          ,
          <source>Simon and Schuster</source>
          ,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>V.</given-names>
            <surname>Garousi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Felderer</surname>
          </string-name>
          ,
          <string-name>
            <surname>Ç. M. Karapıçak</surname>
          </string-name>
          , U. Yılmaz,
          <article-title>Testing embedded software: A survey of the literature</article-title>
          ,
          <source>Information and Software Technology</source>
          <volume>104</volume>
          (
          <year>2018</year>
          )
          <fpage>14</fpage>
          -
          <lpage>45</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.infsof.
          <year>2018</year>
          .
          <volume>06</volume>
          .016.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A.</given-names>
            <surname>Banerjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chattopadhyay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Roychoudhury</surname>
          </string-name>
          ,
          <article-title>On testing embedded software</article-title>
          ,
          <source>in: Advances in Computers</source>
          , volume
          <volume>101</volume>
          ,
          <string-name>
            <surname>Elsevier</surname>
          </string-name>
          ,
          <year>2016</year>
          , pp.
          <fpage>121</fpage>
          -
          <lpage>153</lpage>
          . doi:
          <volume>10</volume>
          .1016/bs.adcom.
          <year>2015</year>
          .
          <volume>11</volume>
          .005.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hancer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Bitirgen</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Bayezit</surname>
          </string-name>
          ,
          <article-title>Designing 3-DOF hardware-in-the-loop test platform controlling multirotor vehicles</article-title>
          ,
          <source>IFAC-PapersOnLine</source>
          <volume>51</volume>
          (
          <year>2018</year>
          )
          <fpage>119</fpage>
          -
          <lpage>124</lpage>
          . doi:
          <volume>10</volume>
          .1016/j.ifacol.
          <year>2018</year>
          .
          <volume>06</volume>
          . 058.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>R. V.</given-names>
            <surname>Petrosian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I. A.</given-names>
            <surname>Pilkevych</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Petrosian</surname>
          </string-name>
          ,
          <article-title>Algorithm for optimizing a PID controller model based on a digital filter using a genetic algorithm</article-title>
          ,
          <source>CEUR Workshop Proceedings</source>
          <volume>3374</volume>
          (
          <year>2023</year>
          )
          <fpage>97</fpage>
          -
          <lpage>111</lpage>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>3374</volume>
          /paper07.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Xu</surname>
          </string-name>
          , G. Ma, H. Han,
          <string-name>
            <surname>X</surname>
          </string-name>
          . Zong,
          <article-title>Research on improved sparrow search algorithm for PID controller parameter optimization</article-title>
          ,
          <source>Bulletin of the Polish Academy of Sciences Technical Sciences</source>
          <volume>71</volume>
          (
          <year>2023</year>
          )
          <fpage>e147344</fpage>
          -
          <lpage>e147344</lpage>
          . doi:
          <volume>10</volume>
          .24425/bpasts.
          <year>2023</year>
          .
          <volume>147344</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>U.</given-names>
            <surname>Veyna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Garcia-Nieto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Simarro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. V.</given-names>
            <surname>Salcedo</surname>
          </string-name>
          ,
          <article-title>Quadcopters Testing Platform for Educational Environments</article-title>
          ,
          <source>Sensors</source>
          <volume>21</volume>
          (
          <year>2021</year>
          )
          <article-title>4134</article-title>
          . doi:
          <volume>10</volume>
          .3390/s21124134.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C.</given-names>
            <surname>Coopmans</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Podhradský</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N. V.</given-names>
            <surname>Hofer</surname>
          </string-name>
          ,
          <article-title>Software- and hardware-in-the-loop verification of lfight dynamics model and flight control simulation of a fixed-wing unmanned aerial vehicle</article-title>
          , in: 2015 Workshop on Research,
          <source>Education and Development of Unmanned Aerial Systems (RED-UAS)</source>
          ,
          <year>2015</year>
          , pp.
          <fpage>115</fpage>
          -
          <lpage>122</lpage>
          . doi:
          <volume>10</volume>
          .1109/RED-UAS.
          <year>2015</year>
          .
          <volume>7440998</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>K. D.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. T.</given-names>
            <surname>Jang</surname>
          </string-name>
          ,
          <article-title>Development of a New Hybrid Drone and Software-in-the-Loop Simulation Using PX4 Code</article-title>
          , in: D.
          <string-name>
            <surname>-S. Huang</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Bevilacqua</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Premaratne</surname>
          </string-name>
          , P. Gupta (Eds.),
          <source>Intelligent Computing Theories and Application</source>
          , Springer International Publishing, Cham,
          <year>2018</year>
          , pp.
          <fpage>84</fpage>
          -
          <lpage>93</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -95930-
          <issue>6</issue>
          _
          <fpage>9</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>K. D. Nguyen</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Ha</surname>
          </string-name>
          ,
          <article-title>Development of Hardware-in-the-Loop Simulation Based on Gazebo and Pixhawk for Unmanned Aerial Vehicles</article-title>
          ,
          <source>International Journal of Aeronautical and Space Sciences</source>
          <volume>19</volume>
          (
          <year>2018</year>
          )
          <fpage>238</fpage>
          -
          <lpage>249</lpage>
          . doi:
          <volume>10</volume>
          .1007/s42405-018-0012-8.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <article-title>Hardware in the Loop Simulation</article-title>
          .
          <source>PX4 Autopilot User Guide</source>
          ,
          <year>2023</year>
          . URL: https://docs.px4.io/main/ en/simulation/hitl.html.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Simulation-</surname>
          </string-name>
          In-Hardware.
          <source>PX4 Autopilot User Guide</source>
          ,
          <year>2023</year>
          . URL: https://dev.px4.
          <source>io/v1.9</source>
          .0_ noredirect/en/simulation/simulation-in-hardware.html.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Protocol</given-names>
            <surname>Overview. MAVLink Developer Guide</surname>
          </string-name>
          ,
          <year>2023</year>
          . URL: https://mavlink.io/en/about/overview. html.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>J.</given-names>
            <surname>Meyer</surname>
          </string-name>
          , A. Sendobry,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kohlbrecher</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Klingauf</surname>
          </string-name>
          ,
          <string-name>
            <surname>O. von Stryk</surname>
          </string-name>
          ,
          <article-title>Comprehensive Simulation of Quadrotor UAVs Using ROS and Gazebo</article-title>
          , in: I.
          <string-name>
            <surname>Noda</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Ando</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Brugali</surname>
            ,
            <given-names>J. J.</given-names>
          </string-name>
          <string-name>
            <surname>Kufner</surname>
          </string-name>
          (Eds.), Simulation, Modeling, and Programming for Autonomous Robots, Springer Berlin Heidelberg, Berlin, Heidelberg,
          <year>2012</year>
          , pp.
          <fpage>400</fpage>
          -
          <lpage>411</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -34327-8_
          <fpage>36</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A. I.</given-names>
            <surname>Hentati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Krichen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Fourati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. C.</given-names>
            <surname>Fourati</surname>
          </string-name>
          , Simulation Tools,
          <article-title>Environments and Frameworks for UAV Systems Performance Analysis</article-title>
          ,
          <source>in: 2018 14th International Wireless Communications &amp; Mobile Computing Conference (IWCMC)</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1495</fpage>
          -
          <lpage>1500</lpage>
          . doi:
          <volume>10</volume>
          .1109/IWCMC.
          <year>2018</year>
          .
          <volume>8450505</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <source>[16] TDK, MPU-6000 and MPU-6050. Product Specification</source>
          ,
          <year>2013</year>
          . URL: https://invensense.tdk.com/ wp-content/uploads/2015/02/MPU-6000-
          <fpage>Datasheet1</fpage>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <source>[17] TDK, MPU-6000 and MPU-6050. Register Map and Descriptions</source>
          ,
          <year>2013</year>
          . URL: https://invensense. tdk.com/wp-content/uploads/2015/02/MPU-6000
          <string-name>
            <surname>-</surname>
          </string-name>
          Register-Map1.pdf.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>