scieee AI-readable full text Open interactive document viewer

Bidirectional-thruster multirotor for perimeter pipe inspections (BiMPPI): A nonlinear optimal integral-SDRE design

González Morgado, Antonio; Nekoo, Saeed Rafee; Heredia Benot, Guillermo; Ollero Baturone, Aníbal

Abstract

This paper presents a novel bidirectional-thruster multirotor for perimeter pipeline inspection (BiMPPI). The bidirectional thrusters enable the generation of negative collective thrust, allowing BiMPPI to land on the pipe, reverse motor thrust directions, and push against the pipe while rotating around it without losing physical contact. An integral state-dependent Riccati equation (SDRE) controller is used during the turning phase around the pipe. The integral SDRE controller is compared through simulations with the servo-SDRE controller, exhibiting similar performance while eliminating the need for an online solution to the SDRE. The platform is experimentally validated through indoor flights, demonstrating superior performance in rotational movements around a mockup pipeline compared to both SDRE and standard PID controllers.

Full text

Contents lists available at ScienceDirect ISA Transactions journal homepage: www.elsevier.com/locate/isatrans Practice article Bidirectional-thruster multirotor for perimeter pipe inspections (BiMPPI): A nonlinear optimal integral-SDRE design Antonio Gonzalez-Morgado ∗, Saeed Rafee Nekoo , Guillermo Heredia , Anibal Ollero The GRVC Robotics Lab., Departamento de Ingeniería de Sistemas y Automática, Escuela Técnica Superior de Ingeniería, Universidad de Sevilla, Seville, 41092, Spain A R T I C L E I N F O Keywords: Bidirectional-thruster quadrotor Rotation around pipe Integral-SDRE Servo design UAV A B S T R A C T This paper presents a novel bidirectional-thruster multirotor for perimeter pipeline inspection (BiMPPI). The bidirectional thrusters enable the generation of negative collective thrust, allowing BiMPPI to land on the pipe, reverse motor thrust directions, and push against the pipe while rotating around it without losing physical contact. An integral state-dependent Riccati equation (SDRE) controller is used during the turning phase around the pipe. The integral SDRE controller is compared through simulations with the servo-SDRE controller, exhibiting similar performance while eliminating the need for an online solution to the SDRE. The platform is experimentally validated through indoor flights, demonstrating superior performance in rotational movements around a mockup pipeline compared to both SDRE and standard PID controllers. 1. Introduction 1.1. Background The application of multirotor aerial systems in industry has increased due to advances in commercialized equipment in drone manufacturing, autopilot designs, and rotor developments. Monitoring and inspection using unmanned aerial vehicles (UAVs) is a hot topic divided into two categories of non-contact and contact inspection. Flight and recording videos and images [1,2], using laser [3] and LiDAR sensors to map point clouds [4,5], and radiation measurement [6,7], are examples of non-contact inspection using multirotor UAVs. Contact inspection is more challenging since interaction with the environment causes disturbances to the aerial robot and changes the dynamics of the system [8]. In the last years, various solutions have been developed to address these challenges, including the integration of aerial manipulators [9,10] to interact with their environment more effectively, and the design of more complex platforms [11,12], which enhance the physical interaction capabilities beyond those of standard multirotor systems. These advances enable UAVs to perform a wider range of tasks that require physical interaction, such as maintenance, repairs, and sensor placement while maintaining stability and control during flight. In the oil and gas industry, pipeline inspections are crucial for ensuring the safety and efficiency of operations. These inspections typically involve direct contact between the sensor and the pipeline surface. ∗Corresponding author. E-mail addresses: [email protected] (A. Gonzalez-Morgado), [email protected] (S.R. Nekoo), [email protected] (G. Heredia), [email protected] (A. Ollero). 1https://cordis.europa.eu/project/id/779411. 2https://cordis.europa.eu/project/id/871542. An example is wall thickness inspections, where ultrasonic sensors are used to measure the thickness of the pipeline at various points, detecting potential reductions in thickness due to corrosion. Conducting this type of inspection around the entire pipeline using UAVs can significantly reduce costs, time, and the risk of accidents [13]; however, it is challenging. A part of the HYFLIERS1 project highlighted this interesting problem by presenting several prototypes and platforms. One approach involved a snake-like manipulator attached to a UAV for inspecting the lower parts of pipelines [14], where it was suggested to avoid rotating around the pipe and instead maintain the UAV in a stable position on the pipeline. A similar approach was presented in [15], where the proposed hybrid robot stays on the pipeline and uses a robotic arm to inspect the external surface of the pipeline. Other solutions, as the one developed within the PILOTING2 project, involve the use of specific robotic crawlers that maintain contact with the pipeline surface through magnetic wheels and perform contact-based inspections using ultrasonic sensors [16]. These robots are transported, deployed, and retrieved by a UAV, enabling efficient and precise inspection operations. However, these robots are limited to pipelines without insulation, as insulated pipelines are typically covered with aluminum sheets, which are non-ferromagnetic. There is a technical issue with the complete rotation of a UAV without any magnetic device or robotic arm around the pipeline, as it has to generate negative thrust force after landing to push against https://doi.org/10.1016/j.isatra.2025.03.015 Received 9 October 2024; Received in revised form 21 March 2025; Accepted 21 March 2025 ISA Transactions 161 (2025) 276–288 Available online 1 April 2025 0019-0578/© 2025 The Authors. Published by Elsevier Ltd on behalf of International Society of Automation. This is an open access article under the CC BY-NC-ND license ( http://creativecommons.org/licenses/by-nc-nd/4.0/ ). A. Gonzalez-Morgado et al. the pipeline and keep contact during the operation. This problem has been studied in the last years through simulations or experimental testbenches, without any complete experimental flight. The use of variable pitch rotors was proposed to generate collective thrust force in both positive and negative directions [17]; however, the flight was not reported. The concept was implemented on a testbench with a physical joint to keep the system rotating in a constrained motion during the regulation control. The application of the iterative learning control in the same setup showed a successful implementation of an optimal control learning method with experimental validation [18]. Other proposed controllers were validated through simulations [19], in which the system was modeled as a rotor-based inverted pendulum. This work provides a solution for rotating around a pipeline using a bidirectional-thrusters multirotor. The design for motion control during rotational inspection could benefit from many methods. Linear control techniques are widely used, including proportional–derivative (PD) controllers [20,21] and proportional–integral–derivative (PID) controllers [22,23]. However, controllers with feedforward terms offer significant advantages, particularly in motion prediction and control accuracy. Optimal control methods, which aim to minimize energy consumption while ensuring precise regulation and tracking [24], are particularly effective when the system model is well-defined. As the complexity of such models increases, learning-based techniques are often employed to avoid the need for precise modeling. For example, Duong et al. introduced a model-free optimal control method using reinforcement learning [25]. Furthermore, the state-dependent Riccati equation (SDRE) is a popular controller for pendulums and rotary systems. It is a nonlinear optimal method that can present a trade-off between precision and energy consumption [26,27]. Design flexibility is one of the important characteristics of the SDRE controller. This flexibility comes from the nonlinear structure of the weighting matrices. Since they accept states, then soft constraints [28], obstacle avoidance terms [29,30], adaptive design [31,32], can be considered as the objective of the design. Systematic design and derivation of the SDRE allow easy modification of the method. For example, adding integration of tracking states to the control law results in a servo-SDRE design [33–35]. The servo design adds an integrator to the controller, which eliminates the steadystate error in the response, potentially caused by external disturbances, signal measurement noise, or modeling mismatches. Similarly, other advanced techniques in control engineering effectively address disturbances and model uncertainties. Specifically, the state-filtered disturbance rejection control proposed in [36] compensates for both matched and mismatched uncertainties without requiring them to be continuously differentiable. Likewise, to improve the accuracy of disturbance measurement, multilayer neural networks can be employed to approximate endogenous disturbances [37]. In this work, disturbances during the rotation around the pipeline are rejected using a SDRE design through the integrator. This approach eliminates the steady-state error while minimizing energy consumption, thanks to the optimal SDRE controller. The solution method to the SDRE control is numerical in the majority of the case studies, especially when the systems possess many degrees of freedom (DoFs). The rotation mode of the inspection proposes a single-DoF motion which suggests the usage of an exact solution approach to solve the SDRE. The exact solution approach can be implemented offline which is an advantage for practical tests [17]. In this approach, offline computations are performed outside the control loop (only once) based on the system’s physical characteristics. Then, during operation, the control law only updates the states using the precomputed gains [38,39]. When solving the Riccati equation offline, multiple roots exist, and selecting the correct root that ensures a symmetric positive definite solution requires careful consideration. The Lyapunov method was used to determine the correct signs of the gain components for a single-degree-of-freedom (DoF) system, ensuring stability and accuracy [40]. Fig. 1. The BiMPPI during a rotation around a PVC pipeline. Two motors change of spinning direction to generate more roll torque. 1.2. Contributions and novelties In this work, we present BiMPPI, a ‘‘Bidirectional-thruster Multirotor for Perimeter Pipe Inspections’’. The BiMPPI is capable of controlled rotational maneuver around a pipeline by using bidirectional motors, as shown in Fig. 1. This platform enhances the possibility of using standard multi-rotors for perimeter pipeline inspections without the need for any complex mechanical design in the landing gear or the use of magnetic parts. Main contributions: 1. Design, manufacturing, and experimental validation of a novel bidirectional-thruster multirotor UAV for perimeter pipe inspections. 2. Theoretical and experimental development of a nonlinear optimal SDRE controller for the complete rotation around the pipe. To the best of our knowledge, the BiMPPI is the first aerial platform capable of performing a complete rotational movement around a pipeline without relying on magnetic devices, fixtures, or complex mechatronic designs to maintain contact with the pipeline. Instead, the BiMPPI relies on bidirectional rotors, achieved through the use of reversible electronic speed controllers (ESCs) and 3D propellers, which can rotate in both directions. Bidirectional rotors have been extensively used in recent years to enhance the interaction capabilities of aerial multi-rotors, such as developing omnidirectional platforms [41,42]. In our case, the bidirectional rotors allow the BiMPPI to generate negative thrust once it lands on the pipeline, ensuring contact during the rotational movement. Additionally, they allow generating larger roll torque to control rotation. Compared with platforms based on unidirectional thrusters, the BiMPPI offers a greater control range due to the use of bidirectional thrusters. Furthermore, they also enable the possibility of performing various types of operations, as the platform can execute reverse flights. In this work, the BiMPPI performs three types of operations: top-to-bottom inspection, bottom-to-top inspection, and full perimeter inspection. In the first two cases, the platform needs to perform both normal and reverse flights, as the BiMPPI rotates only half of the perimeter. These types of operations are required when there is a wall or obstacles along the pipeline that prevent full ISA Transactions 161 (2025) 276–288 277 A. Gonzalez-Morgado et al. rotation, as can be the case with a pipe rack. Due to this, the BiMPPI is equipped with two landing gears, one on the bottom and another on the top. In addition, the rotational inspections of this work are limited to horizontal pipelines, which allows us to neglect the dynamics along the pipeline axis, as there is no force projected in that direction, and equilibrium is achieved. Due to this, our system is analyzed as a oneDoF system during the rotational movement. High-tilted or vertical pipeline inspections, where the gravity force is projected along the pipeline axis and the equilibrium is no longer guaranteed, are proposed as future work. Compared to other solutions that rely on multirotors with robotic arms [15], our approach prioritizes simplicity and a lightweight design, eliminating the need for complex mechanical or mechatronic systems. The BiMPPI is suitable for both isolated pipelines and pipeline racks, provided there is sufficient lateral space for the multirotor to rotate around the pipeline. When lateral obstacles, such as walls or narrow pipeline racks, prevent full rotation, alternative solutions based on snake-arm robots, such as those proposed in [14], can be employed. However, like the BiMPPI, these solutions also require a minimum distance to ensure that the robotic arm can reach the lower part of the pipeline while the platform remains positioned above. Due to the nonlinear dynamics of the rotational movement around the pipeline, the controller is developed based on the SDRE. In addition, the usage of an integrator was necessary to achieve acceptable performance in the rotation control, as the experimental validation of the platform can cause steady-state error due to disturbances. In this work, we use a servo-SDRE-based design, where an exact solution approach is used to control the system experimentally. However, the servo structure increases the dimension of the system and makes the exact solution more complex. Then a comparison is performed between the two following cases: servo SDRE with numerical solution, and SDRE plus an integrator using an exact solution approach. The simulation results show that the performance of the methods match and can be considered for the experimental tests. 1.3. Outline The rest of the paper is organized as follows. Section 2 presents the theoretical background for the SDRE control method. Then, the mathematical modeling of the system is presented in Section 3, while the complete control framework is included in Section 4. Section 5 describes the setup, communication, and experimental equipment of the BiMPPI. The experimental results are reported in Section 6, where the platform is validated through indoor flights. Finally, the conclusions of this work, along with future research directions, are summarized in Section 7. 2. Theoretical background: Servo SDRE control structure The traditional SDRE design does not provide an integrator; hence, mismatch in modeling, disturbance from the environment, or noise in the measurement can cause steady-state error in the control output. Augmenting an integrator eliminates the steady-state error, modifies the SDRE behavior, and shows robust characteristics. This section presents the SDRE governing equations, augmentation of the integrator, the so-called ‘‘servo-SDRE’’ formulation, and the exact solution to single-DoF systems. 2.1. The SDRE Consider a nonlinear differential equation, time-invariant and affine-in-control, as in the following form:  𝐱(𝑡) = 𝐟(𝐱(𝑡)) + 𝐠(𝐱(𝑡),𝐮(𝑡)) + 𝐄d𝐝(𝑡),(1) where state variables are gathered in 𝐱(𝑡) ∈ R𝑛 and all input signals in 𝐮(𝑡) ∈ R𝑚, 𝐝(𝑡) ∈ R𝑚 is a disturbance vector to the system, 𝐄d= [𝟎(𝑛−𝑚)×𝑚 𝐈𝑚×𝑚], 𝐟(𝐱(𝑡)) ∶ R𝑛→R𝑛 includes the dynamics of the system, i.e. inertia, gravity, Coriolis/centrifugal terms, etc., and 𝐠(𝐱(𝑡),𝐮(𝑡)) ∶ R𝑛×R𝑚→R𝑛 the coefficients of the inputs. 𝐟(𝐱(𝑡)) and 𝐠(𝐱(𝑡),𝐮(𝑡)) are vector-valued, smooth, piecewise-continuous functions and satisfy the local Lipschitz condition. The equilibrium point of the system is considered zero 𝐟(𝟎) = 𝟎. The nonlinear system (1) must be transformed into an apparent linearization representation. In order to do this, a state vector must be factored from 𝐟(𝐱(𝑡)) and an input vector from 𝐠(𝐱(𝑡),𝐮(𝑡)). Then, it can be rewritten as state-dependent coefficient (SDC) parameterization [35]:  𝐱(𝑡) = 𝐀(𝐱(𝑡))𝐱(𝑡) + 𝐁(𝐱(𝑡))𝐮(𝑡) + 𝐄d𝐝(𝑡),(2) where 𝐁(𝐱(𝑡)) ∶ R𝑛→R𝑛×𝑚 and 𝐀(𝐱(𝑡)) ∶ R𝑛→R𝑛×𝑛 are held. Assumption 1. A completely controllable SDC pair {𝐀(𝐱(𝑡)),𝐁(𝐱(𝑡))} exists for all 𝐱(𝑡) ∈ R𝑛 in 𝑡∈R+ [43]. The optimal design is defined by the quadratic cost function integral in the infinite-horizon time domain [44]: 𝐽(⋅) = 1 2∫∞ 0 [𝐱⊤(𝑡)𝐐(𝐱(𝑡))𝐱(𝑡) + 𝐮⊤(𝑡)𝐑(𝐱(𝑡))𝐮(𝑡)] d𝑡, (3) with 𝐐(𝐱(𝑡)) ∶ R𝑛→R𝑛×𝑛 and 𝐑(𝐱(𝑡)) ∶ R𝑛→R𝑚×𝑚. In addition, 𝐑(𝐱(𝑡)) = 𝐑⊤(𝐱(𝑡)) >𝟎 penalizes the input signals and 𝐐(𝐱(𝑡)) = 𝐐⊤(𝐱(𝑡)) ≥𝟎 penalizes the state variables. Assumption 2. A completely observable pair of {𝐀(𝐱(𝑡)),𝐐1∕2(𝐱(𝑡))} exists for all 𝐱(𝑡) ∈ R𝑛 in 𝑡∈R+, where 𝐐1∕2(𝐱(𝑡)) is the Cholesky decomposition of 𝐐(𝐱(𝑡)) [43]. Applying the stationary optimality condition on the Hamiltonian function, the control law of the SDRE is obtained [44]: 𝐮(𝑡) = −𝐑−1(𝐱(𝑡))𝐁⊤(𝐱(𝑡))𝐊(𝐱(𝑡))𝐱(𝑡),(4) where the optimal gain 𝐊(𝐱(𝑡)) = 𝐊⊤(𝐱(𝑡)) >𝟎 of the control law is the solution to the state-dependent Riccati equation [44]: 𝐀⊤(𝐱(𝑡))𝐊(𝐱(𝑡)) + 𝐊(𝐱(𝑡))𝐀(𝐱(𝑡))+ 𝐐(𝐱(𝑡)) − 𝐊(𝐱(𝑡))𝐁(𝐱(𝑡))𝐑−1(𝐱(𝑡))𝐁⊤(𝐱(𝑡))𝐊(𝐱(𝑡)) = 𝟎.(5) The controllability and observability of Assumptions 1and 2 are guaranteed through checking the rank of the two following matrices: c=[𝐁(𝐱(𝑡)) 𝐀(𝐱(𝑡))𝐁(𝐱(𝑡)) ⋯𝐀𝑛−1(𝐱(𝑡))𝐁(𝐱(𝑡))], and o=⎡⎢⎢⎢⎢⎣ 𝐐1∕2(𝐱(𝑡)) 𝐐1∕2(𝐱(𝑡))𝐀(𝐱(𝑡)) ⋮ 𝐐1∕2(𝐱(𝑡))𝐀𝑛−1(𝐱(𝑡)) ⎤⎥⎥⎥⎥⎦ . If the rank of c and o are full, then the SDRE can be solved. The suboptimal gain 𝐊(𝐱(𝑡)) provides a stable controller for the optimal control problem. Without loss of generality, to regulate the states to a desired condition rather than zero equilibrium point and adding an integrator, the control law (4) is rewritten as [18]: 𝐮(𝑡) = −𝐑−1(𝐱(𝑡))𝐁⊤(𝐱(𝑡))𝐊(𝐱(𝑡))𝐞(𝑡),(6) where 𝐞(𝑡) = 𝐱(𝑡) − 𝐱des(𝑡) for trajectory tracking or 𝐞(𝑡) = 𝐱(𝑡) − 𝐱des for point-to-point motion control. In this context, ‘‘des’’ refers to the desired quantities. 2.2. Servo design The sub-optimal gain of the SDRE controller 𝐊(𝐱(𝑡)), the solution to (5), is multiplied by the state-vector 𝐱(𝑡) in control law (4) or error vector (6). The state variables are commonly the generalized coordinates and time-derivative of that, i.e. position and velocity in ISA Transactions 161 (2025) 276–288 278 A. Gonzalez-Morgado et al. mechanical systems. Then the overall gain of the SDRE controller can be partitioned into two proportional 𝐗P(𝐱(𝑡)) and derivative 𝐗D(𝐱(𝑡)) sub-blocks as: 𝐗(𝐱(𝑡)) = [𝐗P(𝐱(𝑡)),𝐗D(𝐱(𝑡))] = 𝐑−1(𝐱(𝑡))𝐁⊤(𝐱(𝑡))𝐊(𝐱(𝑡)). The SDRE performs properly for general nonlinear systems in theory and simulations; however, in practice and experimentation, an integrator is needed to add robustness, reduce the steady-state error, and compensate for the mismatch in modeling. Consider that the nonlinear system (1) must track a trajectory through a set of desired variables 𝐫c(𝑡) ∈ R𝑝 (the reference trajectory could be constant 𝐫c) [43]: 𝐮(𝑡) = −𝐑−1(𝐱(𝑡))𝐁⊤(𝐱(𝑡))𝐊(𝐱(𝑡)) [𝐱T(𝑡) − 𝐫c(𝑡) 𝐱N(𝑡)], where 𝐱N(𝑡) ∈ R𝑛−𝑝 collects the remaining state variables. To present the servo SDRE and add the integrator, the state vector is extended as  𝐱(𝑡) = [𝐱⊤ I(𝑡),𝐱⊤ T(𝑡),𝐱⊤ N(𝑡)]⊤,(7) where 𝐱I(𝑡) ∈ R𝑝 is the integral of the states in 𝐱T(𝑡) [43]. Adding the integral of some states to the state vector, Eq. (7), modifies the SDC parameterization as:   𝐱(𝑡) = [𝟎𝑝×𝑝𝐄𝑝×𝑛 𝟎𝑛×𝑝𝐀(𝐱(𝑡))] ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟  𝐀(𝐱(𝑡))  𝐱(𝑡) + [𝟎𝑝×𝑚 𝐁(𝐱(𝑡))] ⏟⏞⏞⏟⏞⏞⏟  𝐁(𝐱(𝑡)) 𝐮(𝑡) + 𝐄I𝐝(𝑡),(8) where 𝐄= [𝐈𝑝×𝑝,𝟎𝑝×(𝑛−𝑝)], 𝐄I=[𝟎(𝑝+𝑛−𝑚)×𝑚 𝐈𝑚×𝑚],  𝐁(𝐱(𝑡)) ∶ R𝑛→R(𝑝+𝑛)×𝑚 and  𝐀(𝐱(𝑡)) ∶ R𝑛→R(𝑝+𝑛)×(𝑝+𝑛). It also changes the cost function (3) into [43]: 𝐽servo(⋅) = 1 2∫∞ 0 [ 𝐱⊤(𝑡) 𝐐(𝐱(𝑡)) 𝐱(𝑡) + 𝐮⊤(𝑡)𝐑(𝐱(𝑡))𝐮(𝑡)] d𝑡, (9) in which  𝐐(𝐱(𝑡)) ∶ R𝑛→R(𝑛+𝑝)×(𝑛+𝑝) penalizes the integrator plus other states. The SDRE equation for the servo version is modified based on the new matrices  𝐀(𝐱(𝑡)),  𝐁(𝐱(𝑡)), and  𝐐(𝐱(𝑡)) in (8) and (9) to:  𝐀⊤(𝐱(𝑡))  𝐊(𝐱(𝑡)) +  𝐊(𝐱(𝑡))  𝐀(𝐱(𝑡))+  𝐐(𝐱(𝑡)) −  𝐊(𝐱(𝑡))  𝐁(𝐱(𝑡))𝐑−1(𝐱(𝑡))  𝐁⊤(𝐱(𝑡))  𝐊(𝐱(𝑡)) = 𝟎.(10) Consequently, the SDRE control law (4) is updated as servo-SDRE: 𝐮(𝑡) = − 𝐑−1(𝐱(𝑡))  𝐁⊤(𝐱(𝑡))  𝐊(𝐱(𝑡)) ⎡⎢⎢⎣ 𝐱I(𝑡) − ∫𝑡 0𝐫c(𝜏)d𝜏 𝐱T(𝑡) − 𝐫c(𝑡) 𝐱N(𝑡)⎤⎥⎥⎦ = −  𝐗(𝐱(𝑡)) [𝐱T(𝑡) − 𝐫c(𝑡) 𝐱N(𝑡)]− 𝐗I(𝐱(𝑡)) (𝐱I(𝑡) − ∫𝑡 0 𝐫c(𝜏)d𝜏), (11) where  𝐗(𝐱(𝑡)) ∶ R𝑛→R𝑚×𝑛 is the proportional–derivative part of the control gain and  𝐗I(𝐱(𝑡)) ∶ R𝑛→R𝑚×𝑝 is the integral one. Integral SDRE. The dimension of the servo-SDRE (10) is augmented, but the control law (11) releases the same 𝑚 inputs in a vector with the addition of an integrator. So, the following change in the control law adds an equivalent integrator to the system without augmenting the size of the Riccati equation: 𝐮(𝑡) = − 𝐑−1(𝐱(𝑡))𝐁⊤(𝐱(𝑡))𝐊(𝐱(𝑡)) [𝐱T(𝑡) − 𝐫c(𝑡) 𝐱N(𝑡)] −𝐊I(𝐱I(𝑡) − ∫𝑡 0 𝐫c(𝜏)d𝜏), (12) where 𝐊I∈R𝑚×𝑛 is the integral gain of the controller. The servo-SDRE control law (11) can be used for numerical solutions to the Riccati equation and integral SDRE (12) can be used when an exact solution to single-DoF system is required. Both methods will be compared in Section 4.3. The main advantages of the SDRE method are nonlinearity of the controller, optimal structure, and easy tuning. Despite the advantages of this technique, it is quite sensitive to model uncertainty and conventional SDRE design does not have any tool for disturbance rejection. To consider disturbance rejection, specific modifications could be considered in the structure of the SDRE to observe and compensate for it [45,46], or expanding the structure using an integrator as a classical approach for disturbance compensation. Two ways to add an integrator to the SDRE are servo design and the integral SDRE, both presented in this subsection. Since the disturbance is moderate and offline solution is preferable for real time implementation, the integral SDRE is chosen as the control law. To show that the presented servo-SDRE is effective in disturbance rejection on the system’s steady-state error, the simulation section presents the regulation of the system using a random disturbance vector with a small shift in the signal. The experimental results also confirm the integral SDRE’s effectiveness compared to conventional controllers. Remark 1. Although the disturbance exists in the formulation of the system and compensated through the additional integrator, the focus of this work is nonlinear optimal control for the particular case of rotation around the pipe. The deep analysis of disturbance rejection is proposed for future study. 2.3. Exact solution to single-DoF systems The most common solution method to the SDRE is numerical based on the Schur method [47], specifically when the system possesses many degrees of freedom. The matrix SDRE equation is symmetric and presents 𝑛(𝑛+1) 2 coupled equations for a system for a state vector of size 𝑛. For a single-DoF system, the state vector possesses two components 𝑛= 2, and then there are three algebraic equations to be solved. Consider a second-order differential equation 𝑞(𝑡) = 𝑓(𝑞(𝑡), 𝑞(𝑡))𝑞(𝑡) + 𝑔(𝑞(𝑡), 𝑞(𝑡))𝑢(𝑡) + 𝑑(𝑡),(13) with state-vector 𝐱(𝑡) = [𝑞(𝑡), 𝑞(𝑡)]⊤ and disturbance parameter 𝑑(𝑡) ∈ R. This results in a state-space representation:  𝐱(𝑡) = [0 1 𝑓(𝐱(𝑡)) 0] ⏟⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏟ 𝐀(𝐱(𝑡)) 𝐱(𝑡) + [0 𝑔(𝐱(𝑡))] ⏟⏞⏟⏞⏟ 𝐁(𝐱(𝑡)) 𝑢(𝑡) + [0 1]𝑑(𝑡).(14) The weighting matrices for system (14) are 𝐐= diag(𝑄11, 𝑄22) and 𝑅. Substituting the system and weighting matrices into SDRE (5) results in: 𝑄11 + 2𝐾12(𝐱(𝑡))𝑓(𝐱(𝑡)) − 𝐾2 12(𝐱(𝑡))𝑔2(𝐱(𝑡)) 𝑅= 0,(15) 𝐾11(𝐱(𝑡)) + 𝐾22(𝐱(𝑡))𝑓(𝐱(𝑡)) − 𝐾12(𝐱(𝑡))𝐾22(𝐱(𝑡))𝑔2(𝐱(𝑡)) 𝑅= 0,(16) 2𝐾12(𝐱(𝑡)) + 𝑄22 −𝐾2 22(𝐱(𝑡))𝑔2(𝐱(𝑡)) 𝑅= 0.(17) Substituting the matrices into (4), the input control law is rewritten as: 𝑢(𝑡) = − 𝐾12(𝐱(𝑡))𝑔(𝐱(𝑡)) 𝑅𝑥1(𝑡) − 𝐾22(𝐱(𝑡))𝑔(𝐱(𝑡)) 𝑅𝑥2(𝑡).(18) Solving (15) for 𝐾12(𝐱(𝑡)) results in 𝐾12(𝐱(𝑡)) = 𝑅(𝑓(𝐱(𝑡)) ± √𝑅𝑓2(𝐱(𝑡))+𝑄11𝑔2(𝐱(𝑡)) 𝑅) 𝑔2(𝐱(𝑡)) .(19) Solving (17) for 𝐾22(𝐱(𝑡)) and substituting the solution (19) into that generate: 𝐾22(𝐱(𝑡)) = ± √ √ √ √ √ √ √ √ √ √ 𝑅⎛⎜⎜⎜⎝ 2 𝑅(𝑓(𝐱(𝑡))±√𝑅𝑓2(𝐱(𝑡))+𝑄11𝑔2(𝐱(𝑡)) 𝑅) 𝑔2(𝐱(𝑡)) +𝑄22⎞⎟⎟⎟⎠ 𝑔2(𝐱(𝑡)) .(20) ISA Transactions 161 (2025) 276–288 279 A. Gonzalez-Morgado et al. Fig. 2. Frames, position, attitude, and motor numeration of the BiMPPI. The motor-tomotor distances are denoted as 2𝐿x and 2𝐿y; the robot presents an ‘‘X’’ shape quadrotor configuration. Fig. 3. Generable roll torque 𝜏𝜙 and collective thrust 𝑇 for the multirotor with unidirectional motors, in red, and with bidirectional motors, in green. The use of bidirectional thrusters enables the generation of negative collective thrust as well as greater roll torque compared to the use of unidirectional thrusters. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.) Since in the control law (18) the term 𝐾11(𝐱(𝑡)) is not employed, there is no need to solve (16). Moreover, the control gain of the SDRE is positive definite, then the positive solution in (20) is chosen. Using the second method of Lyapunov, it was proven that the positive sign selection of the solution in (19) must also be selected [40], which finalizes the definition of the control gains (19) and (20) for input (18). 3. Mathematical modeling This section presents the dynamic model of the system during both the free-flight phase and the rotational inspection phase. 3.1. Free flight dynamics For describing the free flight dynamics of the BiMPPI, we consider a world frame, denoted as W, with its origin at 𝑂W and axes 𝐱W, 𝐲W, and 𝐳W. Additionally, a body frame, B, is defined at the quadrotor’s center of mass, with axes 𝐱B, 𝐲B, and 𝐳B. Fig. 2 illustrates the quadrotor with the frames W and B. Let 𝐩(𝑡) = [𝑥(𝑡), 𝑦(𝑡), 𝑧(𝑡)]⊤∈R3 denote the position of the quadrotor with respect to the world frame W, while 𝐯(𝑡) ∈ R3 represents the linear velocity expressed in W. The orientation of the quadrotor is described by the roll–pitch–yaw angle vector 𝜼(𝑡)=[𝜙(𝑡), 𝜃(𝑡), 𝜓(𝑡)]⊤∈ R3, which defines the rotation of B relative to W. This orientation is also represented by the rotation matrix W𝐑B(𝜼(𝑡)). Additionally, 𝝎(𝑡) ∈ R3 represents the angular velocity of the quadrotor relative to W, expressed in B. The state vector of the system 𝐱(𝑡) ∈ R12 is given by 𝐱(𝑡) = [𝐩⊤(𝑡),𝜼⊤(𝑡),𝐯⊤(𝑡),𝝎⊤(𝑡)]⊤∈R12. The system’s control input is 𝐮(𝑡)=[𝑇(𝑡), 𝜏𝜙(𝑡), 𝜏𝜃(𝑡), 𝜏𝜓(𝑡)]⊤∈R4, which includes the collective thrust 𝑇(𝑡) and the three torques generated by the four motors. With this setup, the system dynamics can be represented in state-space form as  𝐱(𝑡) = 𝐟(𝐱(𝑡),𝐮(𝑡)), which is expressed by the following equations:  𝐩(𝑡) = 𝐯(𝑡),(21a)  𝜼(𝑡) = 𝐓(𝜼(𝑡))𝝎(𝑡),(21b)  𝐯(𝑡) = 1 𝑚(W𝐑B(𝜼(𝑡))𝑇(𝑡)𝐳B−𝑚𝑔𝐳W),(21c)  𝝎(𝑡) = 𝐉−1 B(−𝝎(𝑡) × 𝐉B𝝎(𝑡) + 𝝉R(𝑡)),(21d) where 𝐓(𝜼(𝑡)) ∈ 𝑆𝑂(3) is the transformation matrix that relates the angular velocity 𝝎(𝑡) with the angle derivatives  𝜼(𝑡), 𝐉B∈R3×3 is the inertia matrix of the quadrotor, 𝑚∈R+ its mass and 𝝉R(𝑡) = [𝜏𝜙(𝑡), 𝜏𝜃(𝑡), 𝜏𝜓(𝑡)]⊤∈R3 includes the control torques. This model represents the general dynamics of an aerial platform. The main difference between the different designs is in the generation of the collective thrust 𝑇(𝑡) and torque 𝝉R(𝑡) by the rotors. The control input 𝐮(𝑡) is related to the rotor forces 𝐅(𝑡) = [𝑓1(𝑡), 𝑓2(𝑡), 𝑓3(𝑡), 𝑓4(𝑡)]⊤∈ R4 by the allocation matrix 𝐌∈R4×4 as 𝐮(𝑡) = 𝐌𝐅(𝑡): ⎡⎢⎢⎢⎢⎣ 𝑇(𝑡) 𝜏𝜙(𝑡) 𝜏𝜃(𝑡) 𝜏𝜓(𝑡) ⎤⎥⎥⎥⎥⎦ ⏟⏟⏟ 𝐮(𝑡) =⎡⎢⎢⎢⎢⎣ 1 1 1 1 𝐿y−𝐿y𝐿y−𝐿y −𝐿x−𝐿x𝐿x𝐿x 𝑘d−𝑘d𝑘d−𝑘d ⎤⎥⎥⎥⎥⎦ ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟ 𝐌 ⎡⎢⎢⎢⎢⎣ 𝑓1(𝑡) 𝑓2(𝑡) 𝑓3(𝑡) 𝑓4(𝑡) ⎤⎥⎥⎥⎥⎦ ⏟⏟⏟ 𝐅(𝑡) ,(22) where 𝐿x∈R+ and 𝐿y∈R+ are the motor-to-axis distances along 𝐱B and 𝐲B respectively (please see Fig. 2), and 𝑘d=𝑐d∕𝑐t∈R+ relates the drag coefficient 𝑐d and the thrust coefficient 𝑐t of the propeller. The control force should satisfy 𝑓i(𝑡)∈[𝑓min, 𝑓max] ∀𝑖= 1,…,4, where 𝑓max is the maximum force that can be generated by the motor and 𝑓min is the minimum force, that is typically 𝑓min = 0 for conventional multirotor UAVs based on unidirectional thrusters. However, in the case of the BiMPPI, by using bidirectional thrusters, the rotor forces can take values in 𝑓i(𝑡) ∈ [−𝑓max, 𝑓max] ∀𝑖= 1,…,4. This allows for greater maneuverability and control, as the motors can exert both positive and negative forces, thereby enabling the multirotor to achieve more complex movements and stabilization. In our case, we exploit this capability to enable the drone to roll around a pipeline in a controlled manner without requiring complex mechatronic designs. To achieve this, once the drone has landed on the pipe, the direction of the rotors’ spin is reversed to generate a force against the pipe, ensuring contact during the operation. Additionally, the use of bidirectional rotors allows for the generation of greater torque 𝜏𝜙, allowing more precise control of the rotation around the pipeline. The maximum roll torque is given by 𝜏𝜙,max = 2𝐿y(𝑓max −𝑓min). In the case of unidirectional motors 𝑓min = 0, while for bidirectional motors 𝑓min = −𝑓max. This results in a maximum torque of 𝜏Uni 𝜙,max = 2𝐿y𝑓max with unidirectional motors, while a maximum torque of 𝜏Bi 𝜙,max = 4𝐿y𝑓max with bidirectional motors. Fig. 3 represents the combination of rolling torque and thrust that can be generated with bidirectional motors and with unidirectional motors, showing bigger control capabilities by using bidirectional thrusters, in terms of negative collective thrust and higher roll torques. 3.2. Constrained motion dynamics When the BiMPPI lands on the pipe, the dynamics of the six-DoF system, presented in Section 3.1, will be transformed into a single-DoF rotary motion, constrained on a trajectory around the pipe, presented in Fig. 4. The single-DoF second-order dynamics of the system is: (𝑚𝑟2 ctr +𝐼xx) 𝜙(𝑡) + 𝑚𝑔𝑟ctr sin 𝜙(𝑡) = 𝜏𝜙(𝑡) +  𝑑(𝑡),(23) ISA Transactions 161 (2025) 276–288 280 A. Gonzalez-Morgado et al. Fig. 4. The planer model of the robot during the constrained motion. where  𝑑(𝑡) = (𝑚𝑟2 ctr +𝐼xx)𝑑(𝑡) is the scaled disturbance, and the produced input torque of the system by the propellers is 𝜏𝜙(𝑡) = 𝐿y(𝑓1(𝑡) − 𝑓2(𝑡)) in which 𝑓1(𝑡) and 𝑓2(𝑡) are the bidirectional forces of the propellers, 𝐿y is the motor-to-axis distance along the 𝐲B axis. Furthermore, 𝑟ctr is the distance between the center of mass (CoM) of the BiMPPI and the center of the pipe, (𝑚𝑟2 ctr +𝐼xx) is the moment of inertia of the system around pipeline axis, and 𝜙(𝑡) denotes the rotation of the drone around the pipe, the single generalized coordinate of the dynamics. 4. Control framework The proposed control framework of the BiMPPI consists of two main components: a cascade PID-based controller for the free-flight phase and an integral SDRE controller for the rotational phase. 4.1. Free flight The position controller computes the necessary force 𝐟R(𝑡) to follow the trajectory 𝐩ref (𝑡). We consider that this reference 𝐩ref (𝑡) is generated by an operator or a planner to go through a series of inspection points. In practice, this can be achieved using state-of-the-art path planning algorithms, as shown in [48], where a hybrid RRT* (Rapidly-exploring Random Tree) based algorithm computes the desired trajectory for a given set of inspection points while minimizing energy consumption. To follow this reference trajectory 𝐩ref (𝑡), a cascade structure is used as follows: 𝐯ref (𝑡) = 𝑘pp(𝐩ref (𝑡) − 𝐩(𝑡)) +  𝐩ref (𝑡),(24a) 𝐚ref (𝑡) = 𝑃 𝐷(𝐯ref (𝑡) −  𝐩(𝑡)) +  𝐩ref (𝑡) + 𝑔𝐳W,(24b) 𝐟R(𝑡) = 𝑚𝐚ref (𝑡),(24c) where 𝑘pp ∈R+ is the proportional gain of the position loop, and 𝑃 𝐷(⋅) is the Proportional–Derivative control function of the velocity loop, composed by the proportional gain 𝑘pv ∈R+ and the derivative gain 𝑘dv ∈R+. Then, the required thrust is computed as 𝑇(𝑡) = ‖W𝐑B(𝜼(𝑡))⊤𝐟R(𝑡)‖. This force 𝐟R(𝑡) is also used with the reference yaw 𝜓ref (𝑡), to obtain the reference angle 𝜼ref (𝑡)=[𝜙ref , 𝜃ref , 𝜓ref ]⊤. The roll and pitch references are computed from the reference rotation matrix 𝐑ref = [𝐱r,𝐲r,𝐳r], as 𝜙ref = arctan(𝑟32∕𝑟33) and 𝜃ref = − arcsin(𝑟31), where 𝑟𝑖𝑗 is the element (𝑖, 𝑗) of the matrix 𝐑ref . The columns of the rotation matrix are computed using the required force 𝐟R as: 𝐳r= W𝐑⊤ B𝐟R ‖W𝐑⊤ B𝐟R‖,𝐲r= 𝐳r× [𝑐𝜓𝑟, 𝑠𝜓𝑟,0]⊤ ‖𝐳r× [𝑐𝜓𝑟, 𝑠𝜓𝑟,0]⊤‖,𝐱r=𝐲r×𝐳r,(25) where 𝑐𝜙𝑟 and 𝑠𝜓𝑟 are the cosine and sine of the reference angle yaw 𝜓ref respectively. The reference angle 𝜼ref (𝑡) is controlled by a cascaded structure as: 𝝎ref (𝑡) = 𝐓(𝜼(𝑡))−1(𝑘p𝜂(𝜼ref (𝑡) − 𝜼(𝑡)) +  𝜼ref (𝑡)),(26a) 𝜻ref (𝑡) = 𝑃 𝐷(𝝎ref (𝑡) − 𝝎(𝑡)),(26b) 𝝉R(𝑡) = 𝐉B𝜻ref (𝑡) + 𝝎(𝑡) × 𝐉B𝝎(𝑡),(26c) where 𝑘p𝜂∈R+ is the proportional gain of the angles loop, and 𝑃 𝐷(⋅) is the Proportional–Derivative control function of the angles rate loop, composed by the proportional gain 𝑘p𝜔∈R+ and the derivative gain 𝑘d𝜔∈R+ Finally, the required motor thrusts 𝐅(𝑡) are computed as: 𝐅(𝑡) = 𝐌−1𝐮(𝑡),(27) where 𝐮(𝑡) collects the control thrust 𝑇(𝑡) and the control torque 𝝉R(𝑡), and 𝐌−1 is the inverse matrix of 𝐌. 4.2. Rotational movement around pipeline For the turning phase, the system (23) is rewritten as in the form of (13):  𝜙(𝑡) = − 𝑚𝑔𝑟ctr [1 − 𝜙2(𝑡) 6+𝜙4(𝑡) 120 −⋯] 𝑚𝑟2 ctr +𝐼xx ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟ 𝑓(𝜙(𝑡), 𝜙(𝑡)) 𝜙(𝑡) + 1 𝑚𝑟2 ctr +𝐼xx ⏟⏞⏞⏞⏞⏟⏞⏞⏞⏞⏟ 𝑔(𝜙(𝑡), 𝜙(𝑡)) 𝜏𝜙(𝑡) + 𝑑(𝑡),(28) where the Taylor series expansion of sin (⋅) is used to factor one 𝜙(𝑡). The state vector is 𝐱(𝑡)=[𝜙(𝑡), 𝜙(𝑡)]⊤ and the SDC parameterization follows the form: 𝐀(𝐱(𝑡)) = ⎡⎢⎢⎢⎣ 0 1 − 𝑚𝑔𝑟ctr [1− 𝜙2(𝑡) 6+𝜙4(𝑡) 120 −⋯] 𝑚𝑟2 ctr +𝐼xx 0⎤⎥⎥⎥⎦ ,𝐁=[0 1 𝑚𝑟2 ctr +𝐼xx ]. Substituting the functions 𝑓(𝜙(𝑡), 𝜙(𝑡)) and 𝑔(𝜙(𝑡), 𝜙(𝑡)) from (28) into (19) and (20), the control law of the single-DoF dynamics (18) is built (arguments are not written for the sake of brevity) (see Eq. (29) in Box I). An integrator can be added to (29) to finalize the control law of the SDRE for practical implementation using the exact solution approach; the second approach is solving the servo-SDRE numerically and restructuring the input law as (11). Both (11) and (29) plus an integrator, can result in similar behavior with the specific tuning of weighting matrices. The advantage of the exact solution is the offline solution of the Riccati while the servo-SDRE needs an online solution at each timestep of the experiment. To show that the results of servoSDRE (11) and integral SDRE (12) are close for single-DoF systems, simulations are presented in Section 4.3. 4.3. Simulations This section simulates the presented model and compares the exact solution in Section 2.3 with the servo-SDRE design in Section 2.2. Consider the mass of the BiMPPI 𝑚= 1.0454 kg, the moment of inertia around the 𝐱B-axis 𝐼xx = 0.022 kg m2, gravity constant 𝑔= 9.81 m∕s2, and radius of rotation 𝑟ctr = 0.12 m. The dynamics of the system are based on (23), subjected to a disturbance 𝑑(𝑡) = 𝐴m(rand(1) − 0.5) + 𝑆h, where 𝐴m= 1 is the amplitude of the disturbance, 𝑆h= 0.5 is the shift, and rand(1) generates a random number between [0,1] at each timestep of the simulation. The simulation time is considered to be 𝑡f= 10 s. The initial condition of the system is 𝐱(0) = [0.3,0]⊤ and the final one is the unstable equilibrium point of the system 𝐱(𝑡f) = [0,0]⊤. Three controllers are compared, conventional SDRE with weighting matrices 𝐐= diag(1,1.5), and 𝑅= 1, the servo-SDRE design with weighting matrices  𝐐= diag(1,1,1.5), and 𝑅= 1, and exact solution to SDRE plus an integrator with weighting parameters 𝐐= diag(1,1.5), 𝑅= 1 and 𝐾I= 1. The results of the simulations and comparison are shown in Fig. 5. The control gains were selected for the three controllers to perform a fair comparison, i.e., the same parameters for proportional and derivative tuning parameters and similar values for the gain of the integrators in the servo design and SDRE plus integrator. Fig. 5-(a) shows the convergence of the generalized coordinate of the BiMPPI. The SDRE could not compensate for the external disturbance as expected, while both servo-SDRE and SDRE plus integrator design regulated to zero ISA Transactions 161 (2025) 276–288 281 A. Gonzalez-Morgado et al. 𝜏𝜙= −(√ √ √ √ √𝑄11 (𝑚𝑟2 ctr +𝐼xx)2+𝑅𝑔2𝑚2𝑟2 ctr (𝜙4−20𝜙2+120)2 14400(𝑚𝑟2 ctr +𝐼xx)2 𝑅−𝑔𝑚𝑟ctr (𝜙4 120 −𝜙2 6+ 1) 𝑚𝑟2 ctr +𝐼xx )(𝑚𝑟2 ctr +𝐼xx)(𝜙−𝜙ref ) −√ √ √ √ √ √ √𝑄22 𝑅+ 2(√ √ √ √ √𝑄11 (𝑚𝑟2 ctr +𝐼xx)2+𝑅𝑔2𝑚2𝑟2 ctr (𝜙4−20𝜙2+120)2 14400(𝑚𝑟2 ctr +𝐼xx)2 𝑅−𝑔𝑚𝑟ctr (𝜙4 120 −𝜙2 6+ 1) 𝑚𝑟2 ctr +𝐼xx )(𝑚𝑟2 ctr +𝐼xx)2( 𝜙− 𝜙ref ). (29) Box I. Fig. 5. The simulation results of the comparison between conventional SDRE, servo design, and SDRE plus an integrator. (a) Shows the convergence of the generalized coordinate. (b) Shows the angular velocity of the system in rotation. (c) Presents the input signals. steady-state error. Integrators usually generate an overshoot in the signal which could be observed in Fig. 5-(a). The velocity of the system in regulation is illustrated in Fig. 5-(b) with the same performance for the three input laws. The cost of zero steady-state error using integrator is more energy consumption, as shown in Fig. 5-(c). 4.4. Stability discussion As explained before, the entire inspection operation in this work consists of three phases: (1) flying to the pipe and landing, (2) rotating around the pipe, and (3) flying back to the ground station. The PID controller is active during the first and third phases, while an integral SDRE controller is used during the second phase. Since there is a pause after landing on the pipe and before flying back to the ground station, with the quadrotor in a static condition, the switching between phases does not require stability analysis. The flight stability of the cascade design for the free flight was provided and discussed in the literature [22,49]. Here, we demonstrate it by combining the control law (24) and (26) with the equations of the model (21). Introducing the control force (24c) in the translational dynamics (21c), we obtain: 𝑚 𝐯(𝑡) =   W𝐑B(𝜼(𝑡)) hhhhhh h ‖W𝐑B(𝜼(𝑡))⊤𝐟R(𝑡)‖ ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟ 𝑇(𝑡)  W𝐑⊤ B𝐟R XXX X ‖W𝐑⊤ B𝐟R‖ ⏟⏞⏞⏞⏟⏞⏞⏞⏟ 𝐳B −𝑚𝑔𝐳W,(30) and consequently 𝑚 𝐯(𝑡) = 𝐟R(𝑡) − 𝑚𝑔𝐳W,(31) which can be simplified by considering the expression of 𝐟R(𝑡)(24b) as: ◁ 𝑚 𝐩(𝑡) = ◁ 𝑚(𝑃 𝐷(𝐯ref (𝑡) −  𝐩(𝑡)) +  𝐩ref (𝑡) +H H 𝑔𝐳W ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟ 𝐚ref (𝑡) ) − ◁ 𝑚H H 𝑔𝐳W,(32) then  𝐩(𝑡) −  𝐩ref (𝑡) = 𝑃 𝐷(𝐯ref (𝑡) −  𝐩(𝑡)).(33) Using the definition of the velocity reference (24a), we obtain:  𝐩(𝑡) −  𝐩ref (𝑡) = 𝑃 𝐷(𝑘𝑝𝑝(𝐩ref (𝑡) − 𝐩(𝑡)) +  𝐩ref (𝑡) ⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏞⏟ 𝐯ref (𝑡) − 𝐩(𝑡)).(34) Developing the 𝑃 𝐷 function, (34) turns into: − 𝐞p(𝑡) = 𝑘𝑝𝑣𝑘𝑝𝑝𝐞p(𝑡) + 𝑘𝑝𝑣  𝐞p(𝑡) + 𝑘𝑑𝑣𝑘𝑝𝑝  𝐞p(𝑡) + 𝑘𝑑𝑣  𝐞p(𝑡),(35) and be rewritten as (𝑘𝑑𝑣 + 1) 𝐞p(𝑡)+(𝑘𝑝𝑣 +𝑘𝑑𝑣𝑘𝑝𝑝) 𝐞p(𝑡) + 𝑘𝑝𝑣𝑘𝑝𝑝𝐞p(𝑡) = 0,(36) where 𝐞p(𝑡) = 𝐩ref (𝑡) − 𝐩(𝑡). Finally, as 𝑘𝑝𝑝, 𝑘𝑝𝑣, 𝑘𝑝𝑑 ∈R+, the position control loop is stable. To demonstrate the stability of the attitude control loop, a similar approach could be used, but now using the attitude dynamics (21d). Doing this, one can demonstrate that the attitude loop is stable as 𝑘𝑝𝜂, 𝑘𝑝𝜔, 𝑘𝑑𝜔 ∈R+. Regarding the second phase, the stability of the integral SDRE controller must be checked to guarantee the success of the inspection task. The stability of the conventional SDRE can be checked by defining a Lyapunov candidate in the form of 𝑉(𝐱(𝑡)) = 𝐱⊤(𝑡)𝐊(𝐱(𝑡))𝐱(𝑡). The following conditions must hold to have stability based on Lyapunov’s second method: •𝑉(𝐱(𝑡)) = 𝟎 if and only if 𝐱(𝑡) = 𝟎, •𝑉(𝐱(𝑡)) >𝟎 if and only if 𝐱(𝑡)≠𝟎, • 𝑉(𝐱(𝑡)) <𝟎 must hold for 𝐱(𝑡)≠𝟎. Considering that 𝐊(𝐱(𝑡)) is symmetric positive definite, the first and second conditions are satisfied. To check the third one, the derivative of the Lyapunov candidate is computed  𝑉(𝐱(𝑡)) =  𝐱⊤(𝑡)𝐊(𝐱(𝑡))𝐱(𝑡) + 𝐱⊤(𝑡) 𝐊(𝐱(𝑡))𝐱(𝑡) + 𝐱⊤(𝑡)𝐊(𝐱(𝑡))  𝐱(𝑡).(37) The design is in infinite-horizon SDRE, 𝑡f→∞ in cost function integral (3), then  𝐊(𝐱(𝑡)) →𝟎 and can be neglected in (37). Substituting system (2) and conventional SDRE control law (4) into (37), one can find (arguments are ignored for better presentation):  𝑉=𝐝⊤𝐄⊤ d𝐊𝐱 −𝐱⊤𝐊𝐁𝐑−1𝐁⊤𝐊𝐱 +𝐱⊤𝐀⊤𝐊𝐱 +𝐱⊤𝐊𝐀𝐱 −𝐱⊤𝐊𝐁𝐑−1𝐁⊤𝐊𝐱 +𝐱⊤𝐊𝐄d𝐝.(38) ISA Transactions 161 (2025) 276–288 282 A. Gonzalez-Morgado et al. Table 1 Main features of the BiMPPI. Parameter Value Weight/Payload 1.05/0.3 kg Time of flight 12 min 𝐼xx∕𝐼yy ∕𝐼zz 0.025/0.013/0.034 kg m2 𝐿x/𝐿y0.15/0.10 m Propellers 3D Propellers 5 × 3.0 in Brushless motors DYS Fire FPV Race Edition 2600 kV LiPo battery 4S, 4000 mAh 𝑓max 1.0 kg Autopilot Raspberry Pi 3B + Navio2 Firmware Ardupilot modified Positioning system OptiTrack Replacing −𝐱⊤𝐊𝐁𝐑−1𝐁⊤𝐊𝐱+𝐱⊤𝐀⊤𝐊𝐱+𝐱⊤𝐊𝐀𝐱 with −𝐱⊤𝐐𝐱, Eq. (38) can be rewritten as:  𝑉= −𝐱⊤{𝐐+𝐊𝐁𝐑−1𝐁⊤𝐊}𝐱+𝐝⊤𝐄⊤ d𝐊𝐱 +𝐱⊤𝐊𝐄d𝐝,(39) which is a sign indefinite value. The first term satisfies 𝐐+𝐊𝐁𝐑−1𝐁⊤𝐊>𝟎, since 𝐑 and 𝐐 are positive [43]; however, the contribution of the disturbance to the system 𝐝⊤𝐄⊤ d𝐊𝐱 +𝐱⊤𝐊𝐄d𝐝 avoids guaranteeing the stability analytically. To fix this instability issue in case of strong disturbance, servo-SDRE was suggested for the rotary pipe inspection problem in this work, presented in Section 2.2; however, the stability of the controller cannot be analytically proved using the Lyapunov’s second method. The integral term presents sign-indefinite terms in the derivative of the Lyapunov candidate as well. Increasing 𝐐 helps dominating the disturbance terms in case they possess negative signs, which is an extra tool to design a controller. Eq. (39) shows that if the disturbance is negligible, the positive term can dominate the effect of it as is the case of this work (see Remark 1). 5. Experimental platform description 5.1. Platform components The aerial platform for experimental validation is based on the Micro FPV 250 V2 commercial frame, with a motor-to-axis distance of 𝐿x= 15 cm and 𝐿y= 10 cm along the 𝐱B axis and 𝐲B axis, respectively. The propulsive system is composed of the DYS Fire FPV Race Edition 2600 kV Brushless motors, the nylon 5 × 3.0in 3D propellers, and the Hobbywing XRotor Micro 45 A 4-in-1 ESC. Each motor is capable of generating a maximum thrust of 𝑓max = 1.0 kg when powered by a 4S LiPo battery. The quadrotor integrates as autopilot, the Raspberry Pi 3 Model B connected to the Emlid’s sensors shield Navio2. All the system is powered by a 4S 4000 mAh LiPo battery. Fig. 6 shows the components of the aerial platform, while Fig. 7 shows a schematic of the connection between the components. Furthermore, Table 1 summarizes the main features of the BiMPPI. Although the payload capacity is relatively limited, it is sufficient to carry a lightweight camera for visual inspections around the pipeline. Moreover, BiMPPI aims to validate the novel use of bidirectional multirotors for rotating around pipelines, rather than carrying heavier inspection sensors such as Pulsed Eddy Current (PEC) or X-ray, which would require a redesign of the platform to consider the weight of such sensors. The selected ESC allows bidirectional control of the brushless motors. This enables changing the spin direction of the motors and, consequently, the collective thrust direction of the platform, allowing it to push against the pipeline and ensure contact during the rotational inspection around it. In addition, the generated torque by using bidirectional motors is greater than unidirectional motors, allowing for greater control torque during the rotation. Fig. 6. Main components of the BiMPPI. As presented in Section 1, the BiMPPI mounts two landing gears, one on the bottom and another on the top, for performing full or half perimeter pipe inspections. The bottom one is a 3D-printed landing gear, composed of four legs. Each leg consists of three links: one screwed to the base, an intermediate one, and a final one that makes contact with the pipe. It is circular in shape with an internal radius of 8cm, allowing it to land on pipes with a diameter of 16 cm. However, since it is composed of three links instead of a single piece, it can be adjusted for larger pipes up to 36 cm. The top one is composed of four straight aluminum legs. This landing gear is not used for landing on the pipe, but for landing on the floor after completing a half-perimeter inspection when the platform is performing a reverse flight. Fig. 6 presents both landing gears, including the platform landed on pipes with diameters of 16 cm and 32 cm. 5.2. Autopilot The complete control framework of the BiMPPI has been developed by modifying the open-source autopilot Ardupilot. Fig. 8 shows a schematic of the developed autopilot. The standard version of Ardupilot includes components such as position and attitude controllers, an Extended Kalman Filter (EKF), and the motor mixer. The position and attitude controllers in the standard Ardupilot are based on a cascade structure, similar to the one presented in Section 4.1. The state estimation is obtained using the EKF, which combines measurements from an inertial measurement unit (IMU) and the external positioning system, which, in our case, is OptiTrack. Finally, the necessary torque and force are converted into motor PWM signals by the motor mixer, which takes into account the geometric distribution of the motors in the UAV frame. Similarly, the introduced modifications in Ardupilot have been highlighted in pink in Fig. 8. Specifically, the attitude control and the motor mixer have been modified, while we have introduced a functionality to switch between three modes: normal flight mode (N), reverse flight mode (R), and inspection mode (I). In normal flight mode, the controller is the standard Ardupilot cascaded PID controller, with the roll equilibrium point at 𝜙= 0◦. Additionally, to prevent aggressive maneuvers due to the change in motor direction, the control action of the motors in the motor mixer is restricted to 𝑓i(𝑡) ∈ [0, 𝑓max] ∀𝑖= 1,…,4. In reverse flight mode, the cascaded PID controller of Ardupilot is also used. However, the roll equilibrium point has been modified to 𝜙(𝑡) = 180◦ for the inverted ISA Transactions 161 (2025) 276–288 283 A. Gonzalez-Morgado et al. Fig. 7. Schematic of the BiMPPI components. Fig. 8. The BiMPPI control schematic based on the Ardupilot autopilot. The modified parts are marked in pink. (For interpretation of the references to color in this figure legend, the reader is referred to the web version of this article.) flight. Similarly, as in normal flight, the motor actions in the motor mixer are restricted to 𝑓i(𝑡) ∈ [−𝑓max,0] ∀𝑖= 1,…,4. For the perimeter inspection mode, the attitude controller has been modified to the SDRE controller presented in Section 4.2. In addition, for having a bigger control action, the bi-directionality of the motors is also enabled with 𝑓i(𝑡) ∈ [−𝑓max, 𝑓max] ∀𝑖= 1,…,4. This force range corresponds to a PWM range of 1000 to 2000, where 1500 generates 𝑓i= 0. For the rotational movement, the roll equilibrium point is linearly modified according to 𝜙(𝑡) = 𝑎𝑡, where 𝑎 is the roll rate during the inspection. Furthermore, the collective thrust 𝑇(𝑡) is fixed in this mode with the radio control (RC), as the position controller is not used. To ensure contact during the operation, the chosen value must satisfy 𝑇(𝑡)> 𝑚𝑔. Finally, since the pitch and yaw angles are determined by the pipeline’s orientation, the pitch and yaw controllers are disabled in the inspection mode. 6. Experiments 6.1. Full perimeter inspection with integral SDRE The BiMPPI is validated through a complete operation where it lands on the pipeline, rotates around it, and takes off after the pipeline perimeter inspection. The landing and take-off are conducted manually by a pilot, as the autonomous landing and take-off from the pipeline are out of the scope of this work. The rotation around the pipeline is conducted autonomously with the integral-SDRE controller presented in Section 4. The rotational operation is shown in Fig. 9, where the BiMPPI performs a perimeter inspection around a PVC pipeline with an outer diameter of 16 cm. Based on the simulations, the chosen weighting parameters of the SDRE plus integrator are 𝐐= diag(1,1.5), 𝑅= 1 and 𝐾I= 1. The position of the platform is given by the motion capture system Optitrack. The results of the rotational movement around pipeline are shown in Fig. 10, where the roll reference is given by 𝜙ref (𝑡) = 𝑎𝑡 with 𝑎= 6◦s−1, and the roll error is defined as 𝑒𝜙(𝑡) = 𝜙(𝑡) − 𝜙ref (𝑡). The reference is properly tracked by the controller, achieving a maximal absolute error of |𝑒𝜙(𝑡)|max = 11.9◦ and a mean error 𝑒𝜙(𝑡) = −2.6◦. The roll-angle error has a sinusoidal shape due to the non-linear generated torque by gravity, as presented in Eq. (23). Furthermore, the PWM signals are shown in Fig. 11, including the three phases of the experiment: landing, inspection, and takeoff. Since the pitch and yaw controllers are disabled during inspection mode, the PWM signals for motors 1–3 and motors 2–4 are the same. Additionally, during landing and takeoff, marked with a red background in the ISA Transactions 161 (2025) 276–288 284