Unified Switching between Active Flying and Perching of a Bioinspired Robot Using Impedance Control

Currently, a bottleneck problem for battery-poweredmicroflying robots is time of endurance. Inspired by flying animal behavior in nature, an innovative mechanism with active flying and perching in the three-dimensional space was proposed to greatly increase mission life andmore importantly execute tasks perching on an object in the stationary way. In prior work, we have developed some prototypes of flying and perching robots. However, when the robots switch between flying and perching, it is a challenging issue to deal with the contact between the robot and environment under the traditional position control without considering the stationary obstacle and external force.Therefore, we propose a unified impedance control approach for bioinspired flying and perching robots to smoothly contact with the environment. The dynamic model of the bioinspired robot is deduced, and the proposed impedance control method is employed to control the contact force and displacement with the environment. Simulations including the top perching and side perching and the preliminary experiments were conducted to validate the proposed method. Both simulation and experimental results validate the feasibility of the proposed control methods for controlling a bioinspired flying and perching robot.


Introduction
With the increasing missions requirements in the air space, the flying robots have been widely used in all kinds of fields.In the military fields, flying robots are mainly developed for reconnaissance and surveillance, communication relay, and electronic interference, as well as biochemical detection.In the civil aspects, they are employed to accomplish atmospheric monitoring, resource exploration, traffic monitoring, aerial photography, and so on [1][2][3].For such applications, flying robots are difficult to meet the requirement because of their low power efficiency.For example, the requirement of the surveillance missions mostly needs to take more than one hour; however, current flying robots have to keep flying which decreases the endurance of battery dramatically.Typical battery-powered microflying robots can only fly in tens of minutes.Thus, power consumption for flying robots is a challenging issue.
An attractive approach is to enable the flying robots to do what flying animals do: taking frequent short flights with periods of perching in between.The energy efficiency of such animals is much higher than that of flying robots.
In particular, it is useful for small fixed-wing planes to perch on vertical surfaces such as cliffs or the walls of buildings [4].Clinging to such surfaces, they consume little power, allowing them to stay there for hours or possibly days as a stable platform for surveillance, inspection, or environmental monitoring.But the application is greatly limited on the brick walls and the process is hardly controllable.
Anderson et al. have proposed various ideas for perching, such as perching with adhesives and weighted tail line [5].Kovač et al. have designed a simple and practical perching mechanism based on the concept of the target surface using needles [6].Chi et al. have proposed a design of bioinspired adaptive perching mechanism, and it mainly focused on the static characteristics [7].Still other works have focused on performing perching maneuvers using a morphing airplane [8,9].
However, existing methods focus on passive way to perch on the surface.Although they consume little or no power, switching processes are not stable and uncontrollable, the payload is too small, or specified objects are required so that the applications are greatly limited in laboratory.The flying and perching robot, which can fly in the sky and anchor on a wall surface alternately, has the advantages of both long distance motion with the ability to overcome obstacles and long time stop with low energy consumption.In our prior work, prototypes of active flying and perching robots we proposed [10,11], as shown in Figure 1, are promising in many applications.Figure 1(a) is the phototype of our developed generation one top perching robot adsorbed on the ceiling and mechanism of the adsorption device is based on vortex attraction technique.This mechanism allows the robot to adsorb on various smooth and rough surfaces.Figure 1(b) is the side perching robot perching on the window glass.
The existing challenging issue is to control the switching process between flying and perching on an object surface that may cause robots breakdown.Traditional position control methods [12][13][14] of the flying robot do not consider the force and the displacement constraint from the environment.When the robot contacts with the environment, because a force balance has been broken and a stationary obstacle appears, the original dynamic model, the planed trajectory, and the position controller will be completely ineffective.The approach we employed before is to make the robot approach the environment at certain velocity; thus, the external force will be compensated.But the problem is that it is difficult to decide how much velocity should be given to the robot.If it is too large, it could hit the environment and damage the robot; but if it is too small, its attitude will be changed by the external force, and robots cannot generate the enough force for adsorption.In this paper, we propose a model based impedance control method to address the issue for the bioinspired active flying and perching robot.The control system performs not only position and attitude control but also force control in order to interact with the environment.Force control of robotic manipulators has been an active area of research for many reasons [15][16][17][18].We extend the impedance control to our developed active flying and adhesion robot control system, which has an active adsorption device and the adhesion force and switching process are controllable so that it is suitable for all kinds of objects surfaces and applications.
This paper is structured as follows.In Section 2, the strategy of the bioinspired flying and perching robot is introduced and the dynamic model of the robot is described, especially considering the situation that the mass center and the geometric center may not be coincident.In Section 3, impedance force control system of the robot is designed and analyzed.In Section 4, simulations for top perching and side perching and experiments based on the prototype we developed were performed.The results are analyzed.Section 5 concludes the work and discusses future directions of our research.

Robot Dynamics
2.1.The Strategy.The motivation for our design is that the robot could execute the missions with the ability of flying and the ability of actively perching on most objects surfaces in the three-dimension space with more payloads and obstaclefree under lower power consumption.The general sequence of the bioinspired active flying and perching robot, illustrated in Figure 2, is as follows: (1) fly in the sky, (2) approach the target perching object surface, (3) contact the environment and regulate the contact force to achieve desired contact force, (4) adsorption device in the robot starts to work and make it adhere to the object surface steadily, (5) stop flying and anchor on the object surface with low power consumption, (6) execute the missions such as reconnaissance and surveillance, and (7) switching from the perching to flying is an inverse process.
The focus of our work in the paper is the interaction with environment in step (3) and the goal of the step is to control the bioinspired robot switch between the flying and the perching actively and smoothly in natural way like a flying animal behavior.

Dynamics Model.
The generalized coordinates of the robot system are (, , , , , ) where (, , ) represents the relative position with respect to an inertial frame and (, , ) represents the orientation of the robot using -- Euler angles, namely, yaw, pitch, and roll.Let {} denote the inertial frame and {} the body frame.The frame {} is related to {} by a 3 by 3 coordinate rotation matrix  :  → , which is defined to map a vector expressed in the frame {} to the equivalent vector expressed in the frame {}.The translational and rotational variables are defined as  = {  }  ∈ {} and  = {  }  ∈ {}, respectively, shown in Figure 3.The rotation matrix  :  →  is given by The th rotor has an angular speed   and generates a force   and moment   according to where   is force stiffness and   is moment stiffness.The position vectors of the center of mass  CM in frame  and geometric center  GC in frame  are related to the geometric relationship according to where  off = [ off ,  off ,  off ]  are offsets of the center of mass in frame , which is calculated by the system design.The linear velocity of geometric center of the robot in the frame  is expressed as follows: And the angular velocity of the robot body frame  in the inertial frame  is denoted by Ω, with the components , , and  in the body frame .The dynamic model of the bioinspired robot can be written in the position subsystem by Newton's equation of motion acting on the geometric center and in the rotational subsystem by Euler equation The force vector   can be calculated: where  is the system control input which can be defined using the total thrust  = ∑ 4 =1   and the torques  = (      )  ;  is the total mass of the rotor system;  0 is the mass of the battery and perching device;  CM is the moment of inertia matrix referenced to the center of mass along the -, -, and -axis in the frame .  is the external force.
The two terms ( +  0 )( Ω ×  off ) and ( +  0 )(Ω × (Ω ×  off )) in ( 5) can be compensated by the feedback.This is because these terms are generally small relative to other terms in practice [19].Meanwhile, for the side perching robot, the asymmetry is mainly caused by the installation of the perching device.Therefore, the disequilibrium is primarily made along the X and Y directions.
In summary, the dynamic equation in the inertial frame under the assumption of neglecting Coriolis terms and gyroscopic effects yields where There are six variables to represent the system; we have only four inputs.Therefore, the system is an underactuated system.Since the motor response is quick compared to that of the robotic system, we assume that rotor speed response can be instantly achieved during the controller development.Therefore, the control inputs can be expressed in terms of the rotor speeds as follows: where  is the distance from the rotational axes of the rotors to the center of the robot.  is the translational matrix.The angular speed of each rotor can be calculated using (11) and (12).

Impedance Control
In this section, in order to let the robot fly to a desired perching object, contact the object surface with a desired force, and adsorb on a surface steadily, the impedance controller for this underactuated bioinspired flying and perching robot is introduced.Direct application of traditional position controller designed for free space robot motion usually results in instability and eventually lets the robot break down when the robot is in contact with environment, because this controller ignores the interaction between the robot and the environment, which may generate external force and displacement block.Impedance control allows us to deal with the external force and displacement simultaneously under interaction with the environment.The inclusion of force information in the control of this kind of bioinspired flying and perching robots will increase their adaptability to uncertain environments and provide safety against damage due to excessive contact force.
Suppose   and   are the desired robot motion and interaction force, and   is assumed to be twice continuously differentiable.Let be the tracking errors of motion and the interaction force, respectively; the impedance control law can be described as where the generalized impedance parameters , , and  are specified as positive definite diagonal matrices and   is the force stiffness matrix.Following (14), the controller can yield based on some different situations.
Case 1.In the free space control, the control law can be obtained as follows: Note that when the desired force   is set to zero and  = diag(1, 1, 1), then the robot is under position control: Then, the desired total thrust and desired attitude   ,   ,   can be also obtained using ( 8) and ( 9).
Case 2. When the robot comes close to the environment, we hope it can produce a steady force against the external environment; the control law can be obtained as follows: Case 3. The special case of Case 2 is used for the top perching; in this case, the direction of  is controlled by impedance control and the other two directions are controlled by position control.Combining the control laws ( 20) and ( 12), impedance controller in the direction of  can be obtained:

System Setup.
To accomplish some missions such as reconnaissance and surveillance, the robot is required to carry a certain payload, adsorb on a surface actively, and spend low power consumption.Figure 4 shows the real bioinspired side perching robot we have designed and developed.The prototype of the bioinspired flying and perching robot is based on the quadrotor structure [20], which also includes an adsorption device, a supporting structure, and an embedded controller.The perching device we employed here is based on vacuum generated by micropumps which mainly depends on a membrane, which is characterized with low power consumption, low noise, and light weight.Meanwhile, it can be very convenient to be installed due to its small size.The supporting system, on the one hand, is used to improve the payload when the robot anchors on a wall surface; meanwhile, it plays a role in protection; on the other hand, is equipped with a spring and potentiometer, which can be used to measure the contact force as feedback.
Figure 5 shows the control block diagram of the torquebased force control system for simulation.Two kinds of simulations were performed: top perching and side perching.Table 1 lists the parameters of the bioinspired robot used for simulation.The impedance parameters are shown in Table 2, where   is for the situation of top perching.
In the simulation, the impedance control block uses the relationship of displacement error and force error (14) to calculate the new control variable.In the top perching, only the vertical force and displacement are considered; there are no displacement and movement in the other directions.And the total thrust and angles in the second block are calculated by using ( 8) and (18).Torque from attitude angle is calculated using ( 9) and then the four rotor speeds are calculated according to the torque and the four thrust forces in (11) and are output to robot system block.
In the real system, the feedback data comes from the measurement of sensors, but in the simulation, inverse kinematics are used to simulate the movement of the robot.The force generated by four rotors is calculated based on the proportional relationship.The displacement and attitude angle are computed by integration.Because the data is obtained by virtual computing instead of collecting from real system, without taking into account the system error, the ideal result should be completely tracking the desired data.In simulation system, according to the real system, the sampling time is set to 0.01 s.
To verify the reliability and stability, without loss of generality, we add noise into simulation, which exists in real system.In the sensor block, we put white Gaussian noise into the block.

Top Perching.
The robot is controlled to adhere to the ceiling of a room.The 5% deviation is added to the nominal values of all parameters shown in Table 1.White noises are also deployed in the sensor measurement to simulate the real situation.The desired motion trajectory along the Z direction is given as follows (the unit is m):  And the desired force is given: where   is preset by the stiffness of the environment.Figures 6 and 7 show the impedance control simulation results for the top perching.During the free flight, the robot tracks the desired position to approach the environment.
Because the parameter uncertainties are added to the system, the maximum tracking error is about 2.3 cm.In the free space, the desired force is set to zero.The robot starts to contact with the ceiling at around 10 s and follows the desired force reference very well from Figure 7.The maximum force error is about 0.4 N and stabilized at 0.2 N. Figure 6 shows the position tracking result along the Z direction.After 12 s, the system settled down and the tracking error is about 0.2 cm.

4.3.
Evaluation.The traditional one of control techniques tracking a desired motion trajectory for quadrotors is PD controller.An investigation is conducted to evaluate the performance of the developed impedance control and PD controller while performing the top perching which is the same as Section 4.2.During step (3) of contact with the environment, the flying robot will encounter the ceiling of high stiffness at a position about 9.8 m from the ground.The position tracking error and the interaction force along the  direction are shown in Figures 6, 7, 8(a), and 8(b), respectively.The larger interaction force is generated with the pure position PD control.The measured force continues to increase at the time of 11 seconds where   = 33 N which will cause the flying robot to fall down.The results demonstrate that the impedance control can handle the external contact without generating excessive interaction forces.

Side Perching. The desired trajectory is as follows:
And the desired force is given: The robot is controlled to perform side perching following the planned trajectory and force reference.
The parameter deviation and white noise are also added to the system.The perching device is placed in the center of -axis and -axis, so the desired trajectory along the X direction and Y direction is the same as that along the Z direction in the top perching.The desired trajectory along the Z directions is 0. The desired force is the same as that used in the top perching.In the side perching, the tracking errors along both the x-axis and y-axis are generated because the robot has to tilt a little bit to approach a side wall in a room.There are also orientation tracking errors.Figure 9 shows the tracking errors along the X and Y directions.
Because it is more challenging to make the robot perching on the side wall, the force tracking error is bigger than that in the top perching.Figure 10 shows the force tracking error.The maximum tracking error is about 1 N.The orientation errors are also recorded and shown in Figures 11  and 12.The maximum orientation tracking error is about 0.05 rad.

Sensors Testing.
The ultrasonic sensors are employed to measure the distance between the quadrotor and the  target object surface and some experiments are conducted on different materials to test the performance of the ultrasonic sensor; the experimental results of different materials using US-100 are shown in Table 3.
Although there is a certain deviation between the measured results and the actual distance, but the deviation is within a small range (except that a material has a good ability to absorb ultrasonic wave such as sponge); the cause of the deviation is that an ultrasonic transmitter and receiver sensors are in the interior, while the distance is measured by the front end of the ultrasonic sensor.
In order to get the feedback of force, a dynamometer is well designed and developed by ourselves, which contains a spring and sliding fixture.The contact force between the suction cup and the wall is measured by mapping the relationship between the force and the voltage changed with the displacement.Figure 13 shows the mapping relationship between the voltage value and the force value.Through Figure 13, we can conclude that the force and the displacement are a linear relationship.When the spring wire diameter is 0.8 cm in diameter and 3.5 cm in length, the mapping formulation is as follows: where  is the measured force and  is the measured voltage which is linear with the displacement of the dynamometer.

Switching Control Testing.
To test the switching strategy and also simplify the testing preparation, the structure with a spring and slider fixture, called dynamometer, is developed to link the quadrotor and the suction cup.From the mapping results for the dynamometer, the relationship between the displacement and the force is linear during the contact process.So the impedance control could be yielded as position control.We let the robot take off from the ground and perch on a ceiling which is about 3 meters high.The trajectory is planned in the manual way.The experimental results are shown in Figure 14.The robot can fly in the free space and approach the target position of the ceiling.The system can handle the external force when the robot pushes the ceiling.The rotors stop running after the robot perches on the ceiling; during this stage, the power consumption is very lower because the vacuum pump starts to work instead of the quad rotors.The whole switching process for top perching is very smooth and stable so that it verifies the effectiveness of the method and the developed actively flying and perching robot.When the robot leaves the ceiling, note that the robot needs to start to run the rotors to produce the force to support the gravity of the body before the adhesion force will be released.Currently, the robot needs struggle with the adhesion force because of the residual negative pressure even if the vacuum pump stopped working.A valve which connects the inner cup with outer air will be added to solve the issue.One could also think about a further work here: implement the  control algorithm and plan the trajectory in the autonomous way.But this would require new hardware support and is undergoing.

Conclusions and Future Work
The bioinspired active flying and perching robot has many applications and market potentials because it can increase the time of endurance greatly, about ten times and even hundreds of times longer than typical battery-powered flying robots.However, it is difficult to control the switching of the robot we have built in natural way like a flying animal because of the unexpected external force.The impedance force control method is developed to enable the robot to approach a desired position and handle the contact force with the environment smoothly until the adsorption device perches on the object surface steadily.Simulations and preliminary experiments were performed to evaluate the performance of the position and force tracking, which demonstrate the effectiveness of the proposed methods.In the future work, further experiments will be conducted on the developed platform using the proposed method and comparing the performance to realize an autonomous and robust switching between flying and perching.Meanwhile, the micro wireless camera may be mounted on the robot to do some tasks with the use of image processing.Furthermore, other sensors will be integrated to control the system to accomplish more complex missions.

Figure 1 :
Figure 1: The developed robot prototypes.(a) is top perching robot with an adsorption device consisting of motor, spinning rotor, fixture, and flexible sponge skirt seal.(b) is side perching with suction cup driven by micropump.

Figure 2 :
Figure 2: Top perching and side perching: the robot performs several phases when switching from flying to perching.The top perching robot equipped with a quadrotor and suction cup flies to the ceiling and hangs on the ceiling.(a) Top perching approaching step, (b) top contact step, and (c) top perching rest step.The side perching robot with suction cup flies and perches on the wall.(d) Side perching approaching step, (e) side contact step, and (f) side perching rest step.

Figure 6 :Figure 7 :
Figure 6: Position tracking error along the Z direction.

Figure 8 :Figure 9 :
Figure 8: (a) Position tracking errors along the z-axis.(b) The interaction force along the z-axis.

Figure 14 :
Figure 14: A group of sequences of experimental results of the top perching robot adsorbing on a ceiling.(a) Fly in the sky, (b) approach the ceiling and adsorb on the ceiling, (c) stop flying and perch on the ceiling, (d) start to fly from the nest, and (e) fly again in the sky.

Table 1 :
Parameters of the robot system.

Table 3 :
US-100 testing results for different materials.