Next Article in Journal
Railways Passengers Comfort Evaluation through Motion Parameters: A Systematic Review
Next Article in Special Issue
Vibration Modeling and Analysis of a Flexible 3-PRR Planar Parallel Manipulator Based on Transfer Matrix Method for Multibody System
Previous Article in Journal
Study on Wear Properties of the Graphite-Sealing Surfaces in a Triple Eccentric Butterfly Valve Based on EDEM-Fluent Coupling
Previous Article in Special Issue
Quasi-Coordinates-Based Closed-Form Dynamic Modeling and Analysis for a 2R1T PKM with a Rigid–Flexible Structure
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Computer-Aided Design, Multibody Dynamic Modeling, and Motion Control Analysis of a Quadcopter System for Delivery Applications

by
Carmine Maria Pappalardo
*,
Marco Del Giudice
,
Emanuele Baldassarre Oliva
,
Littorino Stieven
and
Alessandro Naddeo
Department of Industrial Engineering, University of Salerno, Via Giovanni Paolo II 132, 84084 Fisciano, Italy
*
Author to whom correspondence should be addressed.
Machines 2023, 11(4), 464; https://doi.org/10.3390/machines11040464
Submission received: 27 February 2023 / Revised: 29 March 2023 / Accepted: 6 April 2023 / Published: 8 April 2023
(This article belongs to the Special Issue Dynamic Analysis of Multibody Mechanical Systems)

Abstract

:
This paper elaborates on the modeling and control of an Unmanned Aerial Vehicle (UAV) for delivery purposes, thereby integrating computer-aided design, multibody dynamic modeling, and motion control analysis in a unified framework. The UAV system designed in this study and utilized for item delivery has a quadcopter structure composed of four arms connected to a central trunk. In this investigation, the proposed design of the delivery drone is systematically modeled employing the multibody approach, while SIMSCAPE MULTIBODY is the software used for performing the dynamic analysis and for devising the final design of the control system. To this end, starting from the CAD model designed using SOLIDWORKS, the control system of the quadcopter is developed by performing dynamic simulations in the MATLAB/SIMULINK environment. Additionally, another fundamental contribution of this paper is the analytical derivation of the nonlinear set of algebraic constraint equations peculiar to the present multibody system, which characterizes the kinematics of the delivery drone and describes the relative angular velocity imposed between two rigid bodies as nonholonomic constraints. Furthermore, as discussed in detail in this paper, the choice of the propulsion system and the design of the individual components heavily depends on the structural and functional needs of the UAV under study. On the other hand, the control system devised in this work is based on cascaded Proportional-Integral-Derivative (PID) controllers, which are suitable for achieving different maneuvers that are fundamental for the motion control of the delivery drone. Therefore, the final performance of the UAV system is a consequence of the regulation of the feedback parameters that characterize the PID controllers. In this respect, the paper presents the refining of the parameters characterizing the PID controllers by using both an internal MATLAB tool, which automatically tunes the controller gains of single-input single-output systems, and by observing the resulting transient behavior of the UAV system, which is obtained through extensive dynamical simulations. The set of numerical results found in this investigation demonstrates the high performance of the dynamical behavior of the UAV system designed in this work.

1. Introduction

1.1. Formulation of the Problem of Interest for This Investigation

The acronym UAV stands for Unmanned Aerial Vehicle. This family of aerial mechanical systems represents a class of aircraft that can be remotely piloted by following a given flight plan or by using a ground-based command station [1]. The principal differences between conventional aircraft and UAVs can be found in avionics, communication systems, data management, and flight autonomy [2,3]. Originally, UAVs were typically used for military applications, such as reconnaissance missions and aerial attacks [4]. Subsequently, their use also shifted to civil applications due to their potential for exploration and monitoring. The main advantage of UAV systems compared to conventional aircraft is the capacity to carry out complex and dangerous missions at lower economic costs [5,6]. Another peculiarity of UAV systems is the possibility of serving as a support for robotic mechanical systems for performing multiple repetitive tasks in the case of large-scale industrial applications [7,8,9]. In fact, since UAVs can work autonomously, their modern use is becoming interconnected with several robotic systems [10].
In mechanical and industrial engineering applications, the use of Computer-Aided Design (CAD) programs and Computer-Aided Engineering (CAE) software plays a central role [11,12]. In this context, the need for the Integration of Computer-Aided Design and Analysis (I-CAD-A) is day by day becoming of paramount importance in several engineering areas [13,14,15]. To this end, Multibody System Dynamics (MBD) represents a fundamental tool for performing reliable and advanced computer simulations of the kinematic and dynamic behavior of rigid–flexible articulated mechanical systems. General-purpose multibody software allows for automatically generating and numerically solving the differential-algebraic form of the equations of motion describing the dynamic behaviors of complex mechanical systems. This process is based on the preliminary geometric analysis carried out employing computer-aided design software, which is currently used exclusively for the creation of complex geometric shapes [16,17]. It is therefore apparent that the integration of computer-aided design and analysis tools will be prominent in modern engineering applications.
From a general perspective, the process of analysis can be seen as the verification of the performance of an already existing mechanical system. The synthesis process, on the other hand, is represented by the design of a mechanical system that is aimed at achieving the required specifications of the project [18,19]. In the mathematical modeling of a multibody system, the system degrees of freedom are the minimum number of independent parameters necessary and sufficient to uniquely define the configuration of the mechanical system [20,21]. For example, for a rigid body moving in space, six degrees of freedom are defined: three rotational and three translational coordinates. In the mathematical modeling of multibody mechanical systems made up of rigid bodies, two general formulation approaches can be followed. These are the Minimal Coordinate Formulation (MCF) and the Redundant Coordinate Formulation (RCF). In the former approach, the analysis is based on a number of generalized coordinates equal to the number of degrees of freedom of the dynamical system to be modeled. In the latter approach, on the other hand, the number of generalized coordinates employed in the description of the motion of the mechanical system of interest is greater than the system degrees of freedom. While the first approach is adopted only in the case of machines and mechanisms having a simple structure, the second approach is typically used in the dynamic analysis of complex multibody systems since it allows for the systematic development of the equations of motion [22,23]. Therefore, the RCF is the general multibody formulation utilized in this work for modeling the case study of this investigation.

1.2. Literature Review

The scientific literature over the last twenty years has mainly been focused on the construction of UAV systems and on the development of various control methods. Kant et al. statically analyzed individual components of pre-existing drone models [24]. Ballous et al. designed a drone to transport medical items [25]. Zhafri et al. focused on optimizing the materials for the mechanical design of drones [26]. Meenakshipriya et al. designed and fabricated a 3D-printed UAV model, and then tested its dimensions and roughness [27]. Benito et al. suggested a series of criteria to design a UAV with a payload [28]. Tnunay et al. designed an auto-tuner to make the proportional-derivative controller more robust [29]. De Simone et al. designed a proper set of control inputs for a UAV system, considering the wind disturbance action [30]. Hai-long et al. devised a proportional-integral nonlinear controller for the attitude control and the trajectory tracking of drone systems [31]. Amir and Abbass proposed a simplified mathematical model of a UAV system [32]. Razinkova et al. studied an adaptive compensation controller for the position tracking error of quadrotor UAVs [33]. Fernando et al. focused on a simulator and a laboratory platform to facilitate the future development of control algorithms, automatic navigation systems, and trajectory planning for quadrotors [34]. Pessen et al. proposed a method for tuning the parameters of the PID controller of a drone [35].
The body of knowledge apparent from the literature concerning UAV systems is quite extended, thereby demonstrating the growing importance of such topics for engineering applications. In recent years, the popularity of UAVs has grown because they can meet a wide range of needs. In particular, quadrotors play a central role in aerial development due to their versatility in both the civil and military sectors. Fixed-wing drones such as airplanes require a proper track for takeoff and landing, while quadcopters can take off vertically from a given airstrip [36]. Furthermore, drones can be used for the delivery of goods, as proposed in this research. In this vein, the challenges to address concern modeling, such as dimensioning the components and choosing the best frame configuration, as well as in controlling the various movements, such as hovering, rolling, and pitching [37]. Additionally, another important topic concerning the mathematical modeling of UAVs is the identification of their structural model, and for example, the state estimation of the system dynamics for attaining the attitude control [38,39,40].
A rigid multibody system is a dynamical system that consists of solid bodies connected by kinematic joints that limit their relative motion [41,42,43]. These are mechanical devices that restrict the motion of the members of a machine or mechanism, and they are formed by an appropriate coupling of surfaces between two contiguous bodies. These contacting surfaces are called conjugate surfaces and they identify a kinematic element, while the set of two kinematic elements forms a kinematic pair [44]. From a mathematical point of view, the equations describing the motion of multibody mechanical systems are nonlinear ordinary differential equations, while the equations modeling the motion restrictions of the kinematic pairs are nonlinear algebraic equations, thereby leading to a highly nonlinear set of differential-algebraic equations [45]. The study of multibody dynamics, also called direct dynamics, is the analysis of how these systems move under the influence of specific applied forces, torques, and moments. The study of the opposite problem, i.e., which set of generalized forces is required to make the mechanical system move in a specific manner, is called inverse dynamics, and this is an important topic that is closely related to the field of nonlinear control and state estimation [46,47].

1.3. Scope and Contributions of This Study

The goal of this research paper is to thoroughly describe the modeling of a UAV system serving as a delivery drone, an autonomous flying machine that was specifically conceived for the transportation and delivery of light goods. This derives from complete CAD model creation to multibody model development and the subsequent design of an ad hoc control system. The first challenge to face in this research endeavor is the choice of the components of the propulsion system, which depends on the object to carry, representing the payload of the UAV system. In the case of the study considered in this work, the delivery drone must carry six beers, forming a pack of about two kilograms. Although the present delivery drone is designed for beer delivery, it can easily carry any object of the same weight and therefore can be used for different purposes. The virtual prototype of the delivery drone designed in this study is medium-sized, needing a space of about two square meters to land. However, it is still suitable for delivery in modern apartment buildings. The design concept devised in this investigation envisages a transport that is fully automated, with no intervention of the customer on the drone required in order to recover the goods.
In this paper, a CAD model of the virtual prototype of the UAV system serving as a delivery drone was developed first. Then, by using the geometric information provided by the CAD model, a multibody model was created. By doing so, the resulting simplified CAD model was subsequently imported into the MATLAB simulation environment using the software called SIMSCAPE MULTIBODY. The delivery drone is provided with the input of the trajectory to follow, which was designed using MATLAB and SIMULINK. This is necessary to determine the position error and the force quota needed for achieving the system guidance. For this purpose, the motion control is realized using separate PID controllers, which were designed with one for each movement. More specifically, while the PID controller regulating the drone altitude was manually calibrated by observing the system feedback behavior, the cascade PID controllers for the two-dimensional cruise motion were adjusted with an internal MATLAB/SIMULINK tool called PID Tuner. In addition to the flight scenarios concerning the take-off, cruise, and landing maneuvers, a dynamical simulation of the unloading of the beers was also performed employing SIMSCAPE MULTIBODY. The dynamical simulations carried out in this study using SIMSCAPE MULTIBODY are robust and efficient. The numerical results obtained in this investigation using MATLAB are fully satisfying for the computer-aided design and analysis of the virtual prototype of the proposed delivery system.
One of the main contributions of the present research work is the development of a multibody model of the UAV system serving as a delivery drone that was promptly designed in this investigation. The analytical development of an accurate multibody model, as well as its subsequent computer implementation and dynamical simulations, is aimed at the design and testing of the laws of motion to be provided as the input functions to control the motion of the mechanical system under study. As shown in detail in the manuscript, the delivery drone is modeled as a multibody system composed only of rigid bodies endowed with a three-dimensional motion. In the multibody model devised in this paper, the proper formulation of a nonlinear set of differential equations that describes the dynamic behavior of the system under study is of primary importance. Furthermore, the introduction of an additional set of nonlinear algebraic equations is equally essential for the correct modeling of the effect of the mechanical joints, as well as the presence of driving constraints imposed on the dynamical system to be controlled. Additionally, in the mathematical description of all the mechanical actions applied to the delivery drone, an appropriate set of externally applied forces, torques, and moments is included in the multibody model. In the multibody model of the UAV system analyzed in this investigation, for the mathematical description of the driving constraints associated with the imposed rotational motion of the propellers, a set of nonholonomic algebraic constraints is specifically devised and analytically formulated, thereby representing one of the most important novelties and contributions presented in this research work.
To conceptually summarize the approach proposed and employed in this investigation, one can refer to the schematic flowchart represented in Figure 1.
In the flowchart reported in Figure 1, all the fundamental steps followed in this paper are schematically illustrated to clarify the scope and the contributions of the present research work.

1.4. Organization of the Manuscript

The remaining parts of this manuscript are organized as follows. Section 2 is focused on the description and the mathematical modeling of the propulsion system of the virtual prototype developed in this work. In Section 3, the main steps followed in the computer-aided design of the UAV system of interest for this investigation are illustrated, the individual mechanical components designed using SOLIDWORKS are described, and the reasons behind the design choices made are specified. Section 4 is devoted to the multibody modeling of the virtual prototype of the UAV system designed in this research, including the formulation of a new algebraic set of nonholonomic constraints suitable for mathematically modeling the relative angular velocity imposed between the propellers and the chassis of the delivery drone. In Section 5, the key features investigated in the development of the control system devised for the proposed delivery drone are explained. Section 6 describes the computer simulations carried out for analyzing the dynamical behavior of the delivery drone, while Section 7 presents and discusses the numerical results found in this investigation. In Section 8, a summary of the completed work is presented, the conclusions drawn in this research are reported, and some directions for future works are commented on.

2. Propulsion System Description and Modeling

2.1. Main Concept

The virtual prototype of the UAV system serving as a delivery drone that is designed in this study is a quadcopter. Consequently, the first problem to be addressed in the design phase is the ideation of the propulsion system. The propulsion system is fundamental in the design of quadcopters because it considerably influences their performance. In general, the propulsion system consists of four fundamental parts, that is, motors, propellers, batteries, and electronic speed controllers. The specifics of these components must be properly matched to work efficiently and for avoiding accidents. For instance, the selection of motors and propellers is carried out simultaneously to obtain the best combination in terms of thrust, efficiency, and dimensions of the frame. Therefore, this section is devoted to the propulsion system description and modeling, thereby addressing one by one all the requirements for the design of the desired quadcopter working as a delivery drone.

2.2. Propellers

Propellers provide the required thrust to the prototype of the quadcopter designed in this work. Propeller function is of paramount importance and is analogous to the that of the fixed-wing design of airplanes. The geometric parameters that mainly affect propeller performance are the diameter and the pitch. Therefore, in engineering practice, propellers are described by an identification number of four digits. The first two numbers specify the diameter measured in inches, while the second two numbers define the propeller pitch measured in inches. The pitch is a measure of the theoretical forward travel of a propeller during one revolution, assuming no loss of energy to slippage. Propeller pitch is used to select a propeller for a specific application based on the desired thrust and RPM range. Another fundamental parameter that characterizes each propeller refers to the number of blades. For instance, standard propellers available for sale in the market have two or three blades. Propellers having two blades are more efficient, but they generate less thrust than those having three blades. The materials used for manufacturing the propellers also affect their dynamic response. Typical materials employed for the manufacturing of propellers are plastic, wood, and carbon fiber. Plastic propellers are very common but they suffer from severe self-induced vibrations and are quite fragile. Propellers made of wood are heavy and stiff, but less responsive to speed changes. Carbon fiber propellers are the best option because they are stiff and light, and they generate less mechanical vibrations.

2.3. Electric Motors

Electric motors convert the electrical energy of batteries into the mechanical energy of the propellers. The selection of these components strongly depends on the payload of the UAV system of interest. Heavier UAVs need larger motors due to their higher power requirements. The electric motors mainly used for quadcopters are DC motors since they are more efficient and cheaper than AC motors. The geometric dimensions of an electric motor are described by a number having four digits. The first two numbers indicate the width of the motor, measured in millimeters, while the last two numbers indicate the height, measured in millimeters. Another important parameter used for identifying DC motors is referred to as the KV value. This parameter approximately specifies the number of RPMs that the motor revolves under a single volt of electric tension. For example, electric motors having high values of the KV parameter are faster and drive smaller propellers. For these reasons, these kinds of DC motors are employed in racing drones. Electric motors having low values of the KV parameter, on the other hand, are slower and more suitable for supporting the propulsion systems of delivery drones.

2.4. Batteries

The batteries provide power to the electric motors. Currently, there are three different types of batteries, namely lithium polymer (LiPo), nickel metal hydride (NiMH), and lithium-ion. Because of their higher energy density and their ability to bear a higher stress without burning out, the most commonly used family of batteries are LiPo batteries, which are suitable for UAV systems in general. A fundamental parameter that characterizes the performances of batteries to be considered is the discharge rate, which defines the maximum current tolerable by the propulsion system without accidents. For the UAV system designed in this investigation as a delivery drone, the battery chosen is a 12 S , 10,000 (mAh) battery with a discharge rate of 30 ( C ) . The symbol S stands for series, indicating that the cells are connected in series to increase the voltage of the battery pack. Each cell in a lithium polymer (LiPo) battery pack has a nominal voltage of 3.7 (V), so a 12 S battery pack would have a nominal voltage of 12 × 3.7 (V) = 44.4 (V). The number of cells in a battery pack affects both the voltage and the capacity of the battery.

2.5. Electronic Speed Controllers

Electronic Speed Controllers (ESCs) are electronic components that guide the speed of the motors by processing the autopilot signal. Another function of the ESC is to transform the DC current coming from the batteries into a three-phase AC current to supply power to the electric motor. There are also other auxiliary functions such as battery protection. The ESC chosen for the virtual prototype of the proposed UAV system has an amperage of 80 ( A ) supplied to the electric motors.

2.6. Propeller Modeling

By knowing the diameter D p expressed in (m), the pitch H p expressed in (m), and the number of blades B p of a propeller, it is possible to estimate the thrust force F T expressed in ( N ) and the torque moment M p expressed in ( N × m ) . The thrust and the torque can be obtained from the following formulas:
F T = ρ C T N 60 2 D P 4
M p = ρ C M N 60 2 D P 5
where C T and C M are the dimensionless thrust and torque coefficients, respectively, while N denotes the revolutions per minute of the propeller. The parameter ρ represents the air density expressed in (kg/m 3 ), which varies with the altitude h expressed in meters according to the following simple law:
ρ = 273 P a 101325 ( 273 + T t ) ρ 0
where P a represents the atmospheric pressure, T t is the atmospheric temperature, and the standard air density ρ 0 is equal to 1.293 (kg/m 3 ) when the temperature is 273 (K). The atmospheric pressure P a measured in (Pa) can be estimated as follows:
P a = 101325 1 0.0065 h 273 + T t 5.2561
The coefficients C T and C M are functions of propeller data. These two dimensionless coefficients can be determined by using the following formulas:
C T = 0.25 π 3 λ ζ 2 B P K 0 ε arctan ( H P π D P ) α 0 π A + K 0
C M = 1 8 A π 2 C d λ ζ 2 B P 2
where C d is another dimensionless coefficient given by:
C d = C f D + π A K 0 2 e ε arctan ( H P π D P ) α 0 2 π A + K 0 2
More specifically, the parameter C d represents the drag coefficient defined as:
C d = 2 F d ρ u 2 S
where F d is the drag force, ρ is the mass density of the fluid, u is the flow velocity, and S is the reference area. Experimental values of the previous coefficients vary over the following ranges: A = 5 8 ( ) , ε = 0.85 0.95 ( ) , λ = 0.7 0.9 ( ) , ζ = 0.4 0.7 ( ) , e = 0.7 0.9 ( ) , C f D = 0.015 ( ) , α 0 = π / 36 0 (rad), and K 0 = 6.11 ( ) . For the design of the UAV system developed in this study, the following values were chosen: A = 5 ( ) , ε = 0.85 ( ) , λ = 0.75 ( ) , ζ = 0.5 ( ) , e = 0.83 ( ) , C f D = 0.015 ( ) , α 0 = 0 (rad), and K 0 = 6.11 ( ) . The coefficient A = D p D p c p c p is the aspect ratio, where D p is the propeller diameter and c p is the blade average chord length. The coefficient C f D is the zero-lift drag coefficient, which depends on the thickness of the blade, the Reynolds number, and the angle of attack. The parameter e = 1.78 1 0.045 A 0.68 0.64 is the Oswald factor. The parameter λ is a correction coefficient, while the parameter ϵ is another correction factor that arises due to downwash. The parameter α 0 is the zero-lift angle of attack [48,49].

2.7. Choices of Motors and Propellers

Through an iterative process, based on the analysis of the mathematical models of the propellers, it was possible to choose a combination of propellers and motors that meets the required specifications. The delivery drone to be designed is a quadcopter. Thus, the total thrust required must be divided into four contributions generated by its four propellers. In addition, the motors must meet a thrust-to-weight ratio that is equal to two, which is a common design choice made for delivery drones. In the case of the UAV system designed in this investigation, the total mass is about 10 (kg). Consequently, the thrust force that each motor coupled to the propeller must offer must be more than 5 (kgf). For the reasons mentioned before, the chosen combination of motors and propellers consists of propellers having a diameter equal to 22 (inch) and a pitch equal to 7.4 (inch), and high-efficiency, low-KV motors with a maximum power output of 1400 (W). In summary, the parameters chosen for the electric motors are shown in Table 1.

3. UAV System Computer-Aided Design

3.1. Complete Geometric Model

The development of a virtual model of the delivery drone allows the design engineer to evaluate various aspects of the UAV system of interest without creating a physical prototype. In the case of the virtual prototype of the UAV system developed in this investigation, the CAD model was created in SOLIDWORKS, which is a three-dimensional design and drafting software that allows for the construction of complex geometric shapes. Every single component was designed to meet the design needs of the delivery drone. Then, the individual components were mated to create the finished assembly. The geometric analysis performed on the CAD model was challenging and absorbed a considerable amount of time because it was necessary to guarantee the correct functionality and disassembly of the single components forming the UAV system of interest [50,51]. The final result of this process is shown in Figure 2, while the single parts of the final assembly will be subsequently presented, thereby specifying the material and the design choices made.
As shown in Figure 2, the CAD model of the UAV system is composed of four support arms, four propeller shafts, four bearings, four motor supports, four DC motors controlling the propellers, four belt transmissions, a central frame, a beer crate, four rollers, four roller supports, a roller motor, an external case, landing gear, and a battery cover. All these mechanical components are described in detail below by following the criteria met for their geometric design.

3.2. Support Arms

The CAD model of the UAV system encompasses four support arms for properly distancing the blades of the propellers from the main body of the central chassis. Therefore, the length of each arm is a consequence of the propellers chosen, as discussed in detail in Section 2. In the proposed prototype, the frame is about one meter off from the central frame to avoid interference between the propellers during flight. The length of each arm is denoted with R and can be calculated as:
R = r max sin ( θ 2 )
being:
r max = 1.05 r p 1.2 r p
where r m a x is the maximum radius of a propeller, r p represents the radius of the chosen propellers, and θ identifies the angle between the support arms. In particular, the geometric model of the mechanical system at hand was designed such that θ = π π 2 2 (rad), r p = 0.2794 (m), r m a x = 0.3517 (m), and R = 0.4974 (m). As shown in Figure 3, at the edge of each arm there is a slot for the shaft, which can be housed horizontally.
The material chosen for the support arm is carbon fiber to ensure lightness and strength. The configuration chosen for the arms is QuadX because it was experimentally verified that it is more efficient [52,53,54]. This configuration also makes access to the beers more manageable, which represent the payload of the delivery drone designed in this investigation. Otherwise, the arms would interfere with the opening of the case hatch. Additionally, the cross-sections of the support arms are designed to be octagonal, to create proper reference planes for positioning the motor and its support.

3.3. Propeller Shafts and Bearings

As can be seen in Figure 3, the shaft of each propeller has a larger central section that serves as a shoulder for the positioning of the bearings and their respective supports on both sides. By using the holes in the support, it is possible to mate the shaft to the arm, so that the bearings do not move. The matching between the shaft and the pulley, and the one between the shaft and the propellers, are ensured by two grains.
Axial ball bearings are used to support the axial thrusts generated by the propulsion system. In the case of the proposed design of the UAV system, the radial force is in fact negligible compared to the axial one. The bearings were inserted into custom-made aluminum housings, as represented in Figure 3. These triangular-shaped supports are designed to allow for a correct centering of the bearings, and to avoid disassembly caused by the thrusts of the propulsion system.

3.4. Motor Supports and Belt Transmissions

The UAV system is equipped with a gearbox on each arm. Thus, each electric motor is not located on the axis of each propeller. As a result, the motors require the design of proper mechanical supports to fasten them to the drone arms. These additional mechanical supports are represented in blue in Figure 3. For simplicity, the geometry of each additional mechanical support is identical to one of the arms, thereby guaranteeing a better matching. The material chosen for the motor supports is aluminum. These supports are designed for facilitating the installation of the motors, with their rotors directed toward the top. This also helps to reduce the elastic deflection of the propeller shafts. On the base of each support, there are four holes aligned with the corresponding holes already present on the motor. Four M4 screws are used to fasten the stator of each electric motor to the base of their mechanical supports, therewith leaving the rotor free to transmit motion.
The gearbox chosen to transmit the mechanical power from the electric motor to the propellers is a belt transmission shown in Figure 4.
This solution is more efficient and quieter than gears. The belt links two pulleys whose transmission ratio is 2:3.

3.5. Central Frame

As shown in Figure 5, the central frame of the UAV system serving as a delivery drone resembles the polygonal geometry of the arms.
There are recesses in the structure that reduce the weight of the frame without affecting its functionality, as well as its structural strength and integrity. The main function of the central chassis is to connect the four arms to the crate for transporting the beers representing the payload of the UAV system. The material chosen is carbon fiber for its lightness and rigidity, as mentioned previously. The space between the two plates of the frame is used for the positioning of the electronics, such as the flight controller and the ESCs. The electronics are fixed to the structure with cable ties.

3.6. Beer Crate

As mentioned before, the payload of the proposed UAV system serving as a delivery drone is represented by beverages such as beer. Beers are transported by a crate fastened to the structure of the UAV system, as shown in Figure 6.
Inside the crate, there is a conveyor belt on which the beers are placed. The delivery of the beers involves a series of operations. Once the quadcopter has landed, the customer can make payment via NFC. The signal is sent to the controller, which in turn opens the linear actuator that locks the door. The DC motor, housed outside the case, starts the conveyor belt rollers. The beers, owing to their own weight and because of the push of the rollers, open the door and slide on it. Thus, the customer can pick up the beers. When the beers are recovered, the torsional spring of the hinge closes the door again. This system helps to minimize the contact between the UAV and the customer, who might unintentionally damage the delivery drone.

3.7. Rollers, Roller Supports, and Roller Motor

Four rollers serve to support the conveyor belt transporting the beers representing the payload. The shaft of the rollers acts as a shoulder for the two bearings. The first bearing, the shaft, the second bearing, and a cap are inserted into the outside of the rollers by following this order, as shown in Figure 7.
This assembly sequence serves to lock the bearings in place. There is a hole in the first roller for the insertion of the DC motor shaft.
The assembled rollers are positioned on special supports, as shown in Figure 8.
The supports serve to facilitate the installation of the rollers inside the crate. The supports are L-shaped and have four holes. The holes on the lower surface allow for the fixing of the crate, while those on the upper surface are necessary for the placement of the rollers. The supports are necessary for positioning the rollers inside the crate. To guarantee an easy assembly and disassembly process, it was not possible to mount the rollers directly inside the crate because there would be no room for assembly. Because of the presence of the supports, the rollers are assembled outside and then fastened to the external crate.
As shown in Figure 9, the DC motor that controls the rotation of the rollers is attached to the outside of the case.
The process for fixing the case is facilitated by two aluminum plates, which are placed with one inside and one outside, and then secured with screws. To avoid interference problems, the motor is the first component to be assembled in the case. The plate represented in Figure 8 is the one on the outside. Another equal plate is collocated in the same position inside the case.

3.8. External Case, Landing Gear, and Battery Cover

The outer case is made of ABS plastic. Holes on the bottom surface of the case are required for fastening the rollers by supports. A plexiglass door closes the case. Plexiglass reduces friction between the beers and the door, thereby allowing them to slide without stopping. It is also an aesthetic choice because it lets the customer see the beers representing the payload of the delivery drone. The door hinge is equipped with a torsion spring that closes the door once the beers are picked up. To prevent the door from accidentally opening during flight, a linear actuator electronically locks it. This result is checked in a multibody simulation environment described in detail below in the manuscript.
The case of beers should not touch the ground because a certain angle is required for the beers to slide. For this purpose, the delivery drone is equipped with a simple landing gear composed of four cylindrical tubes connected by T-shaped supports. As shown in Figure 5, screws connect the landing gear to the central frame.
The battery is protected from the weather by a cover. The cover is made of plastic and is fixed to the frame with two flaps.

4. UAV System Multibody Modeling

4.1. Mathematical Background

In the case study in point, namely the kinematic and dynamic analysis of a UAV system working as a delivery drone, the laws of motion are provided as input functions to control the motion of the mechanical system at hand. Subsequently, both the processes of analysis and the synthesis of the control system are carried out. As shown below, the delivery drone is modeled as a multibody system composed only of rigid bodies endowed with a three-dimensional motion. While the differential equations considered in the mathematical modeling of the present problem take into account the dynamic behavior of the system under study, the additional algebraic equations appended to the set of differential equations serve to describe the effect of the mechanical joints and the presence of driving constraints imposed on the dynamical system to be controlled. Furthermore, a proper set of externally applied forces, torques, and moments is considered for the mathematical modeling of all the mechanical actions applied on the delivery drone modeled as a multibody system.

4.2. Kinematic and Dynamic Analysis

The following is a description of the differential-algebraic equations of motion used to define the multibody model of the UAV system under consideration. As anticipated before, the fundamental approach employed for the mathematical modeling of the present UAV system serving as a delivery drone, which represents the case study of this investigation, is the Redundant Coordinate Formulation (RCF). Thus, although the dynamical system at hand has a number of degrees of freedom equal to n f = 6 , i.e., the three spatial translations and the three finite rotations of the chassis, its multibody model is based on a set of n q redundant generalized coordinates, where n q > n f . More precisely, the Three-Dimensional Reference Point Coordinate Formulation with Euler Angles (3D-RPCF-EA) is the multibody formulation approach adopted in this work [55,56]. In the 3D-RPCF-EA, the Cartesian coordinates of a material point attached to each rigid body are employed as the translational coordinates, while the set of rotational coordinates used is represented by the Euler-Cardan angles based on the X Y Z sequence. By doing so, assuming a space dimension equal to d = 3 , and by denoting the generic rigid body with the superscript index i, the first angular displacement denoted with ϕ i represents the system roll, the second angular displacement denoted with ϑ i represents the system pitch, and the third angular displacement denoted with ψ i represents the system yaw. The vector of rotational coordinates pertaining to the generic rigid body i is thereby donated with the vector θ i of dimensions n θ = 3 . In this context, the rotation matrix A i of a generic rigid body i is therefore a d × d matrix given by:
A i = A x i A y i A z i
being:
A x i = 1 0 0 0 C ϕ i S ϕ i 0 S ϕ i C ϕ i , A y i = C ϑ i 0 S ϑ i 0 1 0 S ϑ i 0 C ϑ i , A z i = C ψ i S ψ i 0 S ψ i C ψ i 0 0 0 1
where the following abbreviations are used:
C ϕ i = cos ( ϕ i ) S ϕ i = sin ( ϕ i ) , C ϑ i = cos ( ϑ i ) S ϑ i = sin ( ϑ i ) , C ψ i = cos ( ψ i ) S ψ i = sin ( ψ i )
Consequently, in the 3D-RPCF-EA, the number of generalized coordinates of each rigid body is given by n b = d + n θ = 6 . To this end, one can define the following generalized coordinate vector denoted with q i of dimensions n b × 1 associated with the generic rigid body i:
q i = R i T θ i T T
being:
R i = x i y i z i , θ i = ϕ i ϑ i ψ i
where R i denotes a vector of dimensions d × 1 containing the translational coordinates of the generic body i, θ i denotes the vector of rotational coordinates of the generic body i having dimensions n θ × 1 , while x i , y i , and z i respectively represent the longitudinal, lateral, and vertical linear displacements of the center of mass pertaining to the rigid body i, whereas ϕ i , ϑ i , and ψ i respectively represent the roll, pitch, and yaw rotational displacements of the same body, as introduced before. The multibody model of the UAV system under study is composed of N b = 5 rigid bodies, identified as follows:
  • Central frame: body i = 0 .
  • Propeller I: body i = 1 .
  • Propeller II: body i = 2 .
  • Propeller III: body i = 3 .
  • Propeller IV: body i = 4 .
Where each rigid body is unambiguously labeled with the integer number i. By mathematically modeling the delivery drone as a multibody mechanical system composed of N b = 5 rigid bodies deployed in a three-dimensional space, the resulting dynamical model is based on a set of redundant coordinates in number equal to n q = N b n b = 30 . As a result, it is apparent that the complete form of the multibody system generalized coordinate vector referred to as q of dimensions n q × 1 is given as follows:
q = q 0 T q 1 T q 2 T q 3 T q 4 T T
In the 3D-RPCF-EA, the mass matrix M i of dimensions n b × n b and the inertia quadratic velocity vector Q v i of dimensions n b × 1 of each rigid body i respectively assume the following analytical forms:
M i = m i I O O G ¯ i T I ¯ G i i G ¯ i , Q v i = 0 G ¯ i T ω ¯ i × I ¯ G i i ω ¯ i + I ¯ G i i G ¯ ˙ i θ ˙ i
where the collocation of the reference point O ¯ i of each body-fixed reference frame i is assumed to be coincident with the center of mass G i of the same rigid body, m i is the mass of the generic rigid body i, I denotes the d × d identity matrix, I ¯ G i i identifies the inertia matrix of the rigid body having dimensions d × d evaluated with respect to the body-fixed coordinate frame, ω ¯ i is the angular velocity vector of the rigid body i having dimensions d × 1 projected on its reference system, and G ¯ i is the transformation matrix having dimensions d × n θ that allows for determining the local angular velocity from the time derivative of the rigid body rotational coordinates. By selecting a proper body-fixed reference system that is the principal of inertia, the inertia matrix denoted with I ¯ G i i assumes the following simplified form:
I ¯ G i i = I x x i 0 0 0 I y y i 0 0 0 I z z i
where I x x i , I y y i , and I z z i represent the principal mass moments of inertia pertaining to the rigid body i. The conversion of the time derivative of the rotational coordinate vector θ ˙ i into the local angular velocity vector ω ¯ i , as well as the conversion of the time derivative of the body generalized coordinate vector q ˙ i into the local angular velocity vector ω ¯ i , can be explicitly performed as follows:
ω ¯ i = G ¯ i θ ˙ i = W ¯ i q ˙ i
where in the case of the X Y Z sequence of Euler angles, the transformation matrices G ¯ i of dimensions d × n θ and W ¯ i of dimensions d × n b are respectively given by:
G ¯ i = C ϑ i C ψ i S ψ i 0 C ϑ i S ψ i C ψ i 0 S ϑ i 0 1 , W ¯ i = O G ¯ i
where O denotes a d × d zero matrix. For the UAV system modeled as a multibody mechanical system in this study, the inertial properties of each component, including the mass of the payload m p attached to the chassis of the delivery drone, are reported in Table 2.

4.3. Mechanical Joints

The multibody system analyzed herein is mechanically held together by the presence of N c , h = 4 holonomic algebraic constraints mathematically modeling the kinematic joints, which are identified as follows:
  • Revolute joint I: constraint k = 1 .
  • Revolute joint II: constraint k = 2 .
  • Revolute joint III: constraint k = 3 .
  • Revolute joint IV: constraint k = 4 .
Where each kinematic pair is unambiguously labeled with the integer number k. Thus, to guarantee the rotation imparted by the electric motor to each propeller in the computer simulation, four revolute joints are considered as the mechanical constraints inserted between the central frame of the delivery drone and the four propellers forming the quadcopter. By using the multibody approach to the analysis of articulated mechanical systems, revolute joints are modeled using holonomic bilateral constraint equations [57,58]. This type of joint constrains the relative motion between two rigid bodies by granting n f k = 1 relative degrees of freedom between its members, and therefore, it is mathematically described by n c , h k = 5 effective algebraic constraint equations in a three-dimensional space. The total number of holonomic algebraic equations is therefore equal to n c , h and is given by:
n c , h = k = 1 N c , h n c , h k = 20
The schematization of a generic revolute joint between two spatial rigid bodies is represented in Figure 10.
Considering two generic rigid bodies denoted respectively by the integers i and j, and denoting by integer k the kinematic constraint associated with the generic revolute joint at hand, the corresponding constraint equations are embedded in the nonlinear constraint vector denoted with the vector Ψ k of dimensions n c , h k × 1 . The precise mathematical expression of the holonomic algebraic equations representing a generic revolute joint labeled with k can be written in a general and compact vector form as follows:
Ψ k = r i ( P ) r j ( P ) v 1 i T v 3 j v 2 i T v 3 j = 0
where r i ( P ) and r j ( P ) respectively represent the global position vectors of dimensions d × 1 of the collocation point P of the generic revolute joint k expressed, considering the kinematic representation of the rigid bodies i and j, while v 1 i , v 2 i , and v 3 i represent a triplet of unit vectors of dimensions d × 1 forming a rigid triad attached to the revolute joint k modeled as belonging to the rigid body i, whereas v 1 j , v 2 j , and v 3 j represent a triplet of unit vectors of dimensions d × 1 forming a rigid triad attached to the revolute joint k modeled as belonging to the rigid body j. By employing the multibody version of the fundamental formula of rigid kinematics, the absolute position vectors r i ( P ) and r j ( P ) are respectively defined as follows:
r i ( P ) = R i + A i u ¯ i ( P ) , r j ( P ) = R j + A j u ¯ j ( P )
where u ¯ i ( P ) and u ¯ j ( P ) respectively represent the local position vectors of dimensions d × 1 of the material point P associated with the body-fixed reference systems of the generic rigid bodies i and j connected by the revolute joint k. Additionally, the unit vectors v ¯ i and v ¯ j of dimensions d × 1 represented in Figure 10 mathematically define the direction of the revolute joint axis by considering the local reference frames attached to the rigid bodies i and j. Thus, one can write:
v ¯ 3 i = v ¯ i v ¯ 1 i v ¯ 2 i = triad ( v ¯ 3 i ) v 1 i = A i v ¯ 1 i v 2 i = A i v ¯ 2 i v 3 i = A i v ¯ 3 i
and
v ¯ 3 j = v ¯ j v ¯ 1 j v ¯ 2 j = triad ( v ¯ 3 j ) v 1 j = A j v ¯ 1 j v 2 j = A j v ¯ 2 j v 3 j = A j v ¯ 3 j
where the function triad ( v ) creates in output a right-handed triad of unit vectors v 1 , v 2 , and v 3 of dimensions d × 1 starting from the unit vector v of dimensions d × 1 taken in input [59]. The Jacobian matrix of the constraint equations associated with the revolute joint for a spatial multibody system is denoted with the matrix Ψ q k k having dimensions n c , h k × 2 n b , and it is defined as follows:
Ψ q k k = Ψ q i k Ψ q j k = L i ( P ) L j ( P ) v 3 j T D 1 i v 1 i T D 3 j v 3 j T D 2 i v 2 i T D 3 j
where L i ( P ) and L j ( P ) respectively represent the Jacobian matrices having dimensions d × n b of the global position vectors r i ( P ) and r j ( P ) associated with the material point P, whereas D 1 i , D 2 i , and D 3 j respectively represent the Jacobian matrices having dimensions d × n b of the global direction vectors v 1 i , v 2 i , and v 3 j . For a generic rigid body i, the Jacobian matrices L i ( P ) and D i are respectively defined as follows:
L i ( P ) = I A i u ¯ ˜ i ( P ) T G ¯ i , D i = O A i v ¯ ˜ i T G ¯ i
where u ¯ ˜ i ( P ) and v ¯ ˜ i respectively represent skew-symmetric matrices of dimensions d × d associated with the vectors u ¯ i ( P ) and v ¯ i . The quadratic velocity vector of the constraint equations associated with the revolute joint for a spatial multibody system is denoted with the vector Q d , Ψ k of dimensions n c , h k × 1 and it is defined as follows:
Q d , Ψ k = L ˙ i q ˙ i + L ˙ j q ˙ j v 3 j T D ˙ 1 i q ˙ i 2 v ˙ 1 i T v ˙ 3 j v 1 i T D ˙ 3 j q ˙ j v 3 j T D ˙ 2 i q ˙ i 2 v ˙ 2 i T v ˙ 3 j v 2 i T D ˙ 3 j q ˙ j
The constraint quadratic velocity vector associated with the holonomic algebraic equations describing the revolute joints is a highly nonlinear vector that absorbs the terms that are quadratic with respect to the generalized velocities of the multibody system. This vector is of fundamental importance for the correct computer implementation of the index-one form of the equations of motion that include the set of holonomic constraints. For the UAV system modeled as a multibody mechanical system in this study, the geometric properties of each mechanical joint are reported in Table 3.
In Table 3, the scalar quantity R represents the length of each support arm measured from the center of mass of the central frame to the axis of the revolute joints associated with each propeller.

4.4. Driving Constraints

In the multibody model of the UAV system analyzed in this investigation, the presence of N c , n h = 4 nonholonomic algebraic constraints is considered to mathematically describe the driving constraints associated with the imposed rotational motion of the propellers. The aforementioned driving constraints can be listed as follows:
  • Imposed angular velocity I: constraint h = 1 .
  • Imposed angular velocity II: constraint h = 2 .
  • Imposed angular velocity III: constraint h = 3 .
  • Imposed angular velocity IV: constraint h = 4 .
Where each set of driving constraints is unambiguously labeled with the integer number h. Therefore, to properly guarantee an assigned angular rate of rotation imposed by the electric motor to each propeller, four driving constraints are considered in the dynamic analysis describing the kinematic conditions affecting the connection between the central frame of the delivery drone and the four propellers forming the quadcopter. Adopting a systematic multibody approach for the kinematic and dynamic analysis of articulated mechanical systems, the driving constraints describing the prescribed angular velocity, relatively imposed between the propellers and the central frame, are modeled as nonholonomic bilateral constraint equations. For this purpose, the mathematical formulation of this specific type of driving constraint is developed and proposed in this paper. First, since the present family of driving constraints is represented by a set of nonholonomic algebraic constraints, no degrees of freedom are removed via their introduction in the multibody model. Second, in a three-dimensional space, the imposition of a relative angular velocity between two rigid bodies is mathematically described by n c , n h h = 3 effective algebraic constraint equations. The total number of nonholonomic algebraic equations is therefore equal to n c , n h , and is given by:
n c , n h = h = 1 N c , n h n c , n h h = 12
The schematization of the fundamental geometric quantities relative to a generic driving constraint, describing the imposed rotational motion between the propellers and the central frame of the delivery drone, is represented in Figure 11.
Considering two generic rigid bodies denoted respectively by the integers i and j, the rotation matrices transforming the Cartesian coordinates of a generic material point attached to each rigid body from the body-fixed reference frame to the global reference frame are respectively denoted with A i and A j . Denoting with A i , j the rotation matrix that defines the orientation of an arbitrary body i with respect to a body-fixed reference system attached to the rigid body j, one can easily demonstrate the validity of the following matrix equation:
A i = A j A i , j
Starting from this fundamental kinematic relationship, the additive property of the angular velocity vectors can be readily proven [59,60], leading to the following fundamental vector equation:
ω i = ω j + ω i , j
where ω i is the global angular velocity vector of the rigid body i expressed with respect to the inertial reference system, ω j is the global angular velocity vector of the rigid body j expressed with respect to the inertial reference system, and ω i , j is the global angular velocity vector of the rigid body i measured with respect to the rigid body j. It is important to note that the angular velocity vectors ω i , ω j , and ω i , j are all global vectors, that is, their algebraic components refer to the inertial reference system. More importantly, Equation (31) represents the fundamental building block for mathematically constructing the nonholonomic set of algebraic constraints describing the imposition of the relative angular velocity as an appropriate set of driving constraints. For this purpose, as already discussed in the manuscript, one can first express the angular velocity vectors ω i and ω j in the following general form:
ω i = G i θ ˙ i = W i q ˙ i , ω j = G j θ ˙ j = W j q ˙ j
where:
G i = A i G ¯ i , W i = A i W ¯ i , G j = A j G ¯ j , W j = A j W ¯ j
By knowing the geometric properties of the multibody system under study, the relative angular velocity vector ω i , j can be written as follows:
ω i , j = Ω h v h = Ω h A i v ¯ h = Ω h A j A i , j v ¯ h = Ω h A j v ¯ h
where Ω h represents the magnitude of the relative angular velocity vector, v h is the global axis vector of the relative angular velocity vector, and v ¯ h denotes the local axis vector of the relative angular velocity vector. Similarly, the relative angular acceleration vector is denoted with the vector α i , j of dimensions d × 1 and can be mathematically defined as:
α i , j = Ω ˙ h v h = Ω ˙ h A i v ¯ h = Ω ˙ h A j A i , j v ¯ h = Ω ˙ h A j v ¯ h
One can therefore readily formulate the desired nonholonomic conditions as follows:
ω i ω j = ω i , j W i q ˙ i W j q ˙ j = Ω h A j v ¯ h Θ h = 0
where the corresponding constraint equations are embedded in the nonlinear constraint vector denoted with the vector Θ h of dimensions n c , n h h × 1 . The complete mathematical expression of the nonholonomic algebraic equations describing a generic relative angular rotation associated with the set of driving constraints labeled with h can be written in a general and compact vector form as follows:
Θ h = W i q ˙ i W j q ˙ j Ω h A j v ¯ h = 0
Additionally, the Jacobian matrix of the constraint equations associated with the relative angular velocity imposed between two spatial rigid bodies is denoted with the matrix Θ q ˙ h h of dimensions n c , n h h × 2 n b and it is given by:
Θ q ˙ h h = Θ q ˙ i h Θ q ˙ j h = W i W j
Finally, the quadratic velocity vector of the constraint equations associated with the relative angular velocity imposed between two spatial rigid bodies is denoted with the vector Q d , Θ h of dimensions n c , n h h × 1 and it is given by:
Q d , Θ h = α i , j + ω j × ω i , j W ˙ i q ˙ i + W ˙ j q ˙ j
The constraint quadratic velocity vector associated with the nonholonomic algebraic equations describing the driving constraints is a highly nonlinear vector that absorbs the terms that are quadratic with respect to the generalized velocities of the multibody system. This vector is of paramount importance for the correct computer implementation of the index-one form of the equations of motion that include the set of nonholonomic constraints. For the UAV system modeled as a multibody mechanical system in this study, the geometric properties of each driving constraint are reported in Table 4.

4.5. External Forces and Control Actions

The multibody model of the UAV system under study is subjected to N e = 4 external forces, which are identified as follows:
  • Gravitational field: force l = 1 .
  • Wind disturbance: force l = 2 .
  • Contact force I: force l = 3 .
  • Contact force II: force l = 4 .
Where each external force is unambiguously labeled with the integer number l. For a generic external force identified by the integer number l, which is associated with the force vector F e l of dimensions d × 1 , expressed in the global reference system and applied to the material point P of the rigid body l, the corresponding generalized external force vector denoted with Q e l having dimensions n b × 1 can be obtained as:
Q e l = L l ( P ) T F e l = F e l G ¯ l T u ¯ l ( P ) × F ¯ e l
In the multibody model of the UAV system at hand, while both the total gravity force and the disturbance action of the wind are applied in the center of mass G 0 of the central frame, the first and second contact forces are respectively applied at the central tip points A 0 and B 0 of the right and left T-shaped legs of the landing gear attached to the chassis. On the other hand, in the multibody model of the UAV system developed in this work, a number of control actions equal to N u = 4 are considered for monitoring and guiding the three-dimensional motion of the system. More specifically, the following set of control torques applied to the propellers is assumed:
  • Propeller torque I: s = 1 .
  • Propeller torque II: s = 2 .
  • Propeller torque III: s = 3 .
  • Propeller torque IV: s = 4 .
Where each control torque is unambiguously labeled with the integer number s. For a generic control torque identified by the integer number s, which is associated with the torque vector T ¯ u s of dimensions d × 1 expressed in the body-fixed reference frame of the rigid body s, the corresponding generalized control force vector denoted with Q u s having dimensions n b × 1 can be obtained as:
Q u s = W ¯ s T T ¯ u s = 0 G ¯ s T T ¯ u s
As discussed in the description of the propulsion system, there is an explicit nonlinear relationship between the magnitude of each control torque T ¯ u s , which is denoted with M p s and is applied to the generic propeller s, and the angular velocity imposed on the same propeller given by Ω s = 2 π N s 2 π N s 60 60 , where N s indicates the revolutions per minute of the propeller labeled with the integer number s.

4.6. Differential-Algebraic Equations of Motion

The differential-algebraic form of the UAV system equations of motion modeled as a multibody system can be readily obtained through a standard and systematic assembly procedure. By doing so, the system mass matrix denoted with M and having dimensions n q × n q is given by:
M = A i = 0 N b 1 M i = M 0 O O O O O M 1 O O O O O M 2 O O O O O M 3 O O O O O M 4
where the symbol A stands for representing the standard assembly process employed in the field of multibody system dynamics. Similarly, the system inertia quadratic velocity vector denoted with Q v and having dimensions n q × 1 can be readily assembled as follows:
Q v = A i = 0 N b 1 Q v i = Q v 0 Q v 1 Q v 2 Q v 3 Q v 4
The system generalized external force vector denoted with Q e and having dimensions n q × 1 can be readily assembled as follows:
Q e = A l = 1 N e Q e l = Q e 1 + Q e 2 + Q e 3 + Q e 4 0 0 0 0
The system generalized control force vector denoted with Q u and having dimensions n q × 1 can be readily assembled as follows:
Q u = A s = 1 N u Q u s = 0 Q u 1 Q u 2 Q u 3 Q u 4
The system vector of holonomic algebraic constraints denoted with Ψ and having dimensions n c , h × 1 can be readily assembled as follows:
Ψ = A k = 1 N c , h Ψ k = Ψ 1 Ψ 2 Ψ 3 Ψ 4
The system vector of nonholonomic algebraic constraints denoted with Θ and having dimensions n c , n h × 1 can be readily assembled as follows:
Θ = A h = 1 N c , n h Θ h = Θ 1 Θ 2 Θ 3 Θ 4
The system Jacobian matrix relative to the set of holonomic algebraic equations denoted with Ψ q and having dimensions n c , h × n q can be readily assembled as follows:
Ψ q = A k = 1 N c , h Ψ q k k = Ψ q 0 1 Ψ q 1 1 O O O Ψ q 0 2 O Ψ q 2 2 O O Ψ q 0 3 O O Ψ q 3 3 O Ψ q 0 4 O O O Ψ q 4 4
The system Jacobian matrix relative to the set of nonholonomic algebraic equations denoted with Θ q ˙ and having dimensions n c , n h × n q can be readily assembled as follows:
Θ q ˙ = A h = 1 N c , n h Θ q ˙ h h = Θ q ˙ 0 1 Θ q ˙ 1 1 O O O Θ q ˙ 0 2 O Θ q ˙ 2 2 O O Θ q ˙ 0 3 O O Θ q ˙ 3 3 O Θ q ˙ 0 4 O O O Θ q ˙ 4 4
The system constraint quadratic velocity vector relative to the set of holonomic algebraic equations denoted with Q d , Ψ and having dimensions n c , h × 1 can be readily assembled as follows:
Q d , Ψ = A k = 1 N c , h Q d , Ψ k = Q d , Ψ 1 Q d , Ψ 2 Q d , Ψ 3 Q d , Ψ 4
The system constraint quadratic velocity vector relative to the set of nonholonomic algebraic equations denoted with Q d , Θ and having dimensions n c , n h × 1 can be readily assembled as follows:
Q d , Θ = A h = 1 N c , n h Q d , Θ h = Q d , Θ 1 Q d , Θ 2 Q d , Θ 3 Q d , Θ 4
By employing the fundamental principles of classical mechanics and introducing two sets of Lagrange multipliers, namely a set of n c , h Lagrange multipliers grouped in the vector λ and associated with the holonomic algebraic constraints, as well as a set of n c , n h Lagrange multipliers grouped in the vector μ and associated with the nonholonomic algebraic constraints, the differential-algebraic form of the multibody equations of motion describing the UAV system under consideration can be written as follows:
M q ¨ = Q v + Q e + Q u Ψ q T λ Θ q ˙ T μ Ψ = 0 Θ = 0
From a mathematical point of view, this is a nonlinear set of index-three differential-algebraic equations, featuring holonomic and nonholonomic constraints, which is particularly challenging to solve analytically. Consequently, one needs to resort to proper numerical methods for obtaining an approximate solution to the problem at hand, which must be reliable, accurate, and physically consistent. To achieve this goal, two general approaches can be followed, although several viable computational approaches exist in the multibody literature [61]. The two fundamental methods suitable for numerically solving the general form of the multibody equations of motion are referred to as the Augmented Formulation (AF) and the Embedding Technique (ET) [59]. In the AF, the system equations of motion are properly transformed from the index-three form to the index-one form and are subsequently rearranged in a matrix form that allows for the explicit computation of the system generalized acceleration vector. In the ET, on the other hand, the system equations of motion are readily transformed from the index-three form to the index-one form, and subsequently, a proper velocity transformation matrix is used to obtain only the generalized acceleration vector corresponding to the system degrees of freedom. However, both the AF and the ET numerically suffer from the unwanted phenomenon of the drift of the algebraic constraints, and therefore, they require the use of an effective stabilization technique to enforce the constraint equations at the position and velocity levels [62,63,64]. The AF is the general multibody formulation approach employed in this research work for performing the dynamic analysis of the delivery drone. Therefore, the resulting index-one set of dynamic equations can be written as follows:
M q ¨ = Q v + Q e + Q u Ψ q T λ Θ q ˙ T μ Ψ q q ¨ = Q d , Ψ Θ q ˙ q ¨ = Q d , Θ
As mentioned before, a reliable constraint stabilization procedure is necessary for correctly solving the index-one form of the differential-algebraic multibody equations. To this end, the generalized coordinate partitioning method is adopted in this investigation [65,66].

4.7. Underactuated Dynamical System

Depending on the type, the number, and the collocation of the control actions, a controlled multibody mechanical system can be modeled as a fully actuated or an underactuated dynamical system [67,68]. In the case of a fully actuated multibody mechanical system, the number of independently manipulable control actions denoted with n u is equal to the number of degrees of freedom of the system denoted with n f , that is, n u = n f . Conversely, in the case of an underactuated multibody mechanical system, the number of control actions is less than the number of degrees of freedom, that is, n u < n f . The quadcopter designed in this research work has four motors that rotate the propellers at different velocities. The torques of the motors generate the thrust forces that allow the drone to move through space. Physically, the UAV system at hand is modeled as a rigid body with six degrees of freedom. However, the angular velocities of the propellers are the only parameters that can be arbitrarily controlled to guide the motion of the UAV system. As a result, the system under study turns out to be an underactuated multibody mechanical system because one has n f = 6 and n u = 4 . Since the UAV system does not possess an actuator for each degree of freedom, some movements are not directly controllable. For example, in order to move the UAV system forward, the delivery drone must first rotate in the desired direction. In general, from a mathematical point of view, the underactuation characteristic of a multibody mechanical system can be identified and analyzed by observing the structure of the generalized control force vector denoted with Q u that is used for controlling the system motion [69,70]. In mechanical engineering applications, this vector features the following general mathematical structure:
Q u = B u u
where u is a vector of control actions having dimensions n u × 1 and B u is the positioning matrix describing the collocation of the actuators that has dimensions n q × n u . By analyzing the rank of the actuator positioning matrix relative to the multibody model of the delivery drone system under study, one obtains:
r u = rank ( B u ) = n u < n f
The rank r u of the positioning matrix of the actuators is equal to the number of manipulable control actions n u but it is lower than the degrees of freedom of the multibody system n f . Therefore, the dynamical system at hand is an underactuated multibody mechanical system. As mentioned before, underactuated mechanical systems are dynamic systems that are particularly challenging to control since some movements or maneuvers cannot be implemented [71]. However, as discussed below in the paper, by properly defining the time laws of the control actions applied to the UAV system under study, as well as by cleverly combining together some movements involving the degrees of freedom of the drone system, it is possible to effectively achieve control of the system motion in realistic scenarios.

5. UAV System Control Development

5.1. Control Strategy

In this section, the fundamental aspects addressed in the development of the control system suitable for the UAV system considered as the case study are described. In general, controlling a dynamical system means properly choosing the actions to be implemented to modify and to improve the behavior of the mechanical system of interest [72]. By acting on the forces, moments, and torques that are manipulable as the input variables of the mechanical system, motion control can be achieved in output. The control strategy depends on the specific mechanical system under study. For the UAV system analyzed in this investigation, a combination of a feedforward (open-loop) plus feedback (closed-loop) control scheme is utilized for achieving the motion control, as discussed in detail below.

5.2. PID Controller

To achieve the attitude control and the trajectory tracking of the UAV system, the control method best suited to the case at hand is the closed-loop (feedback) control method. In this type of control, the control actions are based on the instant-by-instant variations of the state of the dynamical system. Although there are more advanced feedback control techniques, the one most widely used in industry is the Proportional-Integral-Derivative (PID) controller. Accordingly, the closed-loop control scheme employed in this work is represented in Figure 12.
As shown in Figure 12, the input of the PID controller is the error signal, which is obtained by comparing the actual time evolution of the dynamical system, measured through the sensors with the reference trajectory, which is planned offline in advance to meet the desired goals. In general, the total control action of a PID controller denoted with u consists of three separate contributions: a contribution proportional to the error denoted with u p , a contribution proportional to the integral over time of the error denoted with u i , and a contribution that is proportional to the derivative of the error over time, denoted with u d . That is:
u = u p + u i + u d
where:
u p = K c e , u i = H c e ¯ , u d = R c e ˙
and
e = q q r , e ¯ = 0 t ¯ e ( t ¯ ) d t ¯ , e ˙ = d e d t
with q and q r being the actual and reference dynamical behaviors of the mechanical system, respectively, whereas K c , H c , and R c identify the coefficient matrices of the proportional, integral, and derivative terms of the PID controller, respectively. In practical applications, the parameters of a given PID controller reduce often to scalar terms that are simply identified with the initial of their letters, namely, P, I, and D. Since the desired dynamical behavior denoted by the vector q r is, in general, a function of time resulting from the preliminary phase of motion planning, the PID control strategy formulated herein can be inherently considered as a combination of a feedback plus feedforward control schemes. A strategy of this type is very robust as it seeks to minimize, by its nature, the deviation of the system behavior from the input instructions. However, the coefficient matrices of the PID controller must be properly tuned to obtain a good performance from the system guidance and the control of the motion.
In the virtual prototype of the UAV system, the PID controller provides as outputs the time laws and assigns them to the torques generated by the four motors. More specifically, in the computer simulation, the output of the PID controller is a torque, while in the real-world case, the actual controller returns voltage values that the motors and the propellers transform into propulsion forces. The physical transformation from the input voltage to the thrust force can be performed through the use of mathematical laws. For this purpose, the angular velocity of the propellers is proportional to the input voltage of the motors and can be expressed as follows:
N = K V V
where V denotes the input voltage, N represents the revolutions per minute of the motor, and K V is the constant that transforms the angular velocity of the motor into the input voltage. The mathematical laws that relate the angular velocities of the motors to the thrust force were discussed in detail in Section 2.

5.3. UAV System Control

In this subsection, the characteristics of the control scheme for the UAV system devised in this study are described. More precisely, to deliver the set of beers, the drone must follow a trajectory consisting of a vertical take-off phase, a horizontal movement, and an eventual yaw motion [73,74,75]. Consequently, the proposed control system simulates this trajectory using three separate PID controllers for the three movements, namely the vertical motion, the forward motion, and the yaw motion, as discussed in detail below.

5.3.1. Hovering and Vertical Motion

The first problem in the development of the control system is to make the delivery drone reach a predetermined altitude and keep it in balance. From a physical standpoint, in the center of mass of the drone acts the gravity force, while the four thrust forces, generated by the propulsion system, are applied to the edge of each arm. As a first approximation, one can consider the center of mass as being equidistant from the four electric motors. In the design phase, the authors tried to arrange the components symmetrically so that the propulsion forces, all equal in magnitude, and the gravity force do not generate moments in the hovering configuration. This peculiar behavior of the delivery drone is schematized in Figure 13.
If the vector sum of the forces is positive along the z-axis, there is an acceleration that allows the quadcopter to lift [76]. In the opposite case, if the sum of the forces is negative along the z-axis, there is a decrease in altitude. Consequently, the hovering phase occurs when the sum of the forces is zero, as summarized in the equations reported below:
i = 1 4 F T i + F g > 0 , ascending motion i = 1 4 F T i + F g < 0 , descending motion i = 1 4 F T i + F g = 0 , hovering
A closed-loop PID controller attains the regulation of the vertical thrust. The values obtained in the PID adjustment are a consequence of an iterative process. In general, the overall performance of the system changes as the control parameters are modified according to the behavior reported in Table 5.
In the computer simulation of the UAV system analyzed in this work, the input provided is a ramp signal that increases the altitude of the drone, followed by a stationary signal that helps to maintain the final altitude. At the end of the hovering phase, the control signal gradually decreases to ensure a safe landing of the delivery drone. In an actual drone system, the height feedback signal comes from a special ultrasonic detector. This detector sends a sound wave toward the ground and measures the height, calculating the time it takes to return to the device. Alternatively, for higher altitudes, the height can be measured using a barometer that obtains it as a function of pressure variation. The feedback is subtracted from the input to obtain the error. In the computer simulation carried out using SIMSCAPE MULTIBODY, on the other hand, precise position measurements are provided by the mechanical joints.

5.3.2. Longitudinal and Lateral Motions

The quadcopter cannot perform a simple translational motion decoupled from a rotational motion because it does not have the necessary actuators [77,78]. For example, the delivery drone needs to perform a roll movement in the first step to move right. To perform the rotation, the motors must rotate at different angular rates. In particular, the motors collocated opposite to the chosen motion direction must accelerate. This gives the delivery drone the required net torque necessary to rotate around the longitudinal axis. The vertical component of the thrust force and the force of gravity balance each other, while the horizontal component of the thrust force serves as the propulsion force that allows for realizing the translation. This configuration is schematized in Figure 14. More specifically, the longitudinal displacement is schematically shown in Figure 14a, while the lateral displacement is schematically shown in Figure 14b.
Furthermore, a cascaded PID control system guides the forward–backward two-dimensional motion of the UAV system, as well as its longitudinal and lateral motions, as shown in Figure 15.
In this type of feedback control scheme, there are two loops. The first one, called the outer loop, takes as a reference the required position and generates a signal input for the second loop, whereas the inner loop serves for realizing the attitude control of the delivery drone. The GPS signal feedback of a real drone is simulated by reading this information from the presence of proper mechanical joints in SIMSCAPE MULTIBODY. The trajectory is planned during the design phase, while the roll angle input measurement takes place during the flight using drone sensors such as gyroscopes and accelerometers. The difference between the outer loop output and the measurement from the sensors will be the input of the inner loop. As shown in detail below, an internal MATLAB tool, called PID Tuner, allows for simplifying the tuning of the parameters that characterize the two PID controllers.

5.3.3. Yaw Motion

The four propellers of the UAV system move two clockwise and two counterclockwise. They are alternated to avoid the generation of a mechanical moment around the relative vertical axis during roll and pitch operations. The fundamental static equation that describes the yaw motion of the delivery drone can be written as follows:
i = 1 4 M i = 0
where M i represents the net torque produced by the propeller i. By changing the angular velocities of the propellers, the total mechanical moment around the z-axis will no longer be zero. Consequently, the drone will start to rotate on itself, as mathematically described by the following dynamic equation:
i = 1 4 M i + I z z ω ˙ = 0
where ω denotes the global angular velocity vector of the delivery drone and I z z identifies the vertical mass moment of inertia of the UAV system. The angular velocity of the propellers that rotate clockwise must be higher than those that rotate counterclockwise so that the drone rotates counterclockwise. Conversely, if the motors that rotate counterclockwise run faster than the others, the drone will rotate clockwise.
The electronic control of the yaw motion is always of the closed-loop PID type. The delivery drone follows the yaw angle reference provided in the design phase. The gyroscopes and accelerometers inboard the UAV system give a feedback signal to the system. The approach used in the simulation is to apply external forces to the axes of the propellers. The propellers will rotate because of the conversion of the force rates into angular velocity rates. The total mechanical moment about the vertical axis of the delivery drone is given by:
M z = b T ( F T 1 + F T 2 F T 3 + F T 4 )
where b T is the drag constant that is calculated empirically. The rate of thrust required for the yaw motion is added to one pair of motors moving in phase and subtracted from the other two. Because of this, the overall thrust force does not change compared to the case of no yaw motion. The rate of thrust for yawing augments the total thrust of the two motors rotating simultaneously and decreases the thrust of the other two. Therefore, the global thrust does not change compared to the no-yaw case.

5.4. PID Tuner

The MATLAB tool called PID Tuner is an extension included in the SIMULINK Control Design Toolbox. Based on a linearized approximation of the dynamical system of interest, also called the plant, it automatically provides the proportional, integral, and derivative values of the parameters of a PID controller. To this end, the PID Tuner considers the plant as the combination of all blocks between the output and input of the PID controller. The PID Tuner bases its initial design on the open-loop frequency response of the linearized system. However, the open-loop frequency-based model typically fails to properly simulate the outputs of a complex system. It is necessary to identify a new plant through the input and output data simulated by a proper MATLAB program that has been specifically designed for this purpose. This program has several presets, one of which is the step impulse, whose settings can be manually adjusted. At the end of the dynamical simulation, an output curve is obtained. The software proposes various linear models to approximate the output curve. They are transfer functions, in which parameters can be precisely adjusted either manually or automatically. Transfer functions are functions that model the dynamic behavior of a mechanical system in the frequency domain. The automatic estimation makes use of iterative search models, including the Gauss-Newton algorithm. The linearized model provides the software with a basis on which to adjust the PID parameters. It is possible to refine the response amplitude–time curve according to preference by adjusting the desired robustness and rise time. All the controlled models proposed by the software have an accuracy of greater than 90 percent. This means that the linearized model proposed by the MATLAB program corresponds to the real behavior in this percentage. In summary, the parameters of the control system developed for solving the regulation and tracking problems of the multibody model of the UAV system analyzed in this investigation are thoroughly described by the data reported in Table 6.
Table 6 contains the parameter values of the PID controllers employed in dynamic simulations as described in Section 6 and Section 7. This table has four rows. The controlled movement is reported in each row, while on the columns, there are further specifications such as the type of PID controller, the type of loop, and the values of the controller coefficients (proportional, integrative, and derivative).

6. SIMSCAPE MULTIBODY Model Description

6.1. Computer Model of the Delivery Drone

This subsection covers the description of the SIMSCAPE MULTIBODY model of the UAV system considered as the case study of this investigation. An overview of the SIMSCAPE MULTIBODY model of the delivery drone is represented in Figure 16.
The computer implementation of the dynamical model in the SIMSCAPE MULTIBODY environment is described by analyzing one by one the individual subsystems and their peculiarities. The modeling of the system was completed as anticipated in MATLAB using the SIMSCAPE MULTIBODY software environment [79,80]. The various subsystems represented in Figure 16 are analyzed in detail below.
The CAD model developed using SOLIDWORKS was imported in SIMSCAPE MULTIBODY as a single rigid body to simplify the subsequent computer implementation of the dynamical simulations. Therefore, the complex model realized in a SOLIDWORKS environment was exported as a single “.SLDPRT” file. The four propellers were imported as four single “.SLDPRT” files. To model the six degrees of freedom of the drone in a three-dimensional space, a bushing joint without any force element was taken from the SIMSCAPE MULTIBODY library. This joint utilizes the Tait-Bryan angles commonly used in aviation to describe the rotation of a three-dimensional rigid body. As discussed in detail in Section 4, each propeller has a rotational degree of freedom, which was modeled in SIMSCAPE MULTIBODY with a revolute joint. The actuation forces acting on the frame are provided by a feedback control system and, in the case study under consideration, PID controllers were chosen, as discussed in detail in Section 5.
The dynamical model is provided with a reference input that describes the trajectory to be tracked. The input trajectory refers to the Cartesian coordinates of the drone center of mass and is provided with signal builders in the SIMULINK library. These blocks allow for the construction of complex time laws to guide the dynamic system. In particular, since the delivery drone is only endowed with four control actuators, four control inputs are supplied to the dynamical model to guide its motion: the vertical height to be reached (translation along the z-axis), the longitudinal and lateral positions with respect to a horizontal plane (translations along the x-axis and the y-axis), and a yaw angle with respect to the same reference plane (rotation about the z-axis). The control subsystem calculates the error concerning the measured position using the given input. The measured position is provided by the mechanical joint that simulates the sensors of a real drone. The PID controller takes in input the error and converts it into a control action, which is represented by a force quota that will be applied to the dynamic model, in correspondence with the axes of the propellers. As discussed in the paper, this is equivalent to applying control torques to the propellers or imposing the magnitudes of their relative angular velocities. In addition to the actuation forces, other external forces were considered to simulate real-world conditions by following the multibody model developed in Section 4. Primarily, these are the force of gravity, and secondly, a stochastic force that models the disturbance action of the wind.
As anticipated, the signal builder block available in SIMULINK allows for providing the reference inputs for the movement of the UAV system to the computer implementation of the system equations of motion described in Section 4. In particular, the altitude is a discontinuous function that has an ascending phase to set the desired altitude to be reached, a constant phase to achieve hovering, and a descending phase for landing [81,82,83]. The two-dimensional motion follows the same pattern as the height signal, except for the descending phase. After the hovering stage, the drone receives the displacement signal along one axis and reaches the first desired position. Then, the second signal is activated, thereby generating a displacement along the second axis. The two-dimensional displacement signals can also be combined. Once the two-dimensional movement is accomplished, the drone performs a turning maneuver around its axis.
In the proposed SIMSCAPE MULTIBODY model, the drone position is measured instant-by-instant using the bushing joint in six separate signals: three spatial displacements (longitudinal displacement, lateral displacement, and vertical displacement) and three finite rotations (roll angle, pitch angle, and yaw angle). As shown in Figure 17, these signals are connected to the measurement subsystem, which provides the error concerning the reference that takes the PID controller as input.
The error and controller subsystem shown in Figure 18 consists of four independent PID controllers, whose logic structures are described in detail in Section 5.
The first controller is the one that regulates altitude. It takes an error as the input and generates a proportional reaction. The error is given by a block (’Sum’) that calculates the difference between the instantaneous values of the references and the measurements. This controller is based on a feedback loop. The second and third ones are two-dimensional displacement controllers, modeled with a cascaded PID controller. The system is analogous, in the case of the longitudinal and lateral displacements, along the x and y axes. Primarily, the outermost PID block receives the position-related error. This PID generates a signal that rotates the drone, creating a roll or pitch angle. The resulting angle is compared to the angular position, measured by the bushing joint. The resulting error between the two angles is used by the following PID to generate the force term required for the displacement. The fourth controller is the yaw control, which consists of a feedback controller in which an angular position is given as input. Similarly to the altitude PID controller, the error is measured as the difference between the law provided by the signal builder and the instantaneous position measured by the joint. Subsequently, a mathematical function block converts the force rate to the angular velocity of the propellers. The change in angular velocity generates a non-zero moment of inertia, thereby allowing for the turning motion to be achieved. The function that allows for the transformation from a force signal to an angular velocity signal also measures the output voltage, the revolutions per minute, and the absorbed power. The value of the multiplication constant is obtained from experimental data related to the propellers.
The drone subsystem represented in Figure 19 consists of the drone frame and the mathematical functions for the conversion of the force quotas in the rotation of the propellers.
As already discussed before, the motion of the delivery drone is generated by four forces actuated by the output of the PID controllers. To allow for proper motion, some blocks in SIMSCAPE MULTIBODY perform the sum/difference of the components of the forces to recreate the torques necessary for the motion of the UAV system. For instance, for the hovering maneuver, the thrust forces that the four motors must provide are all concordant and determined in this manner. Contrarily, in the case of the rolling maneuver, two of the four forces will be concordant, and the other two, discordant. In the SIMSCAPE MULTIBODY model, the thrust forces are applied to the frame at the propeller axes through an external force block. To avoid the power of the motors exceeding the constructive specifications imposed by the manufacturer, saturation blocks were used in order to limit the maximum force to an imposed value. The same idea was implemented to regulate the minimum thrust force, which cannot be negative.
In order to simulate the wind disturbances, an external force was included in the dynamic model implemented in SIMSCAPE MULTIBODY. The force varies with the wind velocity, which is randomly generated using a special function. This force is applied to the center of mass of the UAV system and is described by the following mathematical law:
F v = 1 2 C s S ρ v 2
where S 0.06 (m 2 ) represents the reference area of the drone opposing the current, ρ = 1.22 (kg/m 3 ) is the standard value of the air density, C s = 1 ( ) denotes the shape coefficient, and v identifies the relative wind velocity that results from the computer simulation performed in SIMSCAPE MULTIBODY. The force law described before was implemented in SIMSCAPE MULTIBODY through a user-defined mathematical function.
To ensure a proper landing, a plane on which the drone will come to rest at the end of the simulation was modeled in SIMSCAPE MULTIBODY as well. As represented in Figure 20, the brick solid ’Base1’ was made rigid and modeled with a spatial contact force.
To dampen the residual kinetic energy accumulated during landing and due to the system inertia, a friction coefficient between the base and the landing gear ‘Base2’ was considered. The body geometry is recognized as solid due to the convex hull function, and a contact force is inserted between the two bodies to simulate a realistic collision. The friction model considered is of the Coulomb type with a static friction coefficient equal to μ s = 0.5 ( ) and a dynamic friction coefficient equal to μ d = 0.3 ( ) . In SIMSCAPE MULTIBODY, this friction model is referred to as the smooth stick-slip model.
To allow the engines to shut down on landing, an ‘if clause’ was inserted in the logic of the control system. Additionally, the condition for the propellers to stop rotating is that the height of the center of gravity relative to the global reference must be less than h = 0.05 (m).

6.2. Computer Model of the Beer Carrier

In this subsection, the fundamental elements necessary for performing a dynamical simulation of the unloading of the payload using SIMSCAPE MULTIBODY are described [84,85]. This operation takes place once the drone has landed. The SIMSCAPE MULTIBODY model of the beer carrier is represented in Figure 21.
The model that simulates the behavior of the payload consists of four subsystems. The first one, which is referred to as the external frame subsystem, is the outer case that contains the payload. The second one, which is referred to as the rollers subsystem, represents the rollers that allow its release. The third subsystem, which is referred to as the beer pack subsystem, models the six-pack beer. Finally, the fourth and last one, which is referred to as the ground subsystem, is responsible for representing the contact between the ground and the landing gear.
The structure of the box consists of a CAD model that schematizes its shape, developed using SOLIDWORKS. The hinge is connected to this external structure through a revolute joint, which allows only for one relative degree of freedom, and it is rigidly fixed to the door. In the SIMSCAPE MULTIBODY model, the revolute joint block simulates both the constraint and the internal mechanics of the hinge, which contains a torsional spring having an elastic stiffness coefficient given by k t = 0.043 (N × m/rad). The data used for the physical parameters concerning the torsional spring refer to a product that is actually available in the market. The equilibrium configuration of the torsional spring ensures the proper automatic closure of the door immediately after the withdrawal of the beers. The interior of the container and the door are modeled as one-sided constraints. The contact with the parallelepiped representing the beers generates constraint reactions that are modeled through the ‘Spatial Contact Forces’ block available in SIMSCAPE MULTIBODY.
The rollers, connected to the case with appropriate revolute joints, are schematized as simple cylinders. The law of motion, provided in SIMSCAPE MULTIBODY as input via the ‘Ramp’ function, is a uniform rotary motion. The slope of the ramp represents the angular velocity of the rollers, expressed in revolutions per minute. The connections between the container and the rollers, which are in contact with the six-pack beer, are modeled in SIMSCAPE MULTIBODY as holonomic constraints. Additionally, the presence of friction is taken into account in the dynamical model to obtain realistic computer simulations. In fact, it is the friction between the rollers and the crate that allows for the motion of the payload.
A three-dimensional rigid body with six degrees of freedom is employed in SIMSCAPE MULTIBODY to represent the pack of beers. The model is a brick solid with dimensions corresponding to those of a real pack of beers. On the other hand, the ground is modeled in SIMSCAPE MULTIBODY through a brick solid with appropriate contact forces to simulate additional one-sided constraints.

7. Numerical Results and Discussion

7.1. Presentation of the Numerical Results

This subsection presents the results obtained from this research work. The goal was to create a virtual prototype of a UAV system with good functionality and features comparable to those on the market. The numerical results found in this work demonstrate the feasibility of the virtual prototype of the delivery drone designed in the present investigation. All the dynamical simulations mentioned in this section were carried out by employing the numerical values of the PID controller parameters reported in Table 6.
In the design and computer simulation phases, it was possible to evaluate the numerical results obtained to verify their consistency with the dynamical behavior of a real drone system having comparable characteristics and performance. From the design in the SOLIDWORKS environment, the main inertia matrix and the position of the center of mass of the entire UAV system were obtained. More specifically, the total mass of the delivery drone is equal to m = 9.973 ( kg ) , whereas the total volume of the UAV system is given by V = 6.278 × 10 3 ( m 3 ) . Additionally, considering a local reference system placed in correspondence with the plane containing the lower frame of the UAV system, the local position vector of the center of mass of the delivery drone denoted with u ¯ G and its local inertia matrix denoted with I ¯ G are respectively given by:
u ¯ G = x ¯ G y ¯ G z ¯ G = 0 . 28 × 10 3 ( m ) 17 . 28 × 10 3 ( m ) 0 . 42 × 10 3 ( m )
and
I ¯ G = I x x 0 0 0 I y y 0 0 0 I z z = 0.2321 ( kg · m 2 ) 0 0 0 0.2395 ( kg · m 2 ) 0 0 0 0.3663 ( kg · m 2 )
The direction vectors of the principal axes of inertia are respectively denoted with i ¯ G , j ¯ G , and k ¯ G . These vectors are given as follows:
i ¯ G = i ¯ x , G i ¯ y , G i ¯ z , G = 1 . 00 × 10 3 ( m ) 0 . 00 × 10 3 ( m ) 0 . 05 × 10 3 ( m ) , j ¯ G = j ¯ x , G j ¯ y , G j ¯ z , G = 0 . 05 × 10 3 ( m ) 0 . 00 × 10 3 ( m ) 1 . 00 × 10 3 ( m )
and
k ¯ G = k ¯ x , G k ¯ y , G k ¯ z , G = 0 . 00 × 10 3 ( m ) 1 . 00 × 10 3 ( m ) 0 . 00 × 10 3 ( m )
Since the local position vector of the center of mass of the UAV system is close to the zero vector, the multibody formulation approach employed in Section 4 is mathematically justified by the actual geometric properties of the delivery drone.
In Figure 22, the time evolutions in the three-dimensional space of the UAV system translational coordinates obtained in MATLAB by simulating the SIMSCAPE MULTIBODY model are shown. In particular, Figure 22a,b is relative to the planar displacement of the delivery drone after the hovering maneuver, while Figure 22c represents the first phase of reaching vertical altitude.
In Figure 23, the time evolutions in the three-dimensional space of the UAV system rotational coordinates obtained in MATLAB by simulating the SIMSCAPE MULTIBODY model are shown. In particular, Figure 23a–c respectively represent the roll, pitch, and yaw angular displacements of the delivery drone.
In the MATLAB computational environment, the data relative to the number of revolutions of the single propellers, the values of the input voltage, and the power absorbed by the motors, obtained from the computer simulation performed using the SIMSCAPE MULTIBODY model, were plotted, thereby verifying the coherence with the tables reported by the producers of the components of actual drone systems found in the market. More specifically, the values of the physical quantities mentioned before are plotted as a function of time relative to the computer simulation. In Figure 24, the revolutions per minute of each propeller are represented as a function of time. To this end, Figure 24a–d respectively represent the revolutions per minute of the first, second, third, and fourth propellers.
In Figure 25, the instant voltage of each motor is represented as a function of time. To this end, Figure 25a–d respectively represents the voltage values of the first, second, third, and fourth electric motors.
In Figure 26, the power absorbed by each motor is represented as a function of time. To this end, Figure 26a–d respectively represent the power values of the first, second, third, and fourth electric motors.
Through the simulation performed in the SIMSCAPE MULTIBODY environment, it was then possible to evaluate the performance of the quadcopter designed in this investigation. A summary of the most relevant numerical results found is represented in Figure 27.
Figure 27a shows the curve that relates the variation of the revolutions per minute with the propulsive thrust generated by the propellers, expressed in ( k g f ) . The values refer to the propulsive thrust generated by a single propeller. Another fundamental parameter to be observed is the torque variation as a function of the number of revolutions of a single propeller, as shown in Figure 27b. This parameter is useful for designing the mechanical transmission system. The last plot represented in Figure 27c indicates the power absorbed by each engine, which is useful for making evaluations regarding the propulsion system used.
In Figure 28, the time evolutions in the three-dimensional space of the beer crate representing the drone payload and obtained in MATLAB by simulating the SIMSCAPE MULTIBODY model are shown. In particular, Figure 28a–c respectively represent the longitudinal, vertical, and angular displacements of the beer crate that performs a planar motion.

7.2. Discussion of the Numerical Results

In this subsection, a brief discussion about the quality of the numerical results found in this investigation, and the challenges addressed in this study is provided. A performance index based on Root-Mean-Squared Error (RMSE) is introduced to quantitatively compare the trajectory designed in MATLAB, and is provided as input with the output data measured in the simulation carried out in SIMSCAPE MULTIBODY. The index is calculated with the equation given below:
R M S E = 1 N d i = 1 N ξ i ξ ¯ i 2
where N d are the number of data resulting from the time discretization, ξ i is the reference value, and ξ ¯ i are the output data. The computed values of the RMSE between the reference (linear and angular) displacements and the resulting (linear and angular) displacements of the delivery drone found in the dynamical simulations are reported in Table 7.
Through the numerical results obtained using the SIMSCAPE MULTIBODY model and processed in the MATLAB computational environment, it was possible to verify the feasibility of the virtual prototype of the delivery drone designed in this work. During the design phase of the three-dimensional model, particular attention was paid to the position occupied by the center of mass of the UAV system to allow for the mathematical simplifications in the multibody approach described in Section 4. Through the results found using SOLIDWORKS and SIMSCAPE MULTIBODY, it was verified that the center of mass was in a central position, in line with the plane containing the four arms of the drone. This is necessary to ensure high stability during flight and to allow for smoother movements by the quadcopter. The results related to the mass of the UAV system were useful for designing the propulsion system, and for verifying the realization of components that are not directly available in the market. The data obtained from the multibody model indicating the power, the revolutions per minute, and the input voltages are consistent with the chosen propulsion system. The entire control system allows the drone to perform the maneuvers imposed by the time law with a high degree of robustness and accuracy. As demonstrated by the resulting dynamical behavior of the UAV system, optimal responses can be obtained, even with varying external disturbances. In conclusion, the numerical results found using MATLAB and SIMSCAPE MULTIBODY are completely satisfying for the goal of this investigation.
In this work, the study of the realization of a virtual prototype of the UAV system serving as a delivery drone and its subsequent computer implementation required several simplifying assumptions. First, it must be considered that the drone is a multiple-inputs multiple-outputs (MIMO) system. In the context of the computer simulations, however, it was considered as a set of several single-input single-output (SISO) systems in order to divide and to control the problems of each movement (altitude, roll, pitch, and turn). Another issue related to the development of the control system is that the simulation is based on a simplification of the behaviors of brushless motors commonly used in actual drones. While brushed motors can be controlled by a simple potentiometer that adjusts the voltage, a brushless motor requires a specific controller that makes use of a Pulse-Width Modulation (PWM) system. In the dynamical simulations, the electric motors are treated as simply brushed motors whose angular velocity depends only on the input voltage. These simplifications are useful for the dynamical simulations, but they make impossible an eventual implementation on a real model without the opportune modifications. These important issues will be addressed and solved in future investigations.
To summarize the principal outcomes of this work, Table 8 contains the main performance parameters of the delivery drone, including hovering time, payload capacity, flight range, maximum altitude, the maximum angle of inclination, and the maximum forward velocity.
The performance data reported in Table 8 were obtained through special-purpose software using an online simulator called Flight Evaluation, which estimated the main features of the delivery drone based on its specifications. This software is freely available at https://flyeval.com, accessed on 3 February 2023.
As far as the operational range of the delivery drone is concerned, for a standard UAV system, the Radio Controlled (RC) transmitter and receiver operate on a radio frequency of 2.4 (GHz), which offers several advantages, including a reduced interference with other transmitters, a lower power consumption, and a smaller occupancy volume. Typical RC transmitters can provide a range of up to 1000 (m). The short control wavelength allows for shorter transmit and receive antennas compared to other frequency ranges. However, a disadvantage of this frequency range is its susceptibility to obstacles, which can cause a low efficiency of the control signal. While a single channel allows for controlling only one specific operation, quadcopters similar to the one designed in this study require at least four channels for throttle, yaw, pitch, and roll control. Furthermore, additional channels may be needed for auxiliary operations, such as for opening the door of the payload.

8. Summary, Conclusions, and Future Developments

The purpose of this research work was to design and analyze a quadcopter serving as a delivery drone capable of performing a set of chosen operations. In the development of the UAV system considered as the case study of this investigation, it was chosen to design a system capable of transporting a pack of beers autonomously, thereby carrying an approximately two kilograms payload. To this end, the delivery drone is based on the classic design of a quadcopter, with the addition of a special box needed to transport the beverages representing the payload. The design of the structure of the delivery drone is based on the use of components that can be easily manufactured or that are readily found in the market. The main structure of the delivery drone is made of a carbon frame having four arms, a set of aluminum supports, and an ABS box. To simplify the final design, all these mechanical components are bolted using common structural screws. The central structure necessary to transport the load weighs about ten kilograms, a weight that is in line with commercial drones. The choices of propellers, motors, and batteries were based on a simplified propulsion model developed in this work. Additionally, the feasibility of the geometric model was verified through 3D CAD drawings.
A simplified multibody model was developed, starting from the CAD geometry, in order to be able to dynamically simulate the behavior of the proposed UAV system serving as a delivery drone. As for the design of the control system, it was chosen to simulate the behavior of the drone by using SIMSCAPE MULTIBODY, which is an additional software available in the MATLAB simulation environment. This computer program allows for accurately simulating, through appropriate blocks, the behaviors of multibody models subject to internal and external forcing actions. The implementation of the multibody model is carried out by importing simplified geometric models constrained by specific kinematic pairs, which represent the mechanical joints that connect the components of the mechanical system at hand. The virtual prototype of the delivery drone is subjected to external forces such as gravity and wind force. The motion control of the delivery drone is achieved through the use of a system of simple PID controllers that are arranged in a cascade architecture. Once a time law is set for all the segments of the trajectory to be followed by the UAV system, the behavior of the delivery drone is reproduced through numerical experiments. The trajectory tracking was found to be very robust, even in the presence of a variable forcing disturbance due to the wind. In addition to the flight simulation, it was also chosen to test the automated movement of the beers contained in the crate, thereby reproducing the delivery of the actual product representing the payload. In this final scenario, in virtue of a proper choice of the motor and by leveraging the computer simulations of the constraints, it was demonstrated through numerical experiments that the payload can be correctly unloaded in a way that is consistent with the predictions.
From an analytical standpoint, one of the most important contributions of this paper has been the development of a multibody model of the UAV system serving as a delivery drone. The mechanical model based on the multibody approach proposed in this investigation is quite general, and therefore, it can be used for modeling and simulating the dynamic behaviors of a large variety of quadcopters. More importantly, the paper proposes a novel method for the mathematical modeling of the imposed relative angular velocity between the propellers and the support arms of the UAV system. As shown in the manuscript, this important analytical result is achieved through the mathematical formulation of a proper set of algebraic constraints of nonholonomic nature, that is, a nonlinear system of algebraic equations depending both on the generalized coordinates and the generalized velocities of the quadcopter modeled as a multibody system. Standing the close relation between the thrust force and rotation rate of the propellers, the formulation of nonholonomic algebraic constraint equations mentioned before was also found to be fundamental for the motion control of the delivery drone.
In today’s world, there is a significant push for the automation of logistics for industrial and civil applications. To the center of the reflectors, there is the employment of flying means for autonomous control. In recent years, some of the sectors that have seen exponential growth from this point of view are multimedia (aerial shots and filming), rescue, agriculture (both for monitoring and for the distribution of pesticides), geological surveys, and parcel delivery. The biggest challenges expected in the future will be those related to the noise of the devices and their coexistence. Among the most innovative solutions to this problem, there are hybrids between flying devices, and bipedal or wheeled robots. In this vein, this paper shows the workflow necessary to solve simple logistical problems through the construction of a flying device. The UAV system designed in the present work is adaptable to multiple situations, as it is based on a modular design. For example, one could eliminate the product container representing the payload, and replace it with different equipment, such as cameras, luggage racks, or rescue tools. In addition, it was shown how a simple control system could be implemented, to highlight the potential of modern software in the development and simulation of autonomous systems. In future work, the approach employed in this investigation will be used for the computer-aided design and the virtual prototyping of autonomous machines.

Author Contributions

This research paper was principally devised and developed by the first author (C.M.P.). Great support in the development of the paper was provided by the second, third, and fourth authors (M.D.G., E.B.O. and L.S.). The detailed review carried out by the fifth author (A.N.) considerably improved the quality of the work. The manuscript was written with the contributions of all authors. All authors discussed the results, reviewed the methodology, and approved the final version of the manuscript. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

The data presented in this study are available from the corresponding author upon reasonable request.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wan, K.; Gao, X.; Hu, Z.; Wu, G. Robust motion control for UAV in dynamic uncertain environments using deep reinforcement learning. Remote Sens. 2020, 12, 640. [Google Scholar] [CrossRef] [Green Version]
  2. Lopez-Rivera, M.; Cortes-Villada, A.; Giraldo, E. Optimal multivariable control design based on a fuzzy model for an unmanned aerial vehicle. IAENG Int. J. Comput. Sci. 2021, 48, 316–321. [Google Scholar]
  3. Hu, B.; Wang, J. Deep learning based hand gesture recognition and UAV flight controls. Int. J. Autom. Comput. 2020, 17, 17–29. [Google Scholar] [CrossRef]
  4. Zhang, Y.; Zhang, Y.; Yu, Z. Path following control for UAV using deep reinforcement learning approach. Guid. Navig. Control 2021, 1, 2150005. [Google Scholar] [CrossRef]
  5. Shakhatreh, H.; Sawalmeh, A.H.; Al-Fuqaha, A.; Dou, Z.; Almaita, E.; Khalil, I.; Othman, N.S.; Khreishah, A.; Guizani, M. Unmanned aerial vehicles (UAVs): A survey on civil applications and key research challenges. IEEE Access 2019, 7, 48572–48634. [Google Scholar] [CrossRef]
  6. Azam, M.A.; Mittelmann, H.D.; Ragi, S. UAV formation shape control via decentralized markov decision processes. Algorithms 2021, 14, 91. [Google Scholar] [CrossRef]
  7. Bai, D.; Tian, J.; Li, D.; Li, S. Multiple UAVs Tracking for Moving Ground Target. Eng. Lett. 2022, 30, 829–834. [Google Scholar]
  8. Belmonte, L.M.; Morales, R.; Fernández-Caballero, A. Computer vision in autonomous unmanned aerial vehicles—A systematic mapping study. Appl. Sci. 2019, 9, 3196. [Google Scholar] [CrossRef] [Green Version]
  9. Hu, J.; Zhang, H.; Li, Z.; Zhao, C.; Xu, Z.; Pan, Q. Object traversing by monocular UAV in outdoor environment. Asian J. Control 2021, 23, 2766–2775. [Google Scholar] [CrossRef]
  10. Cifuentes-Molano, M.F.; Hernandez, B.S.; Giraldo, E. Comparison of Different Control Techniques on a Bipedal Robot of 6 Degrees of Freedom. IAENG Int. J. Appl. Math. 2021, 51, 1–7. [Google Scholar]
  11. Gu, S.; Chen, J.; Tian, Q. An implicit asynchronous variational integrator for flexible multibody dynamics. Comput. Methods Appl. Mech. Eng. 2022, 401, 115660. [Google Scholar] [CrossRef]
  12. Wang, K.; Tian, Q. A nonsmooth method for spatial frictional contact dynamics of flexible multibody systems with large deformation. Int. J. Numer. Methods Eng. 2023, 124, 752–779. [Google Scholar] [CrossRef]
  13. Shabana, A.A. Integration of computer-aided design and analysis: Application to multibody vehicle systems. Int. J. Veh. Perform. 2019, 5, 300–327. [Google Scholar] [CrossRef]
  14. Citarella, R.; Armentani, E.; Caputo, F.; Naddeo, A. FEM and BEM analysis of a human mandible with added temporomandibular joints. Open Mech. Eng. J. 2012, 6, 100–114. [Google Scholar] [CrossRef] [Green Version]
  15. Cappetti, N.; Naddeo, A.; Naddeo, F.; Solitro, G. Finite elements/Taguchi method based procedure for the identification of the geometrical parameters significantly affecting the biomechanical behavior of a lumbar disc. Comput. Methods Biomech. Biomed. Eng. 2016, 19, 1278–1285. [Google Scholar] [CrossRef] [PubMed]
  16. Muscat, M.; Cammarata, A.; Maddio, P.D.; Sinatra, R. Design and development of a towfish to monitor marine pollution. Euro-Mediterr. J. Environ. Integr. 2018, 3, 1–12. [Google Scholar] [CrossRef]
  17. Tanev, T.; Cammarata, A.; Marano, D.; Sinatra, R. Elastostatic model of a new hybrid minimally-invasive-surgery robot. In Proceedings of the 14th IFToMM World Congress, Taipei, Taiwan, 25–30 October 2015. [Google Scholar]
  18. De Simone, M.C.; Celenta, G.; Rivera, Z.B.; Guida, D. Mechanism Design for a Low-Cost Automatic Breathing Applications for Developing Countries. In Proceedings of the International Conference “New Technologies, Development and Applications”, Sarajevo, Bosnia and Herzegovina, 23–25 June 2022; pp. 345–352. [Google Scholar]
  19. Mangoni, D.; Soldati, A. Model-based simulation of dynamic behaviour of electric powertrains and their limitation induced by battery current saturation. Int. J. Veh. Perform. 2021, 7, 156–169. [Google Scholar] [CrossRef]
  20. Cammarata, A.; Lacagnina, M.; Sinatra, R. Closed-form solutions for the inverse kinematics of the Agile Eye with constraint errors on the revolute joint axes. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Republic of Korea, 9–14 October 2016; pp. 317–322. [Google Scholar]
  21. Tasora, A.; Mangoni, D.; Benatti, S.; Garziera, R. Solving variational inequalities and cone complementarity problems in nonsmooth dynamics using the alternating direction method of multipliers. Int. J. Numer. Methods Eng. 2021, 122, 4093–4113. [Google Scholar] [CrossRef]
  22. Huang, Z.; Xi, F.; Huang, T.; Dai, J.S.; Sinatra, R. Lower-mobility parallel robots: Theory and applications. Adv. Mech. Eng. 2010, 2, 927930. [Google Scholar] [CrossRef] [Green Version]
  23. Cammarata, A.; Sinatra, R.; Rigano, A.; Lombardo, M.; Maddio, P.D. Design of a large deployable reflector opening system. Machines 2020, 8, 7. [Google Scholar] [CrossRef] [Green Version]
  24. Kant, R.; Nigam, V.K.; Kumar, R. Design and Analysis of Unmanned Aerial Vehicle (Uav) Using Solidworks 2016 Edition. Int. Res. J. Eng. Technol 2019, 6, 5132–5138. [Google Scholar]
  25. Ballous, K.A.; Khalifa, A.N.; Abdulwadood, A.; Al-Shabi, M.; Assad, M.E.H. Medical kit: Emergency drone. In Proceedings of the Unmanned Systems Technology XXII. International Society for Optics and Photonics, Online Only, 27 April–9 May 2020; Volume 11425, p. 114250V. [Google Scholar]
  26. Zhafri, Z.; Effendi, M.; Rosli, M.F. Optimization of assembly process and environmental impact using DFMA and sustainable design analysis: Case study of drone. Aip Conf. Proc. 2018, 2030, 020074. [Google Scholar]
  27. Meenakshipriya, B.; Raja, N.B.; Faroshkhan, S.; Matris, S. Design and fabrication of 3D printed QuadDrone for altitude measurement. Int. J. Aerosp. Syst. Sci. Eng. 2021, 1, 85–94. [Google Scholar] [CrossRef]
  28. Benito, J.A.; Glez-de Rivera, G.; Garrido, J.; Ponticelli, R. Design considerations of a small UAV platform carrying medium payloads. In Proceedings of the Design of Circuits and Integrated Systems, Madrid, Spain, 26–28 November 2014; pp. 1–6. [Google Scholar]
  29. Tnunay, H.; Abdurrohman, M.Q.; Nugroho, Y.; Inovan, R.; Cahyadi, A.; Yamamoto, Y. Auto-tuning quadcopter using Loop Shaping. In Proceedings of the 2013 International Conference on Computer, Control, Informatics and Its Applications (IC3INA), Jakarta, Indonesia, 19–21 November 2013; pp. 111–115. [Google Scholar]
  30. De Simone, M.C.; Russo, S.; Rivera, Z.B.; Guida, D. Multibody model of a UAV in presence of wind fields. In Proceedings of the 2017 International Conference on Control, Artificial Intelligence, Robotics & Optimization (ICCAIRO), Prague, Czech Republic, 20–22 May 2017; pp. 83–88. [Google Scholar]
  31. Hai-long, F.Q.d.P. The application of cascade PID control in UAV attitude control. Microcomput. Inf. 2009, 25, 9–10. [Google Scholar]
  32. Amir, M.Y.; Abbass, V. Modeling of quadrotor helicopter dynamics. In Proceedings of the 2008 International Conference on Smart Manufacturing Application, Goyangi, Republic of Korea, 9–11 April 2008; pp. 100–105. [Google Scholar]
  33. Razinkova, A.; Gaponov, I.; Cho, H.C. Adaptive control over quadcopter UAV under disturbances. In Proceedings of the 2014 14th International Conference on Control, Automation and Systems (ICCAS 2014), Gyeonggi-do, Republic of Korea, 22–25 October 2014; pp. 386–390. [Google Scholar]
  34. Fernando, H.; De Silva, A.; De Zoysa, M.; Dilshan, K.; Munasinghe, S. Modelling, simulation and implementation of a quadrotor UAV. In Proceedings of the 2013 IEEE 8th International Conference on Industrial and Information Systems, Peradeniya, Sri Lanka, 17–20 December 2013; pp. 207–212. [Google Scholar]
  35. Pessen, D.W. A new look at PID-controller tuning. J. Dyn. Sys. Meas. Control 1994, 116, 553–557. [Google Scholar] [CrossRef]
  36. Azeemi, N.Z. Cooperative Trajectory and Launch Power Optimization of UAV Deployed in Cross-Platform Battlefields. Int. Assoc. Eng. Eng. Lett. 2021, 29, 57–68. [Google Scholar]
  37. De Simone, M.C.; Guida, D. Control design for an under-actuated UAV model. FME Trans. 2018, 46, 443–452. [Google Scholar]
  38. Du, H.; Wang, W.; Xu, C.; Xiao, R.; Sun, C. Real-time onboard 3D state estimation of an unmanned aerial vehicle in multi-environments using multi-sensor data fusion. Sensors 2020, 20, 919. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  39. Malgaca, L.; Lök, Ş.İ. Measurement and modeling of a flexible manipulator for vibration control using five-segment S-curve motion. Trans. Inst. Meas. Control 2022, 44, 1545–1556. [Google Scholar] [CrossRef]
  40. Guo, A.; Zhou, Z.; Zhu, X.; Bai, F. Low-cost sensors state estimation algorithm for a small hand-launched Solar-powered UAV. Sensors 2019, 19, 4627. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  41. Pan, Y.; Dai, W.; Xiong, Y.; Xiang, S.; Mikkola, A. Tree-topology-oriented modeling for the real-time simulation of sedan vehicle dynamics using independent coordinates and the rod-removal technique. Mech. Mach. Theory 2020, 143, 103626. [Google Scholar] [CrossRef]
  42. Villecco, F.; Pellegrino, A. Entropic measure of epistemic uncertainties in multibody system models by axiomatic design. Entropy 2017, 19, 291. [Google Scholar] [CrossRef] [Green Version]
  43. Villecco, F. On the evaluation of errors in the virtual design of mechanical systems. Machines 2018, 6, 36. [Google Scholar] [CrossRef] [Green Version]
  44. De Simone, M.C.; Veneziano, S.; Guida, D. Design of a Non-Back-Drivable Screw Jack Mechanism for the Hitch Lifting Arms of Electric-Powered Tractors. Actuators 2022, 11, 358. [Google Scholar] [CrossRef]
  45. Kaiser, I.; Strano, S.; Terzo, M.; Tordela, C. Anti-yaw damping monitoring of railway secondary suspension through a nonlinear constrained approach integrated with a randomly variable wheel-rail interaction. Mech. Syst. Signal Process. 2021, 146, 107040. [Google Scholar] [CrossRef]
  46. Bettega, J.; Richiedei, D. Trajectory tracking in an underactuated, non-minimum phase two-link multibody system through model predictive control with embedded reference dynamics. Mech. Mach. Theory 2023, 180, 105165. [Google Scholar] [CrossRef]
  47. Kaiser, I.; Strano, S.; Terzo, M.; Tordela, C. Estimation of the railway equivalent conicity under different contact adhesion levels and with no wheelset sensorization. Veh. Syst. Dyn. 2023, 61, 19–37. [Google Scholar] [CrossRef]
  48. Quan, Q. Introduction to Multicopter Design and Control; Springer: Berlin/Heidelberg, Germany, 2017; pp. 150–160. [Google Scholar]
  49. Torenbeek, E.; Wittenberg, H. Flight Physics: Essentials of Aeronautical Disciplines and Technology, with Historical Notes; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  50. Quan, Q.; Dai, X.; Wang, S. Multicopter Design and Control Practice: A Series Experiments Based on MATLAB and Pixhawk; Springer Nature: Berlin/Heidelberg, Germany, 2020. [Google Scholar]
  51. Hassani, H.; Mansouri, A.; Ahaitouf, A. Mechanical modeling, control and simulation of a quadrotor UAV. In Proceedings of the International Conference on Electronic Engineering and Renewable Energy, Saidia, Morocco, 13–15 April 2020; pp. 441–449. [Google Scholar]
  52. Ononiwu, G.; Onojo, O.; Ozioko, O.; Nosiri, O. Quadcopter design for payload delivery. J. Comput. Commun. 2016, 4, 1–12. [Google Scholar] [CrossRef] [Green Version]
  53. Patel, K.; Barve, J. Modeling, simulation and control study for the quad-copter UAV. In Proceedings of the 2014 9th International Conference on Industrial and Information Systems (ICIIS), Gwalior, India, 15–17 December 2014; pp. 1–6. [Google Scholar]
  54. Luukkonen, T. Modelling and control of quadcopter. Indep. Res. Proj. Appl. Math. Espoo 2011, 22, 22. [Google Scholar]
  55. Bai, Q.; Shehata, M.; Nada, A. Review study of using Euler angles and Euler parameters in multibody modeling of spatial holonomic and non-holonomic systems. Int. J. Dyn. Control 2022, 10, 1707–1725. [Google Scholar] [CrossRef]
  56. Pappalardo, C.M.; Guida, D. On the Lagrange multipliers of the intrinsic constraint equations of rigid multibody mechanical systems. Arch. Appl. Mech. 2018, 88, 419–451. [Google Scholar] [CrossRef]
  57. Guida, R.; De Simone, M.; Dašić, P.; Guida, D. Modeling techniques for kinematic analysis of a six-axis robotic arm. In Proceedings of the IOP Conference Series: Materials Science and Engineering, Oradea, Romania, 30–31 May 2019; Volume 568, p. 012115. [Google Scholar]
  58. Yilmaz, Z.; Yilmaz, O.; Bingul, Z. Design, analysis and simulation of a 6-DOF serial manipulator. Kocaeli J. Sci. Eng. 2020, 3, 9–15. [Google Scholar] [CrossRef]
  59. Shabana, A.A. Dynamics of Multibody Systems; Cambridge University Press: Cambridge, UK, 2003. [Google Scholar]
  60. Shabana, A.A. Computational Dynamics; John Wiley & Sons: Hoboken, NJ, USA, 2009. [Google Scholar]
  61. Pappalardo, C.M.; Guida, D. A comparative study of the principal methods for the analytical formulation and the numerical solution of the equations of motion of rigid multibody systems. Arch. Appl. Mech. 2018, 88, 2153–2177. [Google Scholar] [CrossRef]
  62. Blajer, W. Methods for constraint violation suppression in the numerical simulation of constrained multibody systems–A comparative study. Comput. Methods Appl. Mech. Eng. 2011, 200, 1568–1576. [Google Scholar] [CrossRef]
  63. Flores, P.; Machado, M.; Seabra, E.; Tavares da Silva, M. A parametric study on the Baumgarte stabilization method for forward dynamics of constrained multibody systems. J. Comput. Nonlinear Dyn. 2011, 6, 011019. [Google Scholar] [CrossRef]
  64. Pappalardo, C.M.; Guida, D. Dynamic analysis of planar rigid multibody systems modeled using natural absolute coordinates. Appl. Comput. Mech. 2018, 12, 73–110. [Google Scholar] [CrossRef]
  65. Marques, F.; Souto, A.P.; Flores, P. On the constraints violation in forward dynamics of multibody systems. Multibody Syst. Dyn. 2017, 39, 385–419. [Google Scholar] [CrossRef] [Green Version]
  66. Flores, P.; Nikravesh, P.E. Comparison of different methods to control constraints violation in forward multibody dynamics. In Proceedings of the International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, Portland, OR, USA, 4–7 August 2013; Volume 55966, p. V07AT10A028. [Google Scholar]
  67. Seifried, R. Dynamics of Underactuated Multibody Systems; Springer: Berlin/Heidelberg, Germany, 2014. [Google Scholar]
  68. Guida, D.; Pappalardo, C.M. Forward and inverse dynamics of nonholonomic mechanical systems. Meccanica 2014, 49, 1547–1559. [Google Scholar] [CrossRef]
  69. Fantoni, I.; Lozano, R.; Lozano, R. Non-Linear Control for Underactuated Mechanical Systems; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2002. [Google Scholar]
  70. Pappalardo, C.M.; Guida, D. On the dynamics and control of underactuated nonholonomic mechanical systems and applications to mobile robots. Arch. Appl. Mech. 2019, 89, 669–698. [Google Scholar] [CrossRef]
  71. Seifried, R. Two approaches for feedforward control and optimal design of underactuated multibody systems. Multibody Syst. Dyn. 2012, 27, 75–93. [Google Scholar] [CrossRef]
  72. Offermann, A.; Castillo, P.; De Miras, J. Nonlinear model and control validation of a tilting quadcopter. In Proceedings of the 2020 28th Mediterranean Conference on Control and Automation (MED), Saint-Raphaël, France, 15–18 September 2020; pp. 50–55. [Google Scholar]
  73. Abdelhay, S.; Zakriti, A. Modeling of a quadcopter trajectory tracking system using PID controller. Procedia Manuf. 2019, 32, 564–571. [Google Scholar] [CrossRef]
  74. Almaged, M.; Khather, S.I.; Abdulla, A.I. Design of a discrete PID controller based on identification data for a simscape buck boost converter model. Int. J. Power Electron. Drive Syst. 2019, 10, 1797. [Google Scholar] [CrossRef]
  75. Azar, A.T.; Ammar, H.H.; Ibrahim, Z.F.; Ibrahim, H.A.; Mohamed, N.A.; Taha, M.A. Implementation of PID controller with PSO tuning for autonomous vehicle. In Proceedings of the International Conference on Advanced Intelligent Systems and Informatics, Cairo, Egypt, 26–28 October 2019; pp. 288–299. [Google Scholar]
  76. Abdalla, M.; Al-Baradie, S. Real Time Optimal Tuning of Quadcopter Attitude Controller Using Particle Swarm Optimization. J. Eng. Technol. Sci 2020, 52, 745–764. [Google Scholar] [CrossRef]
  77. Qian, L.; Liu, H.H. Path-following control of a quadrotor UAV with a cable-suspended payload under wind disturbances. IEEE Trans. Ind. Electron. 2019, 67, 2021–2029. [Google Scholar] [CrossRef]
  78. Kose, O.; Oktay, T. Dynamic modeling and simulation of quadrotor for different flight conditions. Eur. J. Sci. Technol. 2019, 15, 132–142. [Google Scholar]
  79. Mohapatra, S.; Srivastava, R.; Khera, R. Implementation of a two wheel self-balanced robot using MATLAB Simscape Multibody. In Proceedings of the 2019 Second International Conference on Advanced Computational and Communication Paradigms (ICACCP), Gangtok, India, 25–28 February 2019; pp. 1–3. [Google Scholar]
  80. Usman, M. Quadcopter Modelling and Control With MATLAB/Simulink Implementation. Bachelor’s Thesis, LAB University of Applied Sciences, Lahti, Finland, 2020. [Google Scholar]
  81. Vamsi, D.S.; Tanoj, T.S.; Krishna, U.M.; Nithya, M. Performance Analysis of PID controller for Path Planning of a Quadcopter. In Proceedings of the 2019 2nd International Conference on Power and Embedded Drive Control (ICPEDC), Chennai, India, 21–23 August 2019; pp. 116–121. [Google Scholar]
  82. Zouaoui, S.; Mohamed, E.; Kouider, B. Easy tracking of UAV using PID controller. Period. Polytech. Transp. Eng. 2019, 47, 171–177. [Google Scholar] [CrossRef]
  83. Zeng, Y.; Zhang, R. Energy-efficient UAV communication with trajectory optimization. IEEE Trans. Wirel. Commun. 2017, 16, 3747–3760. [Google Scholar] [CrossRef] [Green Version]
  84. Budnyaev, V.A.; Filippov, I.F.; Vertegel, V.V.; Dudnikov, S.Y. Simulink-based Quadcopter Control System Model. In Proceedings of the 2020 1st International Conference Problems of Informatics, Electronics, and Radio Engineering (PIERE), Novosibirsk, Russia, 10–11 December 2020; pp. 246–250. [Google Scholar]
  85. Ji, J.; Han, J.-N.; Meng, L.-F. Modeling and simulation of quadrotor UAV based on Simscape. J. Meas. Sci. Instrum. 2020, 11, 169–176. [Google Scholar]
Figure 1. Flowchart of the approach followed in the paper.
Figure 1. Flowchart of the approach followed in the paper.
Machines 11 00464 g001
Figure 2. Final rendering of the proposed UAV system serving as a delivery drone.
Figure 2. Final rendering of the proposed UAV system serving as a delivery drone.
Machines 11 00464 g002
Figure 3. Components forming each support arm.
Figure 3. Components forming each support arm.
Machines 11 00464 g003
Figure 4. Arm disassembly showing the belt transmission.
Figure 4. Arm disassembly showing the belt transmission.
Machines 11 00464 g004
Figure 5. Drone central frame disassembly.
Figure 5. Drone central frame disassembly.
Machines 11 00464 g005
Figure 6. Beer crate.
Figure 6. Beer crate.
Machines 11 00464 g006
Figure 7. Rollers of the conveyor belt.
Figure 7. Rollers of the conveyor belt.
Machines 11 00464 g007
Figure 8. Roller supports.
Figure 8. Roller supports.
Machines 11 00464 g008
Figure 9. The DC motor commanding the rollers.
Figure 9. The DC motor commanding the rollers.
Machines 11 00464 g009
Figure 10. Mechanical scheme of a generic revolute joint.
Figure 10. Mechanical scheme of a generic revolute joint.
Machines 11 00464 g010
Figure 11. Mechanical scheme of a generic driving constraint.
Figure 11. Mechanical scheme of a generic driving constraint.
Machines 11 00464 g011
Figure 12. PID controller scheme.
Figure 12. PID controller scheme.
Machines 11 00464 g012
Figure 13. Hovering and vertical motion.
Figure 13. Hovering and vertical motion.
Machines 11 00464 g013
Figure 14. Longitudinal and lateral motions.
Figure 14. Longitudinal and lateral motions.
Machines 11 00464 g014
Figure 15. Cascaded PID controller.
Figure 15. Cascaded PID controller.
Machines 11 00464 g015
Figure 16. Delivery drone SIMSCAPE MULTIBODY model overview.
Figure 16. Delivery drone SIMSCAPE MULTIBODY model overview.
Machines 11 00464 g016
Figure 17. Measurement subsystem.
Figure 17. Measurement subsystem.
Machines 11 00464 g017
Figure 18. Error and controller subsystem.
Figure 18. Error and controller subsystem.
Machines 11 00464 g018
Figure 19. Drone subsystem.
Figure 19. Drone subsystem.
Machines 11 00464 g019
Figure 20. Landing base.
Figure 20. Landing base.
Machines 11 00464 g020
Figure 21. Beer Carrier SIMSCAPE MULTIBODY model.
Figure 21. Beer Carrier SIMSCAPE MULTIBODY model.
Machines 11 00464 g021
Figure 22. Longitudinal, lateral, and vertical (linear) displacements of the drone chassis. The solid lines (──) refer to the time-laws supplied in input from the MATLAB program. The dashed lines (---) refer to the measures detected by the sensors in the computer simulation, carried out using SIMSCAPE MULTIBODY.
Figure 22. Longitudinal, lateral, and vertical (linear) displacements of the drone chassis. The solid lines (──) refer to the time-laws supplied in input from the MATLAB program. The dashed lines (---) refer to the measures detected by the sensors in the computer simulation, carried out using SIMSCAPE MULTIBODY.
Machines 11 00464 g022
Figure 23. Roll, pitch, and yaw (angular) displacements of the drone chassis. The solid lines (──) refer to the time-laws supplied in input from the MATLAB program. The dashed lines (---) refer to the measures detected by the sensors in the computer simulation, carried out using SIMSCAPE MULTIBODY.
Figure 23. Roll, pitch, and yaw (angular) displacements of the drone chassis. The solid lines (──) refer to the time-laws supplied in input from the MATLAB program. The dashed lines (---) refer to the measures detected by the sensors in the computer simulation, carried out using SIMSCAPE MULTIBODY.
Machines 11 00464 g023
Figure 24. Revolutions per minute of each propeller, plotted as a function of time.
Figure 24. Revolutions per minute of each propeller, plotted as a function of time.
Machines 11 00464 g024
Figure 25. Instant electric voltage of each motor, plotted as a function of time.
Figure 25. Instant electric voltage of each motor, plotted as a function of time.
Machines 11 00464 g025
Figure 26. Power absorbed by each motor, plotted as a function of time.
Figure 26. Power absorbed by each motor, plotted as a function of time.
Machines 11 00464 g026
Figure 27. Thrust, torque, and power of each propeller, plotted as a function of time.
Figure 27. Thrust, torque, and power of each propeller, plotted as a function of time.
Machines 11 00464 g027
Figure 28. Longitudinal, vertical, and angular displacements of the beer crate representing the drone payload performing a planar motion obtained from the computer simulation, carried out using SIMSCAPE MULTIBODY.
Figure 28. Longitudinal, vertical, and angular displacements of the beer crate representing the drone payload performing a planar motion obtained from the computer simulation, carried out using SIMSCAPE MULTIBODY.
Machines 11 00464 g028
Table 1. Parameters chosen for the electric motors.
Table 1. Parameters chosen for the electric motors.
KVMotor WeightIdle CurrentInternal ResistancePeak CurrentMaximum Power
150 (RPM/V)273 (g)1 (A)85 ± 5 (m Ω )29.7/26.5 (A)712.8/1272 (W)
Table 2. Inertial properties of each rigid body of the delivery drone.
Table 2. Inertial properties of each rigid body of the delivery drone.
DescriptionsSymbolsData (units)
Payload mass m p 2 (kg)
Central frame mass m 0 8 (kg)
Central frame first moment of inertia I x x 0 0.27 (kg·m 2 )
Central frame second moment of inertia I y y 0 0.26 (kg·m 2 )
Central frame third moment of inertia I z z 0 0.42 (kg·m 2 )
Propeller I mass m 1 5.6 × 10 3 (kg)
Propeller I first moment of inertia I x x 1 9.8 × 10 6 (kg·m 2 )
Propeller I second moment of inertia I y y 1 8.6 × 10 4 (kg·m 2 )
Propeller I third moment of inertia I z z 1 8.6 × 10 4 (kg·m 2 )
Propeller II mass m 2 5.6 × 10 3 (kg)
Propeller II first moment of inertia I x x 2 9.8 × 10 6 (kg·m 2 )
Propeller II second moment of inertia I y y 2 8.6 × 10 4 (kg·m 2 )
Propeller II third moment of inertia I z z 2 8.6 × 10 4 (kg·m 2 )
Propeller III mass m 3 5.6 × 10 3 (kg)
Propeller III first moment of inertia I x x 3 9.8 × 10 6 (kg·m 2 )
Propeller III second moment of inertia I y y 3 8.6 × 10 4 (kg·m 2 )
Propeller III third moment of inertia I z z 3 8.6 × 10 4 (kg·m 2 )
Propeller IV mass m 4 5.6 × 10 3 (kg)
Propeller IV first moment of inertia I x x 4 9.8 × 10 6 (kg·m 2 )
Propeller IV second moment of inertia I y y 4 8.6 × 10 4 (kg·m 2 )
Propeller IV third moment of inertia I z z 4 8.6 × 10 4 (kg·m 2 )
Table 3. Geometric properties of each kinematic joint of the delivery drone.
Table 3. Geometric properties of each kinematic joint of the delivery drone.
Kinematic
Pair
Number
Kinematic
Pair
Type
First
Body
Number
Second
Body
Number
First Body
Location Point
and Joint Axis
Second Body
Location Point
and Joint Axis
kName i k j k u ¯ i k = x ¯ i k y ¯ i k z ¯ i k T v ¯ i k = v ¯ x i k v ¯ y i k v ¯ z i k T u ¯ j k = x ¯ j k y ¯ j k z ¯ j k T v ¯ j k = v ¯ x j k v ¯ y j k v ¯ z j k T
1Revolute01 u ¯ 0 = 2 2 R 2 2 R 0 T v ¯ 0 = 0 0 1 T u ¯ 1 = 0 0 0 T v ¯ 1 = 0 0 1 T
2Revolute02 u ¯ 0 = 2 2 R 2 2 R 0 T v ¯ 0 = 0 0 1 T u ¯ 2 = 0 0 0 T v ¯ 2 = 0 0 1 T
3Revolute03 u ¯ 0 = 2 2 R 2 2 R 0 T v ¯ 0 = 0 0 1 T u ¯ 3 = 0 0 0 T v ¯ 3 = 0 0 1 T
4Revolute04 u ¯ 0 = 2 2 R 2 2 R 0 T v ¯ 0 = 0 0 1 T u ¯ 4 = 0 0 0 T v ¯ 4 = 0 0 1 T
Table 4. Geometric properties of each driving constraint of the delivery drone.
Table 4. Geometric properties of each driving constraint of the delivery drone.
Driving
Constraint Number
Driving
Constraint Type
First Body
Number
Second Body
Number
Relative
Geometric Axis
hName i h j h v ¯ h = v ¯ x h v ¯ y h v ¯ z h T
1Imposed relative
angular velocity
10 v ¯ 1 = 0 0 1 T
2Imposed relative
angular velocity
20 v ¯ 2 = 0 0 1 T
3Imposed relative
angular velocity
30 v ¯ 3 = 0 0 1 T
4Imposed relative
angular velocity
40 v ¯ 4 = 0 0 1 T
Table 5. PID value adjustments.
Table 5. PID value adjustments.
ParameterRise TimeOvershootSettling TimeErrorStability
Pdecreasesincreaseslimited changesdecreasesget worse
Idecreasesincreasesincreasescould cancelget worse
Dincreasesdecreasesdecreasesno effectimprove
Table 6. Numerical values of the controller parameters in the ascending, descending, and hovering phases.
Table 6. Numerical values of the controller parameters in the ascending, descending, and hovering phases.
DISPLACEMENTTYPELOOPSPID
LIFTPIDSimple loop282218
YAWPIDSimple loop129.1181.297.17
ROLLCASCADED PIDInner loop
Outer loop
−3.93
0.52
−0.09
0.037
−15.68
0.74
PITCHCASCADED PIDInner loop
outer loop
3.93
0.52
0.089
0.037
15.68
0.74
Table 7. Calculation of the RMSE for comparing desired trajectory with the output detected by the sensors in the computer simulation, carried out in SIMSCAPE MULTIBODY.
Table 7. Calculation of the RMSE for comparing desired trajectory with the output detected by the sensors in the computer simulation, carried out in SIMSCAPE MULTIBODY.
SymbolData (Units)
RMSE x 0.2373 (m)
RMSE y 0.2700 (m)
RMSE z 0.0981 (m)
RMSE ϕ 0.0334 (rad)
RMSE θ 0.0277 (rad)
RMSE ψ 0.0220 (rad)
Table 8. Estimated performance data of the quadcopter designed in this study.
Table 8. Estimated performance data of the quadcopter designed in this study.
ParametersDataUnits
Hovering time19.3min
Payload9.9kg
Flying range12.1km
Maximum takeoff altitude5.3km
Maximum tilt angle58.9°
Maximum forward velocity20.7m/s
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Pappalardo, C.M.; Del Giudice, M.; Oliva, E.B.; Stieven, L.; Naddeo, A. Computer-Aided Design, Multibody Dynamic Modeling, and Motion Control Analysis of a Quadcopter System for Delivery Applications. Machines 2023, 11, 464. https://doi.org/10.3390/machines11040464

AMA Style

Pappalardo CM, Del Giudice M, Oliva EB, Stieven L, Naddeo A. Computer-Aided Design, Multibody Dynamic Modeling, and Motion Control Analysis of a Quadcopter System for Delivery Applications. Machines. 2023; 11(4):464. https://doi.org/10.3390/machines11040464

Chicago/Turabian Style

Pappalardo, Carmine Maria, Marco Del Giudice, Emanuele Baldassarre Oliva, Littorino Stieven, and Alessandro Naddeo. 2023. "Computer-Aided Design, Multibody Dynamic Modeling, and Motion Control Analysis of a Quadcopter System for Delivery Applications" Machines 11, no. 4: 464. https://doi.org/10.3390/machines11040464

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop