Abstract

In this paper, we deal with a Bicopter drone that has two thrusters and two tilting servos. Both the position and attitude dynamics of Bicopter are globally expressed on the Special Euclidean group . A simple control allocation method is proposed to map between the control wrench and actuator inputs for the Bicopter. A geometric nonlinear attitude and altitude tracking controller is developed for the Bicopter and the asymptotic stability analysis is performed using the Lyapunov method for the closed-loop nonlinear system. The performance of the proposed altitude and attitude stabilization controller is validated through experimental hardware developed in-house. The attitude controller performance is validated through simulations and shown to be comparable against an linear matrix inequality-based control law.

1. Introduction

Bicopter is one of the configurations of unmanned aerial vehicles (UAVs) or drones. The propeller-based drones with several actuator configurations were developed in the last few decades, for example, rotary-wing type UAVs such as single rotor, coaxial rotor type (e.g., helicopter [1]), conventional multirotor type (e.g., quadcopter [2], hexacopter [3]), etc. Tilt-rotor mechanisms are one of the actuator configurations that result in a fully actuated UAV with the possibility of independent control of translation and rotation motions of the vehicle (e.g., quadcopter with active tilt [4], hexacopter with active tilt [5], and tricopter with active tilt [6]). The main motive of tilting is to improve the fast-tracking capability and the aggressive performance of the vehicle and to provide inherent full actuation. However, the tiling vehicles have an increased number of actuators (servos for tilt) which consumes more power and results in less flight time [7]. Hence, researchers started to reduce the number of inputs and it led to the design of a Bicopter with tilting rotors. Among all other configurations, the Bicopter configuration has minimal actuators with tilt mechanisms, compared to conventional multirotor drones [7]. Since the Bicopter is made with only two thrusters, it can easily enter tight spaces with complex maneuvering capability. The Bicopter is an underactuated robot with 6 degrees-of-freedom (DoF) and the total control inputs are only four.

Numerous developments on the Bicopter UAV were found in the literature. T-Phoenix is the first prototype of a Bicopter developed by Sanchez et al. [8] with a tilting mechanism that can control yaw and pitch motion by tilting the rotors. The authors also derive a mathematical model with Euler-angle parameterization, and a hovering control law is developed with proof of local asymptotic stability. In [9], an oblique arm technology for active tilting is introduced to achieve faster pitch response. A PID attitude controller is designed for the linearized model and the system control is demonstrated experimentally. In [10], the dynamics of Bicopter using the Lagrangian approach is derived and a linear path tracking controller is derived for the linearized model and validated through simulations. In [11], a dynamic model of a Bicopter with the use of Euler-angle parameterization is presented, and the attitude control is done by the use of a PID controller. Similar works are presented in [12, 13] along with the altitude control using PID and LQG controllers, respectively. The design and fabrication aspects of a Bicopter were presented in [14, 15]. Similarly in [16], a gesture-based control for remote operation of the Bicopter (by using a gesture glove) was implemented. Gemini in [7] is a practical aircraft designed to fly through tight spaces with improved compactness and efficiency (optimizing the size). This work mainly focuses on aircraft design and implementation to make it practically usable. Later in [17], the authors implemented -based controller, and the performance is compared with a PID controller in experiments. Recently, using approximated dynamics equations, position and attitude controllers for a Bicopter were simulated in [18, 19] (with local asymptotic stability). Similarly, the hybrid ground air locomotion control was experimentally demonstrated in [20, 21].

To the best of our knowledge, geometric control-based stabilization/tracking for Bicopter is still an unexplored topic. Geometric control enables the system to have a larger domain of stability, especially for aerial robots where aggressive maneuvers and large-angle rotations are required. The attitude of aerial vehicles evolves on manifold and gives a globally valid representation of the dynamics and avoids singularities that are present in Euler angle-based representations [22]. A few examples of geometric controllers applied to various UAV configurations are Taeyoung Lee in [2] implemented a global geometric nonlinear control law to quadcopter UAV for both position and attitude tracking problems. Similar work can be found in the case of quadcopter with vectored/tilting thrust in [4] and hexacopter with vectored/tilting thrust in [23, 24], where tilting makes the system fully actuated. Similarly in [25], geometric attitude control is implemented for spacecraft under gravity. Verling in [26] implemented a geometric attitude controller on for a VTOL tail-sitter type UAV, where the system can work as a rotary-wing UAV using two propellers while take-off/landing and as a fixed-wing UAV mid-flight using two flaps at the bottom. In [27], the controller is developed for the fully actuated omnidirectional UAV on a geometric frame setting.

The main contributions of this work are as follows:(1)Development of a mapping method between the control wrench, and the actuator thrusts and angles of Bicopter, without any approximations of nonlinear terms. Note that the control wrench is a vector of forces and torques acting on a typical drone without considering the type of actuator arrangement.(2)To propose a geometric nonlinear attitude and altitude controller for the Bicopter that provides semiglobal asymptotic stability. The stability of the proposed attitude and altitude controller will be proved using Lyapunov analysis.(3)Validation of the altitude and attitude stabilization controllers through experiments and simulations and comparison with an linear matrix inequality (LMI)-based controller in simulations.

The rest of the work is organized as follows. In Section 2, the Bicopter dynamics is discussed, and in Section 3, a control mapping method is presented. Geometric attitude and altitude controllers are proposed for the Bicopter in Sections 4 and 5, along with the stability analysis. Simulations, hardware description, and experimental results are discussed in Section 6 with concluding remarks in Section 7.

2. Global Representation of Bicopter Dynamics on SE(3)

The Bicopter configuration used in this paper is shown in Figure 1. The actuators are the two propeller thrusts and the two servo orientations for the thrusts. Consider (,, ) as the body coordinate frame with the origin at the center-of-mass of the Bicopter and (,, ) is the inertial frame of reference with origin . The convention of positive rotation is assumed to be counterclockwise. The configuration manifold of Bicopter is Special Euclidean group which is semidirect product of attitude manifold and the 3D Euclidean space [22] where the space represents the set of all rotation matrices:where is the identity matrix and represents the determinant of a matrix. Let be the standard basis. The Bicopter two propellers generate thrust forces in direction as and , respectively, with respect to the propeller frame where, . The servo mechanism provides vectoring of thrust forces by tilting two rotors with an angle and , respectively, around the servo shaft axis (about ). The projections of the thrust forces to the body frame are and , where and are rotation matrices representing the tilting of left and right propellers, respectively. Similarly, the vector of external moments or torques due to thrust acting on the central body are and . Here, and are the vectors from the center-of-mass to the points where the thrust is generated in both left and right propellers, respectively, and represents cross-product. So, the vector of external forces and external torques with respect to body frame are given as follows:

Using the Newton–Euler approach, the complete dynamics of any rigid body subjected to external forces and torques can be written as follows:

Equation (4) represents the translational dynamics, and Equation (5) represents the rotational dynamics of the rigid body. Hence, the dynamics of the Bicopter drone evolving in manifold can be written as follows:where and are translational position and velocity vectors of the Bicopter center-of-mass with respect to the inertial frame of reference. is the rotation matrix representing the orientation of the Bicopter body frame with respect to the inertial frame, and is the angular velocity of the Bicopter body frame measured with respect to inertial frame and expressed in body frame. is the moment-of-inertia matrix with respect to body frame and is the acceleration due to gravity. The operator, is a map from to [22], where is the set of all skew-symmetric matrices. For lengthy arguments, we use . The inverse of hat map defines mapping . For vectors  =  and , , where is expanded as follows:

For any skew-symmetric matrix , if:

Finally, defining as the vector of actuator control inputs. Note that, the propeller forces and are directly taken as control inputs instead of the propeller spin velocities (the PWM signals given to the BLDC-ESC are directly mapped to the thrust developed by the propellers instead of spin velocity).

3. Control Allocation

A common implementation procedure of geometric control for a typical UAV is such that the control wrench acting on CG is assumed as the control input and the controller is designed ( and together is known as control wrench, the widespread representation of torques and forces acting on a typical UAV). Then, the designed vectors and are mapped to the physical system actuator forces/torques/angles [1, 4, 28]. This control mapping depends on the type of arrangement of actuators of the respective physical system. In this section, we propose a simple algebraic nonlinear mapping method to map the Bicopter actuator input vector to and that is valid globally for the Bicopter without any approximations.

Consider parameterization for the servo rotations and with respect to in counterclockwise direction as follows:

Unlike quadcopter [2] or other four-input minimal actuation vehicles [1, 26], the complexity of nontrivial mapping in the case of Bicopter is that, the vectors and involve nonlinear and coupled input terms that can be observed as follows:

Note that, the force is responsible for the force in direction with respect to the body frame and is linearly dependent on torque :

Hence, we have four equations with four unknowns. Previous works on Bicopter used small angle approximations by neglecting nonlinear terms [8]. Also, few researchers used force decomposition [7] approach to decouple the input terms. However, since the number of inputs is equal to the achievable independent DoF, the control inputs can be obtained by simple algebraic solution and will be shown in this work as follows.

Consider and , which gives and . The following relations hold from Equation (11b):

By adding Equations (13a) and (13b), and considering , the following relations hold:

Writing also in terms of intermediate variables and as . Solving Equation (14b) and to eliminate , , we will get the following equation:

Substituting Equation (13b) into Equation (15) and rearranging will give the equation for . Further, substituting into Equation (13b) will give as follows:

Similarly, solving Equation (14b) and to eliminate , , and using Equation (13a), the equation for will be obtained. Further, substituting into Equation (13a) will give as follows:

The tilt angles and can be obtained as and . Here, and −90°90°. Hence, the vector is well-defined.

4. Geometric Attitude Tracking Control of Bicopter on SO(3)

Since Bicopter is an underactuated UAV, full pose (linear position + attitude) tracking control is not possible on . However, altitude with attitude tracking control is possible. Similarly, the linear positions in all three axes with heading tracking control is also possible. A common approach in both cases is to prove the almost global convergence of attitude dynamics first, by proposing a [2]. In this section, we proceed with the attitude trajectory tracking control of Bicopter on .

Let and be the desired attitude trajectory and desired angular velocity, respectively. The objective is to develop an attitude tracking controller such that it drives the system attitude to the desired attitude and the angular velocity to with an almost global domain of attraction. Consider the error in attitude is and the error in angular velocity and are given as follows:

For simplicity, the time representation for the variables is removed from here onwards; however, it is assumed that the variables are by default changing with respect to time (e.g., , and ). Differentiating the attitude error , we will get the attitude error kinematics as follows:

Similarly, by differentiating the angular velocity error vector in Equation (18), and further substituting the attitude dynamics from Equation (7), the angular velocity error dynamics of the Bicopter is obtained as follows:

Hence, the attitude tracking problem now becomes the stabilization problem about an identity equilibrium. In other words, implies . Here, is a zero vector. Now, the attitude tracking control law must be designed so that the attitude error reaches identity and the angular velocity error reaches zero vector. The proportional term in the controller will be obtained by choosing the proper configuration error function [25, 29]. Consider the function:where is a trace function. The following properties hold for :(1)The trace of any rotation matrix is bounded by which implies and if and only if . Hence, the error function is positive definite about .(2)The critical points of are where is a two-dimensional submanifold of and is an isolated critical point in . Here, , where, .(3)In terms of exponential coordinates, the rotation matrix is represented as , where is the angle of rotation and is the axis of rotation. The trace of the rotation matrix is . Hence, implies and .(4)Consider a level set given by . This level set consists of only one isolated critical point and the set represents a set of all rotation matrices with the error between the actual and desired attitude less than radians.(5)Let be the small variation in attitude given by , where . The directional derivative of the trace function along the variation of attitude is given by the following equation:where . Also, the total time derivative of the error function is obtained as follows:Note that the above relations in Equations (22) and (23) are obtained by imposing the trace property , where is some matrix and a vector.

The above trace function properties are useful in proposing the attitude control for the Bicopter. Before proceeding to the dynamic version of the attitude control, we discuss the kinematic version. The analysis of the unstable equilibrium set can be performed comprehensively for the kinematic controller and hence it makes sense to discuss the kinematic version first. A similar kinematic controller was developed in [30]. Here, is the control input for the attitude error kinematics in Equation (19), we propose the following control law for the error kinematics:

Proposition 1. The attitude error kinematics (Equation (19)) with the controller (Equation (24)) is having multiple equilibria . The isolated equilibrium is asymptotically stable and the equilibrium set is unstable.

Proof. By substituting the proposed controller in the attitude error kinematics, we will get the closed-loop error kinematics as follows:The closed-loop system equilibrium points are obtained as . Since the desired equilibrium point is , we use two Lyapunov candidate functions to prove the desired equilibrium point is stable and the remaining equilibrium set is unstable. Consider . The function is positive definite since and if and only if . Now, the time derivative of is . By including the closed-loop kinematics in , we will get the following equation:The function is negative definite. Hence, the equilibrium point is asymptotic stable; however, the stability/instability of the other equilibrium set cannot be concluded with the Lyapunov function and hence restricting the attitude initial conditions to the level set to avoid the trajectories reaching the equilibrium set. Now, consider another Lyapunov function . is positive definite since and if and only if . Also, which is positive definite. Hence by using the Chetaev instability theorem [31], the equilibrium set is unstable. Hence, the domain of attraction of the equilibrium point is almost global.

Now, we propose the following torque control law by including in the proportional control:

Here, are positive definite control parameters. The first two terms in Equation (27) represent the PD controller that makes corrections in the torque to reduce the error between desire and actual trajectory. The middle term represents the dynamics of the system and the last term is a feed-forward term that helps the system to drive in a nominal path.

Proposition 2. The closed-loop system (controller (Equation (27)) applied to the system (Equation (20))) is asymptotically stable to the equilibrium and the domain of attraction is almost global.

Proof. This proof is inspired by Sanyal and Chaturvedi [25] for spacecraft attitude control and Lee [29] for quadcopter attitude control. By substituting Equation (27) in Equation (20), the closed-loop attitude error dynamics is as follows:The closed-loop error dynamics (Equation (28)) consists of multiple equilibria given by and the desired equilibrium is . Note that the equilibrium set is obtained by making and in the error dynamics (Equation (28)). The stability of the error dynamics is proved using the following Lyapunov function :Since, is a positive definite Morse function on , is a candidate Morse–Lyapunov function on . is positive definite since and if and only if . By differentiating the Lyapunov function along the trajectories of the closed-loop system (Equation (28)) and by using the relation in Equation (23), we get the following equation:From above, it is clear that is negative semidefinite and if and only if (i.e., ). Hence, the dynamics of the closed-loop system are stable. Now, the asymptotic convergence of trajectories to the equilibrium set can be proved through LaSalle’s principle.
LaSalle’s Principle: All the solutions that start in set given by converge to the invariant set . Further, by substituting the solution of (i.e., ) in Equation (28), we get as the largest invariant set. Hence, by LaSalle’s principle, all the solutions of the closed-loop system converge to either the equilibrium point or the equilibrium set asymptotically.
Almost Global Convergence: Without loss of generality, Proposition 1 can be used to claim that the equilibrium set is unstable. Further, the stable submanifolds of the unstable equilibrium set have measure zero [25]. Hence, the equilibrium has almost global domain of attraction.

5. Altitude Control of Bicopter

In this section, the altitude control of the Bicopter is discussed. The altitude control will ensure that the practical position drifting of the Bicopter is limited to two position directions (XY-plane). The desired torque is taken from Equation (27) (since dependent on ). Consider altitude dynamics from Equation (6):

Now, the force should be designed such that the Bicopter reaches a desired altitude with desired velocity . Let, and be the altitude position and velocity errors. Here, . The altitude error dynamics can be written as follows:

Proposition 3. Given an altitude control law in Equation (33) with the altitude control parameters and , the altitude error dynamics in Equation (32) with the altitude control law is asymptotic stable:

Proof. Substituting the proposed into altitude error dynamics, the closed-loop error dynamics is obtained as follows:The stability of the above-proposed control law can be proved using the Lyapunov function:where is positive definite. Differentiating the Lyapunov function and substituting altitude error dynamics, we will get which is negative semidefinite and hence Equation (34) is stable. implies and by substituting in Equation (34), we will get invariant set as and the largest invariant set is the zero equilibrium . Hence, the asymptotic convergence of closed-loop altitude dynamics is ensured according to LaSalle’s theorem. Note that the altitude control law is well-defined on the set .

Notes:(1)Since is restricted to the set for to be well-defined, should also be restricted to a subset of . This is necessary for to avoid crossing the set . Practically, the direction of the thrust vector is restricted to some cone region of attitude.(2)Since attitude dynamics is asymptotically stable, we can limit the testing/validation of the controller to a limited set of which does not cause any singularity in .

6. Simulation and Hardware Results

In this section, the stability of the Bicopter with the proposed attitude controller is compared with the LMI-based attitude controller, and the performance of the proposed attitude and altitude tracking controller is verified through simulations using MATLAB software, Finally, the altitude–attitude stabilization is validated through experimental hardware. The attitude and altitude control flow diagram is given in Figure 2. The Bicopter developed in our laboratory is shown in Figure 3 and the parameters of the Bicopter are taken from the CAD model:  kgm,  m,  m,  kg, and  ms−2. The same parameters are used for both simulations and experiments. Further, the power required for each thruster is calculated using the relation , . Here, , are the left and right propeller drag torques and , are the left and right propellers speeds. The constants and are the thrust and drag coefficients of the propeller, which are measured by the static thrust analysis. The obtained values are and . The attitude and altitude control gains are chosen as .

6.1. Simulations
6.1.1. Attitude and Altitude Trajectory Tracking

The desired attitude is constructed from Euler angles, i.e., , where , , and are roll, pitch, and yaw angles, respectively. A sinusoidal trajectory that alternates through roll, pitch, and yaw directions after a specified period was considered and is parameterized as follows:where is the time in seconds, is the amplitude, and is the frequency of the attitude trajectory. The respective and can be obtained from the kinematic equation . The desired altitude is m with the initial altitude as m. For plots, the rotation matrix trajectories are converted to the Euler angles (Figure 4). The tracking performance of the proposed control laws can be observed from the MATLAB simulation and given in Figure 4. From Figure 4, it is verified that the proposed geometric attitude and altitude controllers follow the desired attitude and altitude trajectories successfully. The desired torque and the actuator commands required for the tracking of the desired attitude and altitude trajectories are also shown in Figure 4.

6.1.2. Attitude Stabilization Comparison with an LMI Controller

For comparing the attitude stabilization of our strategy against an LMI controller, the simplified attitude dynamics of the Bicopter using Euler angle representation (roll (), pitch (), and yaw ()) is given as follows [11, 12]:

Several control approaches based on LMI were found in the literature [3235]. In this work, a simple state feedback control [36, 37] is used, and the controller gains are optimized using the LMI approach. The advantage of this approach is that the system dynamics need not be linearized as long as the dynamics are in the below state space form:where are system state variables and is the control variable. The nonlinear function should be a Lipschitz function such that:

The nonlinear attitude dynamics (Equation (37)) expressed in the form (Equation (38)) with the matrices and is given as follows:

Now, the attitude stabilization is achieved by proposing a state feedback control law . The gain is obtained by solving certain LMIs developed using Lyapunov stability. The LMIs adopted from Mukherjee and Sengupta [36] are as follows:where we solve for the positive definite symmetric matrix . Here, and the constants are positive parameters, and the gain is obtained as .

The stabilization performance of the proposed attitude controller (Equation (27)) is compared with the LMI-based attitude controller. The values for the constants are taken as , and . Consider the initial attitude () = () and the desired attitude is () = (). The LMI in Equation (41) is solved using the YALMIP tool with the LMILAB solver in MATLAB for the unknowns and . Finally, the controller gain is obtained as follows:

The controller developed using the LMI approach is further applied to the nonlinear attitude dynamics of the Bicopter given in Equation (7). The attitude/Euler angles simulation plots are shown in Figure 5. It is observed from Figure 5 that both the LMI and Geometric attitude controllers give equivalent stabilization performance. The torque demanded by the LMI approach is more for the attitude stabilization, which is observed in Figure 6 torque plots. However, the increased torque is not due to an increase in thrust forces, rather larger servo tilting angles are applied, as shown in Figure 6. The power curves for both the LMI and geometric attitude controller are given in Figure 7. From Figures 57, we claim that our control approach has similar performance compared to a state-of-the-art control technique.

6.2. Experimental Results
6.2.1. Hardware Description

The hardware setup is shown in Figure 3. Two Tarot 5,008–340 kv BLDC motors are used for the propulsion along with carbon fiber propellers and ReadyToSky 40A ESC combination for each BLDC motor. Each motor–propeller combination can generate 3.5 kg thrust individually. The total weight of the drone is 4.7 kg. Two Dynamixel AX-12A digital servos are used for the thrust vectoring. For communication setup among sensors and actuators, we developed a custom board that has Cypress CY8C5568 MCU and power conversion circuits. We also used a Raspberry Pi board for the control algorithm calculations, state estimation, filter implementations, and data logging. The communication between the two boards used UART with a 115200 Baud rate. Two Skycell lithium polymer batteries are used for powering boards and actuators ( battery is dedicated to motor propulsion).

6.2.2. Sensing, Estimation, and Filtering

Since the attitude controller is developed globally on manifold that seamlessly avoids parametrization issues such as singularities, it is appropriate to develop the attitude estimate also on the same manifold. Most of the currently available off-the-shelf flight controllers are providing attitude estimates either in the form of Euler angles or quaternion variables, hence our custom PCB and code helped in the development of attitude estimation in the form of rotation matrices. A 9 DoF IMU sensor (LSM9DS1) is used for the attitude estimation, which has a three-axis accelerometer, a three-axis gyroscope, and a three-axis magnetometer. The data from the IMU are streamed through communication protocol. The raw data from each sensor are sent through a first-order low-pass filter to avoid high-frequency noise in the data. Note that the magnetometer calibration is needed for a better and more accurate attitude estimate. In this project, we used a well-known least squares ellipsoidal fit method for the magnetometer calibration to compensate for hard and soft iron effects [38].

Since the attitude controller for the Bicopter is developed on the assumption of the North-West-Up (NWU) with the right-handed coordinate system, the attitude estimator is also constructed using the NWU coordinate system, as shown in Figure 8 (proper rotations and reflections of the IMU measurements are applied to make the IMU coordinate system aligned with the drone body coordinate system). In this work, we estimate the rotation matrix using Mahoney’s Passive Complementary filter along with the online gyro bias estimation [39]. The primary step involved in implementing the complementary filter is to construct the instantaneous attitude or rotation matrix (also known as a primary estimate) using accelerometer and magnetometer measurement vectors. The obtained primary attitude estimate is further fused with the gyroscope measurements to obtain the final attitude estimate. Consider as the primary estimate of as shown in the following equation:where are the three orthonormal unit vectors along the three principal axes of the UAV body centered at that determine the orientation of the body frame with respect to the inertial frame (Figure 8). Hence, converting the accelerometer and magnetometer measurements into the vectors is sufficient to find the primary attitude estimate. Several methods are found in the literature [40], and in this work, we employ TRi-Axial Attitude Determination (TRIAD) algorithm [40, 41]. The measurements from the IMU can be written as follows:where and are the accelerometer and magnetometer measurements that measure instantaneous linear acceleration and magnetic fields, respectively, and are expressed in UAV body fixed frame. is the body angular velocity measurements with respect to the inertial frame expressed in the body frame. , and are the high-frequency noise components in the measurements and can be filtered out. The terms and are the constant bias in the accelerometer and magnetic disturbance in magnetometer measurements and are eliminated by doing the proper calibration. is the fixed or slow time-varying bias in gyroscope measurements and is estimated using the complementary filter. Here, the term is the difference between instantaneous linear acceleration () and the acceleration due to gravity expressed in the inertial frame. Since is the dominating factor for small motions, is neglected and hence can be modeled as that implies , the normalized accelerometer measurements. Further, let be the normalized measurement vector of the magnetometer. The instantaneous directions of the vectors and are shown in Figure 8. From the figure, , where and finally, and hence the primary attitude estimate is constructed. Now, the complementary filter is implemented as follows.

Consider, as the estimated gyro bias , and as the final attitude estimate of the complementary filter, then the dynamics of passive complementary filter and bias are as follows [39]:

For numerical integration, we use a small time approximation as shown below for the real-time calculation:where is the matrix exponential, , are previous estimates of attitude and bias, , , are current estimates of attitude and bias, is the primary attitude estimate from TRIAD, is the sampling period, and are the attitude gain and bias gain parameters. We choose (the complementary filter cut-off frequency say  Hz, where ) and . The attitude and bias gain parameters () must be selected by comparing the estimates against the ground truth and is described in Section 6.2.3.

6.2.3. Test-Bed for Attitude Estimator

To analyze and validate the behavior of the complementary filter and to choose the proper filter cut-off frequency (related to ), a two-axis gimbal is developed using AX-12A servos. The servos provide position feedback that can be used as a ground truth. The experimental setup is shown in Figure 9. The IMU is placed at the tip of the gimbal such that the motion of the servos causes rotation around the IMU X-axis and Y-axis. Both the servos are excited with a sinusoidal position command with the amplitude of and several swing frequencies. The are tuned such that the complementary filter estimates are matching the ground truth as close as possible. For a sample frequency of  Hz, the rotation matrix estimate is converted to Euler angles to compare with the ground truth, as shown in Figure 10. From the plots, it is observed that the final attitude estimate follows the ground truth, and hence the filter is validated. Note that the ripples in the roll angle are due to the presence of linear accelerations in the accelerometer measurements (due to nonzero link lengths).

The final estimate is used to compute the torque equations . A TFMINI-S Lidar with a 12-m range was used for the altitude measurement through UART. The Lidar provides measurements with respect to body frame along the third body fixed axis, where . Hence, the data are converted with respect to the inertial frame by premultiplying with the rotation matrix as and given to the proposed altitude control law . Further, the desired actuator input vector is obtained using the mapping relation given in Equations (16) and (17), and finally sent to the actuators (ESCs in the form of PWM signals and servos in the form of digital data packets). The entire control loop (Figure 2) runs at a frequency of  Hz.

6.2.4. Altitude and Attitude Stabilization Implementation

For experimental validation of the proposed attitude and altitude control algorithms, two test cases were considered. In both cases, the Bicopter should reach the desired altitude while stabilizing the attitude. In Case 1, the desired attitude and altitude parameters were taken as  m, , , and . In Case 2,  m, , , and . The data collected during the experiment is plotted in Figure 11. The drone take-off starts at 1.2 s, and the experiments were concluded at around  s since the position drift continued throughout the experiment. From Figure 11, it is evident that the proposed control algorithms can drive the Bicopter to the desired altitude and can achieve attitude stabilization. Note that the LIDAR to ground clearance is  m and hence the altitude trajectory starts from 0.1 m. Videos of the experiments can be found in https://youtu.be/CIeeHbaqq18 for Case 1 and https://youtu.be/ag4_ewl_3rc for Case 2.

6.2.5. Discussions and Future Work

The position drift in XY-plane cannot be avoided with altitude control alone due to the nonzero linear velocities in XY-plane even after the Bicopter reaches the hovering mode . The nonzero velocities and the position drift in the XY-plane are observed in simulations as well (Figure 12). The position drift can be observed from the time-lapse frames in Figure 13. To avoid drift, the position control of the Bicopter needs to be implemented, which needs position estimation algorithms and position sensors, hence the topic is left for future work.

7. Conclusion

The Bicopter nontrivial control mapping was developed in an algebraic framework. Geometric attitude and altitude controllers were proposed for the Bicopter UAV. The proposed geometric attitude and altitude controllers were mathematically analyzed and validated through simulations and experiments. The attitude controller performance is shown to be comparable to an LMI-based controller. Our future focus is to develop a robust position controller on special Euclidean group for the Bicopter system that can perform 3D position trajectory tracking.

Data Availability

No data were used in this study.

Conflicts of Interest

The authors declare that they have no conflicts of interest. The funding details provided are only used to support research and will not create any conflicts of interest between authors.

Acknowledgments

This work was supported by IIT Palakkad Technology IHub Foundation under grant IPTIF/TD/IP/007.