FMT fixed-wing UAV target search and throw

Recently, we conducted target search and target throwing experiments on the FMT fixed-wing platform. From the experimental results, the self-stabilization, altitude stabilization, fixed-point, waypoint and return functions of the FMT fixed-wing all met expectations. Finally, the experiment was successfully completed. Let’s learn about the situation of this experiment through the video below.

[Domestic open source FMT flight control system] Fixed-wing autonomous flight, target search airdrop experiment

From the video, you can see that the FMT fixed wing can fly according to the established route, and realize the image transmission through the Mini Homer image data transmission link , so that the position of the digital target can be seen at the ground station, and the search task is performed for numbers 1 and 2, and the search task for numbers 3 and 4 is performed first, and then the throwing task is performed manually. The most critical link in the experiment is the waypoint function. Below we will introduce in detail how the waypoint function of FMT is realized.

The FMT fixed-wing waypoint flight function is mainly implemented in the FMS (Flight Management System), and its algorithm model mainly includes two parts, namely the state machine (FMS State Machine) and the command generator (FMS Commander).

The state machine is mainly responsible for the switching logic of the mode. Modes related to waypoints include Mission mode, Takeoff mode, Return mode and Hold mode, etc. The Mission mode is mainly responsible for processing the waypoint data Mission_Data input into the FMS, and sending the analysis of each waypoint data to the Commander for control in turn. The state machine logic of Mission mode is as follows:

 Take out the next waypoint data in NextWP state, where the waypoint data can be Takeoff waypoint, Return waypoint or common Waypoint waypoint (Land waypoint is not supported yet). Enter the corresponding state according to the type of waypoint, such as Waypoint state. Then the original waypoint data is analyzed by the corresponding state, and the target waypoint data Cmd_In.sp_waypoint is generated. The figure below generates target waypoint data for the Waypoint state:

 After the state machine generates the target waypoint data, the Commander is responsible for executing it and generating the control signal of the Controller.

Here the cruising speed u_cmd is set by FMS parameters, for example, the default is 13m/s, and the user can modify the cruising speed of the fixed wing by adjusting the parameters. The position control generates the acceleration signal ay_cmd in the y direction to control the roll angle of the fixed wing, thereby changing the flight trajectory and heading angle of the fixed wing. The altitude control is to generate the velocity w_cmd in the altitude direction to control the altitude of the aircraft.

Let's take a look at the Position Command position control again, and its internal block diagram is as follows:

 Among them, WayPoint is responsible for selecting three waypoint data P1 (current waypoint), P2 (target waypoint) and P3 (aircraft position). Then output the acceleration command ay_cmd_mPs2 in the y direction through the L1 algorithm.

The algorithm of the height controller is relatively simple, it is a P controller, and the speed command w_cmd in the height direction is output from the height error.

 Through this experiment, it can be seen that the FMT fixed-wing flight control system is relatively mature, and various tasks and actions can be performed stably. At present, FMT's domestic open source flight control system already supports quadrotors and fixed wings. Interested friends can visit the FMT project address or check the courses on the official website of Amu Lab to learn.

Developers who are interested in FMT are also welcome to join the open source ecosystem and contribute to the domestic open source flight control system.

https://github.com/Firmament-Autopilothttps://github.com/Firmament-Autopilot

Guess you like

Origin blog.csdn.net/msq19895070/article/details/127730898