WO2021037071A1 - 一种飞行控制方法及相关装置 - Google Patents

一种飞行控制方法及相关装置 Download PDF

Info

Publication number
WO2021037071A1
WO2021037071A1 PCT/CN2020/111436 CN2020111436W WO2021037071A1 WO 2021037071 A1 WO2021037071 A1 WO 2021037071A1 CN 2020111436 W CN2020111436 W CN 2020111436W WO 2021037071 A1 WO2021037071 A1 WO 2021037071A1
Authority
WO
WIPO (PCT)
Prior art keywords
segment
flight
detour
obstacle
point
Prior art date
Application number
PCT/CN2020/111436
Other languages
English (en)
French (fr)
Inventor
郑立强
Original Assignee
广州极飞科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 广州极飞科技有限公司 filed Critical 广州极飞科技有限公司
Publication of WO2021037071A1 publication Critical patent/WO2021037071A1/zh

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft

Definitions

  • This application relates to the field of automatic control, and specifically to a flight control method and related devices.
  • the embodiments of the present application provide a flight control method and related devices, which can enable the UAV to automatically and efficiently avoid obstacles in a complex operation scenario.
  • the embodiment of the present application provides a flight control method applied to a drone, and the method includes the step of determining obstacles in the flying direction of the drone when the drone is flying according to a preset flight segment Determine the position information of the obstacle; when the position information of the obstacle is in the detour range of the cross-segment segment, generate the cross-segment detour route according to the position information of the obstacle, so that the UAV will follow the The cross-segment detour route detours to the starting safety point of the next segment; when the position information of the obstacle is within the detour range of this segment, the current segment detour is generated according to the position information of the obstacle Route, so that the UAV detours along the detour route of the current flight segment to the starting safe point of the current flight segment.
  • the method further includes:
  • the distance of the first flight segment is greater than the preset dangerous distance
  • the first flight segment distance is the length of the flight segment between the current position of the drone and the first intersection point
  • the second flight segment distance is the distance between the first intersection point and the end point of the current flight segment.
  • the length of the flight segment, the first intersection point is the intersection point close to the current position of the UAV in the intersection point set of the dangerous area centered on the obstacle and the UAV route.
  • the method further includes:
  • intersection point between the dangerous area centered on the obstacle and the flight path of the drone is one or no intersection point, it is determined that there is no possibility of collision between the drone and the obstacle, and the drone is controlled according to the predetermined Set the flight segment to fly continuously.
  • the cross-segment detour route is generated according to the position information of the obstacle, so that the UAV can follow the cross-segment detour.
  • the steps of the detour route to the starting safe point of the next flight segment include:
  • the current flight segment detour route is generated according to the position information of the obstacle, so that the UAV can follow the current flight segment
  • the steps of the detour route to the starting safe point of the current flight segment include:
  • the cross-flight detour route is generated according to the position information of the obstacle, so that the UAV can follow the cross-flight detour route.
  • the steps for a detour route to the starting safe point of the next flight segment include:
  • the current flight segment detour route is generated according to the location information of the obstacle, so that the UAV can follow the current flight segment detour route
  • the steps to detour to the starting safe point of the current flight segment include:
  • the step of determining the detour route across flight segments according to the location information of the obstacle and the starting point of the next flight segment includes:
  • the first and second marking points with the largest flight segment distance are selected, The first marked point is a point close to the current position of the drone, and the second marked point is a point far away from the current position of the drone;
  • a second safety point is determined according to the second marked point and the end point of the next flight segment, where the second safety point is the flight between the second marked point and the end point of the next flight segment. Any point on the paragraph;
  • a new flight segment is generated according to the first safety point and the second safety point.
  • the first safety point is the first marking point
  • the second safety point is the second marking point
  • the step of generating a new flight segment according to the first safety point and the second safety point includes:
  • the path optimization algorithm takes the first safe point as the starting point, the second safe point as the end point, and the dangerous area as the unreachable area to generate a new flight segment.
  • the step of generating a detour route for the current flight segment according to the position information of the obstacle, so that the UAV detours along the detour route of the current flight segment to the starting safety point of the current flight segment include:
  • the current segment detour route is generated according to the flight status of the drone and preset flight variables; wherein the current segment detour route includes multiple detour inflection points, and any two adjacent detour inflection points The sub-segment between is the path with the least power consumption;
  • the step of generating the detour route of the current flight segment according to the flight status of the drone and preset flight variables includes:
  • the flight state set includes a plurality of estimated flight states
  • the smooth trajectory set including a plurality of smooth trajectories
  • the step of generating a flight state set according to the flight state of the drone at the turning point of the orbit and preset flight variables includes:
  • the flight data includes position information and speed information of the orbiting inflection point
  • the step of determining a smooth trajectory set based on the flight data of the orbiting inflection point, the plurality of estimated flight states and preset flight time includes:
  • the smooth trajectory set is determined according to the position information, the speed information, the preset flight time, and the flight acceleration set of the detour inflection point.
  • the step of generating a flight state set according to the flight state of the orbiting inflection point and preset flight variables includes:
  • the flight data includes position information of the detour inflection point; the step of determining a smooth trajectory set based on the flight data of the detour inflection point, the plurality of estimated flight states, and the preset flight time includes:
  • the smooth trajectory set is determined according to the position information of the detour inflection point, the preset flight time, and the flight speed set.
  • the step of determining a smooth trajectory with the least power consumption among the plurality of smooth trajectories as the sub-segment includes:
  • the step of determining the obstacle in the flying direction of the drone includes:
  • the current detection flight segment is a flight segment with a preset detection length on the route, and the starting point of the flight segment with the preset detection length is the current UAV position;
  • the method further includes:
  • the drone When the drone is located within the danger range of the obstacle, the drone is braked.
  • the embodiment of the present application also provides a flight control device, which is applied to a drone.
  • the device includes a detection module configured to determine that the drone is flying when the drone is flying according to a preset flight segment. Obstacles in the direction; a determining module configured to determine the position information of the obstacles; a detour module configured to generate information based on the position information of the obstacles when the position information of the obstacle is in the detour range across the flight segment Cross-segment detour route, so that the UAV detours along the cross-segment detour route to the starting safety point of the next flight segment; and when the position information of the obstacle is located in the current flight segment During the detour range, a detour route for the current flight segment is generated according to the location information of the obstacle, so that the UAV detours along the detour route of the current flight segment to the starting safe point of the current flight segment.
  • the detour module is configured to obtain location information of the obstacle
  • the detour module is further configured to determine whether the position information of the obstacle is within the detour range of the cross-segment segment, and if so, generate a cross-segment detour route according to the position information of the obstacle, so that the UAV Detour along the inter-segment detour route to the starting safe point of the next flight segment; and/or,
  • the detour module is also configured to determine whether the location information of the obstacle is within the detour range of the current flight segment, and if so, generate a detour route for the current flight segment according to the location information of the obstacle, so that the UAV Detour along the detour route of the current flight segment to the starting safe point of the current flight segment.
  • the detour module is configured to determine the cross-sail segment according to the position information of the obstacle and the starting point of the next flight segment. Section of detour route;
  • the detour module is further configured to control the drone to move from the starting point of the cross-segment detour route to the cross-segment detour.
  • the end point of the detour route; the starting point of the cross-segment detour route is located at the current segment, and the end point of the cross-segment detour route is located at the next segment;
  • the detour module is configured to determine the detour route of the current flight segment according to the location information of the obstacle and the starting point of the next flight segment ;
  • the detour module is further configured to control the drone to move from the starting point of the current flight segment detour route to the current flight segment
  • the end point of the detour route; the start and end points of the detour route of the current segment are both located on the current segment.
  • the embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored, and the computer program is executed by a processor to realize the above-mentioned flight control method.
  • An embodiment of the present application also provides a drone control device, including a processor and a memory, the memory stores machine executable instructions that can be executed by the processor, and the processor can execute the machine executable Instructions to achieve the above-mentioned flight control method.
  • the embodiment of the present application also provides a drone, including: a body; a power device installed in the body and configured to provide power for the drone; and a drone control device, the drone control
  • the device includes a processor and a memory, and the memory stores machine-executable instructions that can be executed by the processor, and the processor can execute the machine-executable instructions to implement the above-mentioned flight control method.
  • Fig. 1 is a schematic diagram of an application scenario of a drone provided by an embodiment of the application.
  • FIG. 2 is a schematic flowchart of a flight control method provided by an embodiment of the application.
  • Fig. 3 is a schematic diagram of the setting of the detour range across the flight segment and the detour range of the current flight segment based on the scenario in Fig. 1.
  • Fig. 4 is a schematic diagram of another flow of a flight control method provided by an embodiment of the application.
  • Fig. 5 is a schematic diagram of obstacle detection of a UAV based on the scenario of Fig. 1.
  • Figure 6 is a schematic diagram of a scene based on the scene in Figure 1 where the obstacle is located at the end of the current flight segment.
  • Fig. 7 is a schematic diagram of planning a detour route for the current flight segment based on the scenario in Fig. 6.
  • FIG. 8 is a schematic diagram of the specific process of S130-2 in FIG. 4.
  • Fig. 9 is a schematic diagram of the specific process of S130-21 in Fig. 8.
  • Fig. 10 is a schematic diagram of another scenario based on the scenario of Fig. 1 in which the obstacle is located at the end of the current flight segment.
  • Fig. 11 is a schematic diagram of a scene based on the scenario of Fig. 1 in which the obstacle is located in the middle of the current flight segment.
  • Fig. 12 is a schematic diagram of a specific process of S140-2 in Fig. 4.
  • Fig. 13 is a schematic diagram of planning a detour route for the current flight segment based on the scenario in Fig. 11.
  • Fig. 14 is a schematic diagram of the specific process of S140-21A in Fig. 12.
  • Fig. 15 is a schematic diagram of another specific process of S140-2 in Fig. 4.
  • FIG. 16 is a functional module diagram of a flight control device provided by an embodiment of the application.
  • Fig. 17 is a structural block diagram of a drone control device provided by an embodiment of the application.
  • Fig. 18 is a structural block diagram of a drone provided by an embodiment of the application.
  • Icon 100-UAV; 110-airframe; 120-power equipment; 130-UAV control equipment; 131-memory; 132-communication interface; 133-processor; 134-bus; 200-route; 210-th First flight segment; 220-second flight segment; 230-third flight segment; 300-flight control device; 310-detection module; 320-determination module; 330-detour module; 340-brake module.
  • this application proposes a flight control method and related devices.
  • FIG. 1 shows an application scenario of the unmanned aerial vehicle provided by an embodiment of the present application.
  • the UAV 100 flies along a route 200, which includes 4 flight segment endpoints T1, T2, T3, and T4.
  • T1 is the starting point of route 200
  • T4 is the end of route 200
  • the flight segment between T1 and T2 is the first flight segment 210
  • the flight segment between T2 and T3 is the second flight segment 220, which is between T3 and T4
  • the third flight segment 230 between.
  • the route 200 may be a route pre-stored in the drone 100, or a route that the drone 100 receives in real time from other terminals.
  • the number of flight segments and specific trajectories of the route 200 can be set according to actual conditions, and the route 200 provided in this application only represents one possible implementation manner.
  • the above-mentioned terminal can be a dedicated control device for the drone, or a mobile terminal of a user connected to the drone, such as a mobile phone, a laptop, or a control station, as long as it can transmit routes to the drone. .
  • Various existing communication methods can be used to exchange data between the terminal and the UAV to control the UAV, which will not be repeated here.
  • the aforementioned terminal may also be another drone that communicates with the drone.
  • the drone 100 can detect the surrounding environment, generate a three-dimensional map according to the detected surrounding environment, and convert the three-dimensional map into a three-dimensional map space with spatial distance information according to a preset conversion rule.
  • the three-dimensional map is converted into a European three-dimensional map according to the Euclidean distance transform (EDT).
  • EDT Euclidean distance transform
  • the drone 100 is equipped with onboard sensors, and the drone 100 can detect the surrounding environment through the onboard sensors.
  • the above-mentioned sensors may include, but are not limited to, one or more of cameras, millimeter wave radar, and laser radar (LiDAR).
  • the UAV 100 can also obtain the distance between any two points in the three-dimensional map space in the three-dimensional map space with spatial distance information, and further, the UAV 100 can determine the distance to other objects. To determine whether it may collide with other objects.
  • the drone's onboard sensors can detect the distance between other objects and the current detection flight segment.
  • the object is determined to be an obstacle, where the current detection flight segment is the flight segment of the preset detection length on the route 200, and the preset detection The starting point of the length segment is the current position.
  • the area within the preset obstacle distance of the current detection flight segment is the obstacle area.
  • the UAV 100 detects that other objects enter the obstacle area, the object is determined to be an obstacle.
  • the above-mentioned preset obstacle distance can be directly given by the user or developer, or it can be intelligently calculated and updated in real time by the drone itself according to its model, flying speed, altitude, operation scenario, operation type and other parameters.
  • the UAV 100 provided in the embodiments of the present application includes, but is not limited to, inspection UAVs, agricultural UAVs, meteorological UAVs, exploration UAVs, surveying UAVs, and the like.
  • the embodiment of the present application does not limit the dimensions of the route and the obstacle area to two dimensions.
  • the dimensions of the route and the obstacle area detected by the drone provided in the embodiment of the present application may actually be three-dimensional. Therefore, for the purpose of simple description, the embodiments in this article are only described with two-dimensional schematic diagrams. Based on the solutions shown in the embodiments of the present application, those skilled in the art can combine the contents of the present application without creative work.
  • the technical solution is implemented in a three-dimensional environment, and will not be repeated here.
  • an embodiment of the present application also provides a flight control method, please refer to FIG. 2.
  • the execution subject of the method may be the drone 100 shown in FIG. 1, and the method includes the following steps:
  • the drone 100 is flying along the first flight segment 210.
  • the first flight segment 210 is the preset flight segment, and the drone 100 can determine whether there is a flight direction. obstacle.
  • the UAV 100 can obtain the distance between other objects and itself, and determine whether other objects are obstacles based on the distance, or the obstacle determination method described above can be used (that is, when the distance between other objects and the current detection flight segment is less than the expected distance When the obstacle distance is set, the object is determined to be an obstacle) to determine whether other objects are obstacles.
  • the UAV 100 can also directly obtain obstacle information in the space, for example, in the above-mentioned three-dimensional map space When the obstacle location information is marked, the drone only needs to obtain the three-dimensional map space pre-marked with the obstacle location information to directly obtain the obstacle location information in the space.
  • the specific method of how to detect obstacles in the flying direction of the drone is not limited.
  • S120 Determine the location information of the obstacle.
  • the position information of the obstacle may be the coordinates of the obstacle in space.
  • the detour range of the cross-line segment can be pre-marked in the above-mentioned three-dimensional map space, such as the detour range W2 of the cross-line segment as shown in FIG. 3, wherein the method for determining the detour range of the cross-line segment can be as follows: The detour range of the cross-segment is divided in advance in the three-dimensional map space, or the detour range of the cross-segment is determined based on the position of the end point of the preset flight segment, or based on the drone, obstacles and the end point of the preset flight segment The positional relationship between determines the detour range of the cross-line segment.
  • the detour range of the cross-segment can be associated with the end point of the preset flight segment (that is, the current flight segment), and the range within the preset distance centered on the end point of the preset flight segment is the detour range of the cross-segment.
  • the detour range of the cross-line segment may be a range divided near the end point of the preset flight segment, where the preset distance may be predetermined by the developer based on experience or experiment. Therefore, the embodiment of the present application does not limit the specific manner of how to determine the detour range of the cross-line segment.
  • S140 When the position information of the obstacle is within the detour range of the current flight segment, generate the detour route of the current flight segment according to the position information of the obstacle, so that the UAV can detour to the detour route of the current flight segment along the detour route of the current flight segment. Start at the safe point.
  • the detour range of this flight segment can be pre-marked in the above-mentioned three-dimensional map space, such as the detour range W1 of this flight segment as shown in FIG.
  • the method can be to pre-divide the detour range of this flight segment in the three-dimensional map space, or determine the detour range of this flight segment based on the position of the preset end point, or based on drones, obstacles and forecasts. It is assumed that the positional relationship between the end points of the flight segment determines the detour range of this flight segment, or the space outside the detour range of the cross-segment segment is determined to be the detour range of this flight segment.
  • the detour range of this flight segment can be associated with the end point of the preset flight segment (that is, the current flight segment).
  • the range outside the preset distance centered on the end point of the preset flight segment is the current flight segment.
  • the detour range, or the detour range of this segment may be the range divided near the end point of the preset segment. Therefore, the embodiment of this application does not limit the specific method of how to determine the detour range of this flight segment.
  • the specific method of generating the current segment detour route and the cross-segment detour route according to the position information of the obstacle can be set according to the actual application scenario.
  • the embodiment of this application is about how to generate the detour route according to the position information of the obstacle.
  • end point of the inter-segment detour route is located on the next segment, and the end point of the current segment detour route is located on the current segment.
  • this method can control the UAV to detour to the next flight segment along the generated cross-segment detour route when the position information of the obstacle is in the cross-segment detour range.
  • different detour routes are determined according to the position information of obstacles in different ranges, and the end points of the determined detour routes will also be different due to the position information of obstacles in different ranges.
  • UAVs can flexibly bypass obstacles in different ranges and realize the beneficial effects of UAVs automatically and efficiently bypass obstacles in complex operating scenarios.
  • the starting safety point can be understood as a point where the distance between the drone and the obstacle on the corresponding flight segment after bypassing the obstacle is greater than or equal to the preset threshold.
  • the preset threshold can be given by the developer based on experience, or it can be calculated intelligently by the UAV's control system based on the UAV's operating speed, altitude, operation scenario, operation type and other parameters. The calculation method can be found in The related technology will not be repeated here.
  • FIG. 4 is a schematic diagram of another flow of the flight control method provided by an embodiment of the application.
  • the flight control method provided by the embodiments of the present application is not limited to the specific sequence shown in FIG. 4 and the following. It should be understood that in other embodiments, the sequence of some steps of the flight control method provided by the embodiments of the present application They can be exchanged according to actual needs, or some of the steps can be omitted or deleted. The specific process shown in FIG. 4 will be described in detail below.
  • the process of how to determine obstacles in the flying direction of the drone includes: detecting the distance between other objects and the currently detected flight segment; the current detected flight segment is a flight segment with a preset detection length on the route.
  • the starting point of the flight segment of the preset detection length is the current position of the drone; when the distance between other objects and the current detection flight segment is less than the preset obstacle distance, other objects are determined as obstacles. That is, as shown in FIG. 5, the UAV 100 can start from the current position and traverse the preset flight segment distance of the untraveled part of the current route (that is, the bolded flight segment in Figure 5, the current detection flight segment A).
  • the distance between any point of and other objects if there is a point on the preset segment distance of the untraveled part of the current route, and the distance between a certain point and other objects is less than the preset obstacle distance, the other object is determined to be an obstacle .
  • the drone can calculate the distance between the current position of the drone and any object on the three-dimensional map of Euclidean distance.
  • comprehensive UAV flight status such as speed, acceleration, and other parameters as well as route information can calculate what the UAV can allow in the current flight state, and ensure that the UAV hits the aircraft.
  • the minimum distance threshold for decelerating and stopping in front of the object Therefore, when the distance between the drone and the object is less than the threshold, the drone determines that it is at risk of colliding with the object and determines that the object is an obstacle.
  • the flight control method provided in the embodiments of this application can only be used for Forward obstacle detection and flight segment planning.
  • the drone can hover or move backwards in various directions, and its fuselage can also be equipped with sensors for various directions. Therefore, based on the same principle, the above method can also be used for backward or side obstacles. Object detection and flight segment planning are not repeated here.
  • S120 Determine the location information of the obstacle.
  • the method further includes: S121, when the distance of the first flight segment is greater than the preset dangerous distance, judging whether the distance of the second flight segment is less than the preset distance; When the distance of the second leg is less than the preset distance, the location information of the obstacle is determined to be in the detour range; when the distance of the second leg is greater than or equal to the preset distance, the location information of the obstacle is determined to be in the current leg Detour range; among them, the distance of the first flight segment is the length of the flight segment between the current position of the drone and the first intersection, and the distance of the second flight segment is the length of the flight segment between the first intersection and the end point of the current flight segment.
  • the first intersection point is the intersection point close to the current position in the intersection point set of the dangerous area centered on the obstacle and the UAV route.
  • the drone may divide a dangerous area with the obstacle as the center in the three-dimensional map space acquired in real time. There may be multiple intersections between the dangerous area centered on the obstacle and the drone route, and these intersections are the intersection set. The intersection close to the current position in the set of intersections is the first intersection. As shown in Figure 6, the intersection set of the dangerous area centered on the obstacle and the UAV route includes two intersections A and B, where A is the first intersection.
  • the flight segment length of the flight segment S1 between the current position of the drone and the first intersection A is the first flight segment distance s1
  • the flight segment length of is the second flight segment distance s2.
  • the above-mentioned dangerous area divided by the obstacle as the center can also be called the obstacle expansion area, and the size of the area is not necessarily fixed.
  • the obstacles detected by drones are diverse, including fixed obstacles, such as buildings, street lights, telephone poles, etc., as well as moving obstacles, such as pedestrians and vehicles. Wait. Therefore, optionally, the UAV can determine the type of obstacle through a preset database and algorithm based on the data collected by its onboard sensor, and dynamically adjust the range of the above-mentioned dangerous area in a targeted manner.
  • the drone can use on-board sensors, such as millimeter wave radar or lidar, to collect the speed of the obstacle.
  • the dangerous area The range needs to be properly expanded according to the movement of obstacles.
  • the principles and algorithms of the above detection and calculation process can be referred to in the prior art, which will not be repeated here.
  • the UAV When the obstacle is determined, it means that the UAV may collide with the obstacle while flying along the current flight segment. Therefore, the UAV needs to determine whether the distance of the first flight segment is greater than the preset dangerous distance. As shown in Figure 6, when the distance s1 of the first flight segment is greater than the preset dangerous distance, it means that there is no possibility of the UAV colliding with the obstacle in the current situation. Furthermore, under the condition that the distance s1 of the first flight segment is greater than the preset dangerous distance, the drone can determine in real time whether the distance s2 of the second flight segment is less than the preset distance. When the distance s2 of the second leg is less than the preset distance, it means that the obstacle is closer to the end point T2 of the current leg.
  • the dangerous area centered on the obstacle may cover the end point T2 of the current leg.
  • the UAV may not be able to return to the current flight segment normally when it detours.
  • it can be determined that the position information of the obstacle is in the cross-segment detour range, and the UAV can directly bypass the end point of the current flight segment. Enter the next flight segment to continue the task.
  • the distance s2 of the second leg is greater than or equal to the preset distance, it means that the obstacle at this time is far from the end point T2 of the current leg.
  • the UAV can normally return to the current flight segment when it detours.
  • the location information of the obstacle may refer to the coordinates of the obstacle in the three-dimensional map space.
  • the dangerous area centered on the obstacle may be a space area with a preset distance value from the outer surface of the obstacle, or, in a simplified embodiment, the dangerous area may also be a preset distance with a radius centered on the obstacle. Value sphere.
  • the contour range of the dangerous area is not limited to a sphere, and those skilled in the art can define the range of the dangerous area according to actual conditions.
  • the dangerous area can also be an ellipsoid, a cylinder, a cube, etc.
  • the aforementioned flight segment length is the length of the flight segment between two points on the flight path of the drone.
  • the flight segment end point T1 and the flight segment end point T2 are The length is the length of the first flight segment 210.
  • the flight control method provided by the embodiment of the present application further includes the steps:
  • S130-2 Determine whether the position information of the obstacle is within the detour range of the cross-segment, if so, generate the cross-segment detour route according to the position information of the obstacle, so that the UAV can detour along the detour route of the cross-segment segment. Go to the starting safe point of the next flight segment.
  • the cross-segment detour route can be generated according to the position information of the obstacle.
  • a possible cross-segment detour route plan is shown in Figure 7, the current flight segment of the drone is the first flight segment 210, and the next flight segment is the second flight segment 220.
  • the starting point of the inter-segment detour route is P1
  • the end point of the inter-segment detour route is P2.
  • step S130-2 may include the following sub-steps:
  • S130-21 Determine a cross-segment detour route according to the location information of the obstacle and the starting point of the next flight segment.
  • the process of determining the cross-segment detour route based on the location information of the obstacle and the starting point of the next flight segment may include the following steps: according to the obstacle-centered dangerous area and the drone route The set of intersections and the starting point of the next flight segment determine the safety point, and generate a new flight segment based on the safety point as a cross-segment detour route; the safety point includes the first safety point and the second safety point.
  • the point in the intersection set is the safety point closest to the obstacle on the UAV route.
  • the intersection set of the dangerous area centered on the obstacle and the drone route includes intersection A and intersection B, and intersection A and intersection B are the safety points closest to the obstacle.
  • intersection A and intersection B are the safety points closest to the obstacle.
  • the two points with the largest flight segment distance are selected as the first safety point and the second safety point, respectively.
  • the two points with the largest segment distance on the UAV route as the first safety point and the second safety point, not only can the cross-segment detour route of the UAV circumvent obstacles have the smallest It also realizes that the UAV can avoid obstacles smoothly and enter the next flight segment.
  • Step S130-21 may include the following sub-steps:
  • S130-21-1 select the first marked point and the second marked point with the largest segment distance from the set of intersections and the starting point of the next flight segment, where the first marked point is the point close to the current position, and the second marked point Is a point far away from the current position.
  • intersection set includes intersection A and intersection B, and the starting point of the next flight segment is T2.
  • the first marked point is a point close to the current position
  • the second marked point is a point far away from the current position
  • the first marked point is A
  • the second marked point is T2.
  • the total number of intersection points in the set of intersection points between the dangerous area centered on the obstacle and the flight path of the drone may be more than two.
  • the next flight segment in step S130-21-1 may actually be the mid-distance route end point of the flight segment where the drone route intersects the dangerous area centered on the obstacle The nearest flight segment.
  • S130-21-2 Determine the first safety point according to the current position and the first marked point; the first safety point is any point on the flight segment between the current position and the first marked point.
  • the first safe point can be any point on the flight segment between the current position of the drone and the first marked point A. It is understandable that in order to ensure that the drone travels along the original route as much as possible to complete the task, the first safe point can be selected as the first marked point.
  • S130-21-3 Determine the second safety point based on the second marked point and the end point of the next flight segment; the second safety point is any point on the flight segment between the second marked point and the end point of the next flight segment .
  • the second safety point can be any point on the flight segment between the second marked point T2 and the end point T3 of the next flight segment. It is understandable that, in order to ensure that the drone travels along the original route as much as possible to complete the task, the second safe point can be selected as the second marked point.
  • S130-21-4 Generate a new flight segment based on the first safety point and the second safety point.
  • the new flight segment in order to ensure the optimal path for generating new flight segments based on the first safety point and the second safety point, the new flight segment can be generated according to the route optimization algorithm, and the dangerous area centered on the obstacle is set as the unreachable area.
  • the path optimization algorithm described above can use various path optimization algorithms in the prior art, such as A* search algorithm (A-star Algorithm, A-star algorithm).
  • A* search algorithm can use the first safe point as the starting point and the second safe point as the end point to generate a new segment as a cross-segment detour route.
  • the cross-segment detour route does not intersect the danger zone centered on the obstacle.
  • the starting point of the new flight segment L1 is the first safety point P1
  • the end point is the second safety point P2.
  • cross-sector detour route is taken as an example for description in the form of a smooth arc, the form of the cross-sector detour route is not limited to this.
  • the cross-sector detour route is not limited to this.
  • the segment detour route can also be composed of multiple straight lines connected end to end, and those skilled in the art can choose by themselves according to the actual situation.
  • the situation at this time can be divided into: the obstacle is close to the end point of the current leg And it is close to the current segment, or the obstacle is close to the end point of the current segment and closer to the next segment.
  • the obstacle is close to the end point of the current leg And it is close to the current segment, or the obstacle is close to the end point of the current segment and closer to the next segment.
  • the steps from S130-21-1 to S130-21-4 can be implemented to control the UAV to bypass obstacles along the generated cross-segment detour route.
  • the method provided in the embodiments of this application can also detect the obstacles in real time, and when the obstacles are detected When the distance of the first leg is greater than the preset dangerous distance, judge again whether the distance of the second leg is less than the preset distance to determine how to detour the obstacle.
  • the cross-segment detour route is the current flight segment of the UAV. Therefore, for some moving obstacles, or obstacles that have not been detected before, the new flight segment here can be used as the current flight segment in S130-21, and the iterative estimation of the detour route can be repeated.
  • the dimensions of the route and the obstacle area are limited to the same two-dimensional plane, so the corresponding detour route is also on the two-dimensional plane.
  • the drone in addition to changing the heading by turning, the drone can also change the altitude (for example, climb) to avoid obstacles, or to avoid obstacles.
  • the altitude for example, climb
  • the drone can also change the altitude (for example, climb) to avoid obstacles, or to avoid obstacles.
  • steps S130-21-1 to S130-21-4 when the obstacle is close to the end point of the current flight segment, the drone can normally circumvent the obstacle and directly enter the next one. Flight segment. In this way, obstacles can be avoided automatically and efficiently, and the smoothness of the drone operation process is improved. And while performing the above steps S130-21-1 to S130-21-4, it also determines in real time whether the distance of the first flight segment is less than or equal to the preset dangerous distance. When the distance of the first flight segment is less than or equal to the preset dangerous distance , Stop the drone.
  • Step S130 also includes sub-steps S130-22: controlling the drone to move from the starting point of the cross-segment detour route to the end of the cross-segment detour route; The starting point is located on the current flight segment, and the end point of the inter-segment detour route is located on the next flight segment.
  • S130-22 may include: controlling the UAV to enter a new flight segment from the current flight segment through the first safe point, and controlling the UAV to return when the UAV moves along the new flight segment to the second safe point To the next flight segment.
  • the flight control method provided by the embodiment of the present application may further include the following steps:
  • S140-2 Judge whether the location information of the obstacle is within the detour range of this flight segment. If so, generate the detour route of the current segment according to the location information of the obstacle so that the UAV can detour along the detour route of the current flight segment. Go to the starting safe point of the current flight segment.
  • the detour route of the current segment can be generated according to the position information of the obstacle.
  • a possible detour route plan for the current flight segment is shown in FIG. 11, assuming that the current flight segment of the UAV is the first flight segment 210.
  • the starting point of the detour route for the current segment is Q1
  • the end point of the detour route for the current segment is Q2.
  • the drone When the drone flies to Q2, the drone is controlled to return to the first flight segment 210 from Q2.
  • the drone is controlled to return to the first flight segment 210 from Q2.
  • the drone for how to determine whether the location information of the obstacle is within the detour range of this flight segment, please refer to the above S121 for details, which will not be repeated here.
  • the UAV Because when an obstacle is detected, the UAV is controlled to bypass the obstacle along different circumnavigating flight segments according to the distance of the second flight segment, and when the distance of the second flight segment is less than the preset distance, the UAV is controlled Follow the cross-segment detour route to bypass obstacles and directly enter the next flight segment.
  • the distance of the second leg is greater than or equal to the preset distance, control the drone to bypass the obstacles and return along the cross-segment detour route The current flight segment. This prevents the UAV from being unable to return to the route normally when circumventing obstacles, and achieves the goal of ensuring that the UAV can automatically and efficiently complete the operation task when faced with complex operation scenarios.
  • step S140-2 may specifically include the following sub-steps:
  • the current segment detour route includes multiple detour inflection points, between any two adjacent detour inflection points
  • the sub-segment of is the path with the least power consumption.
  • the process of generating the detour route of the current flight segment according to the flight status of the drone and the preset flight variables may include: when the distance of the third flight segment is greater than the distance of the first flight segment, according to the current acceleration of the drone , The preset detour time and the preset acceleration increment generate a new segment as the detour route of the current segment.
  • the new flight segment includes multiple detour inflection points.
  • the sub-segment between any two adjacent detour inflection points is the path with the least power consumption.
  • the end detour inflection point of the last sub-segment is located on the current flight segment.
  • the segment distance is the length of the segment between the current position and the end point of the current segment.
  • multiple sub-paths can be generated according to the current acceleration of the drone, the preset detour time, and the preset acceleration increment, and Select the path with the least power consumption among the multiple sub-paths as the sub-segment. Then determine whether the newly generated sub-segment intersects with the current segment.
  • the current acceleration of the drone, the preset detour time, and the preset acceleration increment are continued. Generate multiple sub-paths, and select the path with the least power consumption among the multiple sub-paths as the sub-segment until the newly generated sub-segment intersects the current flight segment.
  • the calculation method of UAV power consumption will be explained in detail below. At the same time, it can be understood that the more the number of sub-paths, the more precise the planning of the new route. For those with complex shapes or larger volumes For obstacles, the drone can automatically adjust the number of sub-paths, and vice versa.
  • the start and end points of the sub-segments L1, L2, and L3 are the detour inflection points, and the distance of the third flight segment is between the current position of the UAV 100 and the end point T2 of the current flight segment.
  • the length of the flight segment is the detour inflection points
  • the distance of the third flight segment may be less than or equal to the distance of the second flight segment.
  • This situation means that the first intersection is on the next flight segment. That is, the position where the UAV actually collides with the obstacle is in the next flight segment. If the drone is controlled to detour at this time, it may conflict with the detour control of steps S130-21 and S130-22. Therefore, when the distance of the third flight segment is less than or equal to the distance of the second flight segment and the distance of the second flight segment is greater than or equal to the preset distance, there is no need to control the drone to circumvent the obstacle during the execution of step S140-21A.
  • step S140- 21A can include the following sub-steps:
  • a flight state set is generated according to the flight state of the detour point and preset flight variables; the flight state set includes multiple estimated flight states.
  • the flight state may include acceleration
  • the preset flight variables include preset acceleration increments.
  • S140-21A-1 may include: generating according to the acceleration of the inflection point of the orbit and the preset acceleration increments.
  • the flight acceleration set is used as the flight state set.
  • the flight acceleration set includes multiple flight accelerations, and the flight acceleration satisfies the following formula:
  • ⁇ a is the preset acceleration increment
  • a x , a y , and a z are the components of acceleration in different directions
  • k x , k y , and k z are all constants in the preset interval. Is the components of flight acceleration in different directions.
  • the drone can detect the surrounding environment, and generate a three-dimensional map according to the detected surrounding environment, and according to preset conversion rules, such as Euclidean distance transformation, the three-dimensional map is converted into a three-dimensional map with spatial distance information.
  • the acceleration included in the flight state can have components in different directions, such as the aforementioned a x , a y , a z (that is, a x , a y , and a z constitute acceleration), and the flight acceleration can have different directions Weight, such as the above (which is Constitute flight acceleration).
  • the values among k x , k y , and k z are independent of each other.
  • k x , k y , k z are all constants in the preset interval, and k x , k y , k z can be There are multiple sets of different values.
  • each flight acceleration satisfies the formula: And k x , k y , and k z can have multiple sets of different values. Therefore, when the flight acceleration is generated according to the acceleration of the orbiting inflection point and the preset acceleration increment, multiple different flight accelerations can be generated as the aforementioned flight acceleration set. In other words, an array set can be obtained according to k x , k y , and k z .
  • Each element in the array set includes three numbers in a preset interval, and all elements in the array set include the preset interval
  • a preset acceleration increment set is generated, and then a flight acceleration set is generated according to the preset acceleration increment set and the acceleration as the flight state set.
  • k x , k y , and k z can be any constant in the first arithmetic sequence in the preset interval (that is, according to k x , k y , and k z All elements of the array set include any combination of three constants in the first arithmetic sequence in the preset interval), for example, when the preset interval is [-10, 10], and the first arithmetic sequence of the preset interval When it is an integer from -10 to 10, k x , k y , and k z can be any constant of the arithmetic sequence.
  • step S140-21A-1 may include: according to the speed information of the orbiting inflection point And the preset speed increment generates the flight speed set as the flight state set; the flight speed set includes multiple flight speeds, and the flight speed satisfies the following formula:
  • ⁇ v is the preset speed increment
  • v x , v y , and v z are the components of the speed information in different directions
  • k x , k y , and k z are all constants in the preset interval. Is the component of flight speed in different directions.
  • the drone can detect the surrounding environment, and generate a three-dimensional map according to the detected surrounding environment, and according to preset conversion rules, such as Euclidean distance transformation, the three-dimensional map is converted into a three-dimensional map with spatial distance information.
  • the speed information included in the flight status can have components in different directions, such as the aforementioned v x , v y , and v z (that is, v x , v y , and v z constitute speed information), and the flight speed can be There are components in different directions, such as the above (which is Constitute the flight speed).
  • the values among k x , k y , and k z are independent of each other.
  • the preset interval is [-10, 10]
  • k x is taken over any constant in [-10, 10]
  • k y And k z can take any constant in [-10, 10]
  • k x , k y , k z are all constants in the preset interval
  • k x , k y , k z can be There are multiple sets of different values.
  • each flight speed satisfies the formula: And k x , k y , and k z can have multiple sets of different values. Therefore, when the flight speed is generated according to the speed information of the orbiting inflection point and the preset speed increment, multiple different flight speeds can be generated as the above-mentioned flight Acceleration collection. In other words, an array set can be obtained according to k x , k y , and k z .
  • Each element in the array set includes three numbers in a preset interval, and all elements in the array set include the preset interval.
  • the combination of any three constants and then when generating the flight speed set as the flight state set based on the speed information and the preset speed increment, you can first use the preset speed increment and the array set (according to k x , k y , k z to get ) Generate a preset speed increment set, and then generate a flight speed set as the flight state set according to the preset speed increment set and speed information.
  • k x , k y , and k z can be any constant in the first arithmetic sequence in the preset interval (that is, the value of the array set obtained from k x , k y, and k z All elements include a combination of any three constants in the first arithmetic sequence in the preset interval), for example, when the preset interval is [-10, 10], and the first arithmetic sequence of the preset interval is -10 to When it is an integer of 10, k x , k y , and k z can be any constant of the arithmetic sequence.
  • S140-21A-2 Determine a smooth trajectory set based on the flight data at the detour inflection point, multiple estimated flight states, and preset flight time; the smooth trajectory set includes multiple smooth trajectories.
  • step S140-21A-1 When it is selected in step S140-21A-1 to generate a flight acceleration set based on the acceleration of the orbiting inflection point and the preset acceleration increment as the flight state set, the flight data includes the position information and speed information of the orbiting inflection point, and at this time, step S140- 21A-2 may include: determining a smooth trajectory set based on the position information, speed information, preset flight time, and flight acceleration set of the orbiting inflection point.
  • a smooth trajectory can be calculated according to the position information, speed information, preset flight time, and flight acceleration of the drone at the inflection point of its orbit. Among them, you can also set a maximum flight speed for the UAV. When the flight speed of the track point in the smooth trajectory reaches the maximum flight speed, the UAV can be located behind the trajectory point in the smooth trajectory at the maximum flight speed. Flying at a constant speed on the trajectory.
  • step S140-21A-1 When it is selected in step S140-21A-1 to generate a flight speed set based on the speed information of the orbiting inflection point and the preset speed increment as the flight state set, the flight data includes the position information of the orbiting inflection point, and at this time, step S140-21A- 2 may include: determining the smooth trajectory set according to the position information of the detour inflection point, the preset flight time and the flight speed set.
  • a smooth trajectory can be calculated according to any flight speed in the set of the UAV's position information at the turning point of its orbit, the preset flight time, and the flight speed. Among them, you can also set a maximum flight speed for the UAV. When the flight speed of the track point in the smooth trajectory reaches the maximum flight speed, the UAV can be located behind the trajectory point in the smooth trajectory at the maximum flight speed. Flying at a constant speed on the trajectory.
  • the detour trajectory that intersects the dangerous area centered on the obstacle in the above-mentioned smooth trajectory set has been eliminated.
  • S140-21A-3 determine the smooth trajectory with the least power consumption among multiple smooth trajectories as a sub-segment.
  • the calculation method of the power consumption of the smooth trajectory may be directly estimating the work done by the UAV flying along the smooth trajectory, or may be calculating the UAV along the smooth trajectory by using the dissipation function estimation method. The work done by flying.
  • step S140-21A-3 may include: determining the smooth trajectory with the smallest dissipation function value among the plurality of smooth trajectories as a sub-segment.
  • one acceleration/speed corresponds to a smooth trajectory.
  • the flight acceleration set includes multiple flight accelerations or the flight speed set includes multiple flight accelerations, then a set of smooth trajectories can be calculated.
  • the optimal trajectory is selected for planning the sub-segment. The process of selecting the optimal smooth trajectory in the smooth trajectory set will be introduced below.
  • the generated sub-segments meet the following conditions : Avoid obstacles in the surrounding space, the trajectory is smooth, and the UAV has the least power consumption when flying along this sub-segment.
  • the dissipation function value of each smooth trajectory in a plurality of smooth trajectories can be calculated, and the smooth trajectory with the smallest dissipation function value is regarded as the sub-segment.
  • How to calculate the dissipation function values of multiple smooth trajectories can be implemented in the following ways: First, multi-point sampling is performed on each smooth trajectory in the multiple smooth trajectories to obtain multiple sampling points corresponding to each smooth trajectory , And then obtain relevant data, including the coordinates of multiple sampling points, the coordinates of the trajectory target point (that is, the end of the sub-segment), the coordinates of the detour inflection point, the coordinates of obstacles, and the reference trajectory (the reference trajectory can be the detour inflection point and the The shortest line segment between the target points of the trajectory), and finally the relevant data obtained is substituted into the calculation formula of the dissipation function value to obtain the dissipation function value of each smooth trajectory.
  • the calculation formula of the dissipation function value includes a reference trajectory limitation item, an obstacle distance limitation term, a smoothing limitation term, and a direction limitation term.
  • the reference trajectory limitation term represents how close the smooth trajectory is to the reference trajectory
  • the obstacle distance limitation term represents the closeness of the smooth trajectory.
  • the degree of obstacles, the smooth limit term represents the smoothness of the smooth trajectory
  • the direction limitation term represents the degree to which the smooth trajectory is close to the target point of the trajectory.
  • the planned sub-segment meets the conditions of avoiding obstacles in the surrounding space, smooth trajectory, and minimum power consumption when the UAV flies along the sub-segment. This can reduce the jitter generated by the UAV when avoiding obstacles, improve the flight stability of the UAV, and minimize the flying distance required for obstacle avoidance, which is beneficial to shorten the operation time and ensure the safety during flight.
  • the dissipation function value of the smooth trajectory satisfies the following formula:
  • each track comprises a plurality of smoothing sampling points, A, B, C, D, and a weight value of ⁇ is preset, d i is the distance from the sample point and the reference trajectory, r i is the distance of the sampling point and the obstacle, n is the number of multiple sampling points, cos t is the value of the dissipation function, x i is the coordinate of the sampling point, x d is the coordinate of the target point of the trajectory, x s is the coordinate of the starting point of the smooth trajectory,
  • the dissipation function value of the smooth trajectory satisfies the following formula:
  • each track comprises a plurality of smoothing sampling points, A, B, C, D, and a weight value of ⁇ is preset, d i is the distance from the sample point and the reference trajectory, r i is the distance of the sampling point and the obstacle, n is the number of multiple sampling points, cost is the value of the dissipation function, x i is the coordinate of the sampling point, x d is the coordinate of the target point of the trajectory, x s is the coordinate of the starting point of the smooth trajectory,
  • the detour trajectory with the smallest dissipation function value in the smooth trajectory set is taken as the sub-segment, and the smaller the dissipation function value is, the less jitter and the shorter the distance of the UAV flying along the sub-segment can be achieved.
  • the above steps S140-21A-1 and S140-21A- 3 represents the general steps to determine any sub-segment.
  • the determination of the detour route of the current flight segment can be determined with the acceleration of the current position as the starting condition, that is, the steps of determining the detour route of the current flight segment can also be:
  • Step 1 Generate a flight state set according to the flight state of the UAV 100 at the current turning point of its detour and the preset flight variables;
  • Step 2 Determine a smooth trajectory set according to the flight data of the UAV 100's orbiting inflection point, multiple estimated flight states, and preset flight time;
  • Step 3 Determine the smooth trajectory with the least power consumption among the multiple smooth trajectories as the sub-segment
  • Step 4 Determine whether the end point of the smooth trajectory with the least power consumption is the target point of the trajectory. If so, select the smooth trajectory with the least power consumption to generate a detour route and complete the planning of this sub-segment.
  • the end point of the smooth trajectory with the least power consumption is used as the current detour inflection point, and the above step 1 is returned to execute until the end point of the smooth trajectory with the least power consumption is the trajectory target point.
  • the UAV determines that it needs to generate a detour route for the current flight segment to bypass obstacles, first, use the current position as the current detour inflection point and determine the sub-segment L1 with the least power consumption. At this time, the end point of sub-segment L1 is not the target point of the trajectory, and the end point of sub-segment L1 is used as the current detour point, and the sub-segment L2 with the least power consumption is determined. At this time, the end point of sub-segment L2 remains the same It is not the trajectory target point.
  • Step S140-2 may also include sub-steps S140-22A, controlling the UAV to bypass obstacles along the detour route of the current flight segment.
  • the method provided by the embodiment of the application also Obstacles can be detected in real time, and when the obstacle is detected and the distance of the first flight segment is greater than the preset dangerous distance, it is judged again whether the distance of the second flight segment is greater than or equal to the preset distance to determine the way to bypass the obstacle.
  • the detour route of the current flight segment at this time is the current flight segment of the UAV. Therefore, for some moving obstacles, or obstacles that have not been detected before, the new flight segment here can be used as the current flight segment in S140-21A to S140-22A, and the iterative estimation of the detour route can be repeated.
  • S140-2 may also include the following sub-steps:
  • S140-21B Determine the detour route of the current flight segment according to the location information of the obstacle and the starting point of the next flight segment.
  • the process of determining the detour route of the current flight segment according to the location information of the obstacle and the starting point of the next flight segment may include: The set of intersection points of the man-machine route and the starting point of the next flight segment determine the safety point, and generate a new flight segment based on the safety point as the detour route of the current flight segment; the safety point includes the first safety point and the second safety point.
  • the safety point is any point on the flight segment between the current position and the first intersection
  • the second safety point is any point on the flight segment between the second intersection and the starting point of the next flight segment.
  • the set of intersections further includes a second intersection that is far from the current position.
  • the intersection set includes intersection A and intersection B. Since the first intersection is the intersection close to the current position of the drone in the intersection set, and the second intersection is the intersection far from the current position of the drone in the intersection set, the intersection A is the first intersection, and the intersection B is the second intersection. Therefore, any point on the flight segment between the current position of the UAV 100 and the intersection point A can be determined as the first safe point, and any point on the flight segment between the intersection point B and the next flight segment starting point T2 can be determined as the first safety point. Two safety points.
  • step S140-21B a new flight segment is generated according to the safety point as the principle of the detour route of the current flight segment can refer to step S130-21-4, which will not be repeated here.
  • S140-22B controlling the drone to move from the starting point of the detour route of the current flight segment to the end of the detour route of the current flight segment; the start and end points of the detour route of the current flight segment are both located on the current flight segment.
  • step S140-22B the principle of controlling the movement of the drone in step S140-22B can be referred to step S130-22, which will not be repeated here.
  • the flight control method provided by the embodiment of the present application may further include: stopping the drone when an obstacle is detected and the distance of the first flight segment is less than or equal to a preset dangerous distance.
  • the UAV calculates the braking distance based on the current flight speed and the current maximum braking acceleration in real time.
  • the braking distance is the preset dangerous distance.
  • the preset dangerous distance may vary with the flight speed of the drone and the maximum braking acceleration of the flight.
  • the first flight segment distance is the flight segment length between the current position of the drone and the first intersection point, that is, the flight segment S1 between the current position of the drone and the first intersection point A.
  • the segment length is the distance of the first segment.
  • the embodiment of the present application does not limit the value of the preset dangerous distance.
  • the value of the preset dangerous distance can be set according to the actual situation, for example, it can also be set according to the frequency of obstacles. Setting the value of the preset dangerous distance can be understood as the higher the frequency of the obstacles, the larger the value of the preset dangerous distance can be assigned, and the area of the dangerous area will correspondingly increase.
  • the flight control method provided by the embodiment of the present application may further include: detecting the distance between the object and the currently detected flight segment, where the currently detected flight segment is a flight segment with a preset detection length on the route, and the preset detection The starting point of the length segment is the current position. When the distance between the object and the currently detected flight segment is less than the preset obstacle distance, it is determined that the object is an obstacle.
  • the UAV 100 can start from the current position and traverse any point on the preset flight segment distance of the untraveled part of the current route (that is, the flight segment in bold in Figure 5, the currently detected flight segment A) and The distance between other objects, when there is a point on the preset segment distance of the untraveled part of the current route and the distance between other objects is less than the preset obstacle distance, then the other object is determined to be an obstacle.
  • the embodiment of the present application also provides a flight control device.
  • FIG. 16 is a functional module diagram of a flight control device provided by an embodiment of the application.
  • the flight control device 300 includes a detection module 310, a determination module 320, a detour module 330, and a braking module 340.
  • the detection module 310 is configured to detect obstacles in the flying direction of the drone when the drone is flying according to a preset flight segment.
  • the detection module 310 can perform the above-mentioned step S110.
  • the detection module 310 can also be configured to detect the distance between other objects and the currently detected flight segment, where the currently detected flight segment is a flight segment with a preset detection length on the route, and the starting point of the flight segment with the preset detection length Is the current position of the drone; when the distance between other objects and the current detection segment is less than the preset obstacle distance, the other objects are determined to be obstacles.
  • the determining module 320 is configured to determine the location information of the obstacle.
  • the determining module 320 can execute the above-mentioned step S120.
  • the detour module 330 is configured to generate a cross-segment detour route according to the position information of the obstacle when the position information of the obstacle is in the cross-segment detour range, so that the UAV can detour along the cross-segment detour route.
  • the detour route of the flight segment detours to the starting safe point of the current flight segment.
  • detour module 330 can perform the above-mentioned steps S130 and S140.
  • the detour module 330 is also configured to obtain the position information of the obstacle, and determine whether the position information of the obstacle is within the detour range of the cross-sector segment, and if so, generate the cross-segment segment based on the position information of the obstacle The detour route, so that the UAV detours along the cross-segment detour route to the starting safe point of the next flight segment.
  • detour module 330 can perform the above-mentioned steps S130-1 and S130-2.
  • the detour module 330 is further configured to determine the cross-segment detour route according to the location information of the obstacle and the starting point of the next flight segment when the location information of the obstacle is within the detour range of the cross-segment segment; The drone moves from the starting point of the cross-segment detour route to the end of the cross-segment detour route; the start of the cross-segment detour route is at the current segment, and the end of the cross-segment detour route is at the next segment.
  • detour module 330 can perform the above-mentioned steps S130-21 and S130-22.
  • the detour module 330 is further configured to obtain the location information of the obstacle, and determine whether the location information of the obstacle is within the detour range of the current segment, and if so, generate the detour of the current segment according to the location information of the obstacle Route, so that the UAV detours along the detour route of the current flight segment to the starting safe point of the current flight segment.
  • detour module 330 can perform the above-mentioned steps S140-1 and S140-2.
  • the detour module 330 is further configured to determine the detour route of the current flight segment according to the location information of the obstacle and the starting point of the next flight segment when the location information of the obstacle is within the detour range of the current flight segment; The drone moves from the start of the detour route of the current segment to the end of the detour route of the current segment; the start and end points of the detour route of the current segment are both located on the current segment.
  • detour module 330 can execute the above-mentioned steps S140-21B and S140-22B.
  • the detour module 330 is also configured to generate a detour route for the current flight segment according to the flight status of the drone and preset flight variables; wherein the detour route for the current flight segment includes multiple detour inflection points, any phase The sub-segment between the two adjacent detour inflection points is the path with the least power consumption; the UAV is controlled to bypass obstacles along the detour route of the current flight segment.
  • detour module 330 can perform the above-mentioned steps S140-21A and S140-22A.
  • the detour module 330 is further configured to generate a flight state set according to the flight state of the detour inflection point and preset flight variables; the flight state set includes a plurality of estimated flight states; and based on the flight data of the detour inflection point, a plurality of predictions Estimate the flight status and the preset flight time to determine the smooth trajectory set.
  • the smooth trajectory set includes multiple smooth trajectories; determine the smooth trajectory with the least power consumption among the multiple smooth trajectories as the sub-segment.
  • detour module 330 can execute the above-mentioned steps S140-21A-1, S140-21A-2, and S140-21A-3.
  • the braking module 340 may also be configured to determine whether the drone is located within the dangerous range of the obstacle; when the drone is located within the dangerous range of the obstacle, stop the drone.
  • FIG. 17 shows a structural block diagram of a drone control device provided by an embodiment of the present application.
  • the drone control device 130 includes a memory 131, a communication interface 132, a processor 133, and a bus 134.
  • the memory 131, the communication interface 132, and the processor 133 are connected by the bus 134, and the processor 133 is configured to execute the data stored in the memory 131.
  • Execution modules such as computer programs.
  • the memory 131 may include a high-speed random access memory (RAM: Random Access Memory), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
  • RAM Random Access Memory
  • non-volatile memory such as at least one disk memory.
  • the communication connection between the drone control device 130 and other terminal devices is realized through at least one communication interface 132 (which may be wired or wireless).
  • the bus 134 may be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect, peripheral component interconnection standard) bus, or an EISA (Extended Industry Standard Architecture) bus or the like. It is represented by only one bidirectional arrow in FIG. 17, but it does not mean that there is only one bus or one type of bus.
  • ISA Industry Standard Architecture
  • PCI Peripheral Component Interconnect, peripheral component interconnection standard
  • EISA Extended Industry Standard Architecture
  • the memory 131 is configured to store a program, and the processor 133 executes the program after receiving the execution instruction to implement the flight control method disclosed in the foregoing embodiment of the present application.
  • the embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored, and the computer program is executed by the processor 133 to implement the flight control method disclosed in the foregoing embodiment.
  • FIG. 17 is only a schematic structural diagram of the drone control device 130, and the drone control device 130 may also include more or fewer components than those shown in FIG. 17 shows different configurations. Each component shown in FIG. 17 can be implemented by hardware, software, or a combination thereof.
  • the drone 100 includes a body 110, a power device 120, and a drone control device 130.
  • the power equipment 120 is installed in the body and configured to provide power for the drone to fly.
  • the power equipment may include at least one of components such as a motor, a power supply, and a propeller.
  • the drone control device 130 is in communication connection with the power device 120 and is configured to control the drone 100 to fly along the route.
  • the drone control device 130 may be a drone flight controller.
  • the drone control device 130 is configured to control the drone 100 to fly, it can implement the flight control method disclosed in the foregoing embodiment. The specific implementation manner and principle are consistent with the foregoing embodiment, and will not be repeated here.
  • the embodiments of the present application provide a flight control method, device, equipment, storage medium, and drone.
  • the method includes: detecting obstacles in the flying direction of the drone when the drone is flying according to a preset flight segment, and determining the position information of the obstacles.
  • the position information of the obstacle is within the detour range of the cross-segment segment, the cross-segment detour route is generated according to the position information of the obstacle, so that the UAV can detour along the cross-segment detour route to the start of the next segment.
  • the current segment detour route is generated according to the obstacle's location information, so that the drone will detour to the current segment along the current segment detour route At the starting point of the flight segment. Since this method can determine different detour routes according to the position information of obstacles in different ranges, and the end points of the determined detour routes will also be different due to the position information of obstacles in different ranges, it can make no Humans and machines can flexibly avoid obstacles in different ranges, so that UAVs can automatically and efficiently avoid obstacles in complex operating scenarios. In addition, this method can be used to intelligently plan the flight segment according to the particularity of the operation scene, which enables the UAV to improve the smoothness of the operation process on the basis of ensuring safety, and can automatically respond to the complex operation environment.
  • This application provides a flight control method and related devices, which can enable the drone to automatically and efficiently bypass obstacles in complex operating scenarios, thereby solving the problem that the drone in the prior art can avoid obstacles when it encounters obstacles. Because only a single bypass strategy is used to avoid obstacles, the obstacles cannot be avoided efficiently when dealing with tasks in complex operating scenarios, which in turn makes the operation process of UAVs not smooth when avoiding obstacles and cannot meet expectations. The technical issue of the effect.

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)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

一种飞行控制方法及相关装置,能够根据处于不同范围的障碍物的位置信息确定出不同的绕行航线,并且所确定出的绕行航线的终点也会因不同范围的障碍物的位置信息而不同,故能够使无人机(100)能够灵活地绕开处于不同范围的障碍物,进而实现无人机(100)在复杂的作业场景下自动高效地绕开障碍物。该方法包括:当障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使无人机(100)沿跨航段绕行航线绕行至下一航段的起始安全点上(S130);当障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使无人机(100)沿当前航段绕行航线绕行至当前航段的起始安全点上(S140)。

Description

一种飞行控制方法及相关装置
相关申请交叉引用
本申请要求于2019年8月27日提交中国专利局的申请号为CN 201910798530.8,名称为“一种飞行控制方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及自动控制领域,具体而言,涉及一种飞行控制方法及相关装置。
背景技术
目前,无人机在碰到障碍物时,仅通过单一的绕行策略绕开障碍物。在应对复杂的作业场景下的作业任务时,无人机不能高效地绕开障碍物,作业过程不流畅,无法达到预期效果。
因此,如何使无人机在复杂的作业场景下自动高效地绕开障碍物是目前急需解决的技术问题之一。
发明内容
本申请实施例提供了一种飞行控制方法及相关装置,其能够使无人机在复杂的作业场景下自动高效地绕开障碍物。
本申请实施例提供了一种飞行控制方法,应用于无人机,所述方法包括步骤:在所述无人机按照预设航段飞行时,确定所述无人机飞行方向上的障碍物;确定所述障碍物的位置信息;当所述障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上;当所述障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上。
可选地,在所述确定所述障碍物的位置信息的步骤之后,所述方法还包括:
在第一航段距离大于预设危险距离时,判断第二航段距离是否小于预设距离;当第二航段距离小于预设距离时,确定所述障碍物的位置信息位于跨航段绕行范围;当第二航段距离大于或等于所述预设距离时,确定所述障碍物的位置信息位于本航段绕行范围;
其中,所述第一航段距离为无人机当前位置与第一交点之间的航段长度,所述第二航段距离为所述第一交点与所述当前航段末端点之间的航段长度,所述第一交点为以所述障碍物为中心的危险区域与无人机航线的交点集合中靠近无人机当前位置的交点。
可选地,在所述确定所述障碍物的位置信息的步骤之后,所述方法还包括:
当以所述障碍物为中心的危险区域与无人机航线的交点为一个或者没有交点时,判断所述无人机与所述障碍物不存在碰撞的可能,控制所述无人机按照预设航段连续飞行。
可选地,所述当所述障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上的步骤包括:
获取所述障碍物的位置信息;
确定所述障碍物的位置信息是否位于跨航段绕行范围内,若是,则根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上。
可选地,所述当所述障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上的步骤包括:
获取所述障碍物的位置信息;
确定所述障碍物的位置信息是否位于本航段绕行范围内,若是,则根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上。
可选地,当所述障碍物的位置信息位于跨航段绕行范围内时,所述根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上的步骤包括:
根据所述障碍物的位置信息以及下一航段的起始点确定所述跨航段绕行航线;
控制所述无人机从所述跨航段绕行航线的起点移动至所述跨航段绕行航线的终点;所述跨航段绕行航线的起点位于所述当前航段,所述跨航段绕行航线的终点位于所述下一航段;
当所述障碍物的位置信息位于本航段绕行范围内时,所述根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上的步骤包括:
根据所述障碍物的位置信息以及下一航段的起始点确定所述当前航段绕行航线;
控制所述无人机从所述当前航段绕行航线的起点移动至所述当前航段绕行航线的终点;所述当前航段绕行航线的起点和终点均位于所述当前航段。
可选地,所述根据所述障碍物的位置信息以及下一航段的起始点确定所述跨航段绕行航线的步骤包括:
从由以所述障碍物为中心的危险区域与无人机航线的交点形成的交点集合以及所述下一航段的起始点中选取航段距离最大的第一标注点和第二标注点,其中所述第一标注点为靠近无人机当前位置的点,所述第二标注点为远离无人机当前位置的点;
根据所述当前位置和所述第一标注点确定第一安全点,其中所述第一安全点为所述当前位置和所述第一标注点之间航段上的任一点;
根据所述第二标注点和所述下一航段的末端点确定第二安全点,其中所述第二安全点为所述第二标注点和所述下一航段的末端点之间航段上的任一点;
根据所述第一安全点、所述第二安全点生成新航段。
可选地,所述第一安全点为所述第一标注点,所述第二安全点为所述第二标注点。
可选地,所述根据所述第一安全点、所述第二安全点生成新航段的步骤包括:
通过路径优化算法以所述第一安全点为起点、所述第二安全点为终点,且以所述危险区域为不可到达区域,生成新航段。
可选地,所述根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上的步骤包括:
根据所述无人机的飞行状态以及预设飞行变量生成所述当前航段绕行航线;其中,所述当前航段绕行航线包括多个绕行拐点,任意相邻的两个绕行拐点之间的子航段为功耗最小的路径;
控制所述无人机沿所述当前航段绕行航线绕开所述障碍物。
可选地,所述根据所述无人机的飞行状态以及预设飞行变量生成所述当前航段绕行航线的步骤包括:
根据无人机在所述绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合;所述飞行状态集合包括多个预估飞行状态;
根据所述绕行拐点的飞行数据、所述多个预估飞行状态及预设飞行时间确定平滑轨迹集合,所述平滑轨迹集合包括多条平滑轨迹;
确定所述多条平滑轨迹中功耗最小的平滑轨迹,以作为所述子航段。
可选地,所述根据无人机在所述绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合的步骤包括:
根据所述绕行拐点的加速度以及预设加速度增量生成飞行加速度集合,以作为所述飞行状态集合;
所述飞行数据包括所述绕行拐点的位置信息及速度信息,所述根据所述绕行拐点的飞行数据、所述多个预估飞行状态及预设飞行时间确定平滑轨迹集合的步骤包括:
根据所述绕行拐点的所述位置信息、所述速度信息、所述预设飞行时间以及所述飞行加速度集合确定所述平滑轨迹集合。
可选地,所述根据所述绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合的步骤包括:
根据无人机在所述绕行拐点的速度信息以及预设速度增量生成飞行速度集合,以作为所述飞行状态集合;
所述飞行数据包括所述绕行拐点的位置信息;所述根据所述绕行拐点的飞行数据、所述多个预估飞行状态及预设飞行时间确定平滑轨迹集合的步骤包括:
根据所述绕行拐点的所述位置信息、所述预设飞行时间以及所述飞行速度集合确定所述平滑轨迹集合。
可选地,所述确定所述多条平滑轨迹中功耗最小的平滑轨迹,以作为所述子航段的步骤包括:
剔除所述平滑轨迹集合中与以所述障碍物为中心的所述危险区域相交的绕行轨迹;
确定多条平滑轨迹中耗散函数值最小的平滑轨迹作为子航段。
可选地,所述确定所述无人机飞行方向上的障碍物的步骤包括:
确定其他物体与当前检测航段的距离;所述当前检测航段为所述航线上的预设检测长度的航段,所述预设检测长度的航段的起点为所述无人机的当前位置;
当所述其他物体与当前检测航段的距离小于预设障碍物距离时,确定所述其他物体为障碍物。
可选地,所述方法还包括:
确定所述无人机是否位于所述障碍物的危险范围内;
当所述无人机位于所述障碍物的危险范围内时,刹停所述无人机。
本申请实施例还提供了一种飞行控制装置,应用于无人机,所述装置包括:检测模块,配置为在所述无人机按照预设航段飞行时,确定所述无人机飞行方向上的障碍物;确定模块,配置为确定所述障碍物的位置信息;绕行模块,配置为当所述障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上;及当所述障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上。
可选地,所述绕行模块配置为获取所述障碍物的位置信息;
所述绕行模块还配置为判断所述障碍物的位置信息是否位于跨航段绕行范围内,若是,则根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上;和/或,
所述绕行模块还配置为判断所述障碍物的位置信息是否位于本航段绕行范围内,若是,则根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上。
可选地,当所述障碍物的位置信息位于跨航段绕行范围内时,所述绕行模块配置为根据所述障碍物的位置信息以及下一航段的起始点确定所述跨航段绕行航线;
当所述障碍物的位置信息位于跨航段绕行范围内时,所述绕行模块还配置为控制所述无人机从所述跨航段绕行航线的起点移动至所述跨航段绕行航线的终点;所述跨航段绕行航线的起点位于所述当前航段,所述跨航段绕行航线的终点位于所述下一航段;
当所述障碍物的位置信息位于本航段绕行范围内时,所述绕行模块配置为根据所述障碍物的位置信息以及下一航段的起始点确定所述当前航段绕行航线;
当所述障碍物的位置信息位于本航段绕行范围内时,所述绕行模块还配置为控制所述无人机从所述当前航段绕行航线的起点移动至所述当前航段绕行航线的终点;所述当前航段绕行航线的起点和终点均位于所述当前航段。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的飞行控制方法。
本申请实施例还提供了一种无人机控制设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现上述的飞行控制方法。
本申请实施例还提供了一种无人机,包括:机体;动力设备,安装在所述机体,配置为为所述无人机提供动力;以及无人机控制设备,所述无人机控制设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现上述的飞行控制方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例所提供的无人机的一种应用场景示意图。
图2为本申请实施例所提供的飞行控制方法的一种流程示意图。
图3为基于图1场景的设置跨航段绕行范围以及本航段绕行范围的场景示意图。
图4为本申请实施例所提供的飞行控制方法的另一种流程示意图。
图5为基于图1场景的无人机的障碍物检测示意图。
图6位基于图1场景的障碍物位于当前航段末端的一种场景示意图。
图7为基于图6场景的当前航段绕行航线的一种规划示意图。
图8为图4中S130-2的具体流程示意图。
图9为图8中S130-21的具体流程示意图。
图10为基于图1场景的障碍物位于当前航段末端的另一种场景示意图。
图11为基于图1场景的障碍物位于当前航段中段的一种场景示意图。
图12为图4中S140-2的一种具体流程示意图。
图13为基于图11场景的当前航段绕行航线的一种规划示意图。
图14为图12中S140-21A的具体流程示意图。
图15为图4中S140-2的另一种具体流程示意图。
图16为本申请实施例所提供的一种飞行控制装置的功能模块图。
图17为本申请实施例所提供的无人机控制设备的结构框图。
图18为本申请实施例所提供的无人机的结构框图。
图标:100-无人机;110-机体;120-动力设备;130-无人机控制设备;131-存储器;132-通信接口;133-处理器;134-总线;200-航线;210-第一航段;220-第二航段;230-第三航段;300-飞行控制装置;310-检测模块;320-确定模块;330-绕行模块;340-刹停模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本申请的实施例中的特征可以相互结合。
为解决现有技术中的无人机由于在碰到障碍物时,仅通过单一的绕行策略绕开障碍物因此在应对复杂的作业场景下的作业任务时,不能高效地绕开障碍物,导致作业过程不流畅,无法达到预期效果的技术问题,本申请提出了一种飞行控制方法及相关装置。
以下将结合具体实施方式对本申请所提供的一种飞行控制方法及相关装置进行详细介绍。
请参考图1,图1示出了本申请实施例所提供的无人机的一种应用场景。无人机100沿航线200飞行,该航线200包括4个航段端点T1、T2、T3以及T4。其中,T1为航线200的起点,T4为航线200的终点,T1与T2之间的航段为第一航段210,T2与T3之间的航段为第二航段220,T3与T4之间的航段为第三航段230。
需要说明的是,该航线200可以是预先存储在无人机100中的航线,或者是无人机100实时接收其他终端传输的航线。航线200的航段数量以及具体轨迹可以根据实际情况进行设置,本申请所提供的航线200仅表示一种可能的实施方式。其中,上述终端可以是无人机的 专用控制设备,也可以是与无人机通信连接的用户的移动终端,例如移动电话,笔记本电脑或控制站等,只要能够向无人机传输航线即可。终端和无人机之间可以采用各种现有的通信方式进行数据交换以对无人机进行控制,在此不再赘述。此外,当该无人机是作为应用了蜂群技术(Drone Swarm)的无人机群的一员时,上述终端还可以是与该无人机通信的其他无人机。
在本实施例中,无人机100可以探测周围环境,并根据探测的周围环境生成三维地图,以及根据预设的转换规则将三维地图转换为带有空间距离信息的三维地图空间。例如,根据欧氏距离变换(Euclidean distance transform,EDT)将三维地图转换为欧式三维地图。可选的,无人机100上装载有机载传感器,无人机100可以通过机载传感器探测周围环境。其中,上述传感器可以包括但不限于摄像头、毫米波雷达、激光雷达(LiDAR)等中的一种或多种。
在本实施例中,无人机100还可以在带有空间距离信息的三维地图空间中获取三维地图空间中任意两点之间的距离,进而,无人机100可以通过判断与其他物体的距离来确定是否可能与其他物体碰撞。
其中,无人机的机载传感器能够检测其他物体与当前检测航段的距离。当其他物体与当前检测航段的距离小于预设障碍物距离时,则确定该物体为障碍物,其中,当前检测航段为航线200上的预设检测长度的航段,并且该预设检测长度的航段的起点为当前位置。换句话说,距离当前检测航段预设障碍物距离内的区域即为障碍物区域,当无人机100检测到其他物体进入该障碍物区域内时,则确定该物体为障碍物。其中,上述预设障碍物距离可以由用户或开发人员直接给定,也可以由无人机自身根据其型号、飞行的速度、高度、作业场景、作业类型等参数智能计算出来并实时进行更新。
还需要说明的是,本申请实施例所提供的无人机100包括但不限于巡查无人机、农用无人机、气象无人机、勘探无人机以及测绘无人机等。本申请实施例并未将航线以及障碍物区域的维度限定在二维,本申请实施例所提供的航线以及无人机探测的障碍物区域的维度实际可以是三维。因此,出于简便说明的目的,在本文中各实施例仅以二维示意图进行说明,在本申请的实施例所示的方案基础上,本领域技术人员可以不作出创造性劳动地将本申请的技术方案在三维环境中实现,此处不再赘述。
基于图1所示的应用场景,本申请实施例还提供一种飞行控制方法,请参照图2。该方法的执行主体可以是上述图1中所示的无人机100,该方法包括以下步骤:
S110,在无人机按照预设航段飞行时,确定无人机飞行方向上的障碍物。
以图1所示的应用场景为例,无人机100正沿第一航段210飞行,此时,第一航段210即为预设航段,无人机100可以确定飞行方向上是否存在障碍物。
其中,无人机100可以获取其他物体与自身的距离,并根据该距离确定其他物体是否为障碍物,或者可以采用上述的障碍物确定方法(即当其他物体与当前检测航段的距离小于预设障碍物距离时,则确定该物体为障碍物)确定其他物体是否为障碍物,此外,无人机100也可以直接获取到空间中的障碍物信息,例如,可以在上述的三维地图空间中标记出障碍物位置信息,无人机只需要获取该预先标记了障碍物位置信息的三维地图空间即可直接获取空间中的障碍物位置信息。本申请实施例中,对于如何检测无人机飞行方向上的障碍物的具体方式不做限定。
S120,确定障碍物的位置信息。
在本实施例中,障碍物的位置信息可以是障碍物在空间中的坐标。
S130,当障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使无人机沿跨航段绕行航线绕行至下一航段的起始安全点上。
在本实施例中,跨行段绕行范围可以预先在上述的三维地图空间中标记出,如图3所示的跨行段绕行范围W2,其中关于如何确定跨行段绕行范围,其方法可以是预先在三维地图空间中划分出该跨行段绕行范围,或者是依据预设航段末端点的位置确定该跨行段绕行范围,或者是依据无人机、障碍物以及预设航段末端点之间的位置关系确定出该跨行段绕行范围。例如,该跨行段绕行范围可以与预设航段(即当前航段)的末端点关联,以该预设航段末端点为中心的预设距离内的范围均为跨行段绕行范围,或者该跨行段绕行范围可以是在预设航段末端点附近划分的范围,其中,预设距离可以由开发人员根据经验或实验预先给定。因此,本申请实施例对于如何确定出该跨行段绕行范围的具体方式不做限定。
S140,当障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前 航段绕行航线,以使无人机沿当前航段绕行航线绕行至当前航段的起始安全点上。
在本实施例中,本航段绕行范围可以预先在上述的三维地图空间中标记出,如图3所示的本航段绕行范围W1,其中关于如何确定本航段绕行范围,具体方法可以是预先在三维地图空间中划分出该本航段绕行范围,或者是依据预设航段末端点的位置确定该本航段绕行范围,或者是依据无人机、障碍物以及预设航段末端点之间的位置关系确定出该本航段绕行范围,或者,将跨行段绕行范围以外的空间均确定为本航段绕行范围。例如,该本航段绕行范围可以与预设航段(即当前航段)的末端点关联,例如,以该预设航段末端点为中心的预设距离以外的范围均为本航段绕行范围,或者该本航段绕行范围可以是在预设航段末端点附近划分的范围。因此,本申请实施例对于如何确定出该本航段绕行范围的具体方式不做限定。
可以理解的是,根据障碍物的位置信息生成当前航段绕行航线以及跨航段绕行航线的具体方式可以根据实际应用场景做具体设置,本申请实施例对于如何根据障碍物的位置信息生成当前航段绕行航线以及跨航段绕行航线的具体方式不做限定。
需要说明的是,跨航段绕行航线的末端点位于下一航段上,当前航段绕行航线的末端点位于当前航段上。
基于图2所示的飞行控制方法,由于该方法能够在障碍物的位置信息位于跨航段绕行范围时,控制无人机沿生成的跨航段绕行航线绕行至下一航段的起始安全点上,在障碍物的位置信息位于本航段绕行范围时,控制无人机沿生成的当前航段绕行航线绕行至当前航段的起始安全点上。进而实现了根据处于不同范围的障碍物的位置信息确定出不同的绕行航线,并且所确定出的绕行航线的终点也会因不同范围的障碍物的位置信息而不同的目的,故具有使无人机能够灵活地绕开处于不同范围的障碍物、实现无人机在复杂的作业场景下自动高效地绕开障碍物的有益效果。
需要说明的是,在本申请实施例中,起始安全点可以理解为无人机绕开障碍物后到达相应的航段上与障碍物之间的距离大于或等于预设阈值的某一点,其中,预设阈值可以由开发人员根据经验给定,也可以由无人机的控制***根据无人机的运行速度、高度、作业场景、作业类型等参数智能计算得到,其中的计算方式可参见相关技术,在此不赘述。
在图2的基础上,下面给出一种更为详细的实现方式,具体请参照图4,为本申请实施例所提供的飞行控制方法的另一种流程示意图。需要说明的是,本申请实施例提供的飞行控制方法并不以图4以及以下的具体顺序为限制,应当理解,在其它实施例中,本申请实施例提供的飞行控制方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图4所示的具体流程进行详细阐述。
S110,在无人机按照预设航段飞行时,确定无人机飞行方向上的障碍物。
在本实施例中,对于如何确定无人机飞行方向上的障碍物,其过程包括:检测其他物体与当前检测航段的距离;当前检测航段为航线上的预设检测长度的航段,预设检测长度的航段的起点为无人机的当前位置;当其他物体与当前检测航段的距离小于预设障碍物距离时,确定其他物体为障碍物。也就是说,如图5所示,无人机100可以从当前位置出发,遍历当前航线未行驶部分的预设航段距离(即图5中加粗的航段,当前检测航段A)上的任一点与其他物体之间的距离,在当前航线未行驶部分的预设航段距离上存在某一点与其他物体之间的距离小于预设障碍物距离时,则确定该其他物体为障碍物。
或者,通过前文所述的三维地图空间信息以及无人机上的传感器采集的速度和加速度数据,无人机能够计算出在欧式距离的三维地图上无人机的当前位置与任一物体距离。基于本领域已知的算法,综合无人机的飞行状态如速度、加速度等信息以及航线信息等参数能够计算出当前飞行状态下无人机所能允许的,能够确保使无人机撞到该物体前减速停下的最小距离阈值,因此当无人机与该物体的距离小于该阈值时,则无人机判定其自身存在与该物体相撞的风险,并判定该物体为障碍物。
需要说明的是,虽然在本实施例中是以判断无人机飞行航线的前向是否存在障碍物进行说明的,但这并不意味着本申请实施例所提供的飞行控制方法仅能用于前向障碍物检测和航段规划。在实际应用中,无人机可以悬停或者朝各个方向后退运动,其机身上也可以搭载针对各个方向的传感器,因此基于相同的原理,上述方法也可以用于后向或侧方的障碍物检测和航段规划,在此不再赘述。
S120,确定障碍物的位置信息。
基于图6所示场景,在一种可能的实施例中,S120之后,方法还包括:S121,在第一 航段距离大于预设危险距离时,判断第二航段距离是否小于预设距离;当第二航段距离小于预设距离时,确定障碍物的位置信息位于跨航段绕行范围;当第二航段距离大于或等于预设距离时,确定障碍物的位置信息位于本航段绕行范围;其中,第一航段距离为无人机当前位置与第一交点之间的航段长度,第二航段距离为第一交点与当前航段末端点之间的航段长度,第一交点为以障碍物为中心的危险区域与无人机航线的交点集合中靠近当前位置的交点。
可选地,为避免无人机与障碍物碰撞,无人机在实时获取的三维地图空间中可以以障碍物为中心划分一个危险区域。以障碍物为中心的危险区域与无人机航线之间可能存在多个交点,这些交点即为交点集合。在交点集合中靠近当前位置的交点为第一交点。如图6所示,以障碍物为中心的危险区域与无人机航线的交点集合包括两个交点A、B,其中,A为第一交点。无人机的当前位置与第一交点A之间的航段S1的航段长度为第一航段距离s1,第一交点A与无人机的当前航段末端点T2之间的航段S2的航段长度为第二航段距离s2。
需要说明的是,上述以障碍物为中心划分的危险区域又可以被称为障碍物膨胀区域,该区域的大小不一定是固定的。例如,在实际应用中,无人机检测到的障碍物是多种多样的,既包括固定的障碍物,例如建筑物,路灯,电线杆等,也可能有移动的障碍物,例如行人,车辆等。因此可选地,无人机能够根据其机载传感器采集到的数据,通过预设的数据库和算法判断出障碍物的类型,并针对性地对上述危险区域的范围进行动态调整。例如,当障碍物是移动的障碍物时,无人机可以通过机载传感器,例如毫米波雷达或激光雷达,采集障碍物的移动速度,当障碍物朝向无人机加速移动时,则危险区域的范围是需要根据障碍物的移动情况进行适当的膨胀的。以上检测和计算过程的原理和算法可以参考现有技术中,在此不再赘述。
在确定到障碍物时,表示无人机在沿当前航段飞行时可能会与障碍物碰撞,因此此时无人机需要判断第一航段距离是否大于预设危险距离。再如图6所示,当第一航段距离s1大于预设危险距离时,表示当前情况下无人机还不存在与障碍物碰撞的可能。进而,在第一航段距离s1大于预设危险距离的条件下,无人机可以实时判断第二航段距离s2是否小于预设距离。当第二航段距离s2小于预设距离时,即表示此时的障碍物距离当前航段末端点T2较近,此时以障碍物为中心的危险区域可能覆盖了当前航段的末端点T2附近的航线,无人机在绕行时很可能无法正常返回当前航段,此时可以确定障碍物的位置信息位于跨航段绕行范围,并使无人机直接绕过当前航段末端点进入下一航段继续执行作业任务。当第二航段距离s2大于或等于预设距离时,即表示此时的障碍物距离当前航段末端点T2较远,此时以障碍物为中心的危险区域并未覆盖当前航段的末端点T2附近的航线,无人机在绕行时可以正常返回当前航段,此时可以确定障碍物的位置信息位于本航段绕行范围,并使无人机直接绕过障碍物并返回当前航段继续执行作业任务。其中,在本申请实施例中,障碍物的位置信息可以指障碍物在三维地图空间中的坐标。
需要说明的是,当以障碍物为中心的危险区域与无人机航线的交点为一个或者没有交点时,表示无人机与障碍物不存在碰撞的可能,无人机可以沿着当前航线连续飞行。以障碍物为中心的危险区域可以是距离障碍物外表预设距离值的空间区域,或者,在一种简化的实施例中,该危险区域也可以是以障碍物为中心的半径为预设距离值的球体。当然,危险区域的轮廓范围并不局限于球体,本领域技术人员可以根据实际情况对危险区域的范围进行定义,例如危险区域也可以是椭球体,圆柱体,立方体等。可以理解的是,上述的航段长度为无人机航线上的两点之间的航段的长度,例如,再如图6所示,航段端点T1与航段端点T2之间的航段长度即为第一航段210的长度。
请再参照图4,本申请实施例所提供的飞行控制方法还包括步骤:
S130-1,获取障碍物的位置信息;以及
S130-2,判断障碍物的位置信息是否位于跨航段绕行范围内,若是,则根据障碍物的位置信息生成跨航段绕行航线,以使无人机沿跨航段绕行航线绕行至下一航段的起始安全点上。
当判断出障碍物的位置信息位于跨航段绕行范围内时,可以根据障碍物的位置信息生成跨航段绕行航线。例如,一种可能的跨航段绕行航线规划如图7所示,无人机的当前航段为第一航段210,下一航段为第二航段220。跨航段绕行航线的起始点为P1,跨航段绕行航线的末端点为P2。当无人机沿第一航段210飞行至P1时,控制无人机进入跨航段绕行航线,并控制无人机沿跨航段绕行航线飞行。当无人机飞行至P2时,则控制无人机从P2返回第二航段220。需要说明的是,图示中P1至P2之间加粗的线段即表示跨航段绕行航线。
其中,关于如何判断障碍物的位置信息是否位于跨航段绕行范围内,具体可以参考上述的S121,在此不再赘述。
基于图6所示场景,在一种可能的实施例中,对于如何根据障碍物的位置信息生成跨航段绕行航线,以使无人机沿跨航段绕行航线绕行至下一航段的起始安全点上,如图8所示,步骤S130-2可以包括如下子步骤:
S130-21,根据障碍物的位置信息以及下一航段的起始点确定跨航段绕行航线。
在本实施例中,根据障碍物的位置信息以及下一航段的起始点确定跨航段绕行航线的过程,可以包括以下步骤:根据以障碍物为中心的危险区域与无人机航线的交点集合以及下一航段的起始点确定安全点,并根据安全点生成新航段作为跨航段绕行航线;安全点包括第一安全点和第二安全点。
其中,当以障碍物为中心的危险区域与无人机航线的交点集合包括至少两个交点时,交点集合中的点即为无人机航线上距离障碍物最近的安全点。例如,请再次参照图6,以障碍物为中心的危险区域与无人机航线的交点集合包括交点A以及交点B,则交点A以及交点B即为距离障碍物最近的安全点。为了使无人机绕行障碍物的跨航段绕行航线尽可能短且跨航段绕行航线的末端点位于无人机的下一航段,可以根据交点以及下一航段的起始点确定安全点。例如,从上述的两个交点A、B以及下一航段的起始点T2中选择航段距离最大的两个点分别作为第一安全点和第二安全点。在这个例子中,通过选择无人机航线上航段距离最大的两个点分别作为第一安全点和第二安全点,不仅可以使得无人机绕行障碍物的跨航段绕行航线具有最小的长度,而且还实现无人机可以顺利避障并进入到下一航段。
进一步的,对于如何实现步骤S130-21中的根据以障碍物为中心的危险区域与无人机航线的交点集合以及下一航段的起始点确定安全点,并根据安全点生成新航段作为跨航段绕行航线,下面给出一种可能的实现方式,具体请参照图9,步骤S130-21可以包括如下子步骤:
S130-21-1,从交点集合以及下一航段的起始点中选取航段距离最大的第一标注点和第二标注点,其中第一标注点为靠近当前位置的点,第二标注点为远离当前位置的点。
请再参照图6,交点集合包括交点A和交点B,下一航段的起始点为T2。在交点A、交点B和T2中选取航段距离最大的两个点,即交点A和下一航段的起始点T2。又由于第一标注点为靠近当前位置的点,第二标注点为远离当前位置的点,因此第一标注点为A,第二标注点为T2。
需要说明的是,当障碍物足够大或者无人机的航线足够复杂时,以障碍物为中心的危险区域与无人机航线的交点集合中交点的总数可能多于两个,此时,为确保本申请实施例的方法可以实施,可选地,步骤S130-21-1中的下一航段实际可以是无人机航线与以障碍物为中心的危险区域相交的航段中距离航线终点最近的航段。
S130-21-2,根据当前位置和第一标注点确定第一安全点;第一安全点为当前位置和第一标注点之间航段上的任一点。请再参照图6,第一安全点可以为无人机当前位置和第一标注点A之间航段上的任一点。可以理解的是,为确保无人机尽可能地沿原航线行驶以完成作业任务,可以选择第一安全点为第一标注点。
S130-21-3,根据第二标注点和下一航段的末端点确定第二安全点;第二安全点为第二标注点和下一航段的末端点之间航段上的任一点。
请再参照图6,第二安全点可以为第二标注点T2和下一航段的末端点T3之间航段上的任一点。可以理解的是,为确保无人机尽可能地沿原航线行驶以完成作业任务,可以选择第二安全点为第二标注点。
S130-21-4,根据第一安全点、第二安全点生成新航段。
在本实施例中,为确保根据第一安全点、第二安全点生成新航段的路径最优,可以根据路径优化算法生成新航段,且将以障碍物为中心的危险区域设置为不可到达区域。其中,上述路径优化算法可以采用各种现有技术中的路径优化算法,例如A*搜寻算法(A-star Algorithm,A星算法)。基于此,当确定出第一安全点和第二安全点后,可以通过A*搜寻算法以第一安全点为起点,第二安全点为终点,生成新航段作为跨航段绕行航线,其中,跨航段绕行航线与以障碍物为中心的危险区域不相交。如图7所示,新航段L1的起点为第一安全点P1,终点为第二安全点P2。
需要注意的是,虽然本实施例中以跨航段绕行航线为一圆滑弧线的形式为例进行说明,但跨航段绕行航线的形式并不局限于此,可选地,跨航段绕行航线还可以由多条首尾相连的 直线组成,本领域技术人员可以根据实际情况自行选择。
可以理解的是,当第二航段距离小于预设距离时,表示此时的障碍物距离当前航段末端点T2较近,即此时的情况可以分为:障碍物靠近当前航段末端点且距离当前航段较近,或者障碍物靠近当前航段末端点且距离下一航段较近。具体的,请再参照图6,当第二航段距离s2小于预设距离且第一航段距离s1小于第三航段距离(无人机100与T2之间的航段距离)时,此时障碍物靠近当前航段末端点T2且距离当前航段较近;当第二航段距离s2小于预设距离且第一航段距离s1大于或等于第三航段距离(无人机100与T2之间的航段距离)时(如图10所示),此时障碍物靠近当前航段末端点且距离下一航段较近。对于上述两种情况,通过执行S130-21-1至S130-21-4的步骤均能够实现控制无人机沿生成的跨航段绕行航线绕开障碍物。
需要说明的是,在控制无人机沿跨航段绕行航线(新航段)绕开障碍物的过程中,通过本申请实施例所提供的方法还可以实时检测障碍物,并在检测到障碍物且第一航段距离大于预设危险距离时,再次判断第二航段距离是否小于预设距离以确定障碍物的绕行方式。此时,跨航段绕行航线即为无人机的当前航段。因此,对于一些移动的障碍物,或者之前未检测到的障碍物,此处的新航段,可以被作为S130-21中的当前航段,进而重复进行绕行线路的迭代估算。
此外,由于出于简便说明的目的,本实施例中将航线以及障碍物区域的维度限定在相同二维平面上,因此相应的绕行航线也在该二维平面上。本领域技术人员应当理解的是,在本申请的飞行控制方法中,除了通过转向以改变航向的方式,无人机同样可以采用改变高度(例如爬升)的方式来避开障碍物,或者将二者结合使用。在三维地图空间中,这两种方式没有本质区别,在此不再赘述。
可以理解的是,通过步骤S130-21-1至S130-21-4实现在障碍物距离当前航段末端点较近的情况下,无人机能够正常绕行该障碍物,并直接进入下一航段。从而实现了自动高效地绕开障碍物,提高了无人机作业过程的流畅程度。并且在执行上述S130-21-1至S130-21-4步骤的同时,还实时判断第一航段距离是否小于或等于预设危险距离,当第一航段距离小于或等于预设危险距离时,刹停无人机。
请再参照图8,步骤S130还包括子步骤S130-22:控制无人机从跨航段绕行航线的起点移动至跨航段绕行航线的终点;其中所述跨航段绕行航线的起点位于所述当前航段,所述跨航段绕行航线的终点位于所述下一航段。
基于图7所示场景,S130-22可以包括:控制无人机通过第一安全点从当前航段进入新航段,当无人机沿新航段移动至第二安全点时,控制无人机回归至下一航段。
请再参照图4,本申请实施例所提供的飞行控制方法还可以包括步骤:
S140-1,获取障碍物的位置信息;以及
S140-2,判断障碍物的位置信息是否位于本航段绕行范围内,若是,则根据障碍物的位置信息生成当前航段绕行航线,以使无人机沿当前航段绕行航线绕行至当前航段的起始安全点上。
当判断出障碍物的位置信息位于本航段绕行范围内时,可以根据障碍物的位置信息生成当前航段绕行航线。例如,一种可能的当前航段绕行航线规划如图11所示,假设无人机的当前航段为第一航段210。当前航段绕行航线的起始点为Q1,当前航段绕行航线的末端点为Q2。当无人机沿第一航段210飞行至Q1时,控制无人机进入当前航段绕行航线,并控制无人机沿当前航段绕行航线飞行。当无人机飞行至Q2时,则控制无人机从Q2返回第一航段210。其中,关于如何判断障碍物的位置信息是否位于本航段绕行范围内,具体可以参考上述的S121,在此不再赘述。
由于在检测到障碍物时,根据第二航段距离的大小分别控制无人机沿不同的绕飞航段绕开障碍物,且当第二航段距离小于预设距离时,控制无人机沿跨航段绕行航线绕开障碍物并直接进入下一航段,当第二航段距离大于或等于预设距离时,控制无人机沿跨航段绕行航线绕开障碍物并返回当前航段。从而避免无人机在绕行障碍物时无法正常回归航线,达到保证无人机在面对复杂的作业场景时自动高效地完成作业任务的目的。
基于图6所示场景,在一种可能的实施例中,对于如何根据障碍物的位置信息生成当前航段绕行航线,以使无人机沿当前航段绕行航线绕行至当前航段的起始安全点上,如图12所示,步骤S140-2具体可以包括如下子步骤:
S140-21A,根据无人机的飞行状态以及预设飞行变量生成当前航段绕行航线;其中,当前航段绕行航线包括多个绕行拐点,任意相邻的两个绕行拐点之间的子航段为功耗最小的路径。
在本实施例中,根据无人机的飞行状态以及预设飞行变量生成当前航段绕行航线的过程可以包括:当第三航段距离大于第一航段距离时,根据无人机当前加速度、预设绕行时间以及预设加速度增量生成新航段,以作为当前航段绕行航线。其中,新航段包括多个绕行拐点,任意相邻的两个绕行拐点之间的子航段为功耗最小的路径,最后一个子航段的末端绕行拐点位于当前航段,第三航段距离为当前位置与当前航段末端点之间的航段长度。
由于障碍物距离当前航段末端点较远,以障碍物为中心的危险区域并未覆盖当前航段的末端点附近的航线,无人机在绕行时可以正常返回当前航段。为确保当前航段绕行航线的路径最优且不与以障碍物为中心的危险区域相交,可以根据无人机当前加速度、预设绕行时间以及预设加速度增量生成多条子路径,并选择多条子路径中功耗最小的路径作为子航段。然后判断最新生成的子航段是否与当前航段相交,当最新生成的子航段与当前航段不相交时,则继续根据无人机当前加速度、预设绕行时间以及预设加速度增量生成多条子路径,并选择多条子路径中功耗最小的路径作为子航段,直至最新生成的子航段与当前航段相交。关于无人机功耗的计算的方式将在下文进行详细解释,同时可以理解的是,子路径的数量越多,则新航线的规划也相应的更为精密,对于形状复杂或者体积较大的障碍物,无人机可以自动调整子路径的数量,反之亦然。其中,如图13所示,子航段L1、L2以及L3的起始点及末端点即为绕行拐点,第三航段距离为无人机100的当前位置与当前航段末端点T2之间的航段长度。
需要说明的是,在一种可能的情况下,无人机检测到障碍物时,第三航段距离可能小于或等于第二航段距离,这种情况表示第一交点位于下一航段,即无人机实际与障碍物发生碰撞的位置位于下一航段。若此时控制无人机绕行,则可能与步骤S130-21、S130-22的绕行控制相冲突。因此,在第三航段距离小于或等于第二航段距离且第二航段距离大于或等于预设距离时,在执行步骤S140-21A的过程中不必控制无人机绕行障碍物。
进一步的,对于如何实现S140-21A中的根据无人机的飞行状态以及预设飞行变量生成当前航段绕行航线,下面给出一种可能的实现方式,具体请参照图14,步骤S140-21A可以包括如下子步骤:
S140-21A-1,根据绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合;飞行状态集合包括多个预估飞行状态。
在一种可能的实施方式中,飞行状态可以包括加速度,预设飞行变量包括预设加速度增量,相应地,S140-21A-1可以包括:根据绕行拐点的加速度以及预设加速度增量生成飞行加速度集合作为飞行状态集合。飞行加速度集合包括多个飞行加速度,飞行加速度满足如下公式:
Figure PCTCN2020111436-appb-000001
其中,Δa为预设加速度增量,a x、a y、a z为加速度在不同方向的分量,k x、k y、k z均为预设区间内的任一常数,
Figure PCTCN2020111436-appb-000002
为飞行加速度在不同方向的分量。
在本实施例中,由于无人机可以探测周围环境,并根据探测的周围环境生成三维地图,以及根据预设的转换规则,如欧氏距离变换,将三维地图转换为带有空间距离信息的上述三维地图空间,因此飞行状态所包括加速度可以有不同方向的分量,例如上述的a x、a y、a z(即a x、a y、a z构成加速度),飞行加速度可以有不同方向的分量,例如上述的
Figure PCTCN2020111436-appb-000003
(即
Figure PCTCN2020111436-appb-000004
构成飞行加速度)。k x、k y、k z之间的值相互独立,例如,当预设区间为[-10,10]时,k x在取遍[-10,10]中的任一常数时,k y以及k z均可以取遍[-10,10]中的任一常数,并且,k x、k y、k z均为预设区间内的任一常数,进而k x、k y、k z可以有多组不同的取值。
由于每个飞行加速度均满足公式:
Figure PCTCN2020111436-appb-000005
且k x、k y、k z可以有多组不同的取值,因此,在根据绕行拐点的加速度以及预设加速度增量生成飞行加速度时可以生成多个不同的飞行加速度作为上述的飞行加速度集合。换句话说, 根据k x、k y、k z可以得到一个数组集合,该数组集合中的每个元素包括三个位于预设区间的数,该数组集合中的所有元素包括了预设区间中任意三个常数的组合,进而在根据加速度以及预设加速度增量生成飞行加速度集合作为飞行状态集合时,可以首先根据预设加速度增量以及数组集合(根据k x、k y、k z得到)生成预设加速度增量集合,然后根据预设加速度增量集合以及加速度生成飞行加速度集合作为所述飞行状态集合。可以理解的是,可选地,为了减少计算量,k x、k y、k z可以为预设区间中的一等差数列中的任一常数(即根据k x、k y、k z得到的数组集合的所有元素包括了预设区间中的一等差数列中任意三个常数的组合),例如,当预设区间为[-10,10],且该预设区间的一等差数列为-10至10的整数时,k x、k y、k z可以为该等差数列的任一常数。
在另一种可能的实施方式中,飞行状态包括绕行拐点的速度信息,预设飞行变量包括预设速度增量,相应地,步骤S140-21A-1可以包括:根据绕行拐点的速度信息以及预设速度增量生成飞行速度集合作为飞行状态集合;飞行速度集合包括多个飞行速度,飞行速度满足如下公式:
Figure PCTCN2020111436-appb-000006
其中,Δv为预设速度增量,v x、v y、v z为速度信息在不同方向的分量,k x、k y、k z均为预设区间内的任一常数,
Figure PCTCN2020111436-appb-000007
为飞行速度在不同方向的分量。
在本实施例中,由于无人机可以探测周围环境,并根据探测的周围环境生成三维地图,以及根据预设的转换规则,如欧氏距离变换,将三维地图转换为带有空间距离信息的上述三维地图空间,因此,飞行状态所包括的速度信息可以有不同方向的分量,例如上述的v x、v y、v z(即v x、v y、v z构成速度信息),飞行速度可以有不同方向的分量,例如上述的
Figure PCTCN2020111436-appb-000008
(即
Figure PCTCN2020111436-appb-000009
构成飞行速度)。k x、k y、k z之间的值相互独立,例如,当预设区间为[-10,10]时,k x在取遍[-10,10]中的任一常数时,k y以及k z均可以取遍[-10,10]中的任一常数,并且,k x、k y、k z均为预设区间内的任一常数,进而k x、k y、k z可以有多组不同的取值。
由于每个飞行速度均满足公式:
Figure PCTCN2020111436-appb-000010
且k x、k y、k z可以有多组不同的取值,因此,在根据绕行拐点的速度信息以及预设速度增量生成飞行速度时可以生成多个不同的飞行速度作为上述的飞行加速度集合。换句话说,根据k x、k y、k z可以得到一个数组集合,该数组集合中的每个元素包括三个位于预设区间的数,该数组集合中的所有元素包括了预设区间中任意三个常数的组合,进而在根据速度信息以及预设速度增量生成飞行速度集合作为飞行状态集合时,可以首先根据预设速度增量以及数组集合(根据k x、k y、k z得到)生成预设速度增量集合,然后根据预设速度增量集合以及速度信息生成飞行速度集合作为所述飞行状态集合。可以理解的是,为了减少计算量,k x、k y、k z可以为预设区间中的一等差数列中的任一常数(即根据k x、k y、k z得到的数组集合的所有元素包括了预设区间中的一等差数列中任意三个常数的组合),例如,当预设区间为[-10,10],且该预设区间的一等差数列为-10至10的整数时,k x、k y、k z可以为该等差数列的任一常数。
S140-21A-2,根据绕行拐点的飞行数据、多个预估飞行状态及预设飞行时间确定平滑轨迹集合;平滑轨迹集合包括多条平滑轨迹。
当在步骤S140-21A-1中选择根据绕行拐点的加速度以及预设加速度增量生成飞行加速度集合作为飞行状态集合时,飞行数据包括绕行拐点的位置信息及速度信息,此时步骤S140-21A-2可以包括:根据绕行拐点的位置信息、速度信息、预设飞行时间以及飞行加速度集合确定平滑轨迹集合。
在本实施例中,可以根据无人机在绕行拐点的位置信息、速度信息、预设飞行时间以及飞行加速度集合中的任一飞行加速度计算出一条平滑轨迹。其中,还可以为无人机设置一最大飞行速度,当平滑轨迹中存在轨迹点的飞行速度达到最大飞行速度时,则无人机可以以最大飞行速度在该平滑轨迹中位于该轨迹点之后的轨迹上匀速飞行。
当在步骤S140-21A-1中选择根据绕行拐点的速度信息以及预设速度增量生成飞行速度 集合作为飞行状态集合时,飞行数据包括绕行拐点的位置信息,此时步骤S140-21A-2可以包括:根据绕行拐点的位置信息、预设飞行时间以及飞行速度集合确定平滑轨迹集合。
在本实施例中,可以根据无人机在绕行拐点的位置信息、预设飞行时间以及飞行速度集合中的任一飞行速度计算出一条平滑轨迹。其中,还可以为无人机设置一最大飞行速度,当平滑轨迹中存在轨迹点的飞行速度达到最大飞行速度时,则无人机可以以最大飞行速度在该平滑轨迹中位于该轨迹点之后的轨迹上匀速飞行。可选的,为避免无人机与障碍物碰撞,上述平滑轨迹集合中与以障碍物为中心的危险区域相交的绕行轨迹已经被剔除。
S140-21A-3,确定多条平滑轨迹中功耗最小的平滑轨迹,以作为子航段。
在本实施例中,平滑轨迹的功耗的计算方式具体可以是直接预估无人机沿平滑轨迹飞行所做的功,或者可以是采用耗散函数预估的方式计算无人机沿平滑轨迹飞行所做的功。
进一步的,步骤S140-21A-3可以包括:确定多条平滑轨迹中耗散函数值最小的平滑轨迹,以作为子航段。
在上述方式中,一个加速度/速度即对应一条平滑轨迹,相应地,当飞行加速度集合包括多个飞行加速度或飞行速度集合包括多个飞行加速时,则可以计算出一组平滑轨迹,此时可以从中选择最优的轨迹用于规划子航段,以下将对在平滑轨迹集合中选取最优的平滑轨迹的过程进行介绍。
在本实施例中,为了让规划出的子航段平滑且功耗最小,使得无人机能够高效完成作业任务,并且在进行无人机子航段规划时,使得生成的子航段满足如下条件:避开周围空间中的障碍物、轨迹平滑且无人机沿该子航段飞行时功耗最小。可以计算出多条平滑轨迹中的每条平滑轨迹的耗散函数值,并将耗散函数值最小的平滑轨迹作为子航段。
对于如何对多条平滑轨迹的耗散函数值进行计算,可以采用如下方式实现:首先,对多条平滑轨迹中的每条平滑轨迹进行多点采样,得到每条平滑轨迹对应的多个采样点,然后获取相关数据,包括多个采样点的坐标、轨迹目标点(即子航段的终点)的坐标、绕行拐点的坐标、障碍物的坐标以及参考轨迹(参考轨迹可以是绕行拐点与轨迹目标点之间最短线段),最后将获取到的相关数据代入到耗散函数值计算公式,从而得出每条平滑轨迹的耗散函数值。其中,耗散函数值计算公式包括参考轨迹限定项、障碍物距离限定项、平滑限定项以及方向限定项,参考轨迹限定项表征平滑轨迹靠近参考轨迹的程度,障碍物距离限定项表征平滑轨迹靠近障碍物的程度,平滑限定项表征平滑轨迹的平滑程度,方向限定项表征平滑轨迹靠近轨迹目标点的程度。当存在一平滑轨迹的耗散函数值最小时,即表示该平滑轨迹在靠近参考轨迹的程度、靠近障碍物的程度、平滑程度以及靠近轨迹目标点的程度的综合情况下是最优的,从而保证规划出的子航段满足避开周围空间中的障碍物、轨迹平滑且无人机沿该子航段飞行时功耗最小的条件。由此可以减少无人机避障时产生的抖动,提高无人机飞行稳定性,并使得避障所需的飞行距离最短,有利于缩短作业时间,同时还能够保证飞行时的安全性。
在本实施例中,当飞行加速度集合包括多个飞行加速度时,平滑轨迹的耗散函数值满足如下公式:
Figure PCTCN2020111436-appb-000011
其中,每条平滑轨迹包括多个采样点,A、B、C、D以及τ为预设的权重值,d i为采样点与参考轨迹的距离,r i为采样点与障碍物的距离,n为多个采样点的个数,cos t为耗散函数值,x i为采样点的坐标,x d为轨迹目标点的坐标,x s为平滑轨迹起点的坐标,||x i-x d||表征x i到x d的距离,||x s-x d||表征x s到x d的距离;
Figure PCTCN2020111436-appb-000012
为参考轨迹限定项,
Figure PCTCN2020111436-appb-000013
为障碍物距离限定项,C|k xΔa+k yΔa+k zΔa|为平滑限定项,
Figure PCTCN2020111436-appb-000014
为方向限定项,参考轨迹限定项表征平滑轨迹靠近参考轨迹的程度,障碍物距离限定项表征平滑轨迹靠近障碍物的程度,平滑限定项表征平滑轨迹的平滑程度,方向限定项表征平滑轨迹靠近轨迹目标点的程度。
进一步的,在本实施例中,当飞行速度集合包括多个飞行速度时,平滑轨迹的耗散函数值满足如下公式:
Figure PCTCN2020111436-appb-000015
其中,每条平滑轨迹包括多个采样点,A、B、C、D以及τ为预设的权重值,d i为采样点与参考轨迹的距离,r i为采样点与障碍物的距离,n为多个采样点的个数,cost为耗散函数值,x i为采样点的坐标,x d为轨迹目标点的坐标,x s为平滑轨迹起点的坐标,||x i-x d||表征x i到x d的距离,||x s-x d||表征x s到x d的距离;
Figure PCTCN2020111436-appb-000016
为参考轨迹限定项,
Figure PCTCN2020111436-appb-000017
为障碍物距离限定项,C|k xΔv+k yΔv+k zΔv|为平滑限定项,
Figure PCTCN2020111436-appb-000018
为方向限定项,参考轨迹限定项表征平滑轨迹靠近参考轨迹的程度,障碍物距离限定项表征平滑轨迹靠近障碍物的程度,平滑限定项表征平滑轨迹的平滑程度,方向限定项表征平滑轨迹靠近轨迹目标点的程度。
由于通过将平滑轨迹集合中耗散函数值最小的绕行轨迹作为子航段,而耗散函数值越小,无人机沿该子航段飞行的抖动越小、距离越短,从而达到功耗越小的目的。进一步提高了无人机的绕行效率。
需要说明的是,||x i-x d||(惩罚值)用来对平滑轨迹远离轨迹目标点的惩罚,||x i-x d||用来对惩罚值(||x i-x d||)进行归一化,避免平滑轨迹距离轨迹目标点越远导致方向限定项取值过大的问题,预设的权重值A、B、C、D以及τ可以根据实际的应用场景进行设置。
还需要说明的是,由于任一子航段的确定过程中所需要的起始条件(绕行拐点的飞行状态以及预设飞行变量)相同,因此上述步骤S140-21A-1和S140-21A-3表示的是确定任一子航段的一般步骤。在实际应用时,当前航段绕行航线的确定可以以当前位置的加速度为起始条件确定的,即当前航段绕行航线的确定步骤还可以是:
步骤1,根据无人机100当前绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合;
步骤2,根据无人机100绕行拐点的飞行数据、多个预估飞行状态及预设飞行时间确定平滑轨迹集合;
步骤3,确定多条平滑轨迹中功耗最小的平滑轨迹作为子航段;
步骤4,判断该功耗最小的平滑轨迹的末端点是否为轨迹目标点,若是,则选取该功耗最小的平滑轨迹生成绕行航线并完成本次子航段的规划,若否,则将功耗最小的平滑轨迹的末端点作为当前绕行拐点,并返回执行上述步骤1,直至功耗最小的平滑轨迹的末端点为轨迹目标点。
例如,请再参考图13,当无人机确定需要生成当前航段绕行航线绕开障碍物时,首先,将当前位置作为当前绕行拐点,并确定出功耗最小的子航段L1,此时子航段L1的末端点不是轨迹目标点,将子航段L1的末端点作为当前绕行拐点,并确定出功耗最小的子航段L2,此时子航段L2的末端点依旧不是轨迹目标点,将子航段L2的末端点作为当前绕行拐点,并确定出功耗最小的子航段L3,此时子航段L3的末端点为轨迹目标点,完成本次子航段的规划。
请再参考图4,步骤S140-2还可以包括子步骤S140-22A,控制无人机沿当前航段绕行航线绕开障碍物。
还需要说明的是,为了进一步确保无人机飞行的安全性,在控制无人机沿当前航段绕行航线(新航段)绕开障碍物的过程中,本申请实施例所提供的方法还可以实时检测障碍物,并在检测到障碍物且第一航段距离大于预设危险距离时,再次判断第二航段距离是否大于或等于预设距离以确定障碍物的绕行方式。此时的当前航段绕行航线即为无人机的当前航段。因此,对于一些移动的障碍物,或者之前未检测到的障碍物,此处的新航段,可以被作为S140-21A至S140-22A中的当前航段,进而重复进行绕行线路的迭代估算。
基于图6所示的场景,在另一种可能的实施例中,对于如何根据障碍物的位置信息生成当前航段绕行航线,以使无人机沿当前航段绕行航线绕行至当前航段的起始安全点上,如图15所示,S140-2还可以包括如下子步骤:
S140-21B,根据障碍物的位置信息以及下一航段的起始点确定当前航段绕行航线。
基于图6所示场景,在本实施例中,根据障碍物的位置信息以及下一航段的起始点确定 当前航段绕行航线的过程可以包括:根据以障碍物为中心的危险区域与无人机航线的交点集合以及下一航段的起始点确定安全点,并根据安全点生成新航段,以作为当前航段绕行航线;安全点包括第一安全点和第二安全点,第一安全点为当前位置和第一交点之间的航段上的任一点,第二安全点为第二交点和下一航段的起始点之间的航段上的任一点。
在本实施例中,交点集合还包括远离当前位置的第二交点。再如图11所示,交点集合包括交点A和交点B。由于第一交点为交点集合中靠近无人机当前位置的交点,第二交点为交点集合中远离无人机当前位置的交点,从而交点A为第一交点,交点B为第二交点。因此可以将无人机100当前位置和交点A之间航段上的任一点确定为第一安全点,可以将交点B和下一航段起始点T2之间航段上的任一点确定为第二安全点。
需要说明的是,步骤S140-21B中根据安全点生成新航段,以作为当前航段绕行航线的原理可以参考步骤S130-21-4,在此不再赘述。
S140-22B,控制无人机从当前航段绕行航线的起点移动至当前航段绕行航线的终点;所述当前航段绕行航线的起点和终点均位于所述当前航段。
需要说明的是,步骤S140-22B中控制无人机的移动的原理可以对应参考步骤S130-22,在此不再赘述。
可选地,本申请实施例所提供的飞行控制方法还可以包括:在检测到障碍物且第一航段距离小于或等于预设危险距离时,刹停无人机。
可选地,无人机实时根据当前飞行速度以及当前飞行最大刹停加速度计算刹车距离,当检测到障碍物且第一航段距离小于或等于该刹车距离时,判定无人机即将与障碍物碰撞,生成刹停轨迹,并控制无人机沿刹停轨迹刹停。其中,刹车距离即为预设危险距离,在本实施例中,预设危险距离可以随着无人机的飞行速度以及飞行最大刹停加速度变化。其中,如图6所示,第一航段距离为无人机当前位置与第一交点之间的航段长度,即无人机的当前位置与第一交点A之间的航段S1的航段长度为第一航段距离。
需要说明的是,本申请实施例并未对预设危险距离的值进行限定,在实际应用中,预设危险距离的值可以根据实际情况进行设定,例如,还可以根据障碍物出现的频率对预设危险距离的值进行设定,可以理解为,障碍物出现的频率越高,则可以赋予预设危险距离越大的值,危险区域的面积也对应增大。
进一步的,本申请实施例所提供的飞行控制方法还可以包括:检测物体与当前检测航段的距离,其中,当前检测航段为航线上的预设检测长度的航段,并且该预设检测长度的航段的起点为当前位置。当物体与当前检测航段的距离小于预设障碍物距离时,则确定该物体为障碍物。如图5所示,无人机100可以从当前位置出发,遍历当前航线未行驶部分的预设航段距离(即图5中加粗的航段,当前检测航段A)上的任一点与其他物体之间的距离,在当前航线未行驶部分的预设航段距离上存在某一点与其他物体之间的距离小于预设障碍物距离时,则确定该其他物体为障碍物。
在另一种可能的实施例中,还可以检测以其他物体为中心的危险区域是否与航线相交,当以其他物体为中心的危险区域是否与航线相交时,则确定该其他物体为障碍物。
与方法实施例对应,本申请实施例还提供了一种飞行控制装置,请参阅图16,图16为本申请实施例提供的一种飞行控制装置的功能模块图。需要说明的是,本实施例所提供的飞行控制装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。另外,应当理解的是,以下的模块划分仅仅是按照功能逻辑进行的划分,并不代表在实际的硬件实现中也需要遵从该划分方式,本领域技术人员可以根据实际情况对各模块的硬件实现进行规划。该飞行控制装置300包括:检测模块310、确定模块320、绕行模块330以及刹停模块340。
检测模块310配置为在无人机按照预设航段飞行时,检测无人机飞行方向上的障碍物。
可以理解的是,检测模块310可以执行上述的步骤S110。
在本实施例中,检测模块310还可以配置为检测其他物体与当前检测航段的距离,其中当前检测航段为航线上的预设检测长度的航段,预设检测长度的航段的起点为无人机的当前位置;当其他物体与当前检测航段的距离小于预设障碍物距离时,确定其他物体为障碍物。
确定模块320配置为确定障碍物的位置信息。
可以理解的是,确定模块320可以执行上述的步骤S120。
绕行模块330配置为当障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信 息生成跨航段绕行航线,以使无人机沿跨航段绕行航线绕行至下一航段的起始安全点上;以及配置为当障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使无人机沿当前航段绕行航线绕行至当前航段的起始安全点上。
可以理解的是,绕行模块330可以执行上述的步骤S130、S140。
在本实施例中,绕行模块330还配置为获取障碍物的位置信息,以及判断障碍物的位置信息是否位于跨航段绕行范围内,若是,则根据障碍物的位置信息生成跨航段绕行航线,以使无人机沿跨航段绕行航线绕行至下一航段的起始安全点上。
可以理解的是,绕行模块330可以执行上述的步骤S130-1、S130-2。
可选地,绕行模块330还配置为当障碍物的位置信息位于跨航段绕行范围内时,根据障碍物的位置信息以及下一航段的起始点确定跨航段绕行航线;控制无人机从跨航段绕行航线的起点移动至跨航段绕行航线的终点;跨航段绕行航线的起点位于当前航段,跨航段绕行航线的终点位于下一航段。
可以理解的是,绕行模块330可以执行上述的步骤S130-21、S130-22。
可选地,绕行模块330还配置为获取障碍物的位置信息,以及判断障碍物的位置信息是否位于本航段绕行范围内,若是,则根据障碍物的位置信息生成当前航段绕行航线,以使无人机沿当前航段绕行航线绕行至当前航段的起始安全点上。
可以理解的是,绕行模块330可以执行上述的步骤S140-1、S140-2。
可选地,绕行模块330还配置为当障碍物的位置信息位于本航段绕行范围内时,根据障碍物的位置信息以及下一航段的起始点确定当前航段绕行航线;控制无人机从当前航段绕行航线的起点移动至当前航段绕行航线的终点;当前航段绕行航线的起点和终点均位于当前航段。
可以理解的是,绕行模块330可以执行上述的步骤S140-21B、S140-22B。
在本实施例中,绕行模块330还配置为根据无人机的飞行状态以及预设飞行变量生成当前航段绕行航线;其中,当前航段绕行航线包括多个绕行拐点,任意相邻的两个绕行拐点之间的子航段为功耗最小的路径;控制无人机沿当前航段绕行航线绕开障碍物。
可以理解的是,绕行模块330可以执行上述的步骤S140-21A、S140-22A。
可选地,绕行模块330还配置为根据绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合;飞行状态集合包括多个预估飞行状态;根据绕行拐点的飞行数据、多个预估飞行状态及预设飞行时间确定平滑轨迹集合,平滑轨迹集合包括多条平滑轨迹;确定多条平滑轨迹中功耗最小的平滑轨迹作为子航段。
可以理解的是,绕行模块330可以执行上述的步骤S140-21A-1、S140-21A-2、S140-21A-3。
在本实施例中,刹停模块340还可以配置为判断无人机是否位于障碍物的危险范围内;当无人机位于障碍物的危险范围内时,刹停无人机。
请参照图17,图17示出了本申请实施例所提供的无人机控制设备的结构框图。无人机控制设备130包括存储器131、通信接口132、处理器133和总线134,所述存储器131、通信接口132和处理器133通过总线134连接,处理器133配置为执行存储器131中存储的可执行模块,例如计算机程序。
其中,存储器131可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口132(可以是有线或者无线)实现该无人机控制设备130与其他终端设备之间的通信连接。
总线134可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(Extended Industry Standard Architecture,扩展工业标准结构)总线等。图17中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器131配置为存储程序,处理器133在接收到执行指令后,执行所述程序以实现本申请上述实施例揭示的飞行控制方法。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器133执行时实现上述实施例揭示的飞行控制方法。
应当理解的是,图17所示的结构仅为无人机控制设备130的结构示意图,无人机控制设备130还可包括比图17中所示更多或者更少的组件,或者具有与图17所示不同的配置。 图17中所示的各组件可以采用硬件、软件或其组合实现。
请参照图18,图18示出了本申请实施例所提供的无人机的结构框图。无人机100包括:机体110、动力设备120以及无人机控制设备130。动力设备120安装在机体,配置为为无人机提供飞行的动力,其中,动力设备可以包括电动机、电源以及螺旋桨等组件中的至少一种。无人机控制设备130与动力设备120通信连接,配置为控制无人机100的沿航线飞行,在一些可能的实施例中,无人机控制设备130可以是无人机飞行控制器。无人机控制设备130在配置为控制无人机100飞行时可以实现上述实施例揭示的飞行控制方法,具体的实现方式和原理与上述实施例一致,在此不再赘述。
综上所述,本申请实施例提供了一种飞行控制方法、装置、设备、存储介质及无人机。该方法包括:在无人机按照预设航段飞行时,检测无人机飞行方向上的障碍物,确定障碍物的位置信息。当障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使无人机沿跨航段绕行航线绕行至下一航段的起始安全点上;当障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使无人机沿当前航段绕行航线绕行至当前航段的起始安全点上。由于该方法能够根据处于不同范围的障碍物的位置信息确定出不同的绕行航线,并且所确定出的绕行航线的终点也会因不同范围的障碍物的位置信息而不同,故能够使无人机能够灵活地绕开处于不同范围的障碍物,进而实现无人机在复杂的作业场景下自动高效地绕开障碍物。此外,通过该方法能够针对作业场景的特殊性进行航段智能规划,能够使无人机在保证安全的基础上,提高作业流程的流畅性,能够自动应对复杂的作业环境。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请提供了一种飞行控制方法及相关装置,其能够使无人机在复杂的作业场景下自动高效地绕开障碍物,从而解决现有技术中的无人机在碰到障碍物时,由于仅通过单一的绕行策略绕开障碍物,而导致在应对复杂的作业场景下的作业任务时不能高效地绕开障碍物,进而致使无人机避障时作业过程不流畅,无法达到预期效果的技术问题。

Claims (22)

  1. 一种飞行控制方法,其特征在于,应用于无人机,所述方法包括:
    在所述无人机按照预设航段飞行时,确定所述无人机飞行方向上的障碍物;
    确定所述障碍物的位置信息;
    当所述障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上;
    当所述障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上。
  2. 根据权利要求1所述的方法,其特征在于,在所述确定所述障碍物的位置信息的步骤之后,所述方法还包括:
    在第一航段距离大于预设危险距离时,判断第二航段距离是否小于预设距离;当第二航段距离小于预设距离时,确定所述障碍物的位置信息位于跨航段绕行范围;当第二航段距离大于或等于所述预设距离时,确定所述障碍物的位置信息位于本航段绕行范围;
    其中,所述第一航段距离为无人机当前位置与第一交点之间的航段长度,所述第二航段距离为所述第一交点与所述当前航段末端点之间的航段长度,所述第一交点为以所述障碍物为中心的危险区域与无人机航线的交点集合中靠近无人机当前位置的交点。
  3. 根据权利要求1所述的方法,其特征在于,在所述确定所述障碍物的位置信息的步骤之后,所述方法还包括:
    当以所述障碍物为中心的危险区域与无人机航线的交点为一个或者没有交点时,判断所述无人机与所述障碍物不存在碰撞的可能,控制所述无人机按照预设航段连续飞行。
  4. 根据权利要求1所述的方法,其特征在于,所述当所述障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上的步骤包括:
    获取所述障碍物的位置信息;
    确定所述障碍物的位置信息是否位于跨航段绕行范围内,若是,则根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上。
  5. 根据权利要求1所述的方法,其特征在于,所述当所述障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上的步骤包括:
    获取所述障碍物的位置信息;
    确定所述障碍物的位置信息是否位于本航段绕行范围内,若是,则根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上。
  6. 根据权利要求1所述的方法,其特征在于,当所述障碍物的位置信息位于跨航段绕行范围内时,所述根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上的步骤包括:
    根据所述障碍物的位置信息以及下一航段的起始点确定所述跨航段绕行航线;
    控制所述无人机从所述跨航段绕行航线的起点移动至所述跨航段绕行航线的终点;所述跨航段绕行航线的起点位于所述当前航段,所述跨航段绕行航线的终点位于所述下一航段;
    当所述障碍物的位置信息位于本航段绕行范围内时,所述根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上的步骤包括:
    根据所述障碍物的位置信息以及下一航段的起始点确定所述当前航段绕行航线;
    控制所述无人机从所述当前航段绕行航线的起点移动至所述当前航段绕行航线的终点;所述当前航段绕行航线的起点和终点均位于所述当前航段。
  7. 根据权利要求6所述的方法,其特征在于,所述根据所述障碍物的位置信息以及下一航段的起始点确定所述跨航段绕行航线的步骤包括:
    从由以所述障碍物为中心的危险区域与无人机航线的交点形成的交点集合以及所述下一航段的起始点中选取航段距离最大的第一标注点和第二标注点,其中所述第一标注点为靠近无人机当前位置的点,所述第二标注点为远离无人机当前位置的点;
    根据所述当前位置和所述第一标注点确定第一安全点,其中所述第一安全点为所述当前位置和所述第一标注点之间航段上的任一点;
    根据所述第二标注点和所述下一航段的末端点确定第二安全点,其中所述第二安全点为所述第二标注点和所述下一航段的末端点之间航段上的任一点;
    根据所述第一安全点、所述第二安全点生成新航段。
  8. 根据权利要求7所述的方法,其特征在于,所述第一安全点为所述第一标注点,所述第二安全点为所述第二标注点。
  9. 根据权利要求7所述的方法,其特征在于,所述根据所述第一安全点、所述第二安全点生成新航段的步骤包括:
    通过路径优化算法以所述第一安全点为起点、所述第二安全点为终点,且以所述危险区域为不可到达区域,生成新航段。
  10. 根据权利要求1所述的方法,其特征在于,所述根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上的步骤包括:
    根据所述无人机的飞行状态以及预设飞行变量生成所述当前航段绕行航线;其中,所述当前航段绕行航线包括多个绕行拐点,任意相邻的两个绕行拐点之间的子航段为功耗最小的路径;
    控制所述无人机沿所述当前航段绕行航线绕开所述障碍物。
  11. 根据权利要求10所述的方法,其特征在于,所述根据所述无人机的飞行状态以及预设飞行变量生成所述当前航段绕行航线的步骤包括:
    根据无人机在所述绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合;所述飞行状态集合包括多个预估飞行状态;
    根据所述绕行拐点的飞行数据、所述多个预估飞行状态及预设飞行时间确定平滑轨迹集合,所述平滑轨迹集合包括多条平滑轨迹;
    确定所述多条平滑轨迹中功耗最小的平滑轨迹,以作为所述子航段。
  12. 根据权利要求11所述的方法,其特征在于,所述根据无人机在所述绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合的步骤包括:
    根据所述绕行拐点的加速度以及预设加速度增量生成飞行加速度集合,以作为所述飞行状态集合;
    所述飞行数据包括所述绕行拐点的位置信息及速度信息,所述根据所述绕行拐点的飞行数据、所述多个预估飞行状态及预设飞行时间确定平滑轨迹集合的步骤包括:
    根据所述绕行拐点的所述位置信息、所述速度信息、所述预设飞行时间以及所述飞行加速度集合确定所述平滑轨迹集合。
  13. 根据权利要求11所述的方法,其特征在于,所述根据所述绕行拐点的飞行状态以及预设飞行变量生成飞行状态集合的步骤包括:
    根据无人机在所述绕行拐点的速度信息以及预设速度增量生成飞行速度集合,以作为所 述飞行状态集合;
    所述飞行数据包括所述绕行拐点的位置信息;所述根据所述绕行拐点的飞行数据、所述多个预估飞行状态及预设飞行时间确定平滑轨迹集合的步骤包括:
    根据所述绕行拐点的所述位置信息、所述预设飞行时间以及所述飞行速度集合确定所述平滑轨迹集合。
  14. 根据权利要求11至13中任一项所述的方法,其特征在于,所述确定所述多条平滑轨迹中功耗最小的平滑轨迹,以作为所述子航段的步骤包括:
    剔除所述平滑轨迹集合中与以所述障碍物为中心的所述危险区域相交的绕行轨迹;
    确定多条平滑轨迹中耗散函数值最小的平滑轨迹作为子航段。
  15. 根据权利要求1至14中任一项所述的方法,其特征在于,所述确定所述无人机飞行方向上的障碍物的步骤包括:
    确定其他物体与当前检测航段的距离;所述当前检测航段为所述航线上的预设检测长度的航段,所述预设检测长度的航段的起点为所述无人机的当前位置;
    当所述其他物体与当前检测航段的距离小于预设障碍物距离时,确定所述其他物体为障碍物。
  16. 根据权利要求1至15中任一项所述的方法,其特征在于,所述方法还包括:
    确定所述无人机是否位于所述障碍物的危险范围内;
    当所述无人机位于所述障碍物的危险范围内时,刹停所述无人机。
  17. 一种飞行控制装置,其特征在于,应用于无人机,所述装置包括:
    检测模块,配置为在所述无人机按照预设航段飞行时,确定所述无人机飞行方向上的障碍物;
    确定模块,配置为确定所述障碍物的位置信息;
    绕行模块,配置为当所述障碍物的位置信息位于跨航段绕行范围时,根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上;并当所述障碍物的位置信息位于本航段绕行范围时,根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上。
  18. 根据权利要求17所述的装置,其特征在于,所述绕行模块配置为获取所述障碍物的位置信息;
    所述绕行模块还配置为判断所述障碍物的位置信息是否位于跨航段绕行范围内,若是,则根据障碍物的位置信息生成跨航段绕行航线,以使所述无人机沿所述跨航段绕行航线绕行至下一航段的起始安全点上;和/或,
    所述绕行模块还配置为判断所述障碍物的位置信息是否位于本航段绕行范围内,若是,则根据障碍物的位置信息生成当前航段绕行航线,以使所述无人机沿所述当前航段绕行航线绕行至当前航段的起始安全点上。
  19. 根据权利要求17所述的装置,其特征在于,当所述障碍物的位置信息位于跨航段绕行范围内时,所述绕行模块配置为根据所述障碍物的位置信息以及下一航段的起始点确定所述跨航段绕行航线;
    当所述障碍物的位置信息位于跨航段绕行范围内时,所述绕行模块还配置为控制所述无人机从所述跨航段绕行航线的起点移动至所述跨航段绕行航线的终点;所述跨航段绕行航线的起点位于所述当前航段,所述跨航段绕行航线的终点位于所述下一航段;
    当所述障碍物的位置信息位于本航段绕行范围内时,所述绕行模块配置为根据所述障碍物的位置信息以及下一航段的起始点确定所述当前航段绕行航线;
    当所述障碍物的位置信息位于本航段绕行范围内时,所述绕行模块还配置为控制所述无人机从所述当前航段绕行航线的起点移动至所述当前航段绕行航线的终点;所述当前航段绕 行航线的起点和终点均位于所述当前航段。
  20. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-16中任一项所述的飞行控制方法。
  21. 一种无人机控制设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令时实现如权利要求1-16中任一项所述的飞行控制方法。
  22. 一种无人机,其特征在于,包括:
    机体;
    动力设备,安装在所述机体,配置为所述无人机提供动力;
    以及无人机控制设备,所述无人机控制设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令时实现如权利要求1-16中任一项所述的飞行控制方法。
PCT/CN2020/111436 2019-08-27 2020-08-26 一种飞行控制方法及相关装置 WO2021037071A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910798530.8 2019-08-27
CN201910798530.8A CN111752294B (zh) 2019-08-27 2019-08-27 一种飞行控制方法及相关装置

Publications (1)

Publication Number Publication Date
WO2021037071A1 true WO2021037071A1 (zh) 2021-03-04

Family

ID=72672863

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/111436 WO2021037071A1 (zh) 2019-08-27 2020-08-26 一种飞行控制方法及相关装置

Country Status (2)

Country Link
CN (1) CN111752294B (zh)
WO (1) WO2021037071A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112362065B (zh) * 2020-11-19 2022-08-16 广州极飞科技股份有限公司 绕障轨迹规划方法、装置、存储介质、控制单元和设备
CN112286228A (zh) * 2020-12-01 2021-01-29 深圳高度创新技术有限公司 无人机三维可视化避障方法及***
CN114115353B (zh) * 2021-12-09 2024-04-12 北京润科通用技术有限公司 一种编队避障方法及装置
CN117472082B (zh) * 2023-12-26 2024-03-22 众芯汉创(江苏)科技有限公司 一种基于ai视觉辅助的无人机航线生成方法及装置

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218660A (zh) * 2013-03-11 2013-07-24 北京航空航天大学 一种基于泛化模糊竞争神经网的航路选择方法
CN104359473A (zh) * 2014-10-24 2015-02-18 南京航空航天大学 一种动态环境下无人机编队飞行的协同航迹智能规划方法
US20150066248A1 (en) * 2013-08-30 2015-03-05 Insitu, Inc. Unmanned vehicle searches
CN104503463A (zh) * 2014-12-25 2015-04-08 中国人民解放军总参谋部第六十研究所 一种无人直升机主动避障飞行控制方法
CN104807457A (zh) * 2015-04-29 2015-07-29 广州快飞计算机科技有限公司 飞行器航线的生成方法、装置及终端设备
CN106843260A (zh) * 2016-07-04 2017-06-13 北京京东尚科信息技术有限公司 无人机飞行方向修正方法、控制方法及无人机
CN107340781A (zh) * 2016-09-30 2017-11-10 广州亿航智能技术有限公司 无人机飞行控制方法和***
CN107883962A (zh) * 2017-11-08 2018-04-06 南京航空航天大学 一种多旋翼无人机在三维环境下的动态航路规划方法
CN109062259A (zh) * 2018-10-31 2018-12-21 西安天问智能科技有限公司 一种无人机自动避障方法及其装置
CN109947123A (zh) * 2019-02-27 2019-06-28 南京航空航天大学 一种基于视线导引律的无人机路径跟踪与自主避障方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10249200B1 (en) * 2016-07-22 2019-04-02 Amazon Technologies, Inc. Deployable delivery guidance
CN105974928B (zh) * 2016-07-29 2018-12-07 哈尔滨工大服务机器人有限公司 一种机器人导航路径规划方法
CN110162029B (zh) * 2018-02-12 2022-11-25 北京欣奕华科技有限公司 一种基于规划路径的运动控制方法及装置、机器人
WO2020140271A1 (zh) * 2019-01-04 2020-07-09 珊口(上海)智能科技有限公司 移动机器人的控制方法、装置、移动机器人及存储介质
CN109708644B (zh) * 2019-01-21 2020-11-27 北京旷视机器人技术有限公司 移动机器人导航方法、装置和移动机器人

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218660A (zh) * 2013-03-11 2013-07-24 北京航空航天大学 一种基于泛化模糊竞争神经网的航路选择方法
US20150066248A1 (en) * 2013-08-30 2015-03-05 Insitu, Inc. Unmanned vehicle searches
CN104359473A (zh) * 2014-10-24 2015-02-18 南京航空航天大学 一种动态环境下无人机编队飞行的协同航迹智能规划方法
CN104503463A (zh) * 2014-12-25 2015-04-08 中国人民解放军总参谋部第六十研究所 一种无人直升机主动避障飞行控制方法
CN104807457A (zh) * 2015-04-29 2015-07-29 广州快飞计算机科技有限公司 飞行器航线的生成方法、装置及终端设备
CN106843260A (zh) * 2016-07-04 2017-06-13 北京京东尚科信息技术有限公司 无人机飞行方向修正方法、控制方法及无人机
CN107340781A (zh) * 2016-09-30 2017-11-10 广州亿航智能技术有限公司 无人机飞行控制方法和***
CN107883962A (zh) * 2017-11-08 2018-04-06 南京航空航天大学 一种多旋翼无人机在三维环境下的动态航路规划方法
CN109062259A (zh) * 2018-10-31 2018-12-21 西安天问智能科技有限公司 一种无人机自动避障方法及其装置
CN109947123A (zh) * 2019-02-27 2019-06-28 南京航空航天大学 一种基于视线导引律的无人机路径跟踪与自主避障方法

Also Published As

Publication number Publication date
CN111752294A (zh) 2020-10-09
CN111752294B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
WO2021037071A1 (zh) 一种飞行控制方法及相关装置
EP3391166B1 (en) Autonomous visual navigation
CN108594853B (zh) 无人机队形控制方法
EP3315388B1 (en) Spring system-based change lane approach for autonomous vehicles
WO2018058442A1 (zh) 路径规划的方法、装置、飞行控制***、全方位避障***与无人机
JP2021513714A (ja) 航空機のスマート着陸
JP6937218B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US11353878B2 (en) Soft-boundary based path optimization for complex scenes for autonomous driving vehicles
KR102531197B1 (ko) 무인 비행체의 최적 경로 생성 방법 및 장치
US20200310451A1 (en) Path planning for complex scenes with self-adjusting path length for autonomous driving vehicles
WO2021168699A1 (en) Trajectory planning with obstacle avoidance for autonomous driving vehicles
US11814072B2 (en) Method and system for conditional operation of an autonomous agent
CN112256052A (zh) 无人机的速度控制方法、装置、无人机和存储介质
de Vargas et al. Patrolling strategy for multiple UAVs with recharging stations in unknown environments
JP7014289B2 (ja) 移動体制御装置、移動体、移動体制御システム、移動体制御方法および移動体制御プログラム
WO2022126396A1 (zh) 状态信息确定方法、装置、平台及计算机可读存储介质
WO2021217352A1 (zh) 一种可移动平台的控制方法、装置及可移动平台
Wzorek et al. Choosing path replanning strategies for unmanned aircraft systems
JP6926604B2 (ja) 監視装置、移動体の監視対象追従制御装置、監視対象追従制御プログラム
KR102636551B1 (ko) 무인기의 저고도 운용을 위한 자율 지형 충돌 회피 장치 및 방법
CN111752295B (zh) 无人机飞行轨迹规划方法及相关装置
Albaker et al. Straight projection conflict detection and cooperative avoidance for autonomous unmanned aircraft systems
KR102070110B1 (ko) 자율 무인 시스템을 위한 지능 에이전트 시스템
CN114459480B (zh) 作业安全区域生成方法、路径规划方法及相关装置
EP4152119B1 (en) Collision avoidance

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20859353

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 11/08/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20859353

Country of ref document: EP

Kind code of ref document: A1