CN113009935B - Unmanned aerial vehicle simulation test system and method and unmanned aerial vehicle flight controller - Google Patents
Unmanned aerial vehicle simulation test system and method and unmanned aerial vehicle flight controller Download PDFInfo
- Publication number
- CN113009935B CN113009935B CN202110566895.5A CN202110566895A CN113009935B CN 113009935 B CN113009935 B CN 113009935B CN 202110566895 A CN202110566895 A CN 202110566895A CN 113009935 B CN113009935 B CN 113009935B
- Authority
- CN
- China
- Prior art keywords
- aerial vehicle
- unmanned aerial
- tested
- algorithm module
- test result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 272
- 238000012360 testing method Methods 0.000 title claims abstract description 186
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 269
- 230000033001 locomotion Effects 0.000 claims abstract description 33
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 claims abstract description 29
- 238000010998 test method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 14
- 239000013078 crystal Substances 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000013100 final test Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000010453 quartz Substances 0.000 description 4
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
The disclosure relates to an unmanned aerial vehicle simulation test system and method and an unmanned aerial vehicle flight controller. The system comprises a flight control system borne in an unmanned aerial vehicle flight controller, wherein the flight control system comprises a software environment, a simulation model and a first algorithm module to be tested; the software environment is used for providing a support program; the simulation model is used for receiving a motion instruction for indicating the unmanned aerial vehicle to be converted from the current pose to the target pose based on a clock of the unmanned aerial vehicle flight controller, resolving the motion instruction to obtain sensor data according to the motion instruction, and sending the sensor data to the first algorithm module to be tested; the first algorithm module to be tested is used for calculating to obtain first control data according to the sensor data and sending the first control data to the simulation model; the simulation model is used for verifying whether the first control data can control the unmanned aerial vehicle to be converted from the current pose to the target pose so as to obtain a test result of the first algorithm module to be tested and generate an unmanned aerial vehicle simulation test result. Adopt this kind of system of this disclosure can promote the accuracy of unmanned aerial vehicle simulation test result.
Description
Technical Field
The utility model relates to an unmanned aerial vehicle technical field, specifically relates to an unmanned aerial vehicle simulation test system and method, unmanned aerial vehicle flight controller.
Background
In the operation process of the unmanned aerial vehicle, the unmanned aerial vehicle needs to realize autonomous navigation according to decision algorithms such as a navigation algorithm, a control algorithm, a trajectory planning algorithm and the like.
In the related art, after the codes of the unmanned aerial vehicle related algorithm are developed, the codes need to be debugged to ensure the correct availability of the codes. In order to improve the security and efficiency of code debugging, the currently adopted debugging/testing method is to use a simulation system to perform simulation testing on the codes of the unmanned aerial vehicle related algorithm. Specifically, a simulation system runs on a simulation computer, the simulation system sends the solved unmanned aerial vehicle state data to an unmanned aerial vehicle algorithm module on the simulation computer, meanwhile, the simulation system also receives control quantity data fed back by the unmanned aerial vehicle algorithm module, and then the simulation system determines the correctness of the unmanned aerial vehicle algorithm module by verifying the control quantity data. After the unmanned aerial vehicle algorithm module passes the test on the simulation computer, the unmanned aerial vehicle algorithm module is transplanted to an actual unmanned aerial vehicle, and a simulation system running on the simulation computer is used for carrying out secondary test on the unmanned aerial vehicle algorithm module on the unmanned aerial vehicle so as to obtain a final test result of the unmanned aerial vehicle algorithm module.
However, the final test result of the algorithm module of the drone obtained by the test method in the related art often becomes inconsistent with the actual use result obtained by actually applying the algorithm module of the drone.
Disclosure of Invention
The invention aims to provide an unmanned aerial vehicle simulation test system and method, and an unmanned aerial vehicle flight controller, so as to solve the problems in the related art and obtain a more accurate unmanned aerial vehicle simulation test result.
In order to achieve the above object, the present disclosure provides an unmanned aerial vehicle simulation test system, which includes a flight control system carried in an unmanned aerial vehicle flight controller, where the flight control system includes a software environment, a simulation model, and a first algorithm module to be tested;
the software environment is used for providing a required support program for the operation of the simulation model and the first algorithm module to be tested;
the simulation model is used for receiving an unmanned aerial vehicle motion instruction for indicating the unmanned aerial vehicle to be converted from a current pose to a target pose based on a clock of the unmanned aerial vehicle flight controller, resolving according to the unmanned aerial vehicle motion instruction to obtain sensor data, and sending the sensor data to the first algorithm module to be tested;
the first algorithm module to be tested is used for calculating to obtain first control data according to the received sensor data and sending the first control data to the simulation model;
the simulation model is further used for verifying whether the received first control data can control the unmanned aerial vehicle to be converted from the current pose to the target pose so as to obtain a test result of the first algorithm module to be tested, and generating an unmanned aerial vehicle simulation test result according to the test result of the first algorithm module to be tested.
Optionally, the flight control system further includes a second algorithm module to be tested, where the second algorithm module to be tested is used to test a path planning algorithm module to be tested, which is carried on an onboard controller of the unmanned aerial vehicle, and the onboard controller of the unmanned aerial vehicle is connected with the unmanned aerial vehicle flight controller;
the to-be-tested path planning algorithm module is used for receiving an unmanned aerial vehicle remote dispatching system instruction for indicating the unmanned aerial vehicle to navigate from a current position to a target position, planning route information according to the unmanned aerial vehicle remote dispatching system instruction, and sending the route information to the second to-be-tested algorithm module and the simulation model;
the second algorithm module to be tested is used for calculating to obtain second control data according to the received route information and sending the second control data to the simulation model;
the simulation model is further used for generating actual air route information of the unmanned aerial vehicle according to the received second control data and verifying whether the air route information is consistent with the actual air route information of the unmanned aerial vehicle or not so as to obtain a test result of the second algorithm module to be tested, and the simulation test result of the unmanned aerial vehicle comprises the test result of the second algorithm module to be tested.
Optionally, the simulation model is further configured to:
and under the condition that the route information is consistent with the actual route information of the unmanned aerial vehicle, verifying whether the actual route information of the unmanned aerial vehicle represents that the unmanned aerial vehicle can navigate from the current position to the target position so as to obtain a test result of the path planning algorithm module to be tested, wherein the simulation test result of the unmanned aerial vehicle comprises the test result of the path planning algorithm module to be tested, which is loaded on the onboard controller of the unmanned aerial vehicle.
Optionally, when the route information is obstacle avoidance route information, the simulation model is further configured to calculate whether the unmanned aerial vehicle collides with an obstacle in a process of navigating according to actual route information of the unmanned aerial vehicle, so as to obtain an obstacle avoidance test result, and the test result of the to-be-tested path planning algorithm module includes the obstacle avoidance test result.
Optionally, the unmanned aerial vehicle simulation test system further comprises a remote control algorithm borne on an unmanned aerial vehicle remote controller/unmanned aerial vehicle remote control system, wherein the remote control algorithm is used for sending a remote control instruction to a third algorithm module to be tested in the flight control system, and the remote control instruction comprises at least one of an instruction for controlling unlocking of the unmanned aerial vehicle, an instruction for controlling switching modes of the unmanned aerial vehicle, an instruction for controlling the navigation direction of the unmanned aerial vehicle, an instruction for controlling the navigation height of the unmanned aerial vehicle, and an instruction for controlling takeoff or landing of the unmanned aerial vehicle;
the third tested algorithm module is used for calculating to obtain third control data according to the received remote control instruction and sending the third control data to the simulation model;
the simulation model is further used for verifying whether the third control data can control the unmanned aerial vehicle to execute the remote control instruction so as to obtain a test result of the third algorithm module to be tested, and the simulation test result of the unmanned aerial vehicle comprises a test result of the third algorithm module to be tested.
Optionally, the simulation model is further configured to send the simulation test result of the unmanned aerial vehicle to a debugging terminal, so that a user of the debugging terminal debugs the algorithm module to be tested, which is borne by the unmanned aerial vehicle flight controller and/or the unmanned aerial vehicle onboard controller, according to the simulation test result of the unmanned aerial vehicle.
Optionally, the simulation model and the first algorithm module to be tested communicate with each other through a CAN bus or a wireless network.
Optionally, the flight control system further includes a monitoring module, configured to, in the process that the first algorithm module to be tested performs operation according to the sensor data, if it is detected that a CPU/RAM occupancy rate of the unmanned aerial vehicle flight controller is greater than a preset threshold, feed back, to the simulation model, information that represents that the CPU/RAM cannot meet the operation complexity of the first algorithm module to be tested, where the unmanned aerial vehicle simulation test result includes the information.
Optionally, the sensor data is at least one of gyroscope data, accelerometer data, magnetometer data, lidar data, infrared sensor data, barometer data, GPS data, camera data.
The present disclosure also provides an unmanned aerial vehicle simulation test method, the method is applied to an unmanned aerial vehicle simulation test system, the unmanned aerial vehicle simulation test system includes a flight control system borne in an unmanned aerial vehicle flight controller, the flight control system includes a software environment, a simulation model and a first algorithm module to be tested, the method includes:
the software environment runs a support program to support the running of the simulation model and the first algorithm module to be tested;
the simulation model receives an unmanned aerial vehicle motion instruction for indicating the unmanned aerial vehicle to be converted from the current pose to the target pose based on a clock of the unmanned aerial vehicle flight controller, calculates according to the unmanned aerial vehicle motion instruction to obtain sensor data, and sends the sensor data to the first algorithm module to be tested;
the first algorithm module to be tested calculates to obtain first control data according to the received sensor data and sends the first control data to the simulation model;
the simulation model verifies whether the received first control data can control the unmanned aerial vehicle to be converted from the current pose to the target pose so as to obtain a test result of the first algorithm module to be tested, and generates an unmanned aerial vehicle simulation test result according to the test result of the first algorithm module to be tested.
The present disclosure also provides an unmanned aerial vehicle flight controller, the unmanned aerial vehicle flight controller includes:
a memory having a computer program stored thereon;
and the processor is used for executing the computer program in the memory so as to realize the steps of the unmanned aerial vehicle simulation test method.
By adopting the technical scheme, the following technical effects can be at least achieved:
the simulation model running on the unmanned aerial vehicle flight controller receives an unmanned aerial vehicle motion instruction used for indicating the unmanned aerial vehicle to be converted from the current pose to the target pose based on the clock of the unmanned aerial vehicle flight controller, and after the sensor data are obtained through resolving according to the unmanned aerial vehicle motion instruction, the simulation model sends the sensor data to the first algorithm module to be tested based on the clock of the unmanned aerial vehicle flight controller, so that the first algorithm module to be tested running on the unmanned aerial vehicle flight controller can obtain first control data through calculation according to the sensor data based on the clock of the unmanned aerial vehicle flight controller. The simulation model sends the sensor data to the first algorithm module to be tested based on the clock of the unmanned aerial vehicle flight controller, and the first algorithm module to be tested is calculated to obtain the first control data based on the clock of the unmanned aerial vehicle flight controller according to the sensor data, so that the first control data which is distorted due to the fact that the simulation model is inconsistent with the clock of the first algorithm module to be tested can be avoided. Therefore, adopt this kind of mode of this disclosure, can obtain real unmanned aerial vehicle simulation test result based on verifying real first control data for the unmanned aerial vehicle simulation test result that obtains through this kind of mode of this disclosure, it is unanimous with this first algorithm module that awaits testing of unmanned aerial vehicle practical application and the actual use result that obtains, thereby reach the effect that promotes unmanned aerial vehicle simulation test result accuracy.
Additional features and advantages of the disclosure will be set forth in the detailed description which follows.
Drawings
The accompanying drawings, which are included to provide a further understanding of the disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the description serve to explain the disclosure without limiting the disclosure. In the drawings:
fig. 1 is a block diagram illustrating a drone simulation test system according to an exemplary embodiment of the present disclosure.
Fig. 2 is a block diagram illustrating another drone simulation test system according to an exemplary embodiment of the present disclosure.
Fig. 3 is a flowchart illustrating a method for simulation testing of a drone according to an exemplary embodiment of the present disclosure.
Fig. 4 is a block diagram illustrating an electronic device according to an exemplary embodiment of the present disclosure.
Detailed Description
The following detailed description of specific embodiments of the present disclosure is provided in connection with the accompanying drawings. It should be understood that the detailed description and specific examples, while indicating the present disclosure, are given by way of illustration and explanation only, not limitation.
Reference will now be made in detail to the exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, like numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the exemplary embodiments below are not intended to represent all implementations consistent with the present disclosure. Rather, they are merely examples of apparatus and methods consistent with certain aspects of the present disclosure, as detailed in the appended claims.
In the related art, after the codes of the unmanned aerial vehicle related algorithm are developed, the codes need to be debugged to ensure the correct availability of the codes. In order to improve the security and efficiency of code debugging, the currently adopted debugging/testing method is to use a simulation system to perform simulation testing on the codes of the unmanned aerial vehicle related algorithm. Specifically, a simulation system runs on a simulation computer, the simulation system sends the solved unmanned aerial vehicle state data to an unmanned aerial vehicle algorithm module on the simulation computer, meanwhile, the simulation system also receives control quantity data fed back by the unmanned aerial vehicle algorithm module, and then the simulation system determines the correctness of the unmanned aerial vehicle algorithm module by verifying the control quantity data. After the unmanned aerial vehicle algorithm module passes the test on the simulation computer, the unmanned aerial vehicle algorithm module is transplanted to an actual unmanned aerial vehicle, and a simulation system running on the simulation computer is used for carrying out secondary test on the unmanned aerial vehicle algorithm module on the unmanned aerial vehicle so as to obtain a final test result of the unmanned aerial vehicle algorithm module.
In the related art, the unmanned aerial vehicle algorithm module is firstly tested on the simulation computer, and then the unmanned aerial vehicle algorithm module is transplanted to a real unmanned aerial vehicle for secondary test, so that the test efficiency of the unmanned aerial vehicle algorithm module is not high enough due to extra time overhead generated by the secondary test.
Moreover, when the simulation system and the unmanned aerial vehicle algorithm module are operated on the simulation computer for testing, because the simulation computer and the hardware equipment actually bearing the unmanned aerial vehicle algorithm module on the unmanned aerial vehicle are two different devices, the clock cycle of the simulation computer is inconsistent with the clock cycle of the hardware equipment actually bearing the unmanned aerial vehicle algorithm module on the unmanned aerial vehicle, and further, the problem that the duration corresponding to the unit time of the clock of the simulation computer is inconsistent with the duration corresponding to the unit time of the clock of the hardware equipment on the unmanned aerial vehicle exists. This problem can cause the result of calculation distortion of the unmanned aerial vehicle algorithm module of operation on the emulation computer, for example, there is the flow that carries out the integral processing to sensor data in unmanned aerial vehicle algorithm module, or according to sensor data that the point in time corresponds, when long a plurality of sensor data carry out relevant calculation processing flow in, this problem can cause the deviation to the calculated result of controlled variable data, and this deviation can be crescent along with the time accumulation, leads to unmanned aerial vehicle algorithm test result inaccurate.
In addition, the performance of the CPU and RAM is closely related to the availability of the drone algorithm module. And because simulation computer and the actual hardware equipment who bears unmanned aerial vehicle algorithm module on the unmanned aerial vehicle are two different devices, CPU and RAM hardware on these two devices have different performance, so when carrying out the simulation test with simulation system and unmanned aerial vehicle algorithm module operation on simulation computer, unable test this unmanned aerial vehicle algorithm module is actual CPU rate of utilization and RAM rate of utilization on the unmanned aerial vehicle.
In addition, because the simulation computer is two different devices with the hardware equipment that actually bears unmanned aerial vehicle algorithm module on the unmanned aerial vehicle, and the hardware equipment that actually bears unmanned aerial vehicle algorithm module on the unmanned aerial vehicle is embedded device, and the programming language that simulation computer and embedded device used is different, so, when will transplanting unmanned aerial vehicle algorithm module to carry out the secondary test on real unmanned aerial vehicle, still need to carry out programming language conversion to unmanned aerial vehicle algorithm module, this has increased the algorithm and has transplanted the cost.
In addition, under the condition that the unmanned aerial vehicle algorithm module is transplanted to a real unmanned aerial vehicle for secondary test, when the simulation system sends the sensor data to the unmanned aerial vehicle from the simulation computer, the real-time sending quantity of the sensor data is limited due to a communication protocol (such as a serial port protocol) between the simulation computer and the unmanned aerial vehicle, and when the sensor data quantity exceeds the upper limit of the communication protocol, data blockage is caused, so that the data real-time requirement of the unmanned aerial vehicle algorithm module cannot be met, and the accuracy of a test result is influenced.
Based on the above reasons, the final test result of the algorithm module of the unmanned aerial vehicle obtained by the test mode in the related art is often inconsistent with the actual use result obtained by actually applying the algorithm module of the unmanned aerial vehicle to the unmanned aerial vehicle. That is, the test result obtained according to such a test method in the related art is inaccurate.
In view of this, the present disclosure provides a simulation test system and method for an unmanned aerial vehicle, and an unmanned aerial vehicle flight controller, so as to improve accuracy of a simulation test result of the unmanned aerial vehicle.
In order to make it easier for those skilled in the art to understand the technical solution of the present disclosure, the following is to briefly explain the reason why the clock periods of different hardware are not consistent and the actual durations of the clock units are not consistent.
The general PC machine is provided with two types of clock sources: a hardware clock and a software clock (otherwise known as a system clock). The clock is driven by a quartz crystal oscillator, and the time is converted by accumulating the pulse number output by the quartz crystal oscillator. The accuracy of the computer clock depends on the accuracy of the crystal frequency. The quartz crystal oscillator is affected by temperature change, voltage change, chip aging and other factors, and the crystal oscillator frequency fluctuates in a small range, wherein the influence of temperature on the crystal oscillator frequency is the largest. Moreover, for process and material reasons, the actual crystal oscillation frequency of the quartz crystal with the same nominal frequency on the same production line is different, and the deviation rate of the actual frequency from the nominal frequency is different from 10-4 magnitude to 10-9 magnitude. For example, on the order of 10-4, the clock has an error of at least 8.64s per day. The clock actual frequency deviation causes a long-term timing accumulation error of the clock. Therefore, even if two devices are manufactured on the same production line, the clock periods are not consistent, and the actual time lengths of the clock units are not consistent. Illustratively, the 10000 second duration of one device may actually be equivalent to the 9999 second duration of another device.
Fig. 1 is a block diagram illustrating an unmanned aerial vehicle simulation test system according to an exemplary embodiment of the present disclosure, where, as shown in fig. 1, the unmanned aerial vehicle simulation test system 100 includes a flight control system 111 carried in an unmanned aerial vehicle flight controller 110, where the flight control system 111 includes a software environment 1111, a simulation model 1112, and a first algorithm to be tested module 1113;
the software environment 1111 is used for providing required support programs for the running of the simulation model 1112 and the first algorithm to be tested 1113; the support program includes at least one of a basic driver and a protocol used in the drone flight controller 110, such as a data input/output protocol, a communication interface driver, and a data transmission protocol.
The simulation model 1112 is configured to receive an unmanned aerial vehicle motion instruction for instructing an unmanned aerial vehicle to convert from a current pose to a target pose based on a clock of the unmanned aerial vehicle flight controller 110, obtain sensor data by resolving according to the unmanned aerial vehicle motion instruction, and send the sensor data to the first algorithm to be tested 1113;
the first algorithm to be tested 1113 is configured to calculate first control data according to the received sensor data, and send the first control data to the simulation model 1112;
the simulation model 1112 is further configured to verify whether the received first control data can control the drone to convert from the current pose to the target pose, so as to obtain a test result of the first algorithm to be tested 1113, and generate a drone simulation test result according to the test result of the first algorithm to be tested 1113.
Illustratively, the simulation model 1112 receives the drone movement command for instructing the drone to change from the current pose to the target pose based on the clock of the drone flight controller 110, calculates sensor data according to the drone movement command, and sends the sensor data to the first algorithm to be tested 1113, and the simulation model 1112 receives the drone movement command for instructing the drone to change from the current pose to the target pose, calculates sensor data according to the drone movement command, and sends the sensor data to the first algorithm to be tested 1113 according to a preset frequency, wherein the preset frequency may represent the number of times that the real sensor sends the sensor data in a unit time, which may be arbitrarily set as required, and the unit time is a unit time determined by the clock of the drone flight controller 110, and the present disclosure is not limited to the unit time duration in the preset frequency being 1 second, 2 second, 1 minute duration of the clock of the drone flight controller 110.
It should be explained that the unmanned aerial vehicle flight controller 110 is used for obtaining sensor data (the sensor data is a sensing result of the environment) through various sensors mounted on the unmanned aerial vehicle, and performing decision making or calculation processing according to the sensor data to obtain control quantity data, so as to control the flight of the unmanned aerial vehicle according to the control quantity data, for example, controlling the size change of the engine power of the unmanned aerial vehicle, controlling the heading of the unmanned aerial vehicle, controlling the rotating speed of the propeller of the unmanned aerial vehicle to increase or decrease a certain value and the like according to the control quantity data. The drone flight controller 110 internally includes at least an IMU (inertial detection sensor) and a CPS sensor. It can be said that the high and low flight performance of the drone depends on the drone flight controller 110.
The simulation model 1112 in the present disclosure is created by building an unmanned aerial vehicle sensor model and an unmanned aerial vehicle controlled object model using MATLAB (Matrix Laboratory) software in the related art, and then automatically generating an embedded code, so as to obtain the simulation model 1112 in the present disclosure. The simulation model 1112 can simulate and output sensor data such as gyro sensor data, accelerometer sensor data, magnetometer sensor data, laser sensor data, barometer sensor data, and GPS sensor data. Correspondingly, the unmanned aerial vehicle sensor models comprise unmanned aerial vehicle sensor models such as a gyroscope sensor model, an accelerometer sensor model, a magnetometer sensor model, a laser sensor model, a barometer sensor model and a GPS sensor model. The unmanned aerial vehicle controlled object model comprises unmanned aerial vehicle application models such as a kinematics model, a dynamics model, a motor model, an electric regulation model, an unmanned aerial vehicle pneumatic model and an environment model of the unmanned aerial vehicle. The sensor data output by the simulation model 1112 is used for controlling the controlled object of the unmanned aerial vehicle, such as a kinematics model, a dynamics model, a motor model, an electric regulation model, an unmanned aerial vehicle pneumatic model and the like of the unmanned aerial vehicle, so as to realize control of the flight pose of the unmanned aerial vehicle.
Illustratively, the simulation model 1112 receives/obtains the drone movement instruction based on the clock of the drone flight controller 110, and the drone movement instruction may be sent by a remote terminal or may be one or more instructions in a set of drone movement instructions previously set in the simulation model 1112. The unmanned aerial vehicle motion instruction is used for indicating that the unmanned aerial vehicle is converted from a current pose to a target pose. For example, the drone movement instruction is an instruction to instruct the drone to ascend a further 10 meters based on the current flying altitude. For another example, the unmanned aerial vehicle movement instruction is an instruction corresponding to an environmental condition that the unmanned aerial vehicle needs to ascend by 10 meters again on the basis of the current flying altitude.
The simulation model 1112 resolves sensor data corresponding to the conversion of the current pose of the unmanned aerial vehicle into the target pose according to the unmanned aerial vehicle motion instruction, wherein the sensor data represents the state of the unmanned aerial vehicle, and the state of the unmanned aerial vehicle refers to the motion condition of the unmanned aerial vehicle at a certain moment. And the motion condition of the unmanned aerial vehicle can be described by sensor data such as flying speed, flying altitude, attack angle, sideslip angle, track pitch angle, rotation angle and the like.
Since the simulation model 1112 is carried on the drone flight controller 110, the frequency at which the simulation model 1112 sends sensor data to the first algorithm to be tested 1113 is determined based on the clock of the drone flight controller 110. For example, the simulation model 1112 sends the sensor data to the first algorithm to be tested 1113 at a preset frequency, where the preset frequency may represent the number of times the real sensor sends the sensor data in a unit time, which is a unit time of the clock of the drone flight controller 110. The real sensor is a sensor actually used in the unmanned aerial vehicle flight controller 110.
The first algorithm to be tested 1113 calculates first control data according to the received sensor data, and sends the first control data to the simulation model 1112. It should be explained that the first control data is used to control changing/maintaining the current state of the drone. For example, the first control data is control quantity data for controlling the magnitude of the motor output power of the drone. For another example, the first control data is control amount data for controlling the magnitude of the force applied to the gyro of the drone.
The simulation model 1112 receives the first control data fed back by the first algorithm to be tested 1113, and verifies whether the received first control data can control the unmanned aerial vehicle to convert from the current pose to the target pose, so as to determine whether the first algorithm to be tested 1113 can correctly calculate to obtain the first control data according to the sensor data, thereby obtaining a test result for the first algorithm to be tested 1113, and a simulation test result for the unmanned aerial vehicle can be generated according to the test result for the first algorithm to be tested.
With the above technical solution, the simulation model 1112 running on the unmanned aerial vehicle flight controller 110 receives the unmanned aerial vehicle motion instruction for instructing the unmanned aerial vehicle to convert from the current pose to the target pose based on the clock of the unmanned aerial vehicle flight controller 110, and after obtaining the sensor data by resolving according to the unmanned aerial vehicle motion instruction, the simulation model 1112 sends the sensor data to the first algorithm to be tested 1113 based on the clock of the unmanned aerial vehicle flight controller, so that the first algorithm to be tested 1113 running on the unmanned aerial vehicle flight controller 110 also obtains the first control data by calculating according to the sensor data based on the clock of the unmanned aerial vehicle flight controller 110. Since the simulation model 1112 sends the sensor data to the first algorithm to be tested 1113 based on the clock of the drone flight controller 110, and the first algorithm to be tested 1113 calculates the first control data according to the sensor data based on the clock of the drone flight controller 110, it is possible to avoid that the first control data is calculated and distorted due to inconsistency between the clocks of the simulation model 1112 and the first algorithm to be tested 1113. Therefore, adopt this kind of mode of this disclosure, can obtain real unmanned aerial vehicle simulation test result based on verifying real first control data for the unmanned aerial vehicle simulation test result that obtains through this kind of mode of this disclosure, it is unanimous with this first algorithm module that awaits testing of unmanned aerial vehicle practical application and the actual use result that obtains, thereby reach the effect that promotes unmanned aerial vehicle simulation test result accuracy.
For example, after the simulation model 1112 running on the drone flight controller 110 obtains the sensor data through calculation according to the drone motion command, the simulation model 1112 may send the sensor data to the first algorithm to be tested 1113 at a preset frequency determined based on a clock of the drone flight controller 110, so that the first algorithm to be tested 1113 obtains the first control data through calculation according to the sensor data. Since the preset frequency may be set to be the same as the frequency of the real sensor on the drone determined based on the clock of the drone flight controller 110, the preset frequency may be completely identical (i.e., the number of times and the duration corresponding to the unit time are completely identical) to the frequency at which the real sensor on the drone transmits the sensing data (the frequency at which the real sensor on the drone transmits the sensing data is calculated in the unit time of the clock of the drone flight controller). After the simulation model 1112 sends the first algorithm to be tested 1113 the preset frequency of sensor data, in the case of complete coincidence with the frequency of sending the sensing data to the first algorithm to be tested 1113 by the real sensor on the drone, in a period of time of any duration, the data volume of the sensor data sent by the simulation model 1112 is the same as the data volume of the sensor data sent by the real sensor of the unmanned aerial vehicle in the period of time, this may ensure that when the first algorithm to be tested 1113 calculates the first control data based on the sensor data sent by the simulation model 1112 during the period of time, the distorted first control data cannot be obtained through calculation due to the difference between the data volume of the sensor data sent by the simulation model 1112 and the sensor data sensed by the real sensors of the unmanned aerial vehicle acquired by the first algorithm to be tested 1113 in the period of time. Therefore, adopt this kind of mode of this disclosure, can obtain real unmanned aerial vehicle simulation test result based on verifying real first control data for the unmanned aerial vehicle simulation test result that obtains through this kind of mode of this disclosure, it is unanimous with this first algorithm module that awaits testing of unmanned aerial vehicle practical application and the actual use result that obtains, thereby reach the effect that promotes unmanned aerial vehicle simulation test result accuracy.
It should be appreciated that the predetermined frequency at which the simulation model 1112 sends sensor data to the first algorithm to be tested 1113 may be set according to actual requirements. Similarly, the frequency of the real sensor on the unmanned aerial vehicle can also be set according to actual requirements. Regardless of whether the specific value of the preset frequency used in the simulation test is the same as the frequency value of the real sensor on the unmanned aerial vehicle, the above technical effect can be achieved as long as the preset frequency used in the simulation test is determined based on the clock of the unmanned aerial vehicle flight controller 110.
Moreover, by adopting the above technical scheme of the present disclosure, because the first algorithm module to be tested does not need to be tested on the simulation computer, the additional time overhead generated by testing the algorithm module of the unmanned aerial vehicle on the simulation computer and then transplanting the algorithm module of the unmanned aerial vehicle to the real unmanned aerial vehicle for secondary test in the related art can be avoided, and therefore, the above technical scheme of the present disclosure can improve the testing efficiency of the simulation test of the unmanned aerial vehicle.
In addition, by adopting the above technical scheme of the present disclosure, since the simulation model 1112 and the first algorithm module to be tested 1113 are both run on the unmanned aerial vehicle flight controller 110, the defect that the actual CPU utilization rate and RAM utilization rate of the unmanned aerial vehicle algorithm module on the unmanned aerial vehicle cannot be tested when the simulation system and the unmanned aerial vehicle algorithm module are run on the simulation computer for testing in the related art can be avoided. Therefore, by adopting the above technical scheme of the present disclosure, the tedious step of whether the first algorithm module to be tested 1113 in the independent test flight control system 111 is compatible with the unmanned aerial vehicle flight controller 110 can be avoided, and the test efficiency of the unmanned aerial vehicle simulation test is improved.
Meanwhile, because the simulation model 1112 and the first algorithm module to be tested 1113 are both run on the unmanned aerial vehicle flight controller 110 in the present disclosure, the above technical solution of the present disclosure can also avoid the problem of high algorithm transplantation cost caused by the fact that the algorithm module of the unmanned aerial vehicle tested on the simulation computer needs to be transplanted to the real unmanned aerial vehicle for the secondary test and the algorithm module of the unmanned aerial vehicle tested on the simulation computer needs to be subjected to programming language conversion in the related art.
Moreover, since the simulation model 1112 and the first algorithm to be tested 1113 are both run on the drone flight controller 110, the simulation model 1112 and the first algorithm to be tested 1113 do not need to communicate through a serial port. Therefore, in the technical scheme of the present disclosure, the problem that in the related art, when the simulation system sends the sensor data to the unmanned aerial vehicle from the simulation computer, the real-time sending amount of the sensor data is necessarily limited due to the communication protocol (such as the serial port protocol) between the simulation computer and the unmanned aerial vehicle, when the sensor data amount exceeds the upper limit of the communication protocol, the data is necessarily blocked, the data real-time requirement of the unmanned aerial vehicle algorithm module cannot be met is caused, and then the above method of the present disclosure can improve the accuracy of the test result.
Optionally, the flight control system further includes a second algorithm to be tested module 1114, where the second algorithm to be tested module 1114 is configured to test a path planning algorithm to be tested 121 carried on the unmanned aerial vehicle onboard controller 120, as shown in fig. 2, where the unmanned aerial vehicle onboard controller 120 is connected to the unmanned aerial vehicle flight controller 110;
the to-be-tested path planning algorithm module 121 is configured to receive an unmanned aerial vehicle remote dispatching system instruction for instructing the unmanned aerial vehicle to navigate from a current position to a target position, plan route information according to the unmanned aerial vehicle remote dispatching system instruction, and send the route information to the second to-be-tested algorithm module 1114 and the simulation model 1112;
the second algorithm to be tested module 1114 is configured to calculate second control data according to the received route information, and send the second control data to the simulation model 1112;
the simulation model 1112 is further configured to generate actual air route information of the unmanned aerial vehicle according to the received second control data, and verify whether the air route information is consistent with the actual air route information of the unmanned aerial vehicle, so as to obtain a test result of the second algorithm module to be tested, where the simulation test result of the unmanned aerial vehicle includes a test result of the second algorithm module to be tested.
It should be explained that the unmanned aerial vehicle onboard controller 120 carries thereon a 4G module, a trajectory planning algorithm module, an obstacle avoidance algorithm module, and the like. The path planning algorithm module to be tested 121 includes a trajectory planning algorithm module, an obstacle avoidance algorithm module, and other trajectory algorithm modules. The on-board controller 120 of the unmanned aerial vehicle may receive an instruction issued by a cloud (e.g., a remote scheduling system, a remote monitoring platform, etc.), generate corresponding route information according to the instruction of the cloud, and send the route information to the unmanned aerial vehicle flight controller 110, or report a real-time status of the unmanned aerial vehicle to the cloud.
The on-board controller 120 of the unmanned aerial vehicle is used for planning a route path according to an instruction of a remote dispatching system of the unmanned aerial vehicle so that the unmanned aerial vehicle navigates from a current position to a target position; and/or planning an obstacle avoidance route path according to the obstacle information sensed by the sensor so as to avoid collision with the obstacle. Therefore, in an implementation, the on-board controller 120 of the drone may carry a to-be-tested path planning algorithm module for planning route information according to an instruction of the drone remote dispatching system and/or sensor data sent by the simulation model 1112, and sending the route information to the second to-be-tested algorithm module 1114 in the flight control system 111 and the simulation model 1112, where the instruction of the drone remote dispatching system is used to instruct the drone to sail from the current position to the target position.
Illustratively, the to-be-tested path planning algorithm module 121 on the unmanned aerial vehicle onboard controller 120 plans route information according to an instruction of the unmanned aerial vehicle remote dispatching system, and sends the planned route information to the second to-be-tested algorithm module 1114 and the simulation model 1112. The second algorithm to be tested module 1114 calculates second control data according to the received lane information, and sends the second control data to the simulation model 1112. The simulation model 1112 generates actual air route information of the unmanned aerial vehicle according to the second control data sent by the second algorithm to be tested module 1114, and verifies whether the actual air route information of the unmanned aerial vehicle is consistent with the air route information sent by the onboard controller 120 of the unmanned aerial vehicle, so as to judge whether the second algorithm to be tested module 1114 can correctly solve according to the air route information to obtain the second control data, and further obtain a test result of the second algorithm to be tested module.
Optionally, the simulation model 1112 is further configured to: and under the condition that the route information is consistent with the actual route information of the unmanned aerial vehicle, verifying whether the actual route information of the unmanned aerial vehicle represents that the unmanned aerial vehicle can navigate from the current position to the target position so as to obtain a test result of the path planning algorithm module to be tested 121, wherein the simulation test result of the unmanned aerial vehicle comprises the test result of the path planning algorithm module to be tested 121 carried on the onboard controller 120 of the unmanned aerial vehicle.
It is easy to understand that if the simulation model 1112 verifies that the actual route information of the unmanned aerial vehicle is consistent with the route information sent by the onboard controller 120 of the unmanned aerial vehicle, it indicates that the second algorithm to be tested 1114 can correctly solve according to the route information to obtain the second control data. Further, under the condition that the second to-be-tested algorithm module 1114 can correctly calculate the second control data according to the route information, whether the path planning algorithm in the to-be-tested path planning algorithm module 121 loaded on the onboard controller 120 of the unmanned aerial vehicle is correct can be determined by verifying whether the actual route information of the unmanned aerial vehicle represents that the unmanned aerial vehicle can navigate from the current position to the target position.
Optionally, when the route information is obstacle avoidance route information, the simulation model 1112 is further configured to calculate whether the unmanned aerial vehicle collides with an obstacle in a process of navigating according to actual route information of the unmanned aerial vehicle, so as to obtain an obstacle avoidance test result, where the test result of the to-be-tested path planning algorithm module 121 includes the obstacle avoidance test result.
For example, the simulation model 1112 calculates a minimum distance between a path corresponding to the actual route information of the unmanned aerial vehicle and an obstacle, and determines whether the minimum distance is greater than or equal to a safe distance, and determines that the path corresponding to the actual route information of the unmanned aerial vehicle successfully avoids the obstacle if the minimum distance is greater than or equal to the safe distance. And under the condition that the minimum distance is smaller than the safety distance, determining that the unmanned aerial vehicle collides with the obstacle when navigating according to the path corresponding to the actual air route information of the unmanned aerial vehicle.
Optionally, the unmanned aerial vehicle simulation test system 100 further includes a remote control algorithm carried on the unmanned aerial vehicle remote controller 130/the unmanned aerial vehicle remote control system 140, where the remote control algorithm is configured to send a remote control instruction to the third algorithm to be tested 1115 in the flight control system 111, where the remote control instruction includes at least one of an instruction for controlling unlocking of the unmanned aerial vehicle, an instruction for controlling a mode switching of the unmanned aerial vehicle, an instruction for controlling a navigation direction of the unmanned aerial vehicle, an instruction for controlling a navigation height of the unmanned aerial vehicle, and an instruction for controlling takeoff or landing of the unmanned aerial vehicle;
the third algorithm to be tested module 1115 is configured to calculate third control data according to the received remote control instruction, and send the third control data to the simulation model 1112;
the simulation model 1112 is further configured to verify whether the third control data can control the unmanned aerial vehicle to execute the remote control instruction, so as to obtain a test result of the third algorithm-to-be-tested module 1115, where the simulation test result of the unmanned aerial vehicle includes a test result of the third algorithm-to-be-tested module 1115.
The unmanned aerial vehicle remote control system 140 can monitor the state of the unmanned aerial vehicle in real time, and can realize remote control on the unmanned aerial vehicle, such as controlling the unmanned aerial vehicle to take off, return to the air, executing tasks and the like. The drone remote control 130 may transmit a signal to the drone flight controller 110 to control the drone to unlock, mode switch, change flight direction, etc.
In one implementation, the drone remote control 130/drone remote control system 140 may send the remote control instruction to the simulation model 1112 at the same time the drone remote control 130/drone remote control system 140 sends the remote control instruction to the third algorithm under test module 1115.
The remote control algorithm disclosed by the disclosure is a remote control algorithm without testing. If the remote control algorithm is the remote control algorithm to be tested, the positive determination of the remote control algorithm to be tested can be verified by using the similar implementation manner to the aforementioned verification of the correctness of the path planning algorithm to be tested module 121, which is not described herein again.
The unmanned aerial vehicle simulation test system 100 further comprises an unmanned aerial vehicle ground monitoring station, and the unmanned aerial vehicle ground monitoring station is used for observing state information such as the posture and the position of the unmanned aerial vehicle in a three-dimensional imaging mode. The ground monitoring station of the unmanned aerial vehicle can also issue instructions such as take-off and air route planning to the unmanned aerial vehicle, and can also send map data to the unmanned aerial vehicle.
Optionally, the simulation model 1112 is further configured to send the simulation test result of the unmanned aerial vehicle to the debugging terminal 150, so that a user of the debugging terminal 150 debugs the algorithm module to be tested carried by the unmanned aerial vehicle flight controller 110 and/or the unmanned aerial vehicle onboard controller 120 according to the simulation test result of the unmanned aerial vehicle. The algorithm modules to be tested carried by the unmanned aerial vehicle flight controller 110 and the unmanned aerial vehicle onboard controller 120 include a first algorithm module to be tested, a second algorithm module to be tested, a third algorithm module to be tested, and a path planning algorithm module to be tested. When the remote control algorithm is the remote control algorithm to be tested, the method is also suitable for debugging the remote control algorithm to be tested.
The debugging terminal 150 represents a development terminal of the unmanned aerial vehicle algorithm, and is used for debugging the tested and BUG-existing algorithm on the unmanned aerial vehicle flight controller 110 and/or the unmanned aerial vehicle onboard controller 120 according to the simulation test result of the unmanned aerial vehicle.
Optionally, the simulation model 1112 communicates with the first algorithm to be tested 1113 through a CAN bus or a wireless network. As CAN be easily understood, the simulation model 1112 communicates with the first algorithm to be tested 1113, the second algorithm to be tested 1114, the third algorithm to be tested 1115, and the path planning algorithm to be tested 121 through a CAN bus or a wireless network.
This kind of simulation model 1112 of this disclosure and the first mode that waits to test algorithm module 1113 and communicate through CAN bus or wireless network, CAN avoid among the correlation technique, simulation system will certainly restrict the real-time transmission volume of sensor data because of the communication protocol (like serial port protocol) between simulation computer and the unmanned aerial vehicle when sending sensor data to unmanned aerial vehicle through the simulation computer, will certainly cause data blocking when sensor data volume exceedes this communication protocol's upper limit, lead to the problem that CAN't satisfy the real-time requirement of unmanned aerial vehicle algorithm module, therefore this kind of mode of this disclosure CAN ensure the real-time demand of unmanned aerial vehicle simulation test, and then promote the accuracy of unmanned aerial vehicle simulation test result.
Optionally, the flight control system 111 further includes a monitoring module, configured to, in a process that the first algorithm module to be tested performs operation according to the sensor data, if it is detected that the CPU/RAM occupancy of the unmanned aerial vehicle flight controller 110 is greater than a preset threshold, feed back, to the simulation model 1112, information representing that the CPU/RAM cannot meet the operation complexity of the first algorithm module to be tested, where the unmanned aerial vehicle simulation test result includes the information. Similarly, the monitoring module may also be configured to detect whether the CPU/RAM occupancy rate of the unmanned aerial vehicle flight controller 110 is greater than a preset threshold value in the process of performing operation by the first algorithm module to be tested according to the sensor data, and feed back information representing whether the CPU/RAM satisfies the operation complexity of the first algorithm module to be tested to the simulation model 1112, where the simulation test result of the unmanned aerial vehicle includes the information.
In this way, since the simulation model 1112 and the first algorithm to be tested 1113 in the flight control system 111 are both run on the drone flight controller 110, the defect that the actual CPU utilization and RAM utilization of the drone algorithm module on the drone cannot be tested when the simulation system and the drone algorithm module are run on the simulation computer for testing in the related art can be avoided. Therefore, by adopting the above technical scheme of the present disclosure, the tedious step of testing whether the first algorithm to be tested 1113 in the flight control system 111 is compatible with the unmanned aerial vehicle flight controller 110 alone can be avoided, and the purpose of improving the simulation test efficiency of the unmanned aerial vehicle is realized.
Optionally, the sensor data is at least one of gyroscope data, accelerometer data, magnetometer data, lidar data, infrared sensor data, barometer data, GPS data, camera data.
In addition, the sensor data may be wind sensor data or other sensor data that may be used by the drone.
Based on the same inventive concept, the present disclosure also provides an unmanned aerial vehicle simulation test method, as shown in fig. 3, the method is applied to an unmanned aerial vehicle simulation test system, for example, the unmanned aerial vehicle simulation test system 100, the unmanned aerial vehicle simulation test system includes a flight control system carried in an unmanned aerial vehicle flight controller, the flight control system includes a software environment, a simulation model, and a first algorithm module to be tested, and the method includes the following steps:
s11, running a supporting program by the software environment to support the running of the simulation model and the first algorithm module to be tested;
s12, the simulation model receives an unmanned aerial vehicle motion instruction used for indicating the unmanned aerial vehicle to be converted from a current pose to a target pose based on a clock of the unmanned aerial vehicle flight controller, sensor data are obtained through resolving according to the unmanned aerial vehicle motion instruction, and the sensor data are sent to the first algorithm module to be tested;
s13, the first algorithm module to be tested calculates to obtain first control data according to the received sensor data, and sends the first control data to the simulation model;
and S14, verifying whether the received first control data can control the unmanned aerial vehicle to be converted from the current pose to the target pose by the simulation model so as to obtain a test result of the first algorithm module to be tested, and generating an unmanned aerial vehicle simulation test result according to the test result of the first algorithm module to be tested.
By adopting the method disclosed by the invention, the accuracy of the simulation test result of the unmanned aerial vehicle can be improved.
Optionally, the unmanned aerial vehicle simulation test system further includes a second algorithm module to be tested, where the second algorithm module to be tested is used to test a path planning algorithm module to be tested, which is carried on an onboard controller of the unmanned aerial vehicle, and the onboard controller of the unmanned aerial vehicle is connected with the unmanned aerial vehicle flight controller; the method further comprises the following steps:
the to-be-tested path planning algorithm module receives an unmanned aerial vehicle remote dispatching system instruction for indicating the unmanned aerial vehicle to navigate from a current position to a target position, plans route information according to the unmanned aerial vehicle remote dispatching system instruction, and sends the route information to the second to-be-tested algorithm module and the simulation model;
the second algorithm module to be tested calculates to obtain second control data according to the received route information, and sends the second control data to the simulation model;
the simulation model generates actual air route information of the unmanned aerial vehicle according to the received second control data, verifies whether the air route information is consistent with the actual air route information of the unmanned aerial vehicle or not, and obtains a test result of the second algorithm module to be tested, wherein the simulation test result of the unmanned aerial vehicle comprises the test result of the second algorithm module to be tested.
Optionally, the generating, by the simulation model, actual air route information of the unmanned aerial vehicle according to the received second control data, and verifying whether the air route information is consistent with the actual air route information of the unmanned aerial vehicle, to obtain a test result of the second algorithm module to be tested, includes:
under the condition that the route information is consistent with the actual route information of the unmanned aerial vehicle, obtaining a test result of the second algorithm module to be tested; and are
Verifying whether the actual air route information of the unmanned aerial vehicle represents that the unmanned aerial vehicle can navigate from the current position to the target position so as to obtain a test result of the path planning algorithm module to be tested, wherein the simulation test result of the unmanned aerial vehicle comprises a test result of the path planning algorithm module to be tested, which is borne on an onboard controller of the unmanned aerial vehicle.
Optionally, when the route information is obstacle avoidance route information, the method further includes: the simulation model calculates whether the unmanned aerial vehicle collides with an obstacle in the process of navigating according to the actual air route information of the unmanned aerial vehicle so as to obtain an obstacle avoidance test result, and the test result of the to-be-tested path planning algorithm module comprises the obstacle avoidance test result.
Optionally, the unmanned aerial vehicle simulation test system further comprises a remote control algorithm borne on an unmanned aerial vehicle remote controller/unmanned aerial vehicle remote control system, wherein the remote control algorithm is used for sending a remote control instruction to a third algorithm module to be tested in the flight control system, and the remote control instruction comprises at least one of an instruction for controlling unlocking of the unmanned aerial vehicle, an instruction for controlling switching modes of the unmanned aerial vehicle, an instruction for controlling the navigation direction of the unmanned aerial vehicle, an instruction for controlling the navigation height of the unmanned aerial vehicle, and an instruction for controlling takeoff or landing of the unmanned aerial vehicle; the method further comprises the following steps:
the third tested algorithm module calculates to obtain third control data according to the received remote control instruction and sends the third control data to the simulation model;
the simulation model verifies whether the third control data can control the unmanned aerial vehicle to execute the remote control instruction so as to obtain a test result of the third algorithm module to be tested, and the simulation test result of the unmanned aerial vehicle comprises the test result of the third algorithm module to be tested.
Optionally, the unmanned aerial vehicle simulation test system further comprises a debugging terminal; the method further comprises the following steps: the simulation model sends the simulation test result of the unmanned aerial vehicle to the debugging terminal, so that a user of the debugging terminal can debug the unmanned aerial vehicle flight controller and/or the algorithm module to be tested borne on the unmanned aerial vehicle onboard controller according to the simulation test result of the unmanned aerial vehicle.
Optionally, the simulation model and the first algorithm module to be tested communicate with each other through a CAN bus or a wireless network.
Optionally, in the process that the first algorithm module to be tested performs operation according to the sensor data, if the flight control system detects that the CPU/RAM occupancy rate of the unmanned aerial vehicle flight controller is greater than a preset threshold, feeding back information representing that the CPU/RAM cannot meet the operation complexity of the first algorithm module to be tested to the simulation model, where the simulation test result of the unmanned aerial vehicle includes the information.
Optionally, the sensor data is at least one of gyro data, accelerometer data, magnetometer data, lidar data, infrared sensor data, barometer data, GPS data, camera data.
With regard to the steps in the above-described method embodiments, the specific manner in which each step performs an operation has been described in detail in the system embodiment related to the method, and will not be elaborated upon here.
The embodiment of the present disclosure further provides an unmanned aerial vehicle flight controller, the unmanned aerial vehicle flight controller includes: a memory having a computer program stored thereon; and the processor is used for executing the computer program in the memory so as to realize the steps of any unmanned aerial vehicle simulation test method.
Fig. 4 is a block diagram illustrating an electronic device 700, which electronic device 700 may be a drone flight controller or a drone onboard controller, according to an example embodiment. As shown in fig. 4, the electronic device 700 may include: a processor 701 and a memory 702. The electronic device 700 may also include one or more of a multimedia component 703, an input/output (I/O) interface 704, and a communication component 705.
The processor 701 is configured to control the overall operation of the electronic device 700, so as to complete all or part of the steps executed by the unmanned aerial vehicle flight controller/unmanned aerial vehicle onboard controller in the unmanned aerial vehicle simulation test method. The memory 702 is used to store various types of data to support operation at the electronic device 700, such as instructions for any application or method operating on the electronic device 700 and application-related data, such as contact data, transmitted and received messages, pictures, audio, video, and the like. The Memory 702 may be implemented by any type of volatile or non-volatile Memory device or combination thereof, such as Static Random Access Memory (SRAM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic Memory, flash Memory, magnetic disk, or optical disk. The multimedia components 703 may include screen and audio components. Wherein the screen may be, for example, a touch screen and the audio component is used for outputting and/or inputting audio signals. For example, the audio component may include a microphone for receiving external audio signals. The received audio signal may further be stored in the memory 702 or transmitted through the communication component 705. The audio assembly also includes at least one speaker for outputting audio signals. The I/O interface 704 provides an interface between the processor 701 and other interface modules, such as a keyboard, mouse, buttons, etc. These buttons may be virtual buttons or physical buttons. The communication component 705 is used for wired or wireless communication between the electronic device 700 and other devices. Wireless Communication, such as Wi-Fi, bluetooth, Near Field Communication (NFC), 2G, 3G, 4G, NB-IOT, eMTC, or other 5G, etc., or a combination of one or more of them, which is not limited herein. The corresponding communication component 705 may thus include: Wi-Fi module, Bluetooth module, NFC module, etc.
In an exemplary embodiment, the electronic Device 700 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components, for performing the steps performed by the drone flight controller/drone onboard controller in the above-described drone simulation test method.
In another exemplary embodiment, there is also provided a computer readable storage medium comprising program instructions which, when executed by a processor, implement the steps performed by the drone flight controller/drone onboard controller in the drone simulation test method described above. For example, the computer readable storage medium may be the memory 702 described above including program instructions executable by the processor 701 of the electronic device 700 to perform the steps performed by the drone flight controller/drone onboard controller in the drone simulation test method described above.
In another exemplary embodiment, there is also provided a computer program product comprising a computer program executable by a programmable apparatus, the computer program having code portions for performing the steps performed by the drone flight controller/drone onboard controller in the drone simulation test method described above when executed by the programmable apparatus.
The preferred embodiments of the present disclosure are described in detail with reference to the accompanying drawings, however, the present disclosure is not limited to the specific details of the above embodiments, and various simple modifications may be made to the technical solution of the present disclosure within the technical idea of the present disclosure, and these simple modifications all belong to the protection scope of the present disclosure.
It should be noted that the various features described in the above embodiments may be combined in any suitable manner without departing from the scope of the invention. In order to avoid unnecessary repetition, various possible combinations will not be separately described in this disclosure.
In addition, any combination of various embodiments of the present disclosure may be made, and the same should be considered as the disclosure of the present disclosure, as long as it does not depart from the spirit of the present disclosure.
Claims (9)
1. An unmanned aerial vehicle simulation test system is characterized by comprising a flight control system borne in an unmanned aerial vehicle flight controller, wherein the flight control system comprises a software environment, a simulation model and a first algorithm module to be tested;
the software environment is used for providing a required support program for the operation of the simulation model and the first algorithm module to be tested;
the simulation model is used for receiving an unmanned aerial vehicle motion instruction for indicating the unmanned aerial vehicle to be converted from a current pose to a target pose based on a clock of the unmanned aerial vehicle flight controller, resolving according to the unmanned aerial vehicle motion instruction to obtain sensor data, and sending the sensor data to the first algorithm module to be tested;
the first algorithm module to be tested is used for calculating to obtain first control data according to the received sensor data and sending the first control data to the simulation model;
the simulation model is further used for verifying whether the received first control data can control the unmanned aerial vehicle to be converted from the current pose to the target pose so as to obtain a test result of the first algorithm module to be tested, and generating an unmanned aerial vehicle simulation test result according to the test result of the first algorithm module to be tested;
the flight control system also comprises a second algorithm module to be tested, wherein the second algorithm module to be tested is used for testing a path planning algorithm module to be tested loaded on an on-board controller of the unmanned aerial vehicle, and the on-board controller of the unmanned aerial vehicle is connected with the flight controller of the unmanned aerial vehicle;
the to-be-tested path planning algorithm module is used for receiving an unmanned aerial vehicle remote dispatching system instruction for indicating the unmanned aerial vehicle to navigate from a current position to a target position, planning route information according to the unmanned aerial vehicle remote dispatching system instruction, and sending the route information to the second to-be-tested algorithm module and the simulation model;
the second algorithm module to be tested is used for calculating to obtain second control data according to the received route information and sending the second control data to the simulation model;
the simulation model is further used for generating actual air route information of the unmanned aerial vehicle according to the received second control data and verifying whether the air route information is consistent with the actual air route information of the unmanned aerial vehicle to obtain a test result of the second algorithm module to be tested, wherein the simulation test result of the unmanned aerial vehicle comprises the test result of the second algorithm module to be tested;
the simulation model is further configured to:
and under the condition that the route information is consistent with the actual route information of the unmanned aerial vehicle, verifying whether the actual route information of the unmanned aerial vehicle represents that the unmanned aerial vehicle can navigate from the current position to the target position so as to obtain a test result of the path planning algorithm module to be tested, wherein the simulation test result of the unmanned aerial vehicle comprises the test result of the path planning algorithm module to be tested, which is loaded on the onboard controller of the unmanned aerial vehicle.
2. The unmanned aerial vehicle simulation test system of claim 1, wherein when the route information is obstacle avoidance route information, the simulation model is further configured to calculate whether the unmanned aerial vehicle collides with an obstacle in a process of navigating according to actual route information of the unmanned aerial vehicle, so as to obtain an obstacle avoidance test result, and the test result of the to-be-tested path planning algorithm module includes the obstacle avoidance test result.
3. The unmanned aerial vehicle simulation test system of claim 1, further comprising a remote control algorithm carried on an unmanned aerial vehicle remote controller/unmanned aerial vehicle remote control system, the remote control algorithm being configured to send a remote control command to a third algorithm to be tested module in the flight control system, wherein the remote control command comprises at least one of a command for controlling unlocking of the unmanned aerial vehicle, a command for controlling switching modes of the unmanned aerial vehicle, a command for controlling a navigation direction of the unmanned aerial vehicle, a command for controlling a navigation height of the unmanned aerial vehicle, and a command for controlling takeoff or landing of the unmanned aerial vehicle;
the third tested algorithm module is used for calculating to obtain third control data according to the received remote control instruction and sending the third control data to the simulation model;
the simulation model is further used for verifying whether the third control data can control the unmanned aerial vehicle to execute the remote control instruction so as to obtain a test result of the third algorithm module to be tested, and the simulation test result of the unmanned aerial vehicle comprises a test result of the third algorithm module to be tested.
4. The unmanned aerial vehicle simulation test system of claim 1 or 2, wherein the simulation model is further configured to send the unmanned aerial vehicle simulation test result to a debugging terminal, so that a user of the debugging terminal debugs an algorithm module to be tested carried on the unmanned aerial vehicle flight controller and/or the unmanned aerial vehicle onboard controller according to the unmanned aerial vehicle simulation test result.
5. The unmanned aerial vehicle simulation test system of claim 1, wherein the simulation model and the first algorithm module to be tested communicate via a CAN bus or a wireless network.
6. The unmanned aerial vehicle simulation test system of claim 1, wherein the flight control system further comprises a monitoring module, configured to feed back, to the simulation model, information representing that the CPU/RAM cannot meet the operation complexity of the first algorithm module to be tested, if it is detected that the CPU/RAM occupancy rate of the unmanned aerial vehicle flight controller is greater than a preset threshold value in the process that the first algorithm module to be tested operates according to the sensor data, and the unmanned aerial vehicle simulation test result includes the information.
7. The UAV simulation test system of claim 1, wherein the sensor data is at least one of gyroscope data, accelerometer data, magnetometer data, lidar data, infrared sensor data, barometer data, GPS data, camera data.
8. The unmanned aerial vehicle simulation test method is applied to an unmanned aerial vehicle simulation test system, the unmanned aerial vehicle simulation test system comprises a flight control system borne in an unmanned aerial vehicle flight controller, the flight control system comprises a software environment, a simulation model, a first algorithm module to be tested and a second algorithm module to be tested, the unmanned aerial vehicle onboard controller is connected with the unmanned aerial vehicle flight controller, and the method comprises the following steps:
the software environment runs a support program to support the running of the simulation model and the first algorithm module to be tested;
the simulation model receives an unmanned aerial vehicle motion instruction for indicating the unmanned aerial vehicle to be converted from the current pose to the target pose based on a clock of the unmanned aerial vehicle flight controller, calculates according to the unmanned aerial vehicle motion instruction to obtain sensor data, and sends the sensor data to the first algorithm module to be tested;
the first algorithm module to be tested calculates to obtain first control data according to the received sensor data and sends the first control data to the simulation model;
the simulation model verifies whether the received first control data can control the unmanned aerial vehicle to be converted from the current pose to the target pose so as to obtain a test result of the first algorithm module to be tested, and generates an unmanned aerial vehicle simulation test result according to the test result of the first algorithm module to be tested;
the second to-be-tested algorithm module is used for calculating to obtain second control data according to received route information and sending the second control data to the simulation model, wherein the route information is obtained by planning a to-be-tested path planning algorithm module carried on an on-board controller of the unmanned aerial vehicle according to a received unmanned aerial vehicle remote dispatching system instruction for indicating the unmanned aerial vehicle to sail from the current position to the target position and sent to the second to-be-tested algorithm module;
the simulation model is further used for generating actual air route information of the unmanned aerial vehicle according to the received second control data and verifying whether the air route information is consistent with the actual air route information of the unmanned aerial vehicle to obtain a test result of the second algorithm module to be tested, the simulation test result of the unmanned aerial vehicle comprises the test result of the second algorithm module to be tested, and the air route information is sent to the simulation model by the path planning algorithm module to be tested;
the simulation model is further configured to:
and under the condition that the route information is consistent with the actual route information of the unmanned aerial vehicle, verifying whether the actual route information of the unmanned aerial vehicle represents that the unmanned aerial vehicle can navigate from the current position to the target position so as to obtain a test result of the path planning algorithm module to be tested, wherein the simulation test result of the unmanned aerial vehicle comprises the test result of the path planning algorithm module to be tested, which is loaded on the onboard controller of the unmanned aerial vehicle.
9. An unmanned aerial vehicle flight controller, characterized in that, unmanned aerial vehicle flight controller includes:
a memory having a computer program stored thereon;
a processor for executing the computer program in the memory to perform the steps of the method of claim 8.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110566895.5A CN113009935B (en) | 2021-05-24 | 2021-05-24 | Unmanned aerial vehicle simulation test system and method and unmanned aerial vehicle flight controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110566895.5A CN113009935B (en) | 2021-05-24 | 2021-05-24 | Unmanned aerial vehicle simulation test system and method and unmanned aerial vehicle flight controller |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113009935A CN113009935A (en) | 2021-06-22 |
CN113009935B true CN113009935B (en) | 2021-09-10 |
Family
ID=76380733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110566895.5A Active CN113009935B (en) | 2021-05-24 | 2021-05-24 | Unmanned aerial vehicle simulation test system and method and unmanned aerial vehicle flight controller |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113009935B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113867383B (en) * | 2021-09-03 | 2023-10-20 | 国网河北省电力有限公司培训中心 | Device and method for automatically controlling simulation type flight training |
CN114488848B (en) * | 2021-12-30 | 2024-08-09 | 北京理工大学 | Unmanned aerial vehicle autonomous flight system and simulation experiment platform for indoor building space |
CN114348294B (en) * | 2021-12-31 | 2023-09-05 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | Unmanned aerial vehicle obstacle avoidance test method, unmanned aerial vehicle obstacle avoidance test device and computer equipment |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130088506A (en) * | 2012-01-31 | 2013-08-08 | 한국전자통신연구원 | Apparatus and method for verifying flight control software for unmanned aerial vehicle |
CN107438799A (en) * | 2016-06-22 | 2017-12-05 | 深圳市大疆创新科技有限公司 | Unmanned plane analogue system, unmanned plane emulation mode and unmanned plane |
CN107798947A (en) * | 2017-11-07 | 2018-03-13 | 中国航天空气动力技术研究院 | A kind of combat version unmanned plane simulated training system and operating method |
CN111856965A (en) * | 2020-06-22 | 2020-10-30 | 拓攻(南京)机器人有限公司 | Unmanned aerial vehicle visual semi-physical simulation system and simulation method thereof |
CN111983936A (en) * | 2020-08-31 | 2020-11-24 | 广州机械科学研究院有限公司 | Semi-physical simulation system and evaluation method for unmanned aerial vehicle |
-
2021
- 2021-05-24 CN CN202110566895.5A patent/CN113009935B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130088506A (en) * | 2012-01-31 | 2013-08-08 | 한국전자통신연구원 | Apparatus and method for verifying flight control software for unmanned aerial vehicle |
CN107438799A (en) * | 2016-06-22 | 2017-12-05 | 深圳市大疆创新科技有限公司 | Unmanned plane analogue system, unmanned plane emulation mode and unmanned plane |
CN107798947A (en) * | 2017-11-07 | 2018-03-13 | 中国航天空气动力技术研究院 | A kind of combat version unmanned plane simulated training system and operating method |
CN111856965A (en) * | 2020-06-22 | 2020-10-30 | 拓攻(南京)机器人有限公司 | Unmanned aerial vehicle visual semi-physical simulation system and simulation method thereof |
CN111983936A (en) * | 2020-08-31 | 2020-11-24 | 广州机械科学研究院有限公司 | Semi-physical simulation system and evaluation method for unmanned aerial vehicle |
Also Published As
Publication number | Publication date |
---|---|
CN113009935A (en) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113009935B (en) | Unmanned aerial vehicle simulation test system and method and unmanned aerial vehicle flight controller | |
US10745127B2 (en) | Systems and methods for execution of recovery actions on an unmanned aerial vehicle | |
US11094205B2 (en) | Fleet management of unmanned aerial vehicles and flight authorization system | |
Sanders et al. | Hierarchical control of small autonomous helicopters | |
Dorobantu et al. | An airborne experimental test platform: From theory to flight | |
CN106020220A (en) | Unmanned aerial vehicle (UAV) and UAV flight control method and device | |
CN110780677A (en) | System and method for monitoring the status of an unmanned aerial vehicle | |
CN112947586B (en) | Unmanned aerial vehicle control method and device, storage medium and rotary wing type unmanned aerial vehicle | |
CN118151675B (en) | Unmanned aerial vehicle attitude control method and system for complex scene cruising | |
CN111684384B (en) | Unmanned aerial vehicle flight control method and device and unmanned aerial vehicle | |
CN117193041A (en) | Unmanned collection card is at ring test platform based on digit twin | |
WO2019227330A1 (en) | Emulation method and device for unmanned aerial vehicle | |
Khan et al. | Are uavs' flight controller software reliable? | |
CN113359724B (en) | Vehicle intelligent driving system and method based on unmanned aerial vehicle and storage medium | |
Yongliang et al. | Attitude estimation for small helicopter using extended kalman filter | |
US11913789B2 (en) | Inspection management device, inspection management method, and recording medium to store program | |
KR102459464B1 (en) | Uav quality certification testing system using uav simulator, and method thereof | |
CN112987794A (en) | Flight cluster simulator | |
Raimundo et al. | Using distance sensors to perform collision avoidance maneuvres on uav applications | |
US12087171B2 (en) | Assurance module | |
CN111736487B (en) | Semi-physical simulation system and method for rotor unmanned aerial vehicle cooperative control system | |
US20200143700A1 (en) | Uav quality certification testing system using uav simulator, and method thereof | |
CN112799421B (en) | Unmanned aerial vehicle control method and device, storage medium and electronic equipment | |
KR102652927B1 (en) | A drone for surveying | |
KR102522264B1 (en) | Drone hils system for detecting explosives |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |