Aircraft path planning method and device
1. The method for planning the flight path of the aircraft is characterized by acquiring a three-dimensional point cloud map of the global environment of the flight area of the aircraft to be planned in advance, and comprises the following steps:
processing the three-dimensional point cloud map according to preset conditions to obtain an impassable area, a dangerous area and a grid space matrix of the three-dimensional point cloud map in a three-dimensional space;
preprocessing the grid space matrix, and clustering the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result;
preprocessing by utilizing the spatial clustering result to obtain an undirected graph expressing reachability among clusters;
and determining an optimal path from an initial point to a terminal point according to a preset path planning requirement, wherein the optimal path is a safest path, a shortest path or a comprehensive optimal path.
2. The method of claim 1, further comprising:
and mapping the points in the grid space matrix to the coordinates of an actual coordinate space, and smoothing the optimal path by establishing an artificial potential field so that the aircraft to be planned flies smoothly in a three-dimensional space.
3. The method according to claim 2, wherein the mapping of the points in the grid space matrix to the coordinates of the actual coordinate space and the smoothing of the optimal path by establishing an artificial potential field are specifically:
mapping the coordinates of all waypoints in the grid space matrix to convert the coordinates of the waypoints from a grid space form to actual space coordinates;
sequentially selecting two nearest cluster center waypoints from a starting point to a terminal point to establish the artificial potential field;
and smoothing the optimal path through the artificial potential field.
4. The method according to claim 1 or 2, wherein the three-dimensional point cloud map is processed according to preset conditions to obtain an impassable area and a dangerous area of the three-dimensional point cloud map in a three-dimensional space, and a grid space matrix, and specifically comprises:
determining the impassable area and the dangerous area of the three-dimensional point cloud map in a three-dimensional space according to preset flight conditions of the aircraft to be planned;
determining the size of a grid according to a preset precision requirement, rasterizing the three-dimensional point cloud map to generate a space grid with similar space attributes, and constructing the grid space matrix according to the space grid.
5. The method of claim 4, wherein the method of constructing the grid space matrix comprises:
for a point with original map coordinates (x, y, z), it belongs to a grid with grid space coordinates (x// Step, y// Step, z// Step) (//is meaning of integer division);
if the minimum value of the coordinates of each point in the grid space is X in sequencemin,Ymin,Zmin,(Xmin,Ymin,Zmin≤0,Maximum value is X in sequencemax,Ymax,ZmaxThen it can be seen that the size of Map matrix is Xmax-Xmin,Ymax-Ymin,Zmax-ZminIs Xbound,Ybound,Zbound;;
Storing grid attributes of grid space with coordinates (X ', y', z ') in MAP [ X' -Xmin][y′-Ymin][z′-Zmin]The grid space matrix is constructed in the array elements of (1).
6. The method according to claim 1, wherein the determining an optimal path from an initial point to a final point according to preset path planning requirements comprises:
determining a corresponding cost function according to the preset path planning requirement;
and determining the optimal path from the initial point to the terminal point by an A-search method or a Dijkstra algorithm by taking the cost function as an objective function.
7. The method of claim 6, wherein the cost function is:
if the 'path synthesis optimal' is adopted as a target, the cost function is f (i, j) ═ D (i, j);
if the target is 'shortest path distance', the cost function is f (i, j) ═ DS(i,j);
If the optimal safe path is adopted as the target, the cost function is f (i, j) to Da(i,j)。
8. An aircraft path planning device is characterized in that a three-dimensional point cloud map of a global environment of an aircraft flight area to be planned is acquired in advance, and the device comprises:
the first processing unit is used for processing the three-dimensional point cloud map according to preset conditions to obtain an impassable area, a dangerous area and a grid space matrix of the three-dimensional point cloud map in a three-dimensional space;
the second processing unit is used for preprocessing the grid space matrix and clustering the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result;
the third processing unit is used for preprocessing by utilizing the spatial clustering result to obtain an undirected graph expressing the accessibility among clusters;
and the fourth processing unit is used for determining an optimal path from the initial point to the end point according to the preset path planning requirement, wherein the optimal path is a safest path, a shortest path or a comprehensive optimal path.
9. A storage medium, characterized in that the storage medium comprises a stored program, wherein the program, when executed, controls a device on which the storage medium is located to perform an aircraft path planning method according to any one of claims 1 to 7.
10. A flight control system comprising at least one processor, and at least one memory, bus connected to the processor; the processor and the memory complete mutual communication through the bus; the processor is configured to invoke program instructions in the memory to perform the aircraft path planning method of any of claims 1-7.
Background
The main purpose of path planning is to provide a reliable flight path for an aircraft, i.e. to enable the aircraft to fly from one location to another more conveniently. In particular, in an over-the-horizon environment, the operation difficulty of an aircraft operator is greatly reduced by planning the aircraft to fly autonomously. Generally, path planning is divided into two phases: the first phase is global path planning; the second stage is to modify the initial route of the aircraft into a flyable path, also called local path planning, based on the kinematic and dynamic constraints of the aircraft and the specific local environmental conditions, where the most important constraints of the path planning section are more "flyable" and "safe".
At present, a relatively famous open-source self-driving instrument in the industry does not support a complex path planning method, for example, Apm and Pixhawk rarely consider obstacle avoidance and danger avoidance in path planning. In the ground station, the flight path is generally formed by connecting the waypoint sequences by straight lines, and the capability of bypassing obstacles on the path is not provided, which means that the most popular source-opening project does not provide an algorithm with an obstacle avoiding function.
Disclosure of Invention
In view of the problems in the prior art, the application provides an aircraft path planning method and device, which are used for solving the problem that the optimal path is autonomously decided by an aircraft under the conditions of a plurality of obstacles, obstacle distribution and uneven appearance existing in a space in a complex environment.
In order to achieve the above object, the present application provides the following technical solutions:
a method for planning an aircraft path is provided, which is to acquire a three-dimensional point cloud map of a global environment of an aircraft flight area to be planned in advance, and comprises the following steps:
processing the three-dimensional point cloud map according to preset conditions to obtain an impassable area, a dangerous area and a grid space matrix of the three-dimensional point cloud map in a three-dimensional space;
preprocessing the grid space matrix, and clustering the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result;
preprocessing by utilizing the spatial clustering result to obtain an undirected graph expressing reachability among clusters;
and determining an optimal path from an initial point to a terminal point according to a preset path planning requirement, wherein the optimal path is a safest path, a shortest path or a comprehensive optimal path.
Further, the method further comprises:
and mapping the points in the grid space matrix to the coordinates of an actual coordinate space, and smoothing the optimal path by establishing an artificial potential field so that the aircraft to be planned flies smoothly in a three-dimensional space.
Preferably, the mapping the points in the grid space matrix to the coordinates of the actual coordinate space, and smoothing the optimal path by establishing an artificial potential field specifically includes:
mapping the coordinates of all waypoints in the grid space matrix to convert the coordinates of the waypoints from a grid space form to actual space coordinates;
selecting two nearest cluster center waypoints to establish the artificial potential field;
and smoothing the optimal path through the artificial potential field.
Preferably, the three-dimensional point cloud map is processed according to preset conditions to obtain an impassable area and a dangerous area of the three-dimensional point cloud map in a three-dimensional space, and a grid space matrix, and specifically includes:
determining the impassable area and the dangerous area of the three-dimensional point cloud map in a three-dimensional space according to preset flight conditions of the aircraft to be planned;
determining the grid size according to a preset precision requirement, rasterizing the three-dimensional point cloud map to generate a hyperspace with similar spatial attributes, and constructing the grid space matrix according to the hyperspace.
Preferably, the method for constructing the grid space matrix includes:
for a point with original map coordinates (x, y, z), it belongs to a grid with grid space coordinates (x// Step, y// Step, z// Step) (//is meaning of integer division);
if the minimum value of the coordinates of each point in the grid space is X in sequencemin,Ymin,Zmin,(Xmin,Ymin,ZminLess than or equal to 0, and the maximum values are X in sequencemax,Ymax,ZmaxThen it can be seen that the size of Map matrix is Xmax-Xmin,Ymax-Ymin,Zmax-ZminIs Xbound,Ybound,Zbound;;
Storing grid attributes of grid space with coordinates (X ', y', z ') in MAP [ X' -Xmin][y′-Ymin][z′-Zmin]The grid space matrix is constructed in the array elements of (1).
Preferably, the determining an optimal path from an initial point to a terminal point according to the preset path planning requirement specifically includes:
determining a corresponding cost function according to the preset path planning requirement;
and determining the optimal path from the initial point to the terminal point by an A-search method or a Dijkstra algorithm by taking the cost function as an objective function.
Preferably, the cost function is:
if the 'path synthesis optimal' is adopted as a target, the cost function is f (i, j) ═ D (i, j);
if the target is 'shortest path distance', the cost function is f (i, j) ═ DS(i,j);
If the optimal safe path is adopted as the target, the cost function is f (i, j) to Da(i,j)。
An aircraft path planning device, which obtains a three-dimensional point cloud map of a global environment of an aircraft flight area to be planned in advance, comprises:
the first processing unit is used for processing the three-dimensional point cloud map according to preset conditions to obtain an impassable area, a dangerous area and a grid space matrix of the three-dimensional point cloud map in a three-dimensional space;
the second processing unit is used for preprocessing the grid space matrix and clustering the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result;
the third processing unit is used for preprocessing by utilizing the spatial clustering result to obtain an undirected graph expressing the accessibility among clusters;
and the fourth processing unit is used for determining an optimal path from the initial point to the end point according to the preset path planning requirement, wherein the optimal path is a safest path, a shortest path or a comprehensive optimal path.
A storage medium comprising a stored program, wherein the program, when executed, controls a device on which the storage medium is located to perform an aircraft path planning method as described above.
A flight control system comprising at least one processor, and at least one memory, bus connected to the processor; the processor and the memory complete mutual communication through the bus; the processor is configured to invoke program instructions in the memory to perform the aircraft path planning method as described above.
The method and the device for planning the aircraft path acquire a three-dimensional point cloud map of the global environment of the flight area of the aircraft to be planned in advance, and process the three-dimensional point cloud map according to preset conditions to obtain an impassable area, a dangerous area and a grid space matrix of the three-dimensional point cloud map in a three-dimensional space; preprocessing the grid space matrix, and clustering the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result; preprocessing by utilizing the spatial clustering result to obtain an undirected graph expressing reachability among clusters; and determining an optimal path from the initial point to the terminal point according to the preset path planning requirement.
According to the method, the space is divided into the 'super-space' with similar performance values through a spatial clustering algorithm, the shortest path search is considered on the basis, meanwhile, the calculation complexity of a discrete method is greatly reduced, a continuous path meeting the requirements is generated, and the dynamic conditions of the aircraft are considered in invisibility, so that the method can solve the problem that the optimal path is autonomously decided by the aircraft under the conditions that a plurality of obstacles, obstacle distribution and uneven appearance exist in the space in a complex environment.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a schematic flow chart of an aircraft path planning method disclosed in an embodiment of the present application;
FIG. 2 is a schematic diagram illustrating a rasterization process disclosed in an embodiment of the present application;
fig. 3 is a schematic diagram for illustrating the effect of the SLIC algorithm in "spatial cluster clustering" disclosed in the embodiment of the present application;
fig. 4 is a schematic diagram illustrating an effect of obtaining a finer result by debugging related parameters according to an embodiment of the present application;
fig. 5 is another schematic diagram illustrating another effect of obtaining a more refined result by adjusting related parameters according to the embodiment of the present application;
fig. 6 is a schematic diagram for illustrating an application effect of the SLIC algorithm in a three-dimensional space according to the embodiment of the present application;
fig. 7 is a schematic structural diagram of an aircraft path planning apparatus disclosed in an embodiment of the present application;
fig. 8 is a schematic structural diagram of a flight control system according to an embodiment of the present application.
Detailed Description
The applicant finds in research that a common path planning algorithm mainly includes a discrete method and a continuous method according to a processing method for a map, wherein: the discrete method of the map needs to discretize a continuous space and process the continuous space continuously, and can be divided into a random sampling method (RRT algorithm, SBL algorithm) and a map search algorithm (after an actual continuous map is often required to be converted into a discrete map, map search is performed by using methods such as A-star algorithm, dynamic programming algorithm and the like).
In the prior art, firstly, many algorithms consider obstacles and aircrafts as particles, but in a complex environment, the space is narrow, and objects cannot be simply considered as particles. Heuristic intelligent algorithms such as a particle swarm algorithm and an ant colony optimization method are substantially used for realizing the optimization of a cost function by using the heuristic method, but do not solve the characteristics of multiple and irregular obstacles in a complex environment essentially, and accordingly, the problem that the requirement of flying can be met only and the requirement of safety is difficult to be completed is solved; secondly, most methods are only used in the case of the indoor situation with complex obstacle distribution, such as the situation of clear conditions and regular obstacle appearance. For example, in the case of the artificial potential field method, when there are multiple obstacles, the aircraft is likely to fall into a local "saddle point" due to the existence of repulsive force fields of a large number of obstacles, and thus cannot act, and it is difficult to set a suitable gravitational field for an irregular obstacle, so that the aircraft avoids the obstacle. Finally, the common path planning methods are mainly planning methods of land robots in two-dimensional environments, such as the RRT method; although the heuristic search algorithm such as a, or the dynamic programming method can also be applied to the three-dimensional region, the algorithm complexity is high, a regular map expression is required, and it is difficult to describe irregular obstacles in a complex environment.
In order to solve the above disadvantages, the present application provides an aircraft path planning method and apparatus, which aims to: the problem of the optimal path of the aircraft for autonomous decision under the conditions of a plurality of obstacles, obstacle distribution and uneven appearance existing in the space in a complex environment is solved.
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The method includes the steps that basic assumptions need to be made, firstly, a three-dimensional point cloud map of a global environment is obtained, and position coordinates of obstacles are known (no area exists for searching information, if an unexplored area exists, map information can be perfected after searching, or the map information can be directly set as an 'impassable area'), namely obstacle information of a space where the obstacle is located needs to be obtained before planning of an aircraft path, such as obstacle shape and coordinate information established by a laser radar, a millimeter wave radar and a vision sensor; secondly, errors brought by the position estimation of the sensor are not considered, and the sensor is considered to be capable of positioning correctly; finally, all values relating to coordinates are in cm. It should be noted that, the construction of the three-dimensional point cloud map and the acquisition of the position of the obstacle are not specifically discussed in this application.
Referring to fig. 1, a schematic flow chart of an aircraft path planning method according to an embodiment of the present application is shown. As shown in fig. 1, an embodiment of the present application provides an aircraft path planning method for obtaining a three-dimensional point cloud map of a global environment of an aircraft flight area to be planned in advance, including the following steps:
s101: and processing the three-dimensional point cloud map according to preset conditions to obtain an impassable area, a dangerous area and a grid space matrix of the three-dimensional point cloud map in a three-dimensional space.
In this embodiment of the application, the processing of the three-dimensional point cloud map according to the preset conditions to obtain the impassable area and the dangerous area of the three-dimensional point cloud map in the three-dimensional space, and the grid space matrix specifically includes:
determining the impassable area and the dangerous area of the three-dimensional point cloud map in a three-dimensional space according to preset flight conditions of the aircraft to be planned;
it should be noted that the impassable area and the dangerous area may determine an impassable area and a dangerous area in the three-dimensional space of the map according to a ground effect, a ceiling effect and a wall effect of the aircraft to be planned, where the impassable area refers to an area where no part of the aircraft can enter, such as an "area with obstacles" and an area that is calculated according to aerodynamic characteristics of the aircraft and is not allowed to enter, and both belong to the impassable area; "hazardous area" refers to an area that is difficult to handle and is hazardous due to changes in its aerodynamic characteristics, and the rasterization process is described with reference to fig. 2.
For example, an aircraft is provided with the length, width and height a, b and h, and the radius of a paddle disk is R. According to the ground effect requirement, the flying requirement of the aircraft at least has Bound off the ground1The height of (d); according to its ceiling effect, it is required to have at least Bound away from the ceiling in flight2The distance of (d); according to the wall effect, the horizontal dimension of the barrier has at least Bound3The distance of (c). Generally, the Bound property is a function of the radius R of the paddle disk.
Then for any coordinate is (x)0,y0,z0) The points belonging to the set N are marked as "having an obstacle", the set N being defined as follows:
N={(x,y,z)x∈[x0-Bound3,x+Bound3],y∈[y0-Bound3,y+Bound3],z∈[z0-Bound1,z+Bound2]}
then, the "flight size" of the aircraft can be considered as:
(afly,bfly,cfly)=(a+2*Bound3,b+2*Bound3,h+Bound1+Bound2)
specifically, according to the ground effect, the ceiling effect and the wall effect of the aircraft, the unviable area and the dangerous area in the three-dimensional space of the map are determined, and the three-dimensional point cloud map is subjected to the following augmentation operation.
For example, an aircraft is provided with the length, width and height a, b and h, and the radius of a paddle disk is R. According to the ground effect requirement, the flying requirement of the aircraft at least has Bound off the ground1The height of's; according to its ceiling effect, it is required to have at least Bound away from the ceiling in flight2' distance; according to the wall effect, the horizontal dimension of the barrier has at least Bound3' of the distance. Wherein, Bound is satisfied1′≥BoundiAnd i is 1, 2, 3, then for any coordinate is (x)0,y0,z0) The points belonging to the set M are marked as "having an obstacle", and the set M is defined as follows:
M={(x,y,z)|x∈[x0-Bound3′,x+Bound3′],y∈[y0-Bound3′,y+Bound3′],z∈[z0-Bound1′,z0+Bound2′]}
determining the size of a grid according to a preset precision requirement, rasterizing the three-dimensional point cloud map, determining an unviable area and a dangerous area in a three-dimensional space of the map, generating a space grid with similar space attributes, and constructing a grid space matrix according to the space grid.
In the embodiment of the present application, the construction of the grid space matrix specifically includes:
firstly, on the coordinate origin and rectangular coordinate system of the original map, a new space grid matrix is generated with Step as the minimum precision, namely Step length. It is proposed here that Step take the valueWherein a, b, h are the aircraft dimensions described in the first step. Wherein, each element in the grid matrix represents the "passing attribute" of the original space, namely "safe region", "dangerous region" and "impassable region".
Next, for any space lattice point within the range of Step in the space, if 2If the point information below 0% is 'barrier exists', the grid attribute is 'safe area'; secondly, if more than 50% of point information is 'there is an obstacle', the grid attribute is 'different passing areas'; the grid in the other cases is finally defined as the "danger zone". In the grid space, the aircraft dimensions correspond toDenoted as (a ', b ', h '); flight size is corresponding toNote of (a'fly,b′fly,h′fly)。
Specifically, the construction method is as follows: for a point with the original map coordinates (x, y, z), it belongs to a grid with the grid space coordinates (x// Step, y// Step, z// Step) (//is meaning by integer division). If the minimum value of the coordinates of each point in the grid space is X in sequencemin,Ymin,Zmin,(Xmin,Ymin,ZminLess than or equal to 0, and the maximum values are X in sequencemax,Ymax,ZmaxThen it can be seen that the size of Map matrix is Xmax-Xmin,Ymax-Ymin,Zmax-ZminIs Xbound,Ybound,Zbound(ii) a And storing the grid attribute of the grid space with the coordinates (X ', y ', z ') in MAP [ X ' -X ')min][y′-Ymin][z′-Zmin]Array elements of (1). The grid with the attribute of "safe area" is assigned as 0, the grid with the attribute of "dangerous area" is assigned as 1, and the grid with the attribute of "impassable area" is assigned as 2.
S102: preprocessing the grid space matrix, and clustering the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result.
It should be noted that the spatial clustering algorithm may be an SLIC clustering method, which is essentially a special K-means clustering method, and a local search mode is adopted, thereby greatly increasing the clustering speed. In the embodiments of the present application, the concept of "hyperspace", i.e. spatial clustering with similar "spatial properties", is introduced.
It can be seen that a good "hyperspace" clustering segmentation algorithm should meet the following characteristics:
1) the boundaries of the "hyperspace" should fit well to the boundaries of the "large differences in spatial properties".
2) As a preprocessing step, when the computation complexity is reduced by using the hyper-space, the computation speed of the hyper-space is high, the memory is efficient, and the use is simple.
3) When used for segmentation purposes, "hyperspace" segmentation increases both speed and result quality.
In the embodiment of the present application, for "hyperspace" simply referred to as "cluster", the specific algorithm steps are as follows:
firstly, initializing:
a) defining parameters:
in order to generate clusters with uniform shapes, and expect that an aircraft can safely fly in the hyper-space clusters under the condition of meeting safety indexes, the hyper-space is set, the initial length, width and height Sa ═ a '+ ka, Sb ═ b' + kb, Sh ═ h '+ kh are set, wherein ka, kb and kh are artificially defined parameters, and ka is proposed, and kb takes the value of a boundary value Bound of a' impassable region 'specified by' wall effect3Kh is a boundary value of "no-passing area" defined by "ceiling effect", and is taken as Min { Bound1,Bound2At this point the algorithm easily takes a smaller "safe pass through section".
b) Initializing hyper-spatial cluster centroid positions
Put the grid space coordinates in order asThe position is set as the cluster centroid, wherein the values of i, j, k are as follows:
c) properly moving the initialized "hyper-spatial centroid" position:
and the centroid is prevented from being positioned on the boundary, and the centroid is moved to the central position of the cluster. Specifically, if the point coordinate is (x)0,y0,z0) For its surrounding points (x, y, z), where:
x∈[x0-2,x0+2],y∈[y0-2,y0+2],z∈[z0-2,z0+2]
the following conditions are satisfied: map [ x ]0][x0][x0]=Map[x][y][z]Then becomes the centroid, and after going through the operation of moving the centroid, for each cluster k, its centroid coordinate ck=[xk,yk,zk]
Second, a distance metric is defined:
distance measurement: each grid point in space has, in addition to the inherent spatial nature of the (xi, yi, zi) coordinates, a "safety value" in practice in flight. Counting the number of points with the attribute of a dangerous area in the neighborhood of all points without obstacles in the space to obtain the density d of the dangerous areaiDensity n of "impassable areaiAnd obtaining the corresponding security attribute value Map according to the Map arrayiObtaining a vector (d) of the security feature spacei,ni,mapi). The user can also define satisfactory reference values by the given reference indexes.
Defining Euclidean distance of any two points i, j in space:
defining a safe distance:
since the coordinate values in the euclidean space are different from the range of values of the distance in the security feature space,wherein the distance space takes on the value ofAnd the distance of the safety space takes the value ofIt needs to be normalized as follows:
wherein: ns is the maximum value of the intra-cluster distance, and Na is the maximum value of the intra-cluster safe distance;
because the cluster internal values are different, the calculation of Ns and Na has extremely high time complexity, and the following normalized distance can be adopted:
wherein the content of the first and second substances,and m is a self-defined parameter. When the value of m is larger, the weight of the position space distance is great, and finally the obtained cluster is more regular; when the value of m is smaller, the security attribute weight is larger, and the difference of the security attributes of the space can be better divided.
Then, clustering is carried out, and the specific algorithm steps are as follows:
defining a cluster search scope as S1=2*Sa,S2=2*Sb,S3To initialize the clustering center Ck=[xk,yk,zk]Initializing the record arrays label and distance of the parameters, and initializing the label [ i ] of the grid for each grid i]I.e. the cluster to which grid i belongs is label [ i](ii) a Initializing a minimum distance [ i ] of the grid i to the nearest hyperspace centroid]The initial value is a positive number large enough;
and circularly executing the following steps until the residual error is less than a threshold value or the circular requirement Epoch is reached. According to practical experience, clustering effects of no more than 10 times are enough, and residual errors do not need to be set according to environmental characteristics in general; performing more iterations generally does not enhance the effect:
updating respective Cluster centers CkCoordinates, the value of which is the centroid position of each attribute of the grid labeled k;
End
finally, connecting isolated components, and finally, after clustering the space grids by a K-means method, suggesting to redistribute the grids of small connected components, mainly because the search area is large, and the space attribute may be uneven, the connected components of isolated and different clusters embedded in a certain cluster, such as the search range S1S 2S 3 neighborhood, is a large distance relative to the safe passing section of the aircraft, and some isolated connected components may be embedded in other clusters; this time it is preferred to assign these grids to clusters with similar properties nearby.
After the distribution is finished, calculating the attribute of each hyperspace, namely the centroid and the safety attribute, wherein the value of the attribute is the average value of the cluster centroid and the safety attribute, and represents the attribute of the hyperspace cluster, namely for the hyperspace cluster k, the attribute is as follows:
[xk,yk,zk,dk,nk,mapk]
wherein [ x ]k,yk,zk]As its spatial attribute, the spatial centroid of the spatial cluster; [ dk,nk,mapk]For its security properties, the centroid of a cluster point in the security vector space, in the embodiments of the present application, all points in the cluster space can be considered to have similar properties.
S103: and preprocessing by using the spatial clustering result to obtain an undirected graph expressing reachability among clusters.
In this step, homogeneous spatial clusters are obtained in step S102, but it does not mean that each cluster is capable of allowing an aircraft to pass through. Obviously, only clusters "large enough" and "safe enough" can allow safe access of the aircraft to this one cluster space. The preprocessing mode in the embodiment of the application is to perform graph communication processing on the spatial clustering result, so that the node mapping and communication work of the graph G is only performed on the clusters meeting the requirements. In this step, the super pixels meeting the requirement are mapped into nodes of the graph G one by one, specifically the following requirements are met:
for one cluster: consider xmax-xmin,ymax-ymin,zmax-zminWherein the subscript max represents the maximum value and the subscript min represents the minimum value of the corresponding dimension in the cluster; then set the pass parameters for spatial clustering:
(xpass,ypass,zpass)=(xmax-xmin,ymax-ymin,zmax-zmin)
self-defined parameter athresh,hthreshHorizontal and vertical dimensions as safe passage sections for aircraft. Generally, the default selection is the flight size a 'of the grid space in the first step'flyAs athresh,Max{b′fly,c′flyAs hthreshChoose to satisfy Max { xpass,ypass}≥athresh,zpass≥hthreshThe cluster of (a) is a cluster satisfying the space requirement; at least map is required on the security parametersi< 1 or mapi<mthreshAnd is combined with di<dthresh,ni<nthreshHere mthresh,dthresh,nthreshThe evaluation method is a self-defined parameter and sequentially means evaluation on the 'overall safety', 'inaccessible property' and 'danger' of the clustering point; the lower the values of the three are, the safer the cluster is, and the safer areas are screened finally.
Now obtainPoint set V ═ V of graph G1,V2,…,VtRecording any point V in the graph G by using an array HashMapiSuper pixel corresponding to the sameHas a relationship of HashMap [ i ]]=ki。
Further, in the embodiment of the present application, the following method may be adopted to start the communication operation for the nodes: when the distance between the centers of mass of the two hyperspaces in the Euclidean space is less than the distance L, the two hyperspaces are considered to be directly communicated, namely, the aircraft can safely fly from one cluster to the other cluster. Wherein L is a self-defined parameter and represents the tolerance degree of the cluster centroid distance, and when L is larger, the tolerance degree of the cluster centroid distance is high, and edges can be established among more node pairs; otherwise, fewer edges are established.
S104: and determining an optimal path from the initial point to the terminal point according to the preset path planning requirement.
In the embodiment of the present application, the determining an optimal path from an initial point to a terminal point according to the preset path planning requirement specifically includes: determining a corresponding cost function according to the preset path planning requirement; and determining the optimal path from the initial point to the terminal point by an A-search method or a Dijkstra algorithm by taking the cost function as an objective function.
In the embodiment of the application, the centroid of each hyper-space cluster is the middle waypoint from the starting point to the end point. In practical application, a "shortest path" and a "comprehensive optimal path" may also be determined, and if "path comprehensive optimal" is adopted, the cost function f (i, j) is D (i, j); if "shortest path distance" is used as the target, f (i, j) ═ D may be usedS(i, j); in the embodiment of the present application, it is necessary to determine the "optimal safe path", and therefore, if "path safest" is adopted as the target, f (i, j) ═ D is useda(i,j)。
For any of the above objects, the searched object is a scheme that minimizes a cost function value f (Start, End), where Start refers to an initial node, End refers to a target node, and corresponds to a minimum distance, a highest security, or a balanced minimum distance and security.
If the graph is a sparse graph, an A-search method is adopted, and if the graph is a dense graph, a Dijkstra algorithm is adopted.
If | E | > | V | > log2And (| V |), the dense graph is obtained, and otherwise, the sparse graph is obtained.
Further, if the dijkstra method is adopted, the steps are described as follows:
1) setting up corresponding data structure, introducing an auxiliary array VD, each element VDiRepresenting the shortest cost to reach point i from the starting point. Let S be the accessed node hash table, and initialize S, where there is only one element Start, i.e. the source point. Let Path be the Path record array, Path [ i ]]Represents the node reached in the ith step in the process of reaching the target End from the source point.
2) And initializing the VD. Considering the Source Point Start, for node V in direct communication with itkIs a reaction of D [ k ]]Is arranged from source point to node VkThe cost of f (Start, k). The rest are set to positive infinity or a sufficiently large number.
3) The following steps are performed until V-S is an empty set
a) Selection of VjSo that D [ j ] is]=Min{D|Vj∈V-S}
b) Modification and VjAll nodes V connectedkSo that D [ k ] is]=D[j]+f(j,k)
c) In the Path record table Path, a node V is addedj。
If the A-search method is adopted, the steps are described as follows:
setting a function f (n, k) as the real cost of the node n to reach the node k, h (n, k) as heuristic information from the node n to k, and g (n, k) as the estimated cost from the node n to k, wherein the value is f (n, k) + h (n, k).
Here, h (n, k) is heuristic information defined by a user, and the requirements of the heuristic information are as follows:
h(n,k)<=h*(n,k)
where h (n, k) is the real cost required from point n to point k. Here, since the trigonometric inequality is satisfied in euclidean space, the heuristic information here suggests that the cost is defined as a straight line cost from point n to k, i.e. the cost calculated when two nodes are considered to have edges in graph G < V, E > directly connected.
(1) Data initialization:
a) and setting a data structure Open table, and storing the nodes waiting for expansion for the priority queue with the minimum cost.
b) A Close table is set to store the node structures that have been explored as priority queues.
c) The structure records the information of the searched node, and the estimated cost and the specific path of the search path.
d) The Open table is initialized, and the initial point Start is set therein.
(2) The following steps are executed in a loop until the target End is put into the Close table, and the search is terminated
a) Extracting the current minimum cost node V from the Open table headeri;
b) Node to be in direct communication therewithPutting the obtained product into an Open table;
c) calculate heuristic information h (Start, k) of each pointi)。
d) Will ViPut into close table, compare all with ViPoint of connectionAll put into the Open table.
The step can obtain the optimal safe path meeting the requirements according to the above targetsAnd querying the HashMap array in the fourth step to obtain a clustered path corresponding to the optimal safe path:
{HashMap[k1],HashMap[k2],...,HashMap[kt]}
this Path is denoted as PathgirdCan perform an index operation, i.e. Pathcluster[i]=HashMap[k1]I.e. the ith waypoint in the path is a clusterAlternatively, a route to the destination may not be available, either because the environment does not allow the aircraft to pass through, or because the custom parameters in the above steps are too demanding.
Further, if the optimal safety path can be obtained, step S105 is executed; otherwise, the self-defined parameter m can be improvedthresh,dthresh,nthreshThe method is used for acquiring a guidance path with high feasibility and assisting an operator in manually flying.
S105: and mapping the points in the grid space matrix to the coordinates of an actual coordinate space, and smoothing the optimal path by establishing an artificial potential field so that the aircraft to be planned flies smoothly in a three-dimensional space.
In this embodiment of the present application, the mapping of the points in the grid space matrix to the coordinates of the actual coordinate space, and the smoothing of the optimal path by establishing the artificial potential field specifically include:
mapping the coordinates of all waypoints in the grid space matrix to convert the coordinates of the waypoints from a grid space form to actual space coordinates; selecting two nearest cluster center waypoints to establish the artificial potential field; and smoothing the optimal path through the artificial potential field.
Specifically, in the embodiment of the present application, firstly, Path is pairedgirdThe coordinates of all waypoints in the map are mapped so that the coordinates thereof are transformed from the form of a grid space to the coordinates of a real space. The following operations are carried out:
if the subscript is Pathgird[i]The cluster of (3), having the attributes of: [ x ] ofi,yi,zi,di,ni,mapi]
Then the waypoint coordinates corresponding to the cluster are:
([xi*Step+Xmin,yi*Step+Ymin,zi*Step+Zmin])
wherein, the parameter Step, Xmin,Ymin,ZminDefined in step S101, an intermediate waypoint sequence (P) is thereby generated1,P2,...,Pm) Wherein P ismIs the final target point.
And (4) the central waypoint obtained in the fifth step is a broken line and is closer in distance, so that the track of the aircraft flying according to the waypoint is not smooth. The potential field is established for the two nearest cluster center waypoints, so that the track of the aircraft tends to be continuous. And an obstacle potential field is established in the field of the flight path, so that collision between the obstacle potential field and the obstacle is avoided.
The main process is as follows:
(1) the known aircraft is now located in the position p ∈ R3And p is defined as the centroid position of the aircraft. Vector pwp1Shows the next waypoint, vector pwp2Represents pwp1The waypoint thereafter.
Specifically, initializing the current position P as a starting point, and setting Pwp1=P1,pwp2=P2The control input "acceleration" u is obtained according to the following potential field generation method. It is expected that at the current position, the aircraft will approximate the vector p in a smooth pathwp1、pwp2In a straight line and reaches pwp2Location. (note that the above vectors are all column vectors).
According to the analytic geometry, the distance between the current position and the expected path is | | | P-PperpL, wherein PperpFor the foot drop, the following relations are specific:
the simplification can obtain: P-Pperp=A(p-Pwp2) Wherein the matrix A isThe geometric meaning is that when p satisfies: a (P-P)wp2)=03×1Is shown byAircraft position P is in vector Pwp1-Pwp2On a straight line, then, the controller input u can be defined as:wherein k is0,k1,k2The parameter is self-defined and takes the value of positive integer, and delta P is P-Pwp2V is the current speed of the multi-rotor aircraft, Sat is the direction saturation function, which is defined as follows:wherein x is a vector, a is a scalar, | | x | | Y∞Is an infinite norm, which is the maximum in absolute value of each element of the vector x.
In the embodiment of the application, k can be set0,k1,k2The purpose of generating different tracks is achieved. Specifically, the discussion is as follows:
when k is0=1,k1=0,k2∈R+At this point the aircraft will jump directly over the waypoint Pwp1And directly flies to the point Pwp2;
When k is0=0,k1=1,k2∈R+The aircraft will fly directly to the desired path;
when k is0∈R+、k1∈R+、k2∈R+When, whenThe larger the aircraft trajectory, the closer it is to flying in a straight line toward Pwp2(ii) a Otherwise, the closer the path is to the straight line i (P)wp1-Pwp2)+Pwp1I.e. the desired path;
parameter k2The direction of the controlled variable u is not changed, and only the magnitude of u is changed. When k is2When the value is larger, the smaller the control quantity u is, which means that the acceleration of the aircraft is smaller in flight; conversely, the greater the acceleration.
(2) When arriving at Pwp2P, which is a sequence of waypointsiThen, whether the next waypoint is the end point P or not is judgedmIf yes, adopting a straight line flying method; if not, updating P ═ Pi,Pwp1=Pi+1,Pwp1=Pi+2Step (1) is executed to generate a new virtual control amount acceleration u.
Through the embodiment of the application, the effect of the SLIC algorithm on the spatial cluster clustering can be shown through fig. 3, and it can be seen that the generated spatial cluster boundary region has good graduation, and the body size is mostly regular unless in the region with extremely complex property change. Generally, the "existence of obstacles" in a room is similar to a "binary image", and the situation is far from the complexity shown in the figure, so the obtained spatial cluster will have a regular form, such as a rectangle.
Further, a more refined result can be obtained by debugging the relevant parameters, as shown in fig. 4, the obtained spatial cluster has a higher requirement on the "spatial homogeneity" by debugging the relevant parameters, such as the "parameter m" defining the distance measurement, that is, the obtained cluster has more similar intra-cluster properties and more different inter-cluster properties. Specifically, the parameter m is reduced, and the result is shown in fig. 5. However, it can also be seen that the morphology of the clusters is not as regular as above. This means that the resulting cluster space representation is not conducive to aircraft flight. Further, as shown in fig. 6, the application of the SLIC algorithm in the stereo space is shown, and it can be seen that the "spatial cluster" obtained by segmentation is very good in shape in the white part with uniform properties.
Compared with the path planning method in the prior art, the path planning method provided by the application has the following advantages:
the method introduces an advanced and efficient SLIC clustering method, and the running time complexity of the method is in linear relation with the number of grids; and a discrete method and a continuous method are comprehensively used, and the problem of difficulty in global planning of the current indoor complex environment is solved. The operation complexity is reduced by using various methods, for example, a grid with a proper scale is selected to grid the map, and the complexity of map information is reduced preliminarily on the basis of meeting the requirement of accuracy; and further clustering the rasterized map by using an SLIC clustering method to generate a hyperspace with similar spatial attributes, so that the number of nodes in the searching process is greatly reduced, and the planning is accelerated. By skillfully adopting the concept of 'super-space clustering', a large obstacle and a large space can be divided into a plurality of clusters close to the size of the aircraft, and the problem that map preprocessing methods such as road maps and unit decomposition do not well divide units with the same attribute is effectively solved, so that the obstacle avoidance aspect is avoided, the obstacle and the aircraft are completely considered as particles, and the autonomously generated planning path is more accurate and safer. The size of the hyperspace cluster is designed into the flight size of the aircraft skillfully according to the dynamic limit and the size limit of the aircraft, so that the flight trafficability problem of the aircraft is converted into the consideration problem of the safety attribute of the hyperspace cluster; the dynamics limitation is converted into a distance threshold value suitable for the spatial clustering, and the distance threshold value is converted into the connectivity problem of the graph, so that the problem that the dynamics limitation cannot be embodied in the general graph search is solved.
In addition, a discretization method is introduced, an excellent feasible path is provided, and the possibility that the feasible path is not easy to fall into a local optimal point by using an artificial potential field method is made possible; meanwhile, an artificial potential field method is introduced to carry out smoothing treatment on the planned path, so that the flight of the aircraft in a three-dimensional space is smoother, and the skill of a direction saturation function is introduced, so that the flight direction of the aircraft without overflow can be still maintained when the control quantity of the aircraft exceeds a threshold value; meanwhile, the artificial potential field is introduced, so that the problem of collision between the aircraft and the barrier caused by improper custom parameter design can be effectively avoided. The application belongs to' first discrete treatment and then continuous treatment; a global-first and local-second' framework guidance scheme.
According to the aircraft path planning method provided by the embodiment of the application, a three-dimensional point cloud map of a global environment of an aircraft flight area to be planned is obtained in advance, the three-dimensional point cloud map is processed according to preset conditions, and an impassable area, a dangerous area and a grid space matrix of the three-dimensional point cloud map in a three-dimensional space are obtained; preprocessing the grid space matrix, and clustering the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result; preprocessing by utilizing the spatial clustering result to obtain an undirected graph expressing reachability among clusters; and determining an optimal path from the initial point to the terminal point according to the preset path planning requirement. According to the method and the device, the space is divided into the 'hyperspace' with similar values through a spatial clustering algorithm, the shortest path search is considered on the basis, meanwhile, the calculation complexity of the discrete method is greatly reduced, a continuous path meeting the requirements is generated, and the dynamic conditions of the aircraft are considered in the invisibility. Therefore, the problem that the optimal path is autonomously decided by the aircraft under the conditions of a plurality of obstacles, obstacle distribution and uneven appearance in the space in a complex environment can be solved.
Referring to fig. 7, based on the aircraft path planning method disclosed in the foregoing embodiment, the present embodiment correspondingly discloses an aircraft path planning apparatus for obtaining a three-dimensional point cloud map of a global environment of an aircraft flight area to be planned in advance, where the apparatus includes:
the first processing unit 701 is configured to process the three-dimensional point cloud map according to preset conditions to obtain an impassable area and a dangerous area of the three-dimensional point cloud map in a three-dimensional space, and a grid space matrix;
a second processing unit 702, configured to pre-process the grid space matrix, and cluster the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result;
a third processing unit 703, configured to perform preprocessing using the spatial clustering result to obtain an undirected graph representing reachability among clusters;
a fourth processing unit 704, configured to determine an optimal path from an initial point to a final point according to a preset path planning requirement, where the optimal path is a safest path, a shortest path, or a comprehensive optimal path;
a fifth processing unit 705, configured to map a point in the grid space matrix to a coordinate of an actual coordinate space, and perform smoothing processing on the optimal path by establishing an artificial potential field, so that the aircraft to be planned flies smoothly in a three-dimensional space.
Further, the fifth processing unit 705 is configured to:
mapping the coordinates of all waypoints in the grid space matrix to convert the coordinates of the waypoints from a grid space form to actual space coordinates;
sequentially selecting two nearest cluster center waypoints from a starting point to a terminal point to establish the artificial potential field;
and smoothing the optimal path through the artificial potential field.
Further, the first processing unit 701 is configured to:
determining the impassable area and the dangerous area of the three-dimensional point cloud map in a three-dimensional space according to preset flight conditions of the aircraft to be planned;
determining the size of a grid according to a preset precision requirement, rasterizing the three-dimensional point cloud map to generate a space grid with similar space attributes, and constructing the grid space matrix according to the space grid.
Further, the fourth processing unit 704 is configured to:
determining a corresponding cost function according to the preset path planning requirement;
and determining the optimal path from the initial point to the terminal point by an A-search method or a Dijkstra algorithm by taking the cost function as an objective function.
The aircraft path planning device comprises a processor and a memory, wherein the first processing unit, the second processing unit, the third processing unit, the fourth processing unit, the fifth processing unit and the like are stored in the memory as program units, and the processor executes the program units stored in the memory to realize corresponding functions.
The processor comprises a kernel, and the kernel calls the corresponding program unit from the memory. The kernel can be set to be one or more than one, and the problem of autonomously deciding the optimal path of the aircraft under the conditions of more obstacles, obstacle distribution and uneven appearance existing in the space in a complex environment is solved by adjusting the kernel parameters.
The embodiment of the application provides a storage medium, wherein a program is stored on the storage medium, and the program realizes the aircraft path planning method when being executed by a processor.
The embodiment of the application provides a processor, wherein the processor is used for running a program, and the program executes the aircraft path planning method during running.
The embodiment of the present application provides a flight control system, as shown in fig. 8, the flight control system 80 includes at least one processor 801, at least one memory 802 connected to the processor, and a bus 803; the processor 801 and the memory 802 complete communication with each other through the bus 803; the processor 801 is configured to call the program instructions in the memory 802 to perform the aircraft path planning method described above.
The flight control system herein may be a server, PC, PAD, cell phone, etc.
The present application further provides a computer program product adapted to perform a program for initializing the following method steps when executed on a data processing device:
processing the three-dimensional point cloud map according to preset conditions to obtain an impassable area, a dangerous area and a grid space matrix of the three-dimensional point cloud map in a three-dimensional space;
preprocessing the grid space matrix, and clustering the three-dimensional space by using a spatial clustering algorithm to obtain a spatial clustering result;
preprocessing by utilizing the spatial clustering result to obtain an undirected graph expressing reachability among clusters;
and determining an optimal path from an initial point to a terminal point according to a preset path planning requirement, wherein the optimal path is a safest path, a shortest path or a comprehensive optimal path.
Further, the method further comprises:
and mapping the points in the grid space matrix to the coordinates of an actual coordinate space, and smoothing the optimal path by establishing an artificial potential field so that the aircraft to be planned flies smoothly in a three-dimensional space.
Further, the mapping of the points in the grid space matrix to the coordinates of the actual coordinate space and the smoothing of the optimal path by establishing an artificial potential field specifically include:
mapping the coordinates of all waypoints in the grid space matrix to convert the coordinates of the waypoints from a grid space form to actual space coordinates;
sequentially selecting two nearest cluster center waypoints from a starting point to a terminal point to establish the artificial potential field;
and smoothing the optimal path through the artificial potential field.
Further, the three-dimensional point cloud map is processed according to preset conditions to obtain an impassable area and a dangerous area of the three-dimensional point cloud map in a three-dimensional space, and a grid space matrix, and specifically the method comprises the following steps:
determining the impassable area and the dangerous area of the three-dimensional point cloud map in a three-dimensional space according to preset flight conditions of the aircraft to be planned;
determining the size of a grid according to a preset precision requirement, rasterizing the three-dimensional point cloud map to generate a space grid with similar space attributes, and constructing the grid space matrix according to the space grid.
Further, the method for constructing the grid space matrix includes:
for a point with original map coordinates (x, y, z), it belongs to a grid with grid space coordinates (x// Step, y// Step, z// Step) (//is meaning of integer division);
if the minimum value of the coordinates of each point in the grid space is X in sequencemin,Ymin,Zmin,(Xmin,Ymin,ZminLess than or equal to 0, and the maximum values are X in sequencemax,Ymax,ZmaxThen the moment of Map can be seenArray size Xmax-Xmin,Ymax-Ymin,Zmax-ZminIs Xbound,Ybound,Zbound;;
Storing grid attributes of grid space with coordinates (X ', y', z ') in MAP [ X' -Xmin][y′-Ymin][z′-Zmin]The grid space matrix is constructed in the array elements of (1).
Further, the determining an optimal path from an initial point to a terminal point according to the preset path planning requirement specifically includes:
determining a corresponding cost function according to the preset path planning requirement;
and determining the optimal path from the initial point to the terminal point by an A-search method or a Dijkstra algorithm by taking the cost function as an objective function.
Further, the cost function is:
if the 'path synthesis optimal' is adopted as a target, the cost function is f (i, j) ═ D (i, j);
if the target is 'shortest path distance', the cost function is f (i, j) ═ DS(i,j);
If the optimal safe path is adopted as the target, the cost function is f (i, j) to Da(i,j)。
The present application is described in terms of flowcharts and/or block diagrams of methods, apparatus (systems), computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a device includes one or more processors (CPUs), memory, and a bus. The device may also include input/output interfaces, network interfaces, and the like.
The memory may include volatile memory in a computer readable medium, Random Access Memory (RAM) and/or nonvolatile memory such as Read Only Memory (ROM) or flash memory (flash RAM), and the memory includes at least one memory chip. The memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in the process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The above are merely examples of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种无人驾驶特种车辆姿态测量方法