Guidance, Navigation and Control System for Multi-Robot Network in Monitoring and Inspection Operations

: This work focuses on the challenges associated with autonomous robot guidance, navigation, and control in multi-robot systems. This study provides an affordable solution by utilizing a group of small unmanned ground vehicles and quadrotors that collaborate on monitoring and inspection missions. The proposed system utilizes a potential ﬁelds path planning algorithm to allow a robot to track a moving target while avoiding obstacles in a dynamic environment. To achieve the required performance and provide robust tracking against wind disturbances, a backstepping controller is used to solve the essential stability problem and ensure that each robot follows the speciﬁed path asymptotically. Furthermore, the performance is also compared with a proportional-integral-derivative (PID) controller to ensure the superiority of the control system. The system combines a low-cost inertial measurement unit (IMU), a GNSS receiver, and a barometer for UAVs to generate a navigation solution (position, velocity, and attitude estimations), which is then used in the guidance and control algorithms. A similar solution is used for UGVs by integrating the IMU, a GNSS receiver, and encoders. Non-linear complementary ﬁlters integrate the measurements in the navigation system to produce high bandwidth estimates of the state of each robotic platform. Experimental results of several scenarios are discussed to prove the effectiveness of the approach.


Introduction
Today, unmanned vehicles (UVs) are used to carry out a number of tasks in order to automate processes, complete tasks faster and more accurately, and ensure the safety of humans [1]. Moreover, UVs are often used in smart cities [2,3]. Due to this, researchers have developed ground and aerial robots that were designed to operate under uncertain conditions. Often, it is a burden for a single robot to accomplish a task effectively [4]. For this reason, a group of small, inexpensive robots can work together in a network, each with its own capabilities, to accomplish a common goal [5].
The applications of robotic systems in clean energy systems are continuously developing since there is a global tendency to shift to renewable energy sources such as solar, wind, and hydro-energy systems [6]. However, for these systems to perform well, they must be inspected and monitored on a regular basis [7]. For instance, in [8], a drone with thermal imaging is used for solar panels defect detection. In addition, a climbing robot was utilized to inspect and maintain a solar power plant [9]. To maximize the efficiency of such operations, several studies used multi-robot networks to develop technology to analyze the normal operation and failure of solar modules by attaching optical and thermal infrared sensors to unmanned aerial vehicles (UAVs) [10,11]. A similar study used multi-drone equipped with vision and LiDAR sensors for global inspection, guiding climbing robots in analyzing structure parts using non-destructive inspection methods and locally repairing smaller defects in wind turbines [12]. With the advancement of IoT technology, the use of multi-robot systems to collect data from a network of wireless sensors has received increased attention and has grown dramatically in applications such as agriculture [4], railway track monitoring [13], and search and rescue [14].
To achieve a trusted level of autonomy in multi-robot system operations, it should include the following major components: guidance, navigation, and control [15]. The guidance system is in charge of providing the robot with a planned trajectory that allows it to travel from its starting point to the desired location while avoiding obstacles and tracking a target. In a multi-robot system, each agent must cooperate and coordinate with the others in order to achieve real-time cooperative navigation and free-collision path planning [5,16,17]. The navigation system is used to determine the location, orientation, and velocities of each robot in the multi-robot system at any desired time [18][19][20]. The control system provides the correct forces or torques to achieve the guidance goals. Backstepping (BS), sliding mode control (SMC), feedback linearization, PID, optimal and robust control, learning-based control, and other techniques were used to solve the stabilization control problem and trajectory control for a quadrotor and a mobile robot [21,22]. Backstepping control is considered one of the well-developed nonlinear control approaches that can stabilize dynamic systems while handling uncertainties to achieve the required performance [23,24].
In recent years, swarming robot dynamics and control have been active research topics. The difficulty of validating these algorithms in actual tests has been a barrier to more frequent and widespread use. Many researchers focused their efforts on developing a stable guidance, navigation and control (GNC) system to address this issue. In [25], robust navigation algorithms for multi-agent fixed-wing aircraft are presented. These algorithms are based on adaptive moving mesh partial differential equations controlled by the free energy heat flow equation, and they are experimentally validated using LQR controllers and multi-scale moving point guidance. A similar project used a PID controller and a waypoint-based guidance system to evaluate an INS/GNSS navigation system [26]. An affordable GNC solution with a visual-based navigation system was tested on a group of small unmanned ground vehicles and quadrotors to achieve a common goal [27]. In a practical marine environment, a hybrid framework for guidance and navigation of swarms of unmanned surface vehicles (USVs) that combines two layers of offline planning and online planning was applied [28].
This work developed a complete system architecture for a guidance, navigation, and control solution to enable small UAVs and UGVs in monitoring and inspection applications. To solve the essential stability problem and ensure that each robot follows the specified path asymptotically, a backstepping controller is used and discussed in detail. A guidance algorithm for generating a flight trajectory based on a potential field method is also described, allowing a robot to track a moving target and avoid obstacles in a dynamic environment. To generate a navigation solution (position, velocity, and attitude (orientation) estimations), the system combines a low-cost inertial measurement unit (IMU), a GNSS receiver, and a barometer for UAVs, which is then used in the guidance and control algorithms. For UGVs, a similar solution is used by integrating IMU, a GNSS receiver, and encoders. The measurements in the navigation system are integrated by non-linear complementary filters that produce high-bandwidth estimates of the state of each robotic platform. What distinguishes the developed system is its direct implementation of its algorithms in embedded systems with minimal programming cost. This work provides users with a reliable and viable GNC structure, which is supported by several practical experiments conducted both internally and externally for life applications. The developed GNC system was tested using a true reference motion capture system to demonstrate the efficiency of the integrated system in terms of stability, accuracy, and maneuverability. Several outdoor tasks were carried out to evaluate the monitoring and inspection process, rather than a single robot. These operations demonstrate the navigation system's ability to precisely locate the aerial and ground robots.
The current study is structured as follows: Section 2 provides an overview of the dynamic model of each robot. Section 3 discusses the adopted backstepping controller for a quadrotor and a ground robot. A motion planning algorithm is developed and discussed in Section 4. The navigation system for each robotic platform is adopted for accurate state estimations. Section 6 illustrates indoor and outdoor experiments of multi-robot missions. Furthermore, this section discusses the experimental results. Finally, concluding remarks and future research directions are summarized in Section 7.

System Modeling and Description
The kinematics and dynamics models of the quadrotor and wheeled robot, in addition to their relevance in the design of robust controllers, can be helpful in understanding the stability nature and operations under uncertain conditions.

Quadrotor Model
There has been much explanation and study of the mathematical model of the quadrotor in the literature [24,29,30], and we will summarize the general model here. It is estab- As shown in Figure 1, the vectors of linear velocity and position are determined by v v v = [u, v, w] T and p p p = [x, y, z] T , respectively. Moreover, ω ω ω = [ρ, q, r] T is the angular velocity vector. Any vector z z z in body frame B B B can be translated into inertial frame I I I by a rotation matrix R R R, and any vector z z z can be represented by the skew symmetric matrix S(z z z). The gravity constant g is represented in inertial frame by the vector u u u 3 = [0, 0, 1] T , and the moment of inertia is given by the matrix J J J and the mass by m. The terms ω ω ω × v v v, f f f d , and f f f w in Equation (1) are the gyroscopic effects, the drag forces, and the wind disturbances, respectively. Furthermore, the thrust force T T T and moments τ τ τ on each body axis are expressed as follows: The torque and thrust coefficients of the rotor (motor+propeller) are c q and c t , respectively; J m is the rotor's inertia and d is the distance between the center of the rotor to the quadrotor's center of mass.

Wheeled Robot Model
In the literature, the kinematic model of two-wheeled differential-drive robots is subjected to non-holonomic constraints, assuming that the wheels do not skid [24,31]. In this case, the robot motion is described as follows: In the above equation, ψ and ω represent the angle of rotation and angular velocity around the robot's z-axis, respectively, and v is the linear velocity; r and d are the radius of the robot's wheel and the distance between the robot's rear wheels, respectively; ω R and ω L are the angular speeds of the right and the left wheels, respectively. In Figure 1, the body frame of the robot moves relative to an inertial frame O. Therefore, the kinematic equations in Cartesian coordinates are given as follows:

Quadrotor Control
The backstepping (BS) controller is used in this work because of its capacity to solve the quadrotor's essential stability problem. Most crucially, the control system ensures that the quadrotor's position follows the specified path asymptotically [23,24]. The BS control system integrates both translation and rotation dynamics within a single control. The adopted control law generates one thrust T and three torques τ τ τ = [τ φ , τ θ , τ ψ ] T and a timing law for the path parameter γ(t) that guarantees convergence of the quadrotor's position P(t) to the desired path P d (γ), which is a function of a virtual arc γ. The control structures for the thrust and the torque vector are given by Equations (5) and (6), respectively: where k 1 and k 2 are positive gains, and m is the mass of the quadrotor; r r r 3 is the third column of the rotation matrix (R R R), and it indicates the direction of the quadrotor's z body-axis. As a result, if r r r 3 equals the desired thrust direction (r r r 3d ), the thrust force (T T T) will be equal to the desired thrust force (T T T d ). Based on the desired thrust value (T d ) and thrust direction (r r r 3d ) in Equation (5), the thrust control law (T) is generated. Furthermore, the torque control law (τ τ τ(t)) is calculated in Equation (6) according to the angular acceleration (ω ω ω c ). Moreover, an arbitrary function (ω 3c ) is used to define the dynamics of yaw angle.
where l 1 , l 2 , k 3 , and k 4 are positive gains; r r r 1 and r r r 2 are the first and second columns of the rotation matrix (R R R), respectively. The skew symmetric matrix is represented by S S S(.); R R R d and ω ω ω d denote the desired rotation matrix and quadrotor's desired angular speed, respectively. Based on the BS controller, four error vectors (e e e 1 to e e e 4 ) are defined. Those error vectors and derivatives are expressed as follows: e e e 2 = σ(e e e 1 ) + 1 k 1ė e e 1 ,ė e e 2 =σ(e e e 1 ) + 1 k 1ë e e 1 e e e 3 = r r r 3 − r r r 3d where p p p d and v v v d are the desired positions and velocities of the quadrotor, respectively. A time-dependent position error vector (e e e 1 ) can influence the initial position of the vehicle significantly. As a result, the control structure is distinguished by the fact that it is not directly related to the time factor associated with the first error. In other words, thrust (T) and torque vector (τ τ τ) are not directly linked to (e e e 1 ). In addition to the position error, the other errors are regulated by the saturation function (σ) of (e e e 1 ), which allows for bounded actuation. A detailed discussion of the stability proofs for these control laws can be found in [23]. It is essential for the control algorithm to keep a well-defined control law to ensure that the vehicle follows the path. In order to achieve this condition, we have a timing law, which is obtained by adding the second time-derivative of the path parameter γ: where p p p d and p p p d are the first and second partial derivatives of the desired path, respectively. The control law in Equation (8) drivesγ toγ d , which is calculated based on the path's geometry. Any vector in tangent frame {T} can be represented in inertial frame {I} by the rotation matrix R R R T at any points where p = 0. For ease of use, most variables, which were previously defined, are listed in Table 1. Table 1. Parameters used in backstepping controller of a quadrotor. Subscript "d" means "desired".

Parameter Description
Parameter Description

Ground Robot Control
A backstepping controller is adopted to accurately regulate the actuators that drive the robot from its current position p p p = [x y ψ] T to the desired position p p p The aim of the control is to minimize the following error: The error derivatives after substitutions from Equations (4) and (9) can be simplified as follows: As discussed in [24], two control inputs (i.e., v c and ω c ) are considered. Hence, the control law is implemented as follows: where v d and ω d are the desired linear velocity and angular velocity of the robot, respectively. The variables F and τ are calculated as follows: where k 1 , k 2 , k 3 , k 4 , and k 5 are the controller gains.

Motion Planning for Multi-Robot System
The purpose of this section is to introduce a new UV motion planning system based on potential forces. This system helps the robot (i.e., ground and aerial robots) follow a moving target within a dynamic environment containing obstacles. To achieve the desired target, an individual trajectory is generated for each robot, which has access to all the state information in one processor. In Section 3, the proposed control structure for each robot ensures that the tracking error will converge to zero, where tracking error of the ith robot is measured as: e e e ti = q q q di − q q q i (13) where q q q di is a vector of the robot desired trajectory, and q q q i is its position with respect the inertial frame. The robot will continue to move towards its destination as long as there are no obstacles in its path. Alternately, the robot's predefined path must be modified by feeding small variations in its motions. Essentially, the proposed approach generates a dynamic trajectory that allows the robot to track the target and avoid obstacles by generating attractive and repulsive potential forces.

Potential Attractive Force
The attractive force model is defined by the relative position and velocity vectors of two robots as follows: The attractive force model includes two force components, A 1 and A 2 , as shown in Figure 2. The first component, A1, propels the robot toward the target, shortening the distance between them. The second component, A 2 , keeps the robot moves at the same velocity as the target. The relative position between the robot and the target is given by δ p δ p δ p , and the relative velocity is given by δ v δ v δ v . Each force component can be tuned correctly by the gains k p and k v . Figure 2 illustrates the relationship between the attractive force components and the relative position and velocity of the robot to the target in a 2-dimensional space. Normally, this system is applied to a ground robot that is following another robot, and the concept can also be extended to cover UAVs in the third dimension. The attractive force for each motion direction (i.e., x, y, and z) can be given as follows:

Potential Repulsive Force
When a robot encounters an obstacle, it will also be provided with an extended potential force to detour and avoid collision. Considering p obs and v obs are the position and the velocity of an obstacle which can be obtained on-line, then the relative velocity between the robot and the obstacle is , and the relative position is p = p p = p p = p obs − p p p, as shown in Figure 3. Then, the value of v v v in the direction from the robot to the obstacle is given by: T n n n RO n n n RO = p p p || p p p || (16) where n n n RO is a unit vector pointing from the robot to the obstacle. As shown in Figure 3, in the case where the robot is moving away from the obstacle as v RO ≤ 0, no avoidance action is needed from the robot. In contrast, if v RO > 0, the robot requires a force to push it away from the obstacle. As a result, a model is used to generate appropriate repulsive forces. These forces are computed using the following function: r r r = r r r 1 + r r r 2 .
)n n n RO r r r 2 = ηv RO v RO⊥ ρ s a max (ρ s − ρ m ) 2 n n n RO⊥ (17) It can be seen in Figure 3 that r r r 1 is a force in the opposite direction of v RO n n n RO , which keeps the robot away from the obstacle. Moreover, r r r 2 is in the same direction of the perpendicular vector v RO⊥ n n n RO⊥ and acts as a steering force. Moreover, η is a positive constant, ρ s is the shortest distance between the center of the robot and the center of the obstacle, and ρ m is the distance that the robot travels before it approaches zero, which is a function of a maximum deceleration a max and is given as follows: In order to make the repulsive force model valid for multiple obstacles n obs , the following relation is established: Using Equations (14) and (17), the robot is subjected to an overall virtual force equal to the sum of the calculated attractive and repulsive forces as follows:

Navigation System and State Estimations
In real-time platforms, an estimation system is essential to compensate for noise and biases in sensors, and, in addition, to provide accurate attitude, position, and velocity information to the aerial and ground robots. One of the navigation solutions can be implemented with a typical inertial measurement unit (IMU) and a low-cost GNSS receiver for outdoor use or tracking systems for indoor use. This section discusses the design and implementation of attitude, position, and velocity estimations for both the ground robot and the quadrotor, addresses the lateral drifting, and improves the vertical position of the quadrotor platform.

Quadrotor State Estimations
Using a complementary filter, the attitude measurement is performed by fusing highfrequency gyroscope measurements with low-frequency magnetometer and accelerometer measurements. For the sake of direct implementation in embedded systems, the discrete quaternion representation of the attitude estimation is given as follows [32]: (y y y ik ×ŷ y y ik ) where T as the sampling time interval and the sub-index k abbreviates the time instant t = kT;q q q andb b b are the estimated attitude in quaternion and the estimated gyro bias, respectively. In addition, the gains k k k 1q and k k k 2q are positive and tuned for best performance; I I I 3 and I I I 4 are 3 × 3 and 4 × 4 identity matrix, respectively. Furthermore, the term (y y y ik ×ŷ y y ik ) represents the variation between the estimated inertial vector and the measured one in the body frame. In practice, two vectors are utilized, which are the earth's gravity vector and the earth magnetic field vector, and can be measured in body frame by an accelerometer (a a a) and a magnetometer (m m m). Hence the term ∑ n i=1 (y y y ik ×ŷ y y ik ) can be implemented as follows: where the vectors [0 0 g] T and [m xo m yo m z o ] T are the earth's gravity and magnetic field vectors, respectively, which are measured in inertial frame; R R R(q q q k ) is the quaternion rotation matrix. This work also implements another complementary filter for accurate position and velocity estimations. Due to the low sampling rate and lack of accuracy, standalone GNSS systems are not reliable when they are used in high-dynamic systems such as quadrotors. Thus, GNSS data is integrated with accelerometer measurements by a complementary filter to provide continuous position and velocity estimations. For more reliable estimations in altitude, a barometer is used to provide the measurements of height. The position and velocity complementary filter is provided in discrete-time form as follows: wherep p p andṽ v v are the errors in position and velocity, respectively, that represent the differences between the measured values (i.e., p p p and v v v) and estimated ones (i.e.,p p p andv v v) at time point k;b b b a is the estimated accelerometer bias, and k k k p , k k k v , and k k k b are positive gains.

Ground Robot State Estimation
In a mobile robot navigating through an indoor environment, only the state in plane (i.e., x, y, and ψ) is needed assuming that the robot moves on a horizontal and flat surface. However, a robot's motion could be significantly influenced by terrain characteristics when it is operating in an outdoor environment. Therefore, it can be oriented around the three axes of its reference frame in any way, resulting in six degrees of freedom (i.e., three positions and three orientations). Through a fusion of IMU, GNSS, and compass data, the work utilized the same technique as the quadrotor, which is discussed in the previous sub-section, to determine the localization and orientation of the ground robot. To enhance the estimations, the positions and orientation of the wheeled mobile robot is usually calculated based on an odometry according to measurements from motor encoders as follows [31]: At each sampling time k, δs k and δψ k are the increments in distance and angle.

Experimental Setup and Results
In this section, the proposed guidance, navigation, and control (GNC) system is implemented and evaluated by a multi-robot system. The performance of the adopted GNC system was evaluated in two different environments. The first environment was indoor and included three robotics platforms (i.e., two quadrotors and one ground robot), as shown in Figure 4. The second environment was implemented outdoor with another three drones and two car-like robots, as shown in Figure 4. An indoor system demonstrated robotic platforms with a motion capture system that provided real-time position and orientation. Based on several retro-reflective markers mounted on each robot, the motion capture system ran a software that defined rigid bodies. Each quadrotor executed the control algorithms with an onboard Intel Aero computer and the ground robot with a Raspberry Pi 3. In this study, quadrotor drones and ground robots were used to evaluate the performance of the backstepping controllers with the presence of disturbances. In addition in this stage, the drone's ability to track a ground robot and avoid obstacles was tested in several experiments. Moreover, multi-robot missions were performed outdoors in different scenarios for surveying and monitoring, as illustrated in Figure 5. A Pixhawk autopilot was used to test the proposed control and navigation algorithms. The guidance system and communication between robots were built on a Raspberry Pi using the Robotics Operating System (ROS).

Backstepping and PID Comparison
Two experiments were implemented on each robot platform (i.e., quadrotor and ground robot). Well tuned PID controllers were adopted in the first experiment and compared with a similar scenario in the second experiment in which backstepping controllers were implemented, as discussed in Section 3. The performance of each platform was analyzed by computing the mean squared error (MSE) in positions and velocities. The results are listed in Table 2 for a quadrotor and Table 3 for a ground robot. The tables show the superiority of the backstepping controlled quadrotor and ground robot over PID controllers, particularly in high-speed paths. Figure 6 illustrates how the BS-controlled quadrotor was correctly tracking the predefined circular-path, whereas the PID-controlled quadrotor was diverging from the high-speed path. A similar performance was demonstrated by a BS-controlled ground robot on the squared-path. Figures 7 and 8 clearly show the better performance of the backstepping controller for the quadrotor and the ground robot, respectively.   Figure 9 shows the performance of quadrotors using both PID and BS controllers in an experiment on a squared-path with the addition of fan air flow as a disturbance, located at (x = 0, y = −1.5 m) and directed toward the y axis. The PID-controlled quadrotor's highest deviation from the reference route as a result of the disturbance was 42.4 cm, whereas the BS-controlled quadrotor's highest position divergence was 5 cm. Therefore, based on the BS controller's good results, it was implemented in ground robots and quadrotors for the best stability and tracking in multi-robot missions.   Figure 9. A comparison between PID and BS controllers due to disturbance.

GNC System Performance
The backstepping controller was used along with the navigation system in Section 5 and the guidance system in Section 4 for a full guidance, navigation, and control (GNC) structure to demonstrate the performance of the quadrotors and ground robot in a network of multi-robots.
An indoor experiment was conducted to demonstrate a mission with two drones and one ground robot in order to to validate the overall GNC system. In this mission, a main drone was assigned to follow a ground robot that was traveling in a 4 × 4 squared path and followed with a 1.2 radius circle. A traveling drone was used to travel to point (−1.5, −1.5, 1.2) m and hover for a while. This point is one of the squared path's corners that the tracking drone will pass through. Figure 10 depicts how the tracking drone avoided colliding with the traveling drone. Furthermore, it avoided the traveling drone once more while the last was approaching it, as shown in Figure 10.
The position and velocity of the two drones and the ground robot are illustrated in Figure 11. The figure shows that the tracking drone was precisely following the ground robot (i.e., MSE xy = 0.173 m, MSE z = 0.046 m, and MSE v x y = 0.125 m/s), despite the fact that the obstacle avoidance task increased the error between them. The figure also shows how the tracking drone safely avoided the traveling drone on the 20th and 38th seconds and returned back to the desired path.

Outdoor Missions
Different missions were carried out in an outdoor environment to demonstrate the performance of a network of several drones and ground robots. The first mission scenario was carried out with three drones, one of which was assigned to lead the others on a predefined path, as illustrated in Figure 12. In this mission, three drones were launched from the same location, and the leading drone was tasked with following the predefined waypoints while the other two drones followed it safely. Figure 13 illustrates the performance of the 140-s mission. The average lateral speed (i.e., in the xy direction) of each drone was approximately 10 m/s at different heights. The three drones completed the mission precisely and without any collisions, with the follower drones maintaining a nearly constant distance from the leading drone throughout the mission.  In the second scenario, the three drones were programmed to survey an area of approximately 87,000 m 2 at the same time. Each drone was assigned to survey a portion of the area and photograph various locations, as shown in Figure 14. The mission was completed in approximately 160 s, with 24 photos of the entire area being taken, as illustrated in Figure 15. For sake of comparison, the same task was assigned to a single drone. The mission took approximately 330 s to complete using one drone.
(a)   The final outdoor scenario involved two ground robots performing a monitoring task. As shown in Figure 16, each robot was assigned to follow a different path on campus at the same time. As shown in Figure 17, each robot was moving at a speed of 5 m/s along a path that was approximately 1770 m long for the first robot and 2390 m for the second robot. As a result, the first ground robot completed its assignment in 390 seconds, whereas the second ground robot completed the mission in 490 s, taking into account the time it took to launch to the first way-point and return to the starting point.  The goal of the last two tasks was to evaluate the monitoring and inspection process using a group of aerial and/or ground robots rather than a single robot. The previous operations demonstrated that using a group of robots speeds up and improves the efficiency of the work. The robots demonstrated the ability to track way-points without colliding or intersecting with one another. These two experiments also demonstrated the ability of the navigation system to precisely locate the aerial and ground robots.

Conclusions
This work demonstrated the practical implementation of light-computing nonlinear algorithms for a full guidance, navigation, and control system for a network of quadrotor drones and ground robots. For the best path tracking and position and orientation stability, a backstepping controller was used. In order to implement a robust navigation system for control and guidance systems, nonlinear complementary filters were used to accurately estimate attitudes, positions, and velocities. For optimal robot guidance, a potential field method was used for tracking and obstacle-free path planning. Several indoor and outdoor experiments were conducted to assess the effectiveness of the GNC system on multi-robot missions. The results demonstrated the advantages of the proposed system in monitoring and inspection applications. This work paves the way for future efforts to improve the navigation system for higher-level perception in order to recognize and classify detected objects/events and infer some of their attributes. Another interesting aspect of the research is the use of the proposed GNC on the scales of swarms of quadrotors and ground robots in a challenging environment.