Authors: Tianyu Li, Yanbin Long, Jiaqi Yang, and Weizhuo Wang
Our group examined the quadcopter’s potential to be applied to civilian applications. In this project, our group aims to develop a drone tracking and herding system utilizing the hummingbird quadcopter. We can set up a designated circular area on the ground (the center of the circle and the radius can be arbitrarily defined by the user) to be the no-entry zone. The drone will initially standby at a location in the vicinity of the no-entry zone and will be activated when a foreign moving object enters and stays in the zone. The drone will take off from the ground and then fly towards the object. After that, the drone will use the downwash airflow to push the object out from the no-entry zone. In a real-life scenario, the object in the zone could be wild animals that accidentally enters an area with environmental hazards. The drone will be able to identify the wildlife entering the hazard area and try to make the animals leave the area using its downwash.
The aim of this project is to design, implement, and test an LQR controller and potential field path planning method using C that allows the Hummingbird Quadcopter to detect any animals or livestock within a designated area and able to drive them away from that area. The quadrotor is able to cover a vast area of land which makes it a perfect device for surveillance. For any wild animals accidentally entering a hazard area, the quadrotor will be able to detect and try to scare the animals away with its sound and downwash airflow.
In order to achieve these objectives, the drone will first need the area information in which it will perform its duty. The hazardous area for animals to enter will be designated by the user. The drone will be hovering at the center of the region initially to make the distance between the drone to the boundary of the area in any direction the shortest. Once the area is determined, the drone will track any unidentified objects inside the region and fly toward them. The animals in this lab will be represented by fiducial marker balls to simulate the reaction of the animals as the drone is flown toward them. Finally, to minimize the consumption of the battery, the drone will determine the shortest route to drive away from the animals inside the hazardous area. In our project, the drone is able to detect the entrance of the object and only activates when the object enters the no-entry zone. Our projects also investigated the drone’s effective downwash area, which was neglected in the previous project.
For project demonstration purposes, the problem will be simplified by using the drone to push a box out of the designated circular area. There will be three objects involved in this task including a drone, an obstacle, and a lightweight box with fiducial markers which is the herding target. In MOCAP, the drone, the obstacle, and the box will have an identification number of 1, 2, and 3 respectively. It is worth to mention that the obstacle will be outside of the MOCAP arena the entire time in the project. The obstacle is only saved for convenient future improvement if avoidance is considered. The project demonstration will be performed with the following steps:
The user will first define a circular area with an arbitrary length of the radius. The lightweight box needs to be placed outside of that area.
The drone will first hover at a specific height defined by the user at any point within the area.
After the drone is able to hover stably. The lightweight box will be pushed into the area.
Once the box is in the area, the position of the box will be set as the goal in the drone planner. However, the downwash of the drone will not be able to push the box if the drone is directly on top of the box. It has to be at an offset position in order to use the downwash effectively. Therefore, the goal of the planner will be set to an offset from the box location. The offset location has to be between the center of the area and the box so that it can push the box out with the shortest distance.
The planner will then generate the desired trajectory.
The controller will fly the drone towards the box following the desired trajectory.
The downwash blow is not a one-shot action but a continuous action in which the drone will keep pushing the box at the offset location until the box is outside of the area.
The drone then returns to the starting point and hover. The task will start to repeat from step 2.
From both the theory and experiment, it is discovered that the shape of the downwash will be different when the drone is hovering at various height. The shape of the downwash will directly affect the effectiveness of the pushing action. Therefore, an experiment is performed to determine the most optimal height for pushing the box with the downwash. The step for each trail is described as the following:
The experiment has a similar initialization step as the project demonstration except that the operator will set a specific height for pushing. The height is the independent variable which will vary for each trail.
The box will be placed within the downwash at a designated position. The position should be the same for each trial. For the convenient measurement, the box is placed at a distance on the x-axis from the origin.
The downwash of the hover drone will push the box immediately after the person releases the box in the downwash.
After the box is not moving anymore, the distance it moves from the designated position will be recorded and compared with other trials.
The above step will be repeated with different heights. The height that causes the largest moving distance will be the optimal height.
The system has all 12 state variables the drone can have. There are also 4 input components, u1, u2, u3, and u4. Specifically, u1 controls pitch, u2 controls roll, u3 controls yaw and u4 is thrust on the Z-axis of the drone frame. The system can be expressed in the state-space form shown below:
The state error of the linear system is defined as:
where x is the current state from sensor and the MOCAP, x_e is the equilibirum state, x_c is the state error of the linear system, u_e is the equilibrium input and u_c is the input of the linear system.
The Q and R matrix will be tuned by choosing the amount of punishment for states in x. Specifically, it is desired for the drone to accurately track the desired position, so more punishment on position error is applied.
Now it is important to prepare a K matrix that defines the system’s response to states. K matrix is found by applying the Linear Quadratic Regulator (LQR) on the Q and R matrix chosen after the tuning process. The specific values of K matrix is left out of this report as the matrix is rather large.
Then input and squared spin rate are found by equations:
a potential function f(o_desired) that has small values at the goal position and large values near obstacles are defined, and the planner uses the gradient descent method to decide the coordinates of the desired position of the next timestep by moving in the direction of the negative gradient of the potential function.
Although the drone is not required to do obstacle avoidance in this project, the repulsive part of the potential function is still retained in the planner. This allows the drone to still be able to carry out obstacle avoidance maneuvers when needed.
In order to test the functionality of the planner, a standard test flight is conducted. Animals are not allowed in the lab section, so they are simulated using cardboard, connected to four ping pong balls that are used to resemble the legs of the animals. Reflective tapes are taped on the cardboard, so the Mocap is able to identify the object and send its location to the drone. In the test flight, the drone will first reach its stand-by location, which is about 1 meter above the center of the room, and will keep hovering until the object is detected in the pre-determined detection zone. Once the cardboard is pushed into the detection zone, the drone will fly toward the object and try to push the object out of the detection zone using the downwash generated by the rotor. In doing so, the drone will find the shortest route to do so using the location information about the cardboard.
An example demo:
To better understand the power of the downwash produced by the quadrotor, another test is conducted to determine the effective radius of the downwash. The result of the calibration test can be seen in Figure 4. The calibration test is conducted at six different heights, from 0.4 meters to 1.4 meters, with 0.2 meters apart from each test. From the collected data, the optimal height for the drone to push out the object is about 0.8 meters high.
My main contribution is on implementing the potential field path planning algorithm. However, we did not explicitly divide the work. Everyone is involved for most parts.
The final report of the project can be viewed here.