Landing Method of Beacon and Drone
A multi-pattern beacon system with distinct size and color differences addresses the challenges of drone landing accuracy by enabling precise descent adjustments, enhancing safety and reliability.
Patent Information
- Application Number
- JP2023547719
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-02
- Filing Date
- 2022-06-29
- Publication Date
- 2025-07-23
- Estimated Expiration
- 2042-06-29
AI Technical Summary
The accurate landing of drones is challenging due to issues such as beacon pattern misidentification caused by dirt or shadows, and the difficulty in designing patterns with appropriate area differences that prevent accurate landing guidance.
A beacon system with multiple superimposed patterns of varying sizes and colors is generated, where each pattern has distinct differences in area and color, allowing drones to adjust descent speed and direction for precise landing.
The system enhances drone landing accuracy by ensuring reliable identification and reduces the likelihood of misidentification, improving safety by guiding drones to land accurately even in varying environmental conditions.
Smart Images

Figure 0007712371000019 
Figure 0007712371000020 
Figure 0007712371000021
Abstract
Description
Technical Field
[0001] This application is a national stage application of international application PCT / CN2022 / 102490 filed on June 29, 2022, This application claims the priority of a Chinese patent application with the application number 202110750123.7 and the application title "Beacon, Beacon Generation Method, Beacon Generation Device and Equipment", which was filed on July 2, 2021, and the entire content thereof is incorporated herein by reference.
[0002] Embodiments of this application relate to the technical field of drones, and particularly to beacons and a landing method of a drone related thereto.
Background Art
[0003] With the continuous development of drone technology, the application fields of drones are becoming increasingly wide. In drone delivery, the accurate landing of the drone is a very important part. Therefore, in order to ensure the accurate landing of the drone, a beacon generation method for generating a highly reliable accurate landing guide beacon for the drone is required.
Summary of the Invention
Means for Solving the Problems
[0004] Embodiments of this application provide a beacon and a landing method of a drone and the technical solution is as follows.
[0005] Embodiments of the present application provide a beacon, the beacon includes one primary pattern and at least one secondary pattern, the at least one secondary pattern is superimposed on the primary pattern, and the area of the secondary pattern is less than the area of the primary pattern.
[0006] In some embodiments, the primary pattern includes a pattern portion having a first color and a pattern portion having a second color, and the fact that the at least one secondary pattern is superimposed on the first image includes that the at least one secondary pattern is located on a pattern portion having the first color of the primary pattern.
[0007] In some embodiments, there are at least two secondary patterns, and the fact that the at least one secondary pattern is superimposed on the primary pattern may include that the at least two secondary patterns are superimposed on the primary pattern and any two secondary patterns do not overlap.
[0008] In some embodiments, the beacon further includes at least two tertiary patterns, the at least two secondary patterns and the at least two tertiary patterns are dispersedly superimposed on the primary pattern, and any two patterns among the at least two secondary patterns and the at least two tertiary patterns do not overlap, and the area of the tertiary pattern may be less than the area of the secondary pattern.
[0009] In some embodiments, the at least two secondary patterns may be different from each other.
[0010] In some embodiments, the at least two tertiary patterns may be different from each other.
[0011] In some embodiments, at least one of the secondary patterns or at least one of the tertiary patterns may be installed at the center position of the primary pattern.
[0012] In some embodiments, the area of the primary pattern may be 9 to 36 times the area of the secondary pattern, and the area of the secondary pattern may be 3 to 9 times the area of the tertiary pattern.
[0013] In some embodiments, the beacon includes one primary pattern, four secondary patterns and five tertiary patterns, One secondary pattern is respectively superimposed on the left side, lower side, right side and central part of the primary pattern, and five tertiary patterns are superimposed in a "pin" shape on the upper side of the primary pattern, or alternatively, one secondary pattern is respectively superimposed on the upper side, lower side, left side and right side of the primary pattern, and five tertiary patterns are superimposed in a "pin" shape on the central part of the primary pattern.
[0014] In some embodiments, the primary pattern is obtained based on a reference code, the secondary pattern is obtained based on a secondary code, and the tertiary pattern is obtained based on a tertiary code. The secondary code is at least one first code, the at least one first code is obtained based on the reference code, the tertiary code is a first code different from the secondary code among the at least one first code. The distance between any two codes of the at least one first code and the reference code is greater than or equal to a first distance, and the number of bits of the first code may be the same as the number of bits of the reference code.
[0015] The embodiments of the present application further provide a method for landing a drone, the method includes identifying any of the beacons and adjusting the descending speed or descending direction of the drone based on the identified beacon, so as to land the drone at a predetermined position.
[0016] To more clearly explain the technical solution of the embodiments of this application, the drawings that need to be used in the following description of the embodiments are briefly described below. Obviously, the drawings described below are merely some embodiments of this application, and those skilled in the art can obtain other drawings based on these drawings without creative labor.
Brief Description of the Drawings
[0017]
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Figure 11
Figure 12
Figure 13
Figure 14
Figure 15
Figure 16
Figure 17
Embodiments for Carrying Out the Invention
[0018] To make the objectives, technical solutions, and advantages of the present application clearer, the embodiments of the present application will be described in more detail below with reference to the drawings.
[0019] Before describing the beacon and beacon generation method according to the embodiments of the present application, first, the application scenario of the embodiments of the present application will be briefly described. With the continuous development of drone technology, the application fields of drones are becoming increasingly wide. In drone delivery, the accurate landing of the drone is a very important part. To land the drone predetermined accurately and safely at a position,predetermined Place one beacon at the position. The beacon consists of a primary pattern and a secondary pattern, that is, at least one secondary pattern is nested in one primary pattern. The flight altitude of the drone indicated by the primary pattern is higher than the flight altitude of the drone indicated by the secondary pattern. After the drone detects and identifies the beacon in the air, based on the identified beacon it adjusts the descent speed and descent direction, thereby predetermined being able to land at the position. However, considering that the beacon pattern is exposed outdoors for a long time, it is easy to get dirty, and shadows are generated due to the shielding of sunlight by environmental objects, the identification of the beacon pattern may be inaccurate or impossible to identify, and it may be difficult for the drone to land accurately. In addition, the magnitude of the area difference between the primary pattern and the secondary pattern is also one of the difficulties in design. Whether the difference is too large or too small, if not handled properly, it is likely to cause the problem of inaccurate landing. Therefore, in order to generate a highly reliable guide beacon for the accurate landing of the drone, a beacon generation method according to an embodiment of the present application is needed.
[0020] FIG. 1 is a schematic diagram of an implementation environment of a beacon generation method according to an embodiment of the present application. As shown in FIG. 1, the implementation environment includes a computer device 101.
[0021] The computer device 101 may be an electronic device or a server, and the embodiments of the present application do not limit this. The computer device 101 is used to execute the beacon generation method according to an embodiment of the present application.
[0022] When the computer device 101 is an electronic device, the electronic device may be at least one of a smartphone, a game host computer, a desktop computer, a tablet computer, an e-book reader, an MP3 (Moving Picture Experts Group Audio Layer III) player, an MP4 (Moving Picture Experts Group Audio Layer IV) player, and a laptop computer.
[0023] When the computer device 101 is a server, the server may be any one of a single server, a server cluster composed of a plurality of servers, a cloud computing platform, and a virtualization center, and the embodiments of the present application do not limit this. The server may be communicatively connected to the electronic device via a wired network or a wireless network. The server may have data processing, data storage, and data transmission and reception functions. Of course, the server may further have other functions, and the embodiments of the present application do not limit this.
[0024] Based on the above implementation environment, the embodiments of the present application provide a beacon generation method. Taking the flowchart of the beacon generation method according to the embodiments of the present application shown in FIG. 2 as an example, the method may be executed by the computer device 101 in FIG. 1. As shown in FIG. 2, the method includes the following steps.
[0025] In step 201, a primary code is obtained.
[0026] In some embodiments Regarding the process of obtaining a primary code, a random code is obtained, the random code is processed based on a second distance, at least one second code is obtained, and the primary code is determined from the random code and at least one second code. The number of bits of at least one second code matches the number of bits of the random code, and the distance between any two of at least one second code and the random code is greater than or equal to the second distance.
[0027] The random code includes a first digit and a second digit. The random code may be determined by the user or may be automatically generated by a computer device based on a random number generator, and this is not limited in the embodiments of the present application. The first digit and the second digit are two different digits, and this is also not limited in the embodiments of the present application. For example, the first digit is 0 and the second digit is 1. The second distance is set by the user or adjusted according to the application scenario. The second distance is any distance greater than zero and less than the number of bits of the random code, and the second distance is also not limited in the embodiments of the present application. The number of bits of the random code is 4 or more. For example, the number of bits of the random code is 16 bits and the second distance is 5.
[0028] In some embodiments The random code is 16 bits, and the random code is 1010010100000011.
[0029] In some embodiments The distance between the second code and the random code may be the Hamming distance or other distances, and this is not limited in the embodiments of the present application. In the embodiments of the present application, the case where the distance is the Hamming distance is used as an example for explanation. The Hamming distance is used in data transmission error control codes. The Hamming distance is a concept representing the number of different bits corresponding to two codes of the same length. Regarding the process of determining the Hamming distance, perform an XOR operation on the two codes, count the number of 1s in the result, and the number of 1s in the result is the Hamming distance between these two codes.
[0030] In some embodiments The process of processing the random code based on the second distance to obtain at least one second code includes the following steps 2011 to 2014.
[0031] In step 2011, a first target code is obtained based on the random code. The first target code has the same number of bits as the random code and the distance from the random code is greater than or equal to the second distance.
[0032] In some embodiments After obtaining the random code, the numbers included in the random code are changed to obtain the first target code. The first target code has the same number of bits as the random code, and the distance between the first target code and the random code is greater than or equal to the second distance.
[0033] In some embodiments The second distance is 5, the random code is 1010010100000011, and processing this random code gives 1010110101101111 as the first target code. The first target code has the same number of bits as the random code, and the distance between the first target code and the random code is 5.
[0034] In step 2012, at least one second target code is obtained based on the first target code. The second target code has the same number of bits as the first target code.
[0035] In some embodiments Regarding the process of obtaining at least one second target code based on the first target code, an intermediate pattern corresponding to the first target code is generated. A first rotation transformation is performed on the intermediate pattern corresponding to the first target code to obtain at least one first target pattern. Codes corresponding to at least one first target pattern are obtained respectively. The codes corresponding to at least one first target pattern are used as the second target codes. The angle of the first rotation transformation includes at least one of 90 degrees, 180 degrees, and 270 degrees.
[0036] In some embodiments For the process of generating an intermediate pattern corresponding to the first target code, obtain a target pattern based on the number of bits of the first target code. The target pattern consists of grids, and the number of grids included in the target pattern matches the number of bits of the first target code. Enter the numbers included in the first target code into the target pattern according to the target order to obtain the intermediate pattern corresponding to the first target code.
[0037] The target order may be from left to right and then from top to bottom, or from top to bottom and then from left to right, or other orders. In the embodiments of the present application, this is not limited.
[0038] As shown in FIG. 3, it is a schematic diagram of the intermediate pattern corresponding to the first target code according to the embodiment of the present application. FIG. A in FIG. 3 is the target pattern, and the target pattern consists of 16 grids. Enter the numbers included in the first target code into the target pattern according to the target order (from left to right and then from top to bottom) to obtain the intermediate pattern corresponding to the first target code, and FIG. B in FIG. 3 is the intermediate pattern corresponding to the first target code.
[0039] In some embodiments When the angle of the first rotation transformation includes any one of 90 degrees, 180 degrees, and 270 degrees, perform the first rotation transformation on the intermediate pattern corresponding to the first target code to obtain one first target pattern. When the angle of the first rotation transformation includes any two of 90 degrees, 180 degrees, and 270 degrees, perform the first rotation transformation on the intermediate pattern corresponding to the first target code to obtain two first target patterns. When the angle of the first rotation transformation includes 90 degrees, 180 degrees, and 270 degrees, perform the first rotation transformation on the intermediate pattern corresponding to the first target code to obtain three first target patterns.
[0040] As shown in FIG. 4, it is a schematic diagram of the first target pattern according to the embodiment of the present application. FIG. A in FIG. 4 is the first target pattern obtained by rotating the intermediate pattern corresponding to the first target code by 90 degrees. FIG. B in FIG. 4 is the first target pattern obtained by rotating the intermediate pattern corresponding to the first target code by 180 degrees. FIG. C in FIG. 4 is the first target pattern obtained by rotating the intermediate pattern corresponding to the first target code by 270 degrees.
[0041] In some embodiments Regarding the process of obtaining the codes respectively corresponding to at least one first target pattern, according to the target order, extract the numbers included in each first target pattern to obtain the code corresponding to each first target pattern. In some embodiments The target order is from left to right and then from top to bottom. Extract the numbers in the first target pattern according to this order, which is the code corresponding to the first target pattern.
[0042] The code corresponding to the first target pattern obtained by rotating the intermediate pattern corresponding to the first target code by 90 degrees is 1011111011011010. The code corresponding to the first target pattern obtained by rotating the intermediate pattern corresponding to the first target code by 180 degrees is 1111011010110101. The code corresponding to the first target pattern obtained by rotating the intermediate pattern corresponding to the first target code by 270 degrees is 0101101101111101.
[0043] After obtaining the code corresponding to each first target pattern, determine the code corresponding to each first target pattern as the second target code, that is, the second target codes are 1011111011011010, 1111011010110101, 0101101101111101.
[0044] In step 2013, in response to the distances between at least one second target code and the first target code all being greater than or equal to the second distance, at least one third target code is obtained based on a random number code.
[0045] In some embodiments After obtaining the second target code, the distance between each second target code and the first target code is determined.
[0046] In some embodiments When the distance is the Hamming distance, the process of determining the distance between each second target code and the first target code is to perform an XOR operation on the first target code and the second target code, count the number of 1s in the result, and determine the number of 1s in the result as the Hamming distance between the first target code and the second target code.
[0047] To make the process of determining the distance between the first target code and the second target code clearer, taking the first target code as 1010110101101111 and the second target code as 1011111011011010 as an example, the distance between the first target code and the second target code is determined according to Table 1 below.
[0048]
Table 1
[0049] Based on the above Table 1, after performing an XOR operation on the first target code and the second target code, the number of 1s in the obtained result is 8, that is, the Hamming distance between the first target code and the second target code is 8.
[0050] In addition, when the number of second target codes is plural, it is necessary to determine the distance between each second target code and the first target code. The determination process for the distance between each second target code and the first target code is the same as the determination process for the distance between the first target code and the second target code in Table 1 above, and thus the duplicate description is omitted here.
[0051] Since the second target code is a code obtained by performing a first rotation transformation on the intermediate pattern corresponding to the first target code, if the distances between the first target code and at least one second target code are all greater than or equal to the second distance, it indicates that the difference between the first target code and the second target code is large, the distinction is large, and the similarity is low.
[0052] In some embodiments In response to the fact that the distances between at least one second target code and the first target code are all greater than or equal to the second distance, and the first target code is the first target code obtained based on the random code, at least one third target code is obtained based on the random code. In response to the fact that the distances between at least one second target code and the first target code are all greater than or equal to the second distance, and the first target code is other than the first target code obtained based on the random code, at least one third target code is obtained based on the random code and the target codes obtained before the first target code. The number of bits of the third target code matches the number of bits of the random code.
[0053] In some embodiments The process of obtaining at least one third target code based on a random code is similar to the process of obtaining at least one third target code based on the random code and the target codes obtained previously to the first target code. In the embodiments of the present application, the process of obtaining at least one third target code based on a random code will be described by taking it as an example.
[0054] In some embodiments Regarding the process of obtaining at least one third target code based on a random code, an intermediate pattern corresponding to the random code is generated. A second rotation transformation is performed on the intermediate pattern corresponding to the random code to obtain at least one second target pattern. Codes corresponding to at least one second target pattern are obtained respectively. The codes corresponding to at least one second target pattern are used as the third target codes. The angle of the second rotation transformation includes at least one of 0 degrees, 90 degrees, 180 degrees, and 270 degrees.
[0055] The process of generating an intermediate pattern corresponding to the random code is consistent with the process of generating an intermediate pattern corresponding to the first target code in step 2012 above, and the repeated description is omitted here. As shown in FIG. 5, it is a schematic diagram of the intermediate pattern corresponding to the random code according to the embodiments of the present application.
[0056] In some embodiments After generating the intermediate pattern corresponding to the random code, a second rotation transformation is performed on the intermediate pattern corresponding to the random code to obtain at least one second target pattern. As shown in FIG. 6, it is a schematic diagram of the second target pattern according to the embodiments of the present application. FIG. A in FIG. 6 is the second target pattern obtained by rotating the intermediate pattern corresponding to the random code by 0 degrees, and FIG. B in FIG. 6 is the second target pattern obtained by rotating the intermediate pattern corresponding to the random code by 90 degrees. FIG. C in FIG. 6 is the second target pattern obtained by rotating the intermediate pattern corresponding to the random code by 180 degrees. FIG. D in FIG. 6 is the second target pattern obtained by rotating the intermediate pattern corresponding to the random code by 270 degrees.
[0057] In some embodiments Regarding the process of obtaining codes corresponding to at least one second target pattern, according to the target order, extract the numbers included in each second target pattern, and obtain the codes corresponding to each second target pattern respectively. In some embodiments The target order is from left to right and then from top to bottom. According to the target order, extract the numbers included in the second target pattern, and obtain the code corresponding to the second target pattern.
[0058] The code corresponding to the second target pattern obtained by rotating the intermediate pattern corresponding to the random code by 0 degrees coincides with the random code. The code corresponding to the second target pattern obtained by rotating the intermediate pattern corresponding to the random code by 90 degrees is 0001001010011010. The code corresponding to the second target pattern obtained by rotating the intermediate pattern corresponding to the random code by 180 degrees is 1100000010100101. The code corresponding to the second target pattern obtained by rotating the intermediate pattern corresponding to the random code by 270 degrees is 0101100101001000.
[0059] After obtaining the codes corresponding to each second target pattern, determine the codes corresponding to each second target pattern as the third target codes, that is, the third target codes are 1010010100000011, 0001001010011010, 1100000010100101, 0101100101001000.
[0060] In some embodiments In response to the fact that there is a second target code among at least one second target code whose distance from the first target code is less than the second distance, there is no need to perform subsequent steps. Return to step 2011 and obtain the first target code again based on the random code.
[0061] Note that the number of third target codes obtained based on the random code is less than the number of third target codes obtained based on the target codes obtained before the random code and the first target code.
[0062] In step 2014, in response to the distance between at least one third target code and the first target code all being equal to or greater than the second distance, the first target code is set as the second code.
[0063] In some embodiments Determine the distance between the third target code and the first target code. The process of determining the distance between the third target code and the first target code is the same as the process of determining the distance between the second target code and the first target code in step 2013 above, and the repeated description is omitted here.
[0064] In some embodiments Since the third target code is the code obtained by performing a second rotation transformation on the generated code, if the distance between the first target code and at least one third target code is all equal to or greater than the second distance, it indicates that the difference between the first target code and other generated codes is large, the distinction is large, and the similarity is low.
[0065] In some embodiments In response to there being a third target code among at least one third target code whose distance from the first target code is less than the second distance, return to step 2011 and obtain the first target code again based on the random code.
[0066] Note that based on the random code, enumerate all codes whose distance from the random code is equal to or greater than the second distance, and determine whether all the enumerated codes meet the requirements according to the processes of steps 2011 to 2014 above, that is, determine whether all the enumerated codes can be used as the second code.
[0067] In some embodiments When the number of bits of the random code is 16 bits and the second distance is 5, 37 second codes that meet the requirements can be generated based on the random code, and the distance between the random code and any two of the 37 second codes is 5 or more.
[0068] Furthermore, the number of the obtained second codes has a negative correlation with the second distance. The larger the second distance is, the fewer the number of the obtained second codes is. The smaller the second distance is, the more the number of the obtained second codes is.
[0069] In some embodiments The computer device obtains the second code by executing the following formulas (1) and (2) based on the random code.
[0070]
Number
Number
[0071] In the above formulas (1) and (2), TIFF0007712371000004.tif13160 is the first target code, TIFF0007712371000005.tif11160 is the second target code, A´ is the first rotation transformation, τ is the second distance, TIFF0007712371000006.tif11160 is the distance between the first target code and the second target code. TIFF0007712371000007.tif12160 is the third target code, A is the second rotation transformation, TIFF0007712371000008.tif10160 is the target code obtained before the random code and the first target code, TIFF0007712371000009.tif11160 is the distance between the first target code and the third target code.
[0072] In some embodiments After determining the second code, one code is randomly determined as the primary code from the second code and the random code. Or, the second code and the random code may be displayed to the user, and the user determines one code from the random code and the second code, and the code determined by the user is used as the primary code.
[0073] In some embodiments In the random code and at least one second code, the random code is used as the primary code, that is, the primary code is 1010010100000011.
[0074] In step 202, a reference code is obtained based on the primary code.
[0075] In some embodiments After obtaining the primary code, a digit entry process is performed on the primary code to obtain a reference code. Since the primary code includes a first digit and a second digit, the digit to be entered is either the first digit or the second digit.
[0076] In some embodiments Regarding the process of processing the primary code to obtain the reference code, the numbers included in the primary code are filled into the target pattern according to the target order to obtain the pattern corresponding to the primary code. Add a target number of grids to the pattern corresponding to the primary code to obtain Pattern 1. Fill in the numbers in the blank grids of Pattern 1 to obtain the intermediate pattern corresponding to the reference code. Extract the numbers included in the intermediate pattern corresponding to the reference code according to the target order to obtain the reference code. The target number is any positive integer, and this is not limited in the embodiments of the present application.
[0077] As shown in FIG. 7, it is a schematic diagram of the process for obtaining the reference code according to the embodiment of the present application. FIG. A in FIG. 7 is the intermediate pattern corresponding to the primary code. FIG. B in FIG. 7 is Pattern 1. FIG. C in FIG. 7 is the intermediate pattern corresponding to the reference code. In FIG. 7, the number filled in the blank grid of Pattern 1 is 1 (the second number). Based on this, the obtained reference code is 1011001101111110010000111. The number of bits of the reference code is 25 bits, and the number of bits of the reference code is larger than the number of bits of the primary code.
[0078] In addition, in FIG. 7, nine grids are added to the central part of the intermediate pattern corresponding to the primary code. Of course, nine grids may also be added to other places of the intermediate pattern corresponding to the primary code, and this is not limited in the embodiments of the present application.
[0079] In step 203, the reference code is processed based on the first distance to obtain at least one first code.
[0080] In some embodiments The process of processing the reference code based on the first distance to obtain at least one first code includes the following steps 2031 to 2034.
[0081] In step 2031, a first candidate code is obtained based on the reference code. The first candidate code has the same number of bits as the reference code and a distance from the reference code that is greater than or equal to the first distance.
[0082] In some embodiments , after obtaining the reference code, change the numbers included in the reference code to obtain a first candidate code. The first candidate code is consistent with the number of bits of the reference code, and the distance between the first candidate code and the reference code is greater than or equal to a first distance. The distance may be a Hamming distance or other distances, and this is not limited in the embodiments of the present application. The first distance is a distance greater than zero and less than the number of bits of the reference code. The first distance may be the same as or different from the second distance, and this is not limited in the embodiments of the present application.
[0083] In some embodiments , the first distance is 7. The reference code is 1011001101111110010000111, and by processing the reference code, 1001011011011011010000111 is obtained as the first candidate code. The first candidate code is consistent with the number of bits of the reference code, and the distance between the first candidate code and the reference code is 7.
[0084] In step 2032, at least one second candidate code is obtained based on the first candidate code. The second candidate code is consistent with the number of bits of the first candidate code.
[0085] In some embodiments , for the process of obtaining at least one second candidate code based on the first candidate code, an intermediate pattern corresponding to the first candidate code is generated. A first rotation transformation is performed on the intermediate pattern corresponding to the first candidate code to obtain at least one first candidate pattern. Codes corresponding to at least one first candidate pattern are obtained respectively. The codes corresponding to at least one first candidate pattern are used as the second candidate codes. The angle of the first rotation transformation includes at least one of 90 degrees, 180 degrees, and 270 degrees.
[0086] In some embodimentsRegarding the process of generating an intermediate pattern corresponding to the first candidate code, a candidate pattern is obtained based on the number of bits of the first candidate code. The candidate pattern consists of grids, and the number of grids included in the candidate pattern matches the number of bits of the first candidate code. The numbers included in the first candidate code are filled into the candidate pattern according to the target order to obtain the intermediate pattern corresponding to the first candidate code.
[0087] As shown in FIG. 8, it is a schematic diagram of the intermediate pattern corresponding to the first candidate code according to the embodiment of the present application. FIG. A in FIG. 8 is the candidate pattern, and the candidate pattern consists of 25 grids. The numbers included in the first candidate code are filled into the candidate pattern according to the target order to obtain the intermediate pattern corresponding to the first candidate code, and FIG. B in FIG. 8 is the intermediate pattern corresponding to the first candidate code.
[0088] In some embodiments When the angle of the first rotation transformation includes any one of 90 degrees, 180 degrees, and 270 degrees, a first rotation transformation is performed on the intermediate pattern corresponding to the first candidate code to obtain one first candidate pattern. When the angle of the first rotation transformation includes any two of 90 degrees, 180 degrees, and 270 degrees, a first rotation transformation is performed on the intermediate pattern corresponding to the first candidate code to obtain two first candidate patterns. When the angle of the first rotation transformation includes 90 degrees, 180 degrees, and 270 degrees, a first rotation transformation is performed on the intermediate pattern corresponding to the first candidate code to obtain three first candidate patterns.
[0089] As shown in FIG. 9, it is a schematic diagram of the first candidate pattern according to the embodiment of the present application. FIG. A in FIG. 9 is the first candidate pattern obtained by rotating the intermediate pattern corresponding to the first candidate code by 90 degrees. FIG. B in FIG. 9 is the first candidate pattern obtained by rotating the intermediate pattern corresponding to the first candidate code by 180 degrees. FIG. C in FIG. 9 is the first candidate pattern obtained by rotating the intermediate pattern corresponding to the first candidate code by 270 degrees.
[0090] In some embodimentsRegarding the process of obtaining codes respectively corresponding to at least one first candidate pattern, according to the target order, extract the numbers included in each first candidate pattern, and obtain the code corresponding to each first candidate pattern.
[0091] The code corresponding to the first candidate pattern obtained by rotating the intermediate pattern corresponding to the first candidate code by 90 degrees is 0101100110111001001110110. The code corresponding to the first candidate pattern obtained by rotating the intermediate pattern corresponding to the first candidate code by 180 degrees is 1110000101101101101101001. The code corresponding to the first candidate pattern obtained by rotating the intermediate pattern corresponding to the first candidate code by 270 degrees is 0110111001001110110011010.
[0092] After obtaining the code corresponding to each first candidate pattern, determine the code corresponding to each first candidate pattern as the second candidate code, that is, the second candidate codes are 0101100110111001001110110, 1110000101101101101101001, 0110111001001110110011010.
[0093] In step 2033, in response to the fact that the distances between at least one second candidate code and the first candidate code are all greater than or equal to the first distance, obtain at least one third candidate code based on the reference code, and the third candidate code is the same as the number of bits of the reference code.
[0094] In some embodiments After obtaining the second candidate code, determine the distance between each second candidate code and the first candidate code.
[0095] In some embodiments The distance is the Hamming distance, and the process of determining the distance between each second candidate code and the first candidate code is to perform an XOR operation on the first candidate code and the second candidate code, count the number of 1s in the result, and determine the number of 1s in the result as the Hamming distance between the first candidate code and the second candidate code.
[0096] To make the process of determining the distance between the first candidate code and the second candidate code clearer, taking the first candidate code as 1001011011011011010000111 and the second target code as 0101100110111001001110110 as an example, the distance between the first candidate code and the second candidate code is determined by Table 2 below.
[0097]
Table 2
[0098] As can be seen from the above Table 2, after performing the XOR operation on the first candidate code and the second candidate code, the number of 1s in the obtained result is 14, that is, the Hamming distance between the first candidate code and the second candidate code is 14.
[0099] In addition, when there are multiple second candidate codes, it is necessary to determine the distance between each second candidate code and the first candidate code. The process of determining the distance between each second candidate code and the first candidate code is the same as the process of determining the distance between the first candidate code and the second candidate code in Table 2 above, and the repeated description is omitted here.
[0100] Since the second candidate code is the code obtained by performing the first rotation transformation on the intermediate pattern corresponding to the first candidate code, if the distances between the first candidate code and at least one second candidate code are all greater than or equal to the first distance, it indicates that the difference between the first candidate code and the second candidate code is large, the distinction is large, and the similarity is low.
[0101] In some embodimentsFor the process of obtaining at least one third candidate code based on a reference code, in response to that the distances between at least one second candidate code and the first candidate code are all greater than or equal to a first distance, and the first candidate code is the first candidate code obtained based on the reference code, obtain at least one third candidate code based on the reference code. In response to that the distances between at least one second candidate code and the first candidate code are all greater than or equal to the first distance, and the first candidate code is other than the first candidate code obtained based on the reference code, obtain at least one third candidate code based on the reference code and the candidate codes obtained before the first candidate code. The number of bits of the third candidate code matches the number of bits of the reference code.
[0102] In some embodiments The process of obtaining at least one third candidate code based on a reference code is the same as the process of obtaining at least one third candidate code based on the reference code and the candidate codes obtained before the first candidate code. In the embodiments of the present application, the process of obtaining at least one third candidate code based on a reference code is taken as an example for explanation.
[0103] In some embodiments For the process of obtaining at least one third candidate code based on a reference code, generate an intermediate pattern corresponding to the reference code. Perform a second rotation transformation on the intermediate pattern corresponding to the reference code to obtain at least one second candidate pattern. Obtain the codes corresponding to at least one second candidate pattern respectively. Use the codes corresponding to at least one second candidate pattern respectively as the third candidate codes. The angle of the second rotation transformation includes at least one of 90 degrees, 180 degrees, and 270 degrees.
[0104] The process of generating the intermediate pattern corresponding to the reference code is the same as the process of generating the intermediate pattern corresponding to the first candidate code in step 2032 above, and the repeated description is omitted here. As shown in FIG. 10, it is a schematic diagram of the intermediate pattern corresponding to the reference code according to the embodiment of the present application.
[0105] In some embodiments After generating an intermediate pattern corresponding to the reference code, perform a second rotation transformation on the intermediate pattern corresponding to the reference code to obtain at least one second candidate pattern. As shown in FIG. 11, it is a schematic diagram of the second candidate pattern according to the embodiment of the present application. FIG. A in FIG. 11 is a second candidate pattern obtained by rotating the intermediate pattern corresponding to the reference code by 0 degrees. FIG. B in FIG. 11 is a second candidate pattern obtained by rotating the intermediate pattern corresponding to the reference code by 90 degrees. FIG. C in FIG. 11 is a second candidate pattern obtained by rotating the intermediate pattern corresponding to the reference code by 180 degrees. FIG. D in FIG. 11 is a second candidate pattern obtained by rotating the intermediate pattern corresponding to the reference code by 270 degrees.
[0106] In some embodiments Regarding the process of obtaining the codes corresponding to at least one second candidate pattern respectively, according to the target order, extract the numbers included in each second candidate pattern to obtain the codes corresponding to each second candidate pattern.
[0107] The code corresponding to the second candidate pattern obtained by rotating the intermediate pattern corresponding to the reference code by 0 degrees is the same as the reference code. The code corresponding to the second candidate pattern obtained by rotating the intermediate pattern corresponding to the reference code by 90 degrees is 0010100110111111010110110. The code corresponding to the second candidate pattern obtained by rotating the intermediate pattern corresponding to the reference code by 180 degrees is 1110000100111111011001101. The code corresponding to the second candidate pattern obtained by rotating the intermediate pattern corresponding to the reference code by 270 degrees is 0110110101111110110010100.
[0108] After obtaining the codes corresponding to each second candidate pattern, the codes corresponding to each second candidate pattern are determined as third candidate codes. That is, the third candidate codes are 0010100110111111010110110, 1110000100111111011001101, and 0110110101111110110010100.
[0109] In some embodiments , in response to there being a second candidate code among at least one of the second candidate codes whose distance from the first candidate code is less than the first distance, there is no need to perform subsequent steps. Return to step 2031 and obtain the first candidate code again based on the reference code.
[0110] Note that the number of third candidate codes obtained based on the reference code is less than the number of third candidate codes obtained based on the reference code and the candidate codes obtained previously before the first candidate code.
[0111] In step 2034, in response to the distance between at least one of the third candidate codes and the first candidate code being greater than or equal to the first distance, the first candidate code is used as the first code.
[0112] In some embodiments , determine the distance between the third candidate code and the first candidate code. The process of determining the distance between the third candidate code and the first candidate code is the same as the process of determining the distance between the second candidate code and the first candidate code in step 2033 above, and the repeated description is omitted here.
[0113] Since the third candidate code is the code obtained by performing a second rotation transformation on the generated code, if the distance between the first candidate code and at least one of the third candidate codes is greater than or equal to the first distance, it indicates that the difference between the first candidate code and the other generated codes is large, the distinction is large, and the similarity is low.
[0114] In some embodimentsIn response to there being a third candidate code among at least one third candidate code whose distance from the first candidate code is less than the first distance, return to step 2031 and obtain the first candidate code again based on the reference code.
[0115] Note that based on the reference code, enumerate all codes whose distance from the reference code is greater than or equal to the first distance, and determine whether all the enumerated codes meet the requirements according to the processes of steps 2031 to 2034 above, that is, whether all the enumerated codes can be used as the first code.
[0116] In some embodiments When the number of bits of the reference code is 25 bits, the number of reference codes is 38, and the first distance is 7, a total of 232 first codes that meet the requirements are generated in the above form, and the distance between any two of these 232 first codes is 7 or more.
[0117] Furthermore, the number of obtained first codes has a negative correlation with the first distance. The larger the first distance, the fewer the number of obtained first codes. The smaller the first distance, the more the number of obtained first codes.
[0118] In some embodiments The computer device obtains the first code by executing the following formulas (3) and (4) based on the reference code.
[0119]
Number
Number
[0120] In the above formulas (3) and (4), TIFF0007712371000013.tif11160 is the first candidate code, TIFF0007712371000014.tif11160 is the second candidate code, A´ is the first rotation transformation, τ * is the first distance, TIFF0007712371000015.tif10160 is the distance between the first candidate code and the second candidate code. TIFF0007712371000016.tif11160 is the third candidate code, A is the second rotation transformation, TIFF0007712371000017.tif13160 is the candidate code obtained before the reference code and the first candidate code, TIFF0007712371000018.tif13160 is the distance between the first candidate code and the third candidate code.
[0121] In step 204, a primary pattern is obtained based on the reference code, and a secondary pattern is obtained based on the secondary code, where the secondary code is at least one of the first codes.
[0122] In some embodiments , after determining at least one first code, at least one first code is randomly selected from the first codes, and the selected first code is used as the secondary code, that is, the secondary code is at least one of the first codes. In some embodiments , four first codes are selected from the first codes as the secondary codes.
[0123] Note that the number of secondary codes may be more or less, and this is not limited in the embodiments of the present application. The number of secondary codes may be less than the total number of first codes.
[0124] In some embodiments , the reference code matches the number of bits of the secondary code, and both the reference code and the secondary code include the first digit and the second digit.
[0125] In some embodiments Before obtaining the primary pattern and the secondary pattern, it is necessary to further obtain candidate patterns based on the number of bits of the reference code. The candidate patterns consist of grids, and the number of grids included in the candidate patterns matches the number of bits of the reference code. Since the number of bits of the reference code matches the number of bits of the first candidate code, the candidate patterns obtained here and the candidate patterns obtained based on the number of bits of the first candidate code in step 2032 above are the same pattern. The candidate pattern is shown in Figure A of Figure 8. For the process of obtaining the candidate pattern, duplicate explanations are omitted here.
[0126] In some embodiments Regarding the process of obtaining the primary pattern based on the reference code, fill in the grids included in the candidate pattern with the numbers included in the reference code according to the target order to obtain the intermediate pattern corresponding to the reference code. Based on the first color and the second color, perform color rendering on the intermediate pattern corresponding to the reference code to obtain the primary pattern. The intermediate pattern corresponding to the reference code is shown in Figure C of Figure 7.
[0127] Regarding the process of performing color rendering on the intermediate pattern corresponding to the reference code based on the first color and the second color to obtain the primary pattern, render the grid where the first digit in the intermediate pattern corresponding to the reference code is located with the first color, and render the grid where the second digit in the intermediate pattern corresponding to the reference code is located with the second color to obtain the primary pattern. As shown in Figure 12, it is a schematic diagram of the primary pattern according to the embodiment of the present application. In Figure 12, the first color is black and the second color is white.
[0128] Of course, the first color and the second color may be other colors, as long as it is ensured that the first color and the second color are different, and the present application does not limit this.
[0129] In some embodimentsRegarding the process of obtaining a secondary pattern based on a secondary code, the numbers included in the secondary code are filled into the grids included in the candidate pattern according to the target order to obtain an intermediate pattern corresponding to the secondary code. Color rendering is performed on the intermediate pattern corresponding to the secondary code based on the first color and the second color to obtain a first pattern. The area of the first pattern is adjusted to obtain a secondary pattern, and the area of the secondary pattern is less than the area of the primary pattern.
[0130] Since it is necessary to overlay the secondary pattern on the primary pattern, if the area of the secondary pattern coincides with the area of the primary pattern, the primary pattern will be covered by the secondary pattern, and as a result, the primary pattern will become invisible. To avoid this situation, it is necessary to adjust the area of the first pattern to obtain a secondary pattern. In some embodiments The area of the first pattern is reduced to 1 / 16 of the area of the primary pattern to obtain a secondary pattern.
[0131] In step 205, a beacon is generated based on the primary pattern and the secondary pattern.
[0132] In some embodiments When the number of secondary patterns is one, a beacon can be obtained by simply overlaying the secondary pattern directly on the primary pattern. When the number of secondary patterns is plural, each secondary pattern is overlaid on the primary pattern to obtain a beacon. Note that the secondary patterns do not overlap each other.
[0133] As shown in FIG. 13, it is a schematic diagram of a beacon according to an embodiment of the present application. In FIG. A of FIG. 13, one secondary pattern is overlaid on the primary pattern. In FIG. B of FIG. 13, four secondary patterns are overlaid on the primary pattern.
[0134] The beacon in FIG. 13 is a two-stage beacon, that is, the primary pattern is the first stage and the secondary pattern is the second stage. In order to increase the number of stages of the beacon and make the beacon more complex, a tertiary pattern may be obtained based on a tertiary code. The tertiary code is a first code different from the secondary code among at least one first code, and the area of the tertiary pattern is less than the area of the secondary pattern. In some embodiments , the area of the tertiary pattern is 1 / 4 of the area of the secondary pattern. The process of obtaining the tertiary pattern is the same as the process of obtaining the secondary pattern, and repeated description is omitted here.
[0135] Furthermore, the secondary pattern and the tertiary pattern are superimposed on the primary pattern to obtain a beacon, and the secondary pattern and the tertiary pattern do not overlap.
[0136] In some embodiments , four first codes are selected as secondary codes from the first codes, and five first codes are selected as tertiary codes from the first codes other than the secondary codes among the first codes, that is, a total of four secondary codes and five tertiary codes are obtained. The primary pattern is obtained based on the reference code, four secondary patterns are obtained based on the four secondary codes, and five tertiary patterns are obtained based on the five tertiary codes. Four secondary patterns and five tertiary patterns are superimposed on the primary pattern to obtain a beacon.
[0137] As shown in FIG. 14, it is a schematic diagram of the beacon according to the embodiment of the present application. The beacon shown in FIG. 14 is a three-stage beacon. In FIG. A of FIG. 14, the form of the beacon layout is to superimpose one secondary pattern on the left side, right side, lower side and central part of the primary pattern respectively, and superimpose five tertiary patterns in a "pin" shape on the upper side of the primary pattern to obtain a beacon.
[0138] In FIG. B of FIG. 14, the form of the beacon layout is to superimpose one secondary pattern on the left side, right side, lower side and upper side of the primary pattern respectively, and superimpose five tertiary patterns in a "pin" shape on the central part of the primary pattern to obtain a beacon.
[0139] In some embodiments When the downward camera of the drone is located at the front or the middle-rear part of the drone, the landing of the drone is assisted by using the beacon generated in the layout form in FIG. A of FIG. 14. When the downward camera of the drone is located at the middle part of the drone, the landing of the drone is assisted by using the beacon generated in the layout form in FIG. B of FIG. 14. The primary pattern in FIG. 14 (i.e., the pattern with the largest area in FIG. 14) is used for visual positioning when the drone is at a high altitude. The secondary pattern in FIG. 14 (i.e., the pattern with a medium area in FIG. 14) is used for visual positioning when the drone is at a medium-low altitude. The tertiary pattern in FIG. 14 (i.e., the pattern with the smallest area in FIG. 14) is used for visual positioning when the drone is at a low altitude. The altitude corresponding to the high altitude is 15 meters or more, the altitude corresponding to the medium-low altitude is 3 - 15 meters, and the altitude corresponding to the low altitude is 0 - 3 meters.
[0140] By using the beacon generated in the layout form shown in FIG. 14, not only can the error of visual positioning be eliminated and the probability of misidentification of the drone be reduced, but also the pattern in the beacon can be confirmed no matter from which angle the drone flies towards the beacon.
[0141] It should be noted that the number of levels of the beacon may be even more. In this application, the case where the number of levels of the beacon is two and three is taken as an example for explanation. FIG. 14 is only an example of the type of the beacon according to the embodiment of this application, and does not limit the type of the beacon. The type of the beacon may be other types.
[0142] According to the above method, by processing the reference code to obtain the first code, and the distance between the obtained first code and the reference code being greater than or equal to the first distance, the difference between the first code and the reference code is large, and the distinction is significant. Further, by obtaining the secondary code from the first code, obtaining the primary pattern based on the reference code, and obtaining the secondary pattern based on the secondary code, the difference between the primary pattern and the secondary pattern is large, the distinction is significant, and the similarity is low. The beacon generated based on the primary pattern and the secondary pattern is advantageous for the identification and positioning of the drone in the air, can reduce the probability of misidentification of the drone, improve the accuracy of drone identification, further reduce the probability of the drone crashing, and improve the safety of the drone during landing.
[0143] The embodiment of the present application further provides a beacon, which is generated by adopting the embodiment of FIG. 2 above. The beacon includes at least three levels of patterns: one primary pattern, at least two secondary patterns different from each other, and at least two tertiary patterns different from each other. The at least two secondary patterns different from each other and the at least two tertiary patterns different from each other are dispersed and superimposed on the primary pattern. Any two of the at least two secondary patterns different from each other and the at least two tertiary patterns different from each other do not overlap. The area of the secondary pattern is less than the area of the primary pattern, and the area of the tertiary pattern is less than the area of the secondary pattern. Moreover, the diameter of the circumscribed circle capable of accommodating the at least two secondary patterns is 2 to 6 times the diameter of the circumscribed circle capable of accommodating the at least two tertiary patterns.
[0144] In some embodiments The diameter of the circumscribed circle capable of accommodating the at least two secondary patterns is 2 to 5 times the diameter of the circumscribed circle capable of accommodating the at least two tertiary patterns.
[0145] In some embodimentsThe primary pattern is obtained based on a reference code, the secondary pattern is obtained based on a secondary code, and the tertiary pattern is obtained based on a tertiary code. The secondary code is at least one first code, at least one first code is obtained based on the reference code, and the tertiary code is a first code different from the secondary code among at least one first code. The distance between any two codes of at least one first code and the reference code is greater than or equal to a first distance, and the number of bits of the first code is the same as the number of bits of the reference code.
[0146] In some embodiments The area of the primary pattern is 9 to 36 times the area of the secondary pattern, and the area of the secondary pattern is 3 to 9 times the area of the tertiary pattern.
[0147] In some embodiments If the difference between the area of the primary pattern and the area of the secondary pattern is too small, it is easy for the drone to identify the secondary pattern as the primary pattern. Since the flight altitude of the drone indicated by the secondary pattern is lower than the flight altitude of the drone indicated by the primary pattern, if the drone misidentifies the secondary pattern as the primary pattern, the drone will judge that the distance from the ground is still very high. Therefore, it lands at high speed, and furthermore, the drone is highly likely to crash, and the safety of drone landing is low. If the difference between the area of the primary pattern and the area of the secondary pattern is too large, the drone cannot identify the secondary code during descent, and furthermore, the drone landing will fail.
[0148] In some embodiments The flight altitude of the drone indicated by the primary pattern is 30 meters, the flight altitude of the drone indicated by the secondary pattern is 15 meters, and the flight altitude of the drone indicated by the tertiary pattern is 3 meters. If the drone misidentifies the secondary pattern as the primary pattern, the drone will judge that the distance from the ground is 30 meters (the actual distance between the drone and the ground is 15 meters), and the drone will start to descend at high speed, and the drone is highly likely to crash.
[0149] To avoid the occurrence of the above situation, in the beacon according to the embodiment of the present application, the area of the primary pattern is 9 to 36 times the area of the secondary pattern, and the area of the secondary pattern is 3 to 9 times the area of the tertiary pattern. Preferably, the area of the primary pattern is 25 times the area of the secondary pattern, and the area of the tertiary pattern is 5 times the area of the secondary pattern.
[0150] In some embodiments , the beacon includes one primary pattern, four secondary patterns and five tertiary patterns. One secondary pattern is superimposed on the left side, lower side, right side and central part of the primary pattern respectively, and five tertiary patterns are superimposed in a "pin" shape on the upper side of the primary pattern. Figure A in Figure 14 is the beacon obtained in this layout form.
[0151] Or, one secondary pattern is superimposed on the upper side, lower side, left side and right side of the primary pattern respectively, and five tertiary patterns are superimposed in a "pin" shape on the central part of the primary pattern. Figure B in Figure 14 is the beacon obtained in this layout form.
[0152] By including a plurality of different secondary patterns and tertiary patterns, the beacon can be identified even in the case of dirt or shadow. With at least three levels of patterns, it is ensured that the drone can identify the beacon during the transition from horizontal flight to ground contact, thereby guiding the accurate landing of the drone more reliably.
[0153] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data for analysis, stored data, displayed data, etc.) and signals according to the embodiment of the present application are all authorized by the user or sufficiently authorized by each party, and the collection, use and processing of related data need to comply with the relevant laws, regulations and standards of the relevant countries and regions. For example, the first distance, the second distance, the random number code, etc. according to the present application are all obtained when they are sufficiently authorized.
[0154] As shown in FIG. 15, it is a structural schematic diagram of a beacon generation device according to an embodiment of the present application. As shown in FIG. 15, the device includes: a first acquisition module 1501 used to acquire a primary code; a second acquisition module 1502 used to acquire a reference code based on the primary code, and the number of bits of the reference code is larger than the number of bits of the primary code; a processing module 1503 used to process the reference code based on a first distance to obtain at least one first code, the distance between any two codes of at least one first code and the reference code is not less than the first distance, and the number of bits of the first code is the same as the number of bits of the reference code; a third acquisition module 1504 used to acquire a primary pattern based on the reference code and acquire a secondary pattern based on the secondary code, and the secondary code is at least one of the first codes; and a generation module 1505 used to generate a beacon based on the primary pattern and the secondary pattern.
[0155] In some embodiments The primary code includes a first digit and a second digit. The second acquisition module 1502 is used to obtain a reference code by filling in a digit in the primary code, and the digit to be filled in is either the first digit or the second digit.
[0156] In some embodimentsThe processing module 1503 is to obtain a first candidate code based on a reference code, where the first candidate code has the same number of bits as the reference code and the distance from the reference code is greater than or equal to a first distance, and to obtain at least one second candidate code based on the first candidate code, where the second candidate code has the same number of bits as the first candidate code, and in response to the distance between each of the at least one second candidate code and the first candidate code being greater than or equal to the first distance, to obtain at least one third candidate code based on the reference code, where the third candidate code has the same number of bits as the reference code, and in response to the distance between each of the at least one third candidate code and the first candidate code being greater than or equal to the first distance, to use the first candidate code as the first code.
[0157] In some embodiments The processing module 1503 is to generate an intermediate pattern corresponding to the first candidate code, perform a first rotation transformation on the intermediate pattern corresponding to the first candidate code to obtain at least one first candidate pattern, obtain the codes respectively corresponding to the at least one first candidate pattern, and use the codes respectively corresponding to the at least one first candidate pattern as the second candidate codes.
[0158] In some embodiments The processing module 1503 is, in response to the distance between each of the at least one second candidate code and the first candidate code being greater than or equal to the first distance and the first candidate code being the first candidate code obtained based on the reference code, to obtain at least one third candidate code based on the reference code, and in response to the distance between each of the at least one second candidate code and the first candidate code being greater than or equal to the first distance and the first candidate code being other than the first candidate code obtained based on the reference code, to obtain at least one third candidate code based on the reference code and the candidate codes obtained before the first candidate code.
[0159] In some embodimentsThe first acquisition module 1501 is used to acquire a random code, process the random code based on a second distance to obtain at least one second code, where the distance between any two codes of the at least one second code and the random code is greater than or equal to the second distance, the number of bits of the second code is the same as the number of bits of the random code, and determine a primary code from the random code and the at least one second code.
[0160] In some embodiments The apparatus is further included with a fourth acquisition module that is used to acquire a candidate pattern based on the number of bits of a reference code, the candidate pattern consists of grids, and the number of grids included in the candidate pattern is the same as the number of bits of the reference code. The third acquisition module 1504 is used to fill the grids included in the candidate pattern with the numbers included in the reference code according to the target order to obtain an intermediate pattern corresponding to the reference code, and perform color rendering on the intermediate pattern corresponding to the reference code based on the first color and the second color to obtain a primary pattern.
[0161] In some embodiments The third acquisition module 1504 is used to fill the grids included in the candidate pattern with the numbers included in the secondary code according to the target order to obtain an intermediate pattern corresponding to the secondary code, perform color rendering on the intermediate pattern corresponding to the secondary code based on the first color and the second color to obtain a first pattern, adjust the area of the first pattern to obtain a secondary pattern, where the area of the secondary pattern is less than the area of the primary pattern.
[0162] In some embodiments The third acquisition module 1504 is further used to acquire a tertiary pattern based on a tertiary code, the tertiary code is a first code different from the secondary code among at least one first code, and the area of the tertiary pattern is less than the area of the secondary pattern. The generating module 1505 is further used to obtain a beacon by superimposing a secondary pattern and a tertiary pattern on a primary pattern, and the secondary pattern and the tertiary pattern do not overlap.
[0163] According to the above device, by processing a reference code to obtain a first code and the distance between the obtained first code and the reference code being greater than or equal to a first distance, the difference between the first code and the reference code is large and the distinction is significant. Further, by obtaining a secondary code from the first code, obtaining a primary pattern based on the reference code, and obtaining a secondary pattern based on the secondary code, the difference between the primary pattern and the secondary pattern is large, the distinction is significant, and the similarity is low. The beacon generated based on the primary pattern and the secondary pattern is advantageous for the identification and positioning of the drone in the air, can reduce the probability of misidentification of the drone, improve the accuracy of drone identification, further reduce the probability of the drone crashing, and improve the safety of the drone during landing.
[0164] As can be understood, when the device according to FIG. 15 realizes its functions, only the division of the above functional modules is exemplified for explanation. However, in actual applications, the above functions can be assigned to different functional modules as needed to be completed, that is, all or some of the functions described above can be completed by dividing the internal structure of the device into different functional modules. In addition, the device according to the above embodiment belongs to the same concept as the method embodiment. For its specific implementation process, reference may be made to the method embodiment for details, and repeated description is omitted here.
[0165] FIG. 16 is of the present application of the A structural block diagram of the electronic device 1600 according to the embodiment is shown. The electronic device 1600 may be, for example, a portable mobile terminal such as a smartphone, a tablet PC, an MP3 player (Moving Picture Experts Group Audio Layer III), an MP4 (Moving Picture Experts Group Audio Layer IV) player, a notebook computer, or a desktop computer. The electronic device 1600 may also be referred to by other names such as a user device, a portable terminal, a laptop terminal, a desktop terminal, etc.
[0166] Generally, the electronic device 1600 includes a processor 1601 and a memory 1602.
[0167] Processor 1601 may include one or more processing cores, for example, a 4-core processor, an 8-core processor, etc. Processor 1601 may be implemented by adopting at least one form of hardware among DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). Processor 1601 may include a main processor and a coprocessor. The main processor is a processor for processing data in the wake-up state and is also called a CPU (Central Processing Unit). The coprocessor is a low-power processor for processing data in the standby state. In some embodiments, GPU (Graphics Processing Unit) may be integrated in Processor 1601. The GPU is used for rendering and drawing the content that needs to be displayed on the display screen. In some embodiments, Processor 1601 may further include an AI (Artificial Intelligence) processor, and the AI processor is used for processing the related machine learning calculation operations.
[0168] Memory 1602 may include one or more computer-readable storage media, and the computer-readable storage media are non-transitory. Memory 1602 may further include high-speed random access memory and non-volatile memory such as one or more disk storage devices, flash storage devices, etc. In some embodiments, the non-transitory computer-readable storage media in Memory 1602 are used for storing at least one instruction, and the at least one instruction is executed by Processor 1601 and is used for implementing the beacon generation method according to the method embodiments of the present application.
[0169] In some embodiments, the electronic device 1600 selectively includes a peripheral device interface 1603 and at least one peripheral device. The processor 1601, the memory 1602, and the peripheral device interface 1603 may be connected via a bus or signal lines. Each peripheral device may be connected to the peripheral device interface 1603 via a bus, signal lines, or a circuit board. In some examples , the peripheral device includes at least one of an RF circuit 1604, a display screen 1605, a camera assembly 1606, an audio circuit 1607, a positioning assembly 1608, and a power supply 1609.
[0170] In some embodiments, the electronic device 1600 further includes one or more sensors 1160. The one or more sensors 1160 include, but are not limited to, an acceleration sensor 1611, a gyroscope sensor 1612, a pressure sensor 1613, a fingerprint sensor 1614, an optical sensor 1615, and a proximity sensor 1616.
[0171] As can be understood by those skilled in the art, the structure shown in FIG. 16 does not limit the electronic device 1600, and it may include more or fewer elements than shown, or combine some elements, or adopt different element arrangements.
[0172] FIG. 17 is a structural schematic diagram of a server according to an embodiment of the present application. The server 1700 may vary greatly in configuration or performance. It may include one or more processors (Central Processing Units, CPUs) 1701 and one or more memories 1702. At least one program code is stored in the one or more memories 1702. By loading and executing the at least one program code by the one or more processors 1701, the beacon generation method according to each of the above method embodiments is realized. Of course, the server 1700 may further include components such as a wired or wireless network interface, a keyboard, and an input / output interface for input / output. The server 1700 may further include other components for realizing the functions of the device, and repeated descriptions are omitted here.
[0173] real In an embodiment, a computer-readable storage medium is further provided, and at least one program code is stored in the storage medium. By loading and executing the at least one program code by a processor, any of the above beacon generation methods is realized on a computer.
[0174] Optionally, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a compact disc read-only memory (CD-ROM), a tape, a floppy disk, an optical data storage device, or the like.
[0175] real In an embodiment, a computer program or a computer program product is further provided, and at least one computer instruction is stored in the computer program or the computer program product. By loading and executing the at least one computer instruction by a processor, any of the above beacon generation methods is realized on a computer.
[0176] As can be understood, the "plurality" referred to in this specification refers to two or more. "And / or" describes the relationship of the related objects and indicates that there are three types of relationships. For example, A and / or B indicates three cases: when A exists alone, when A and B exist simultaneously, and when B exists alone. The character " / " usually indicates that the related objects before and after it are in an "or" relationship.
[0177] The numbers of the embodiments of the present application are for illustrative purposes only and do not indicate the superiority or inferiority of the embodiments.
[0178] The exemplary embodiments of the present application have been described above. However, it is not intended to limit the present application, and any changes, equivalent substitutions, improvements, etc. made without departing from the spirit and principles of the present application should all be included within the protection scope of the present application.
Claims
1. A beacon, comprising one primary pattern and at least one secondary pattern, wherein the at least one secondary pattern is superimposed on the primary pattern, the area of the secondary pattern is less than the area of the primary pattern, there are at least two secondary patterns, the superimposition of the at least one secondary pattern on the primary pattern includes the superimposition of the at least two secondary patterns on the primary pattern and the non-overlap of any two secondary patterns, the beacon further includes at least two tertiary patterns, the at least two secondary patterns and the at least two tertiary patterns are dispersed and superimposed on the primary pattern, and any two patterns among the at least two secondary patterns and the at least two tertiary patterns do not overlap, the area of the tertiary pattern is less than the area of the secondary pattern, the primary pattern is obtained based on a reference code, the secondary pattern is obtained based on a secondary code, and the tertiary pattern is obtained based on a tertiary code, the secondary code is at least one first code, the at least one first code is obtained based on the reference code, and the tertiary code is a first code different from the secondary code among the at least one first code, the distance between any two codes among the at least one first code and the reference code is greater than or equal to a first distance, and the number of bits of the first code is the same as the number of bits of the reference code A beacon characterized by the above.
2. The primary pattern includes a pattern portion having a first color and a pattern portion having a second color. The superimposition of the at least one secondary pattern on the primary pattern includes the at least one secondary pattern being located on the pattern portion of the primary pattern having the first color. The beacon according to claim 1 is characterized by this.
3. The at least two secondary patterns are different from each other. The beacon according to claim 1 is characterized by this.
4. The at least two tertiary patterns are different from each other. The beacon according to claim 1 is characterized by this.
5. The beacon according to claim 1, wherein at least one of the secondary patterns or at least one of the tertiary patterns is installed at the center position of the primary pattern.
6. The beacon according to claim 1, wherein the area of the primary pattern is 9 to 36 times the area of the secondary pattern, and the area of the secondary pattern is 3 to 9 times the area of the tertiary pattern.
7. The beacon includes one primary pattern, four secondary patterns, and five tertiary patterns. One secondary pattern is superposed on each of the left side, lower side, right side, and central part of the primary pattern, and five tertiary patterns are superposed in a "pin" shape on the upper side of the primary pattern, or One secondary pattern is superposed on each of the upper side, lower side, left side, and right side of the primary pattern, and five tertiary patterns are superposed in a "pin" shape on the central part of the primary pattern. The beacon according to claim 1.
8. A method for a drone to land, comprising: identifying the beacon according to any one of claims 1-7; and landing the drone at a predetermined position by adjusting the descent speed or descent direction of the drone based on the identified beacon. A method for a drone to land is characterized by including the above steps.
Citation Information
Patent Citations
Vision localization landing tail end-based unmanned aerial vehicle landing method
CN106127201A
Image processing method for centimeter-level precise landing of UAV (unmanned aerial vehicle)
CN108873943A
Synchronizing unit for serial signal sequence and recording medium
JP1980067923A
Optical information recording method and reproduction method
JP2007156801A
Visual landing aids for unmanned aerial systems
US20170225800A1