Vision-based vehicle guidance

By setting the perimeter of different light characteristics on the landing pad and utilizing image sensors, the precise guidance of the VTOL aircraft is achieved, solving the interference and weight problems of the existing GBAS system, reducing system complexity and cost.

CN119190382APending Publication Date: 2024-12-27THE BOEING CO
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410660487.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-06-26
Filing Date
2024-05-27
Publication Date
2024-12-27

AI Technical Summary

Technical Problem

The existing land-based augmentation system (GBAS) for VTOL aircraft has the risk of interference and fraud, and requires complex and expensive equipment, increasing the weight and cost of the aircraft.

Method used

Using a vision-based guidance system, by setting the first and second perimeters with different light characteristics on the landing pad, detecting these light source patterns using image sensors, calculating the position of the aircraft relative to the landing pad, and guiding it.

Benefits of technology

The precise landing and takeoff of the VTOL aircraft is achieved, reducing system complexity and cost, reducing aircraft weight, and improving guidance accuracy and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure HDA0004859411890000011
    Figure HDA0004859411890000011
  • Figure HDA0004859411890000021
    Figure HDA0004859411890000021
  • Figure HDA0004859411890000031
    Figure HDA0004859411890000031
Patent Text Reader

Abstract

The invention discloses vision-based vehicle guidance. An example landing pad for vision-based guidance of a vehicle includes a first perimeter having a first array of first light sources and a second perimeter having a second array of second light sources, the second perimeter surrounding the first perimeter, at least two of the first or second light sources have different light characteristics to define a pattern to be detected by an image sensor of the vehicle for guiding the vehicle toward or away from the landing area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to vehicle guidance, and more particularly to vision-based vehicle guidance. Background Art

[0002] In recent years, vertical take-off and landing (VTOL) aircraft may require landing guidance. Specifically, passenger-carrying autonomous commercial VTOL aircraft may require accurate positioning and attitude determination to meet regulatory certification requirements. To meet regulatory certification requirements, some known systems use ground-based augmentation systems (GBAS). However, known systems using GBAS may be subject to jamming / spoofing, require allocation of radio frequency (RF) spectrum, and may require the use of complex hardware and software to operate. Therefore, known GBAS implementations may require relatively complex and expensive equipment, devices and / or components, which may also increase the weight of the VTOL aircraft. Summary of the invention

[0003] An example landing pad for vision-based guidance of a vehicle includes a first perimeter of a landing area defined by the landing pad and a second perimeter, the first perimeter having a first array of first light sources, the second perimeter having a second array of second light sources, the second perimeter surrounding the first perimeter, at least two of the first light sources or the second light sources having different light characteristics to define a pattern to be detected by an image sensor of the vehicle for guiding the vehicle toward or away from the landing area.

[0004] An example apparatus for guiding a vehicle toward or away from a landing pad includes an interface circuit communicatively coupled to an image sensor supported by the vehicle, machine-readable instructions, and programmable circuitry for at least one of instantiating or executing the machine-readable instructions to: identify a first perimeter and a second perimeter of a landing area of ​​a landing pad based on output from the image sensor, the first perimeter having a first array of first light sources and the second perimeter having a second array of second light sources, wherein at least two of the first light sources and the second light sources have different light characteristics for defining a pattern, the light characteristics corresponding to at least one of light intensity, spectrum, color, or brightness; calculate a position of the vehicle relative to the landing pad based on the pattern; and guide movement of the vehicle based on the position of the vehicle relative to the landing pad.

[0005] An example non-transitory machine-readable storage medium includes instructions to cause a programmable circuit to perform at least the following operations: based on output from an image sensor supported by a vehicle, identify a first perimeter and a second perimeter of a landing area, the second perimeter surrounding the first perimeter, the first perimeter having a first array of first light sources and the second perimeter having a second array of second light sources, at least two of the first light sources and the second light sources having different light characteristics for defining a pattern; calculate a relative position of the vehicle to the landing pad based on the pattern and at least one distance associated with the identified first perimeter and second perimeter; and direct movement of the vehicle based on the relative position. BRIEF DESCRIPTION OF THE DRAWINGS

[0006] Figure 1 is an exemplary vision-based guidance system in accordance with the teachings of the present disclosure.

[0007] Figure 2 yes Figure 1 Detailed top view of an example landing pad of an exemplary vision-based guidance system.

[0008] Figure 3 An example landing sequence according to examples disclosed herein is depicted.

[0009] Figure 4A-4E Depicted are alternative example landing pad arrangements that can be implemented in the examples disclosed herein.

[0010] Figure 5 is a block diagram of an exemplary vision-based guidance analysis system in accordance with the teachings of the present disclosure.

[0011] Figure 6 can be performed, instantiated and / or executed by an example programmable circuit to implement Figure 5 A flowchart representation of example machine readable instructions and / or example operations of a vision-based guided analysis system.

[0012] Figure 7 is comprised of example machine-readable instructions configured to execute, instantiate and / or implement example machine-readable instructions and / or implement Figure 6 Example operation to achieve Figure 5 Block diagram of an example processing platform of programmable circuits for a vision-based guidance analysis system.

[0013] Figure 8 yes Figure 7 A block diagram of an example implementation of a programmable circuit.

[0014] Fig. 9 yes Figure 7 A block diagram of another example implementation of a programmable circuit.

[0015] In general, the same reference numerals will be used throughout the drawings and the accompanying written description to refer to the same or similar parts. The figures are not necessarily drawn to scale. Instead, the thickness of the various layers or regions in the drawings may be exaggerated. Although the figures show layers and regions with clear lines and boundaries, some or all of the lines and / or boundaries may be idealized. In reality, boundaries and / or lines may not be observable, blended, and / or irregular.

[0016] As used herein, unless otherwise specified, the term "above" describes the relationship of two components relative to the earth. A first component is above a second component if the second component has at least a portion between the earth and the first component. Likewise, as used herein, a first component is "below" a second component when the first component is closer to the earth than the second component. As described above, a first component can be above or below a second component in one or more of the following situations: there are other components in between, there are no other components in between, the first component and the second component are in contact, or the first component and the second component are not in direct contact with each other.

[0017] As used in this patent, the statement that any component is on another component in any manner (e.g., positioned on, located on, disposed on, or formed on, etc.) means that the referenced component is in contact with the other component, or that the referenced component is above the other component with one or more intermediate components in between.

[0018] As used herein, connection references (e.g., attached, coupled, connected, and joined) may include intermediate members between the elements to which the connection reference refers and / or relative movement between such elements, unless otherwise specified. Thus, a connection reference does not necessarily infer that two elements are directly connected and / or are in a fixed relationship to each other. As used herein, a statement that any part "contacts" another part is defined to mean that there are no intermediate parts between the two parts.

[0019] Unless otherwise specifically stated, descriptors such as "first", "second", "third", etc. used herein do not imply or otherwise represent any priority, physical order, arrangement in a list, and / or ordering, but are merely used as labels and / or arbitrary names to distinguish elements to facilitate understanding of the disclosed examples. In some examples, the descriptor "first" may be used to refer to an element in a specific embodiment, while the same element may be referred to using different descriptors such as "second" or "third" in the claims. In this case, it should be understood that such descriptors are only used to explicitly identify these elements in the context of the discussion (e.g., in the claims), and in other cases, these elements may share the same name.

[0020] As used herein, "approximately" and "about" modify the subject matter / values ​​thereof to recognize that there may be variations in actual applications. For example, "approximately" and "approximately" may modify dimensions that may not be exact due to manufacturing tolerances and / or other real-world imperfections that are understood by those of ordinary skill in the art. For example, "approximately" and "approximately" may indicate that these dimensions may be within a tolerance range of + / - 10%, unless otherwise specified in the following description.

[0021] As used herein, "substantially real time" means occurring in a nearly instantaneous manner, acknowledging that there may be actual delays in computation time, transmission, etc. Therefore, unless otherwise specified, "substantially real time" means real time + 1 second.

[0022] As used herein, the phrase "communicate" (including variations thereof) encompasses direct communication and / or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and / or continuous communication, but additionally includes selective communication at regular intervals, scheduled intervals, non-regular intervals, and / or one-time events.

[0023] As used herein, “programmable circuit” is defined as including (i) one or more special-purpose electrical circuits (e.g., application-specific integrated circuits (ASICs)) that are constructed to perform specific operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors), and / or (ii) one or more general-purpose semiconductor-based electrical circuits that can be programmed with instructions to perform specific functions and / or operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of programmable circuits include: a programmable microprocessor such as a central processor unit (CPU), which can execute a first instruction to perform one or more operations and / or functions; a field programmable gate array (FPGA), which can be programmed with a second instruction to cause the configuration and / or construction of the FPGA to instantiate one or more operations and / or functions corresponding to the first instruction; a graphics processor unit (GPU), which can execute a first instruction to perform one or more operations and / or functions; a digital signal processor (DSP), which can execute a first instruction to perform one or more operations and / or functions; an XPU, a network processing unit (NPU), one or more microcontrollers, which can execute a first instruction to perform one or more operations and / or functions; and / or an integrated circuit such as an application specific integrated circuit (ASIC). For example, an XPU can be implemented by a heterogeneous computing system including multiple types of programmable circuits (e.g., one or more FPGAs, one or more CPUs, one or more GPUs, one or more NPUs, one or more DSPs, etc. and / or any combination thereof) and an orchestration technology (e.g., an application programming interface (API), which can assign computing tasks to any of the multiple types of programmable circuits that are suitable and can be used to perform the computing task).

[0024] As used herein, an integrated circuit / circuitry is defined as one or more semiconductor packages containing one or more circuit elements such as transistors, capacitors, inductors, resistors, current paths, diodes, etc. For example, an integrated circuit may be implemented as one or more of an ASIC, an FPGA, a chip, a microchip, a programmable circuit, a semiconductor substrate coupling multiple circuit elements, a system on a chip (SoC), etc.

[0025] As used herein, the term "light characteristics" refers to, but is not limited to, light intensity, light frequency characteristics / spectrum, light source size, flicker pattern, light transmission characteristics, etc. As used herein, the term "pattern" refers to a pattern and / or arrangement of detectable light sources, which may be two-dimensional or three-dimensional. As used herein, the terms "surrounding" and "surrounding" refer to a first object extending around, around, and / or encircling a second object. DETAILED DESCRIPTION

[0026] Figure 1is an exemplary vision-based guidance system 100 according to the teachings of the present disclosure. Figure 1 In an illustrative view of FIG. 1 , an example aircraft 101 is shown being guided by a landing pad (e.g., a vehicle pad, a landing / deployment pad, a vertical take-off and landing airport, etc.) 102 to land thereon. In this example, the aircraft 101 includes a fuselage 103, a rear / tail section 106, and a ducted fan (e.g., a ducted fan assembly) 110. In addition, the aircraft 101 includes at least one sensor 112, which is implemented as a camera, a light detection device, and / or an image sensor in this example, and a navigation controller 114.

[0027] In operation, the aircraft 101 is implemented as a vertical take-off and landing (VTOL) aircraft, so that the aircraft 101 can switch between a hovering mode (e.g., a hovering mode, a take-off mode, etc.) and a cruise mode (e.g., a main flight mode, a cruise mode, etc.) by moving, rotating and / or orienting the ducted fan 110. In order to place the example aircraft 101 in a hovering mode or a cruise mode, the ducted fan 110 (and / or an aerodynamic body coupled thereto) can be rotated relative to the fuselage 103, as generally indicated by double arrows 120, 121. Although the aircraft 101 is a VTOL aircraft in this example, the examples disclosed herein can be implemented on any other aircraft, including but not limited to fixed-wing aircraft, short take-off and landing (STOL) aircraft, rotorcraft, aircraft with fan arrays, etc. In addition, the examples disclosed herein can be implemented in other types of manned or unmanned vehicles, including but not limited to hovercraft, ships, submersibles, spacecraft, etc.

[0028] In order to enable the aircraft 101 to be guided to land on the example landing pad 102, once the aircraft 101 reaches the general vicinity of the landing pad 102, the landing pad 102 is placed on the ground surface 124 and includes a detectable pattern to guide the aircraft 101 thereto. The example landing pad 102 includes a first perimeter 132 that surrounds or extends around a second perimeter 134, both of which are generally quadrilateral in shape (e.g., rectangular and / or square in shape, etc.). However, the first perimeter 132 and the second perimeter 134 can be any other suitable shape and / or geometric contour. As described below in conjunction with Figure 2-Figure 6As discussed in more detail, the examples disclosed herein enable cost-effective guidance of the aircraft 101 to land on or take off from the landing pad 102. According to the examples disclosed herein, the first perimeter 132 and the second perimeter 134 each include respective light sources (e.g., light emitters, powered light sources, etc.) spaced apart (e.g., evenly spaced apart, irregularly spaced apart, etc.) along their extended lengths, such that at least two of the light sources have different light characteristics from one another, thereby defining a pattern (e.g., a two-dimensional pattern, a star pattern, a constellation pattern, etc.). In this example, visual detection of the aforementioned light sources based on the sensor output of the sensor 112 enables the navigation controller 114 to determine, identify and / or distinguish the pattern, and thus calculate the relative distance / position / attitude / orientation of the aircraft 101 to the landing pad 102 and / or a landing area / target 136 of the landing pad 102. In this example, the landing area / target 136 corresponds to the centroid of at least one of the perimeters 132, 134 and / or the centroid of the general shape / boundary of the landing pad 102.

[0029] In some examples, sensor 112 includes filters (e.g., polarization filters, spectral filters, etc.) to detect the light sources of perimeter 132, 134. Additionally, or alternatively, the light sources of perimeter 132, 134 are shifted in frequency to facilitate detection thereof by sensor 112 (e.g., toward a blue region of the light spectrum). In some such examples, the filters are adjusted and / or regulated based on the characteristics of the light sources (e.g., the filters are frequency shifted to facilitate detection of the light sources from a relatively long distance and / or through adverse weather conditions, etc.).

[0030] Figure 2 yes Figure 1A detailed top view of an exemplary landing pad 102 of an exemplary vision-based guidance system 100 is shown. In this example, the landing pad 102 is portable and can therefore be easily transported and deployed to a location (e.g., a landing site, a landing site in a designated landing area designated for the aircraft 101, etc.). In other words, the landing pad 102 can be easily transported to the location to guide the aircraft 101 to land on the landing pad 102 in a relatively quick manner. The location can correspond to a general area where the aircraft 101 is designated to land, so that the aircraft 101 can be guided to the general area or vicinity of the landing pad 102 (e.g., a landing zone) by conventional systems and / or methods (e.g., a global positioning system (GPS) or other global navigation satellite system (GNSS) or positioning navigation and time (PNT) implementations and / or methods). However, the examples disclosed herein can be used for precise guidance to land the aircraft 101 on the landing pad 102 (e.g., in a final landing sequence). Examples disclosed herein may also be used to deploy / launch aircraft 101, so that aircraft 101 may be guided to rise to a height or altitude associated with a flight / cruise mode of aircraft 101 using landing pad 102. Examples disclosed herein may also correspond to guiding a gliding aircraft (e.g., guidance for fixed-wing aircraft, movement with horizontal / lateral components, etc.) to land and takeoff of such aircraft. In particular, examples disclosed herein may support landing / takeoff on a glide path in addition to supporting vertical landing / takeoff.

[0031] The landing pad 102 of the illustrated example includes a main body (e.g., main body, substrate, layered pad, flexible pad, etc.) 202, the aforementioned perimeters 132, 134, and inner perimeters (e.g., center perimeter, intermediate guide perimeter, final guide perimeter, etc.) 203, 204, 206, 208. In this example, perimeter 132 includes light source 220a, perimeter 134 includes light source 220b, perimeter 203 includes light source 220c, perimeter 204 includes light source 220d, perimeter 206 includes light source 220e, and perimeter 208 includes light source 220f.

[0032] According to some examples disclosed herein, in order to guide the aircraft 101 toward the landing pad 102, Figure 1The sensor 112 of the navigation controller 114 may initially detect the light sources 220a of the outer perimeter 132 based on the field of view of the sensor 112 relative to the landing pad 102 and / or the ground surface 124 (e.g., to discern the necessary amount of light sources 220a of the perimeter 132, etc.). To facilitate detecting the light sources 220a at a relatively far range, the corresponding light intensity of the example light source 220a may be greater than the light intensity of the light sources 202b, 202c, 202d, 202e, 202f. In turn, the corresponding light intensity of the light source 202b may be greater than the light intensity of the light source 202c, and similarly, the corresponding light intensity of the light source 202c may be greater than the light intensity of the light source 202d (and so on). Thus, the navigation controller 114 may guide the aircraft 101 (e.g., in a hover mode, in a glide mode, in a STOL mode, in a VTOL mode, etc.) relative to the landing pad 102 based on the perimeter 132. Then, as the aircraft 101 descends, the aircraft 101 may detect light sources 220b of perimeter 134, and then as it descends further, light sources 220c of perimeter 203 may be detected (and so on). In other words, some examples disclosed herein may utilize different perimeters of light sources (e.g., different subsets of perimeters) based on different distances / altitudes of the aircraft 101 relative to the landing pad 102.

[0033] Conversely, to guide the aircraft 101 away from the landing pad 102 (e.g., before the aircraft 101 switches to another navigation / flight mode, etc.), the sensors 112 of the aircraft 101 may initially utilize the inner perimeter (e.g., perimeter 206 or perimeter 208), and then utilize the outer perimeter (e.g., perimeters 204, 203, 134, 132) as the aircraft 101 ascends and / or moves further away from the landing pad 102. In other words, the disclosed examples may enable guidance for both landing / recovery and launch / ascent. In particular, the examples disclosed herein may improve the heading and attitude accuracy of launch / ascent by detecting the perimeters 132, 134, 203, 204, 206, 208 with the sensors 112.

[0034] In some examples, the known or predefined dimensions of at least one of perimeters 132, 134, 203, 204, 206, 208 combined with the angular data from sensor 112 enable navigation controller 114 to determine the relative position / distance between aircraft 101 and landing pad 102. In some such examples, navigation controller 114 utilizes different light characteristics of the light sources in combination with the angular data and at least one known or predefined spatial relationship between at least two of perimeters 132, 134, 203, 204, 206, 208 to discern and / or recognize a pattern of light sources (e.g., a star pattern) to calculate the relative distance between aircraft 101 and landing pad 102.

[0035] According to examples disclosed herein, the spacing between perimeters 132, 134, 203, 204, 206, 208 decreases in a direction from another perimeter 132 to the inner perimeter 208. For example, the spacing between perimeters 132, 134 is greater than the spacing between perimeters 134, 203 (and the spacing between perimeters 206, 208).

[0036] According to examples disclosed herein, in order to enable the navigation controller 114 to distinguish and / or identify a pattern associated with the perimeters 132, 134, 203, 204, 206, 208, the light intensities of at least two of the light sources 202a, 202b, 202c, 202d, 202e, 202f may be different, thereby defining a pattern (e.g., a star pattern, a constellation pattern, etc.). The pattern may be used to determine and / or confirm the known size and / or size relationship of the perimeters 132, 134, 203, 204, 206, 208. In a specific example, the light source 202a of the outer perimeter 132 may have a light intensity greater than the light intensity of the other light sources 202b (and any other light sources in the light sources 202b, 202c, 202d, 202e, 202f), so that the light source 202a can be detected even when the aircraft 101 is separated from the landing pad 102 by a relatively large distance (e.g., 500 meters). According to examples disclosed herein, light source 202b may have a greater intensity than light source 202c, and light source 202c may have a greater intensity than light source 202d (and so on). The different intensities of at least two of the light sources 202a, 202b, 202c, 202d, 202e, 202f may be based on utilizing different light source assemblies (e.g., light emitting diodes (LEDs)), different light source sizes (e.g., light array sizes), brightness characteristics, and / or controlling different voltages supplied thereto. Additionally or alternatively, the spectrum / color, orientation, and / or pattern of the light sources 202a, 202b, 202c, 202d, 202e, 202f may also be utilized to define identifiable features and / or guide utilization with respect to the landing pad 102. In other examples, multiple light source assemblies (e.g., two or more LEDs aggregated together) may be used at a single light source orientation in order to increase light intensity. Additionally or alternatively, at least two of the light sources 202a, 202b, 202c, 202d, 202e, 202f are caused to flash and / or repeat at different frequencies and / or different flashing patterns from one another so that the navigation controller 114 can recognize the pattern and / or distinguish between different perimeters (e.g., based on known or predefined perimeter data, etc.). Additionally or alternatively, the light sources 202a, 202b, 202c, 202d, 202e, 202f within the same respective perimeter 132, 134, 203, 204, 206, 208 may operate with different flashing patterns from one another.

[0037] In some examples, the landing pad 102 is foldable (e.g., the landing pad 102 can be rolled up to be carried by a person, the landing pad 102 is folded into a quadrant, the landing pad 102 is folded / collapsed in a manner similar to an accordion, etc.). According to some examples disclosed herein, a battery 212 can be used to power the light sources 202a, 202b, 202c, 202d, 202e, 202f. However, any other suitable power source (e.g., solar panels, windmills, wind turbines, generators, etc.) can also be implemented. In some examples, a light controller 214 is used to control the intensity and / or flashing sequence of the light sources 202a, 202b, 202c, 202d, 202e, 202f. In other examples, the landing pad 102 is not portable, but is permanently fixed, integrated and / or defined on a surface, ground, terrain or floor. In some examples, light sources 202a, 202b, 202c, 202d, 202e, 202f are implemented as non-visible light emitters, including but not limited to infrared (IR) or near IR range emitters.

[0038] Figure 3 An example landing sequence according to the examples disclosed herein is described. Figure 3 , an aircraft 101 is shown descending toward a landing pad 102. As the aircraft 101 descends toward the landing pad 102, different field of view (FOV) cones 302, 304, 306 come into play, such that the visible area of ​​the landing pad 102 (as viewed by the sensor 112) may decrease as the aircraft 101 approaches the landing pad 102. Step 310 depicts the aircraft 101 at a mid-altitude corresponding to the cone 304, while step 312 depicts the aircraft 101 approaching the immediate vicinity of the landing pad 102 corresponding to the cone 306. Step 314 depicts the cone 316 corresponding to the aircraft 101 about to contact the landing pad 102. The disclosed examples may use one or more perimeters that are currently visible at a given time and / or time period.

[0039] In this example, angular data is used when detecting emitted light and / or light patterns from landing pad 102. In a specific example, sensor 112 may have a field of view of 45 degrees (°) and a pixel size of approximately 0.02°, so an altitude of aircraft 101 of approximately 500 meters above landing pad 102 may result in an area of ​​approximately 400 square meters (m 2 ) and a ground pixel size of approximately 0.2 meters. In contrast, the height of the aircraft 101 of approximately 1.0 meters above the landing pad 102 corresponds to approximately 0.8 meters. 2The visual area and pixel size are approximately 0.0004 m. Therefore, the examples disclosed herein can accurately determine and / or discern the visual pattern of the landing pad 102 from an altitude of approximately 500 meters to an altitude of less than or equal to approximately 1 meter. The above examples are merely exemplary, and any other suitable size and / or angle features may be substituted. Although Figure 3 The examples are shown in the context of a hovering aircraft (eg, a STOL aircraft, a VTOL aircraft, etc.), but the examples disclosed herein may be used in conjunction with fixed-wing aircraft and / or gliding aircraft.

[0040] Figure 4A-4E Optional example landing pad arrangements 400, 410, 420, 430, 440 are described that may be implemented in the examples disclosed herein. Figure 4A , which shows an example landing pad arrangement 400. In this example, the landing pad 400 includes an outer perimeter 402 having light sources 404 spaced apart along its length. The example perimeter 402 surrounds, surrounds, and / or extends around at least one inner perimeter 406 having corresponding light sources 408. In this example, the perimeters 402, 406 are generally elliptical in shape.

[0041] Figure 4B An example landing pad arrangement 410 is depicted having an outer perimeter 412 including light sources 414 disposed thereon. In the illustrated example, perimeter 412 surrounds at least one inner perimeter 416 having a corresponding light source 418. In this particular example, perimeters 412 and 416 are both generally octagonal in shape. However, any other suitable shape and / or polygonal perimeter shape may also be implemented.

[0042] Go to Figure 4C , the example landing pad arrangement 420 includes an outer perimeter 422, which in turn includes a light source 424. In the illustrated example, the perimeter 422 surrounds at least one inner perimeter 426 having a corresponding light source 428. In this particular example, the perimeters 422 and 426 are generally triangular in shape.

[0043] Figure 4D An example landing pad arrangement 430 is depicted. The illustrated example landing pad arrangement 430 includes an outer perimeter 432 having a light source 434. Figure 4D In the illustrated example of , the perimeter 432 surrounds at least one inner perimeter 436 having a corresponding light source 438. In this particular example, the perimeters 432, 436 are generally pentagonal in shape.

[0044] Figure 4EAn example landing pad arrangement 440 is depicted having an outer perimeter 442 including light sources 444 disposed thereon. In the illustrated example, perimeter 442 surrounds at least one inner perimeter 446 having a corresponding light source 448. In this particular example, perimeters 442 and 446 are both generally hexagonal in shape. However, as described above, any other suitable shape and / or polygonal perimeter shape may also be implemented.

[0045] Figure 1-Figure 2 , Figure 4A-4E The examples are merely illustrative and non-limiting, and any other suitable shapes and / or geometric relationships may be substituted. Figure 1-Figure 2 , Figure 4A-4E The examples all have similarly shaped light source perimeters that surround and / or enclose each other, but in other examples, the landing pad may have perimeters of different shapes (e.g., a rectangular perimeter enclosing an elliptical perimeter, a circular perimeter enclosing a rectangular perimeter, etc.).

[0046] Figure 5 A method for guiding based on detecting a peripheral light source defining a pattern (e.g., a star pattern defined by a variation of at least two light sources) Figure 1 1 is a block diagram of an example implementation of a vision-based guidance system 100. The example vision-based guidance analysis system 500 may be implemented in at least one of a vehicle (e.g., aircraft 101), a navigation controller 114, or a computing system communicatively coupled to the vehicle (e.g., via a network). Figure 5 The exemplary vision-based guidance analysis system 500 can be instantiated (e.g., create an instance of, implement, embody, perform, etc., at any time period) by a programmable circuit (e.g., a central processing unit (CPU) executing a first instruction). In addition, or as an alternative, Figure 5 The exemplary vision-based guidance analysis system 500 may be instantiated (e.g., create an instance of it, implement it in any period of time, embody it, implement it, etc.) by: (i) an application-specific integrated circuit (ASIC) and / or (ii) a field-programmable gate array (FPGA), which is structured and / or configured in response to executing a second instruction to perform an operation corresponding to a first instruction. It should therefore be understood that Figure 5 Some or all of the circuits may be instantiated at the same or different times. For example, Figure 5 Part or all of the circuits of can be instantiated into one or more threads that execute concurrently on hardware and / or execute serially on hardware. In addition, in some examples, Figure 5 Some or all of the circuits may be implemented by microprocessor circuits that execute instructions and / or FPGA circuits that perform operations to implement one or more virtual machines and / or containers.

[0047] The illustrated example vision-based guidance analysis system 500 includes an example array data analyzer circuit 502, an example position calculator circuit 504, an example guidance calculator circuit 506, and an example landing pad database storage device 508. In this example, the vision-based guidance analysis system 500 includes Figure 1 Navigation controller 114 and / or sensor 112 are shown as being part of and / or communicatively coupled thereto.

[0048] exist Figure 5 In the illustrated example of , the array data analyzer circuit 502 is used to analyze information corresponding to the sensor output from the sensor 112 to determine whether there is at least one perimeter with a light source. In a specific example, the array data analyzer circuit 502 uses the information to determine and / or identify a pattern, outline, and / or general shape of the perimeter. In some examples, the array data analyzer circuit 502 uses the characteristics of the perimeter and / or landing pad stored in the landing pad database storage device 508. In addition, or as an alternative, information from the landing pad database storage device 508 is accessed / queried based on the pattern of the identified perimeter to identify the characteristics of the landing pad (e.g., scale, size, perimeter spatial relationship, etc.). In some examples, the array data analyzer circuit 502 generates a vector of the light source.

[0049] In this example, the position calculator circuit 504 calculates and / or determines the relative position and / or distance between the vehicle and the landing pad. In particular, the exemplary position calculator circuit 504 can determine the relative distance between the vehicle and the centroid or landing portion of the landing pad. According to the examples disclosed herein, the position calculator circuit 504 determines the relative position and / or distance based on a pattern of a light source having at least two different light characteristics (e.g., light intensity, flickering pattern, etc.) and in combination with at least one known or assumed distance (e.g., length and / or width, diameter, etc.) of the detected perimeter. Therefore, the relative position and / or distance can be determined based on the angular characteristics of the perimeter measured by the sensor and in combination with at least one known or assumed distance. In addition, or as an alternative, the position calculator circuit 504 calculates the relative position and / or distance using the two-dimensional properties and / or pattern of the perimeter (e.g., using the known length of the segment of the perimeter and in combination with the angle measured by the sensor). In some examples, the relative position and / or distance is calculated to the centroid of the perimeter. In some such examples, the centroid is determined based on a vector defined by the light source (e.g., a line of sight vector) and / or a pattern of the light source. In some examples, the position calculator circuit 504 is configured to execute position calculator instructions and / or to perform the following steps: Figure 6 The flowchart represents the operation of a programmable circuit to instantiate.

[0050] The exemplary guidance calculator circuit 506 is implemented to guide the vehicle based on the determined relative position and / or distance between the vehicle and the landing pad. In this example, the guidance calculator circuit 506 stabilizes the horizontal alignment (e.g., relative to the ground) before guiding the vehicle toward the landing pad (e.g., during descent) or away from the landing pad (e.g., during launch or ascent). In some examples, the guidance calculator circuit 506 is executed by executing guidance calculator circuit instructions and / or is configured to perform the following steps: Figure 6 The flowchart represents the operation of a programmable circuit to instantiate.

[0051] In some examples, the position calculator circuit 504 and / or the guidance calculator circuit 506 derive and / or calculate the position of the aircraft, the attitude of the aircraft, and / or sensor misalignment based on the sensor data / data corresponding to the sensor. In some such examples, the data can be combined with IMU (inertial measurement unit) data or INS (inertial navigation system) data, AHRS (attitude / heading reference system) data, and / or inertial data. In particular, for example, a fusion algorithm (e.g., a Kalman filter) can be used to fuse the data to improve performance, increase availability, and improve data integrity. In addition, or as an alternative, the position calculator circuit 504 and / or the guidance calculator circuit 506 can perform fault detection, containment, and response. To this end, the position calculator circuit 504 and / or the guidance calculator circuit 506 can perform redundancy management to maintain normal operation by managing a combination of multiple sensors (e.g., cameras) and in conjunction with IMU, INS, and / or AHRS systems. For example, the data can be integrated with the aircraft's altimeter.

[0052] According to the examples disclosed herein, the landing pad database storage device 508 is implemented to store data related to the landing pad and / or the landing pad arrangement. For example, the landing pad database storage device 508 can store information related to the scale arrangement of the perimeter of the landing pad, the two-dimensional pattern of the perimeter, the distance relationship between the perimeters, the shape / geometry information, the specific landing pad site scale, the flashing pattern, the light source intensity map, the number of perimeters, etc.

[0053] Although Figure 5 The implementation is shown in Figure 1 An example of a vision-based guidance system 100 is provided, but Figure 5 One or more elements, processes and / or devices shown in the may be combined, divided, rearranged, omitted, eliminated and / or implemented in any other manner. In addition, Figure 5 The example array data analyzer circuit 502, the example position calculator circuit 504, the example guidance calculator circuit 506 and / or more generally, Figure 5The exemplary vision-based guidance analysis system 500 may be implemented solely by hardware or by hardware in combination with software and / or firmware. Thus, for example, the example array data analyzer circuit 502, the example position calculator circuit 504, the example guidance calculator circuit 506, and / or more generally, any of the exemplary vision-based guidance analysis system 500 may be implemented by programmable circuitry in combination with machine-readable instructions (e.g., firmware or software), processor circuitry, analog circuitry, digital circuitry, logic circuitry, a programmable processor, a programmable microcontroller, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a programmable logic device (PLD), and / or a field programmable logic device (FPLD) (e.g., an FPGA). Furthermore, in addition to Figure 5 In addition to or in lieu of those shown in Figure 5 Those shown in Figure 5 The exemplary vision-based guidance analysis system 500 may also include one or more elements, processes, and / or devices, and / or may include more than one of any or all of the illustrated elements, processes, and devices.

[0054] Figure 6 A flowchart representing example machine readable instructions that may be executed by a programmable circuit to implement and / or instantiate Figure 5 The vision-based guidance analysis system 500 and / or the representation may be implemented by programmable circuitry to implement and / or instantiate Figure 5 The machine-readable instructions may be one or more executable programs or a portion of one or more executable programs for execution by a programmable circuit (such as the following combined Figure 7 The example processor platform 700 discussed above may be implemented by the programmable circuit 712 shown in FIG. 7 and / or may be implemented by a combination of the following: Figure 8 and / or Fig. 9 The example programmable circuit (such as FPGA) discussed herein performs one or more functions or a portion of a function. In some examples, machine-readable instructions cause operations, tasks, etc. to be performed and / or executed in an automated manner in the real world. As used herein, "automated" means without human involvement.

[0055] The program may be embodied as instructions (such as software and / or firmware) stored on one or more non-transitory computer-readable and / or machine-readable storage media, such as cache memory, magnetic storage devices or disks (such as floppy disks, hard disk drives (HDDs), etc.), optical storage devices or disks (such as Blu-ray disks, compact disks (CDs), digital versatile disks (DVDs), etc.), redundant arrays of independent disks (RAIDs), registers, ROMs, solid-state drives (SSDs), SSD memories, non-volatile memories (such as electrically erasable programmable read-only memories (EEPROMs), flash memories, etc.), volatile memories (such as any type of random access memories (RAMs), etc.), and / or any other storage devices or storage disks. The instructions of the non-transitory computer-readable and / or machine-readable media may be programmed and / or executed by programmable circuits located in one or more hardware devices, but the entire program and / or portions thereof may also be executed and / or instantiated by one or more hardware devices other than programmable circuits, and / or embodied as dedicated hardware. The machine-readable instructions may be distributed across multiple hardware devices, and / or executed by two or more hardware devices (such as server and client hardware devices). For example, the client hardware device may be implemented by an endpoint client hardware device (e.g., a hardware device associated with a human and / or machine user) or an intermediate client hardware device gateway (e.g., a radio access network (RAN)) that can facilitate communication between a server and the endpoint client hardware device. Similarly, a non-transitory computer-readable storage medium may include one or more media. In addition, although reference is made to Figure 6 The flowchart shown describes an example program, but many other methods of implementing the exemplary visual-based guided analysis system 500 may also be used. For example, the execution order of the blocks of the flowchart may be changed, and / or some of the blocks described may be changed, cancelled or merged. In addition, or as an alternative, any or all of the blocks in the flowchart may be implemented by one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are structured to perform corresponding operations without executing software or firmware. The programmable circuits may be distributed in different network locations and / or local to one or more hardware devices (such as single-core processors (such as single-core CPUs), multi-core processors (such as multi-core CPUs, XPUs, etc.). For example, the programmable circuit may be a CPU and / or FPGA located in the same package (such as the same integrated circuit (IC) package or two or more independent housings), one or more processors in a single machine, multiple processors distributed on multiple servers in a server rack, multiple processors distributed on one or more server racks, etc., and / or any combination thereof.

[0056] The machine-readable instructions described herein can be stored in one or more formats of a compressed format, an encrypted format, a fragmented format, a compiled format, an executable format, a packaged format, etc. The machine-readable instructions described herein can be stored as data (e.g., computer-readable data, machine-readable data, one or more bits (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), a bit stream (e.g., a computer-readable bit stream, a machine-readable bit stream, etc.), etc.) or a data structure (e.g., as part of an instruction, code, code representation, etc.) that can be used to create, manufacture, and / or produce machine-executable instructions. For example, the machine-readable instructions can be divided and stored on one or more storage devices, disks, and / or computing devices (such as servers) that are located in the same or different locations in a network or a collection of networks (such as in the cloud, edge devices, etc.). The machine-readable instructions may require one or more operations such as installation, modification, adaptation, update, combination, supplementation, configuration, decryption, decompression, unpacking, distribution, redistribution, compilation, etc., so that they can be directly read, interpreted, and / or executed by a computing device and / or other machine. For example, machine-readable instructions may be stored in multiple parts that are individually compressed, encrypted, and / or stored on separate computing devices, where the parts, when decrypted, decompressed, and / or combined, form a set of computer-executable and / or machine-executable instructions that implement one or more functions and / or operations that may collectively form a program as described herein.

[0057] In another example, the machine-readable instructions may be stored in a state in which they can be read by programmable circuits, but require the addition of a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc., in order to execute the machine-readable instructions on a particular computing device or other device. In another example, the machine-readable instructions may need to be configured (e.g., to store settings, input data, record network addresses, etc.) before the machine-readable instructions and / or corresponding programs can be executed in whole or in part. Therefore, as used herein, machine-readable media, computer-readable media, and / or machine-readable media may include instructions and / or programs, regardless of the specific format or state of the machine-readable instructions and / or programs.

[0058] The machine-readable instructions described herein may be represented by any past, present or future instruction language, scripting language, programming language, etc. For example, the machine-readable instructions may be represented by any of the following languages: C, C++, Java, C#, Perl, Python, JavaScript, Hypertext Markup Language (HTML), Structured Query Language (SQL), Swift, etc.

[0059] As mentioned above, Figure 6The example operations of may be implemented using executable instructions (e.g., computer-readable and / or machine-readable instructions) stored on one or more non-transitory computer-readable and / or machine-readable media. As used herein, the terms "non-transitory computer-readable medium," "non-transitory computer-readable storage medium," "non-transitory machine-readable medium," and / or "non-transitory machine-readable storage medium" are expressly defined to include any type of computer-readable storage device and / or storage disk, excluding propagating signals and excluding transmission media. Examples of such non-transitory computer-readable media, non-transitory computer-readable storage media, non-transitory machine-readable media, and / or non-transitory machine-readable storage media include optical storage devices, magnetic storage devices, hard disks, flash memory, read-only memory (ROM), CDs, DVDs, caches, any type of RAM, registers, and / or any other storage device or storage disk in which information may be stored for any period of time (e.g., storage for an extended period of time, permanent storage, temporary storage, temporary buffering, and / or cached information). As used herein, the terms "non-transitory computer-readable storage device" and "non-transitory machine-readable storage device" are defined to include any physical (mechanical, magnetic, and / or electrical) hardware that retains information over a period of time, but do not include propagating signals and do not include transmission media. Examples of non-transitory computer-readable storage devices and / or non-transitory machine-readable storage devices include any type of random access memory, any type of read-only memory, solid-state memory, flash memory, optical disks, magnetic disks, disk drives, and / or redundant arrays of independent disks (RAID) systems. As used herein, the term "device / device" refers to a physical structure, such as mechanical and / or electrical equipment, hardware, and / or circuitry, which may or may not be configured with computer-readable instructions, machine-readable instructions, etc., and / or manufactured to execute computer-readable instructions, machine-readable instructions, etc.

[0060] Figure 6 is executable, instantiated and / or executed by a programmable circuit to direct a vehicle (e.g. Figure 1 1 . A flowchart of example machine readable instructions and / or example operations 600 for navigation of the example aircraft 101 shown in FIG. Figure 6 The example machine readable instructions and / or example operations 600 begin at block 601, where the example guidance calculator circuit 506 levels the aircraft (e.g., stabilizes the aircraft horizontally). In some examples, the guidance calculator circuit 506 initiates a landing procedure once the aircraft reaches a threshold distance to a designated landing zone or area corresponding to a landing pad.

[0061] The example method 600 begins at block 602 where the array data analyzer circuit 502 identifies and / or detects a first perimeter. In this example, during landing, the array data analyzer circuit 502 initially detects the first perimeter as an outer perimeter with at least one sensor having a greater light intensity and / or more easily detected light source than a corresponding perimeter in the inner perimeters.

[0062] At block 604, the array data analyzer circuit 502 identifies and / or detects a second perimeter that is surrounded and / or surrounded by the aforementioned first perimeter. In other words, the first perimeter is around the second perimeter (e.g., extends around the second perimeter). According to examples disclosed herein, the second perimeter can be detected by a sensor and identified together with the first perimeter, or can be identified at a different time than the first perimeter (e.g., based on resolution and / or weather conditions, etc.).

[0063] At block 605, in some examples, the array data analyzer circuit 502 and / or the example position calculator circuit 504 identifies a pattern based on the detected first and second perimeters. For example, the array data analyzer circuit 502 and / or the example position calculator circuit 504 generates a two-dimensional pattern and / or vector representation of the first and second perimeters based on data associated with the first and second perimeters in combination with known parameters and / or distances stored in the example landing pad database storage device 508.

[0064] At block 606, the example position calculator circuit 504 determines and / or calculates the position and / or orientation of the aircraft relative to the landing pad. According to examples disclosed herein, the position and / or orientation may be calculated by the example position calculator circuit 504 based on angle measurements from the sensors in combination with known dimensional distances (e.g., two-dimensional measurements) of the landing pad, which are determined based on the pattern identified by the array data analyzer circuit 502 and / or the example position calculator circuit 504 at block 605. In some examples, the example position calculator circuit 504 determines the attitude of the aircraft and / or sensor misalignment data (e.g., image sensor / camera misalignment) based on the pattern and / or sensor output from the aforementioned sensors.

[0065] At block 608 , the example guidance calculator circuit 506 guides and / or directs the movement of the vehicle based on the relative position and / or orientation (or other guidance information / parameters) calculated by the example position calculator circuit 504 .

[0066] At block 610, a determination is made by the position calculator circuit 504 and / or the guidance calculator circuit 506 whether to repeat the process. If the process is to be repeated (block 610), control of the process returns to block 602. Otherwise, the process ends. This determination may be based on whether the vehicle has successfully landed or whether it has been successfully launched / deployed.

[0067] Figure 7 is a block diagram of an exemplary programmable circuit platform 700 that is configured to perform and / or instantiate Figure 6 Example machine readable instructions and / or example operations to implement Figure 5 For example, the programmable circuit platform 700 can be a server, a personal computer, a workstation, a self-learning machine (such as a neural network), a mobile device (such as a mobile phone, a smart phone, a tablet computer (such as an iPad), or a computer programmable circuit platform 700. TM )), personal digital assistants (PDAs), internet appliances, DVD players, CD players, digital video recorders, Blu-ray players, game consoles, personal video recorders, set-top boxes, head-mounted devices (such as augmented reality (AR) headsets, virtual reality (VR) headsets, etc.) or other wearable devices, or any other type of computing device and / or electronic device.

[0068] The programmable circuit platform 700 in the illustrative example includes a programmable circuit 712. The programmable circuit 712 in the illustrative example is hardware. For example, the programmable circuit 712 can be implemented by one or more integrated circuits, logic circuits, FPGAs, microprocessors, CPUs, GPUs, DSPs, and / or microcontrollers from any desired series or manufacturer. The programmable circuit 712 can be implemented by one or more semiconductor-based (e.g., silicon-based) devices. In this example, the programmable circuit 712 implements the exemplary array data analyzer circuit 502, the exemplary position calculator circuit 504, and the exemplary guide calculator circuit 506.

[0069] The programmable circuit 712 of the illustrated example includes a local memory 713 (such as a cache, a register, etc.). The programmable circuit 712 of the illustrated example communicates with a main memory 714, 716 via a bus 718. The main memory 714, 716 includes a volatile memory 714 and a non-volatile memory 716. The volatile memory 714 can be composed of a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), Dynamic Random Access Memory The non-volatile memory 716 may be implemented by flash memory and / or any other desired type of storage device. Access to the main memory 714, 716 of the illustrated example is controlled by a memory controller 717. In some examples, the memory controller 717 may be implemented by one or more integrated circuits, logic circuits, microcontrollers from any desired family or manufacturer, or any other type of circuit to manage the flow of data into and out of the main memory 714, 716.

[0070] The programmable circuit platform 700 of the illustrated example further includes an interface circuit 720. The interface circuit 720 may be implemented by hardware that complies with any type of interface standard, such as an Ethernet interface, a universal serial bus (USB) interface, interface, a near field communication (NFC) interface, a peripheral component interconnect (PCI) interface, and / or a peripheral component interconnect express (PCIe) interface.

[0071] In the illustrated example, one or more input devices 722 are connected to the interface circuit 720. The input device 722 allows a user (e.g., a human user, a machine user, etc.) to input data and / or commands into the programmable circuit 712. The input device 722 can be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, a button, a mouse, a touch screen, a trackpad, a trackball, an isopoint device, and / or a voice recognition system, etc.

[0072] One or more output devices 724 are also connected to the interface circuit 720 of the illustrated example. The output device 724 can be implemented by, for example, a display device (such as a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube (CRT) display, an in-place switching (IPS) display, a touch screen, etc.), a tactile output device, a printer, and / or a speaker, etc. Therefore, the interface circuit 720 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics processor circuit (such as a GPU).

[0073] The interface circuit 720 of the illustrated example also includes a communication device (such as a transmitter, a receiver, a transceiver, a modem, a residential gateway, a wireless access point, and / or a network interface) to facilitate the exchange of data with an external machine (such as any type of computing device) via a network 726. For example, communication can be performed via an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a line-of-sight wireless system, a line-of-sight wireless system, a cellular telephone system, an optical connection, etc.

[0074] The programmable circuit platform 700 of the illustrated example also includes one or more mass storage disks or devices 728 for storing firmware, software and / or data. Examples of such mass storage disks or devices 728 include magnetic storage devices (e.g., floppy disks, drives, HDDs, etc.), optical storage devices (e.g., Blu-ray disks, CDs, DVDs, etc.), RAID systems, and / or solid-state storage disks or devices (e.g., flash memory devices and / or SSDs).

[0075] can be Figure 6 The machine-readable instructions 732 implemented by the machine-readable instructions may be stored in the mass storage device 728, in the volatile memory 714, in the non-volatile memory 716, and / or on at least one non-transitory computer-readable storage medium (such as a removable CD or DVD).

[0076] Figure 8 yes Figure 7 712 of the programmable circuit 712. In this example, Figure 7 The programmable circuit 712 is implemented by the microprocessor 800. For example, the microprocessor 800 may be a general-purpose microprocessor (such as a general-purpose microprocessor circuit). The microprocessor 800 executes Figure 6 A flowchart of some or all of the machine readable instructions to effectively Figure 5 The circuits are instantiated as logic circuits to perform operations corresponding to the machine-readable instructions. In some such examples, Figure 5 The circuit is instantiated by the hardware circuit of the microprocessor 800 in combination with the machine-readable instructions. For example, the microprocessor 800 can be implemented by a multi-core hardware circuit such as a CPU, DSP, GPU, XPU, etc. Although it can include any number of example cores 802 (for example, 1 core), the microprocessor 800 of this example is a multi-core semiconductor device including N cores. The cores 802 of the microprocessor 800 can operate independently or cooperate to execute machine-readable instructions. For example, the machine code corresponding to a firmware program, an embedded software program, or a software program can be executed by one of the cores 802, or by multiple cores 802 at the same or different times. In some examples, the machine code corresponding to the firmware program, the embedded software program, or the software program is divided into multiple threads and executed in parallel by two or more cores 802. The software program may correspond to Figure 6 The flowchart may represent part or all of the machine-readable instructions and / or operations.

[0077] The core 802 can communicate via a first example bus 804. In some examples, the first bus 804 can be implemented by a communication bus to enable communications associated with one or more cores 802. For example, the first bus 804 can be implemented by at least one of an inter-integrated circuit (I2C) bus, a serial peripheral interface (SPI) bus, a PCI bus, or a PCIe bus. In addition, or as an alternative, the first bus 804 can be implemented by any other type of computing or electrical bus. The core 802 can obtain data, instructions, and / or signals from one or more external devices via an example interface circuit 806. The core 802 can output data, instructions, and / or signals to one or more external devices via the interface circuit 806. Although the core 802 of this example includes an example local memory 820 (e.g., a level 1 (L1) cache that can be divided into an L1 data cache and an L1 instruction cache), the microprocessor 800 also includes an example shared memory 810 (e.g., a level 2 (L2 cache)) that can be shared by the cores for high-speed access to data and / or instructions. Data and / or instructions may be transferred (eg, shared) by writing to and / or reading from the shared memory 810. The local memory 820 of each core 802 and the shared memory 810 may be a plurality of levels of cache memory and main memory (eg, Figure 7 The cache memory is part of a hierarchy of storage devices (main memory 714, 716). Typically, memories at higher levels in the hierarchy exhibit shorter access times and have smaller storage capacities than memories at lower levels. Changes to the various levels in the cache hierarchy are managed (e.g., coordinated) by a cache coherence policy.

[0078] Each core 802 may be referred to as a CPU, DSP, GPU, etc., or any other type of hardware circuit. Each core 802 includes a control unit circuit 814, an arithmetic and logic (AL) circuit (sometimes referred to as an ALU) 816, a plurality of registers 818, a local memory 820, and a second example bus 822. Other structures may exist. For example, each core 802 may include a vector unit circuit, a single instruction multiple data (SIMD) unit circuit, a load / store unit (LSU) circuit, a branch / jump unit circuit, a floating point unit (FPU) circuit, etc. The control unit circuit 814 includes a semiconductor-based circuit that is configured to control (e.g., coordinate) data movement within the corresponding core 802. The AL circuit 816 includes a semiconductor-based circuit that is configured to perform one or more mathematical operations and / or logical operations on data within the corresponding core 802. The AL circuit 816 of some examples performs integer-based operations. In other examples, the AL circuit 816 also performs floating-point operations. In other examples, the AL circuit 816 may include a first AL circuit that performs integer-based operations and a second AL circuit that performs floating-point operations. In some examples, AL circuit 816 may be referred to as an arithmetic logic unit (ALU).

[0079] Registers 818 are semiconductor-based structures for storing data and / or instructions, such as the results of one or more operations performed by the AL circuit 816 of the corresponding core 802. For example, registers 818 may include vector registers, SIMD registers, general registers, flag registers, segment registers, machine-specific registers, instruction pointer registers, control registers, debug registers, memory management registers, machine check registers, etc. Figure 8 As shown, registers 818 may be arranged in groups. Alternatively, registers 818 may be organized in any other arrangement, format, or structure, such as distributed throughout the core 802 to reduce access time. The second bus 822 may be implemented by at least one of an I2C bus, an SPI bus, a PCI bus, or a PCIe bus.

[0080] Each core 802 and / or more generally, the microprocessor 800 may include additional and / or alternative structures that are different from the structures shown and described above. For example, there may be one or more clock circuits, one or more power supplies, one or more power gates, one or more cache origin agents (CHA), one or more convergence / common mesh stops (CMS), one or more shifters (e.g., barrel shifters), and / or other circuits. The microprocessor 800 is a semiconductor device that is manufactured to include many interconnected transistors to implement the above-mentioned structures in one or more integrated circuits (ICs) contained in one or more packages.

[0081] The microprocessor 800 may include and / or cooperate with one or more accelerators (e.g., acceleration circuits, hardware accelerators, etc.). In some examples, the accelerator is implemented by a logic circuit to perform certain tasks faster and / or more efficiently than a general-purpose processor. Examples of accelerators include ASICs and FPGAs as discussed herein. GPUs, DSPs, and / or other programmable devices may also be accelerators. The accelerator may be mounted on the microprocessor 800, in the same chip package as the microprocessor 800, and / or in one or more separate packages with the microprocessor 800.

[0082] Fig. 9 yes Figure 7 900. For example, the FPGA circuit 900 can be implemented by an FPGA. For example, the FPGA circuit 900 can be used to execute a program that would otherwise be executed by a programmable circuit 712 of a corresponding machine readable instruction. Figure 8 However, once configured, FPGA circuit 900 instantiates the operations and / or functions corresponding to the machine-readable instructions into hardware, and thus often performs the operations / functions faster than a general-purpose microprocessor executing the corresponding software.

[0083] More specifically, Figure 8 The microprocessor 800 (which is a general-purpose device that can be programmed to perform Figure 6 Compared to a flowchart that represents some or all of the machine-readable instructions, but whose interconnections and logic circuits are fixed after manufacture, Fig. 9 The example FPGA circuit 900 includes interconnects and logic circuits that can be configured, structured, programmed, and / or interconnected in different ways after fabrication to instantiate, for example, Figure 6 In particular, FPGA circuit 900 can be viewed as an array of logic gates, interconnects, and switches. The switches can be programmed to change how the logic gates are connected to each other through the interconnects, effectively forming one or more dedicated logic circuits (unless and until FPGA circuit 900 is reprogrammed). The configured logic circuits enable the logic gates to cooperate in different ways to perform different operations on the data received by the input circuits. These operations can correspond to Figure 6 Thus, FPGA circuit 900 may be configured and / or structured to effectively communicate with Figure 6Some or all of the operations / functions corresponding to the machine-readable instructions of the flowchart are instantiated into dedicated logic circuits, thereby performing the operations / functions corresponding to these software instructions in a dedicated manner similar to an ASIC. Figure 6 The speed at which some or all of the machine-readable instructions correspond to operations / functions may be faster than the speed at which a general purpose microprocessor can execute the same instructions.

[0084] exist Fig. 9 In the example, the FPGA circuit 900 is configured and / or structured in response to being programmed (and / or reprogrammed one or more times) based on a binary file. In some examples, a binary file can be compiled and / or generated based on instructions in a hardware description language (HDL) such as Lucid, Very High Speed ​​Integrated Circuit (VHSIC) Hardware Description Language (VHDL), or Verilog. For example, a user (such as a human user, a machine user, etc.) can write code or a program corresponding to one or more operations / functions in HDL; the code / program can be translated into a low-level language as needed; and the code / program (such as code / program in a low-level language) can be converted into a binary file (such as by a compiler, a software application, etc.). In some examples, Fig. 9 The FPGA circuit 900 can access and / or load a binary file to enable Fig. 9 The FPGA circuit 900 is configured and / or structured to perform one or more operations / functions. For example, a binary file may be generated by Fig. 9 The FPGA circuit 900 can access a bit stream (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), data (e.g., computer-readable data, machine-readable data, etc.) and / or machine-readable instructions to cause Fig. 9 Configuration and / or structuring of FPGA circuit 900 or a portion thereof.

[0085] In some examples, the binary file is compiled, generated, converted, and / or otherwise output by a unified software platform for programming the FPGA. For example, the unified software platform can translate a first instruction (e.g., code or program) corresponding to one or more operations / functions in a high-level language (e.g., C, C++, Python, etc.) into a second instruction corresponding to one or more operations / functions in the HDL. In some such examples, the binary file is compiled, generated, and / or otherwise output from the unified software platform based on the second instruction. In some examples, Fig. 9 The FPGA circuit 900 can access and / or load a binary file to enable Fig. 9 The FPGA circuit 900 is configured and / or structured to perform one or more operations / functions. For example, a binary file may be generated by Fig. 9 The FPGA circuit 900 can access a bit stream (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), data (e.g., computer-readable data, machine-readable data, etc.) and / or machine-readable instructions to cause Fig. 9 Configuration and / or structuring of FPGA circuit 900 or a portion thereof.

[0086] Fig. 9 The FPGA circuit 900 includes an example input / output (I / O) circuit 902 for obtaining data from and / or outputting data to an example configuration circuit 904 and / or external hardware 906. For example, the configuration circuit 904 can be implemented by an interface circuit that can obtain a binary file to configure the FPGA circuit 900 or a portion thereof, and the binary file can be implemented by a bitstream, data, and / or machine-readable instructions. In some such examples, the configuration circuit 904 can obtain the binary file from a user, a machine (e.g., a hardware circuit (e.g., a programmable or dedicated circuit) that can implement an artificial intelligence / machine learning (AI / ML) model to generate a binary file), etc. and / or any combination thereof. In some examples, the external hardware 906 can be implemented by an external hardware circuit. For example, the external hardware 906 can be implemented by Figure 8 It is implemented by the microprocessor 800.

[0087] FPGA circuit 900 also includes an array of example logic gate circuits 908, a plurality of example configurable interconnects 910, and example storage circuits 912. Logic gate circuits 908 and configurable interconnects 910 may be configured to instantiate one or more operations / functions that may be associated with Figure 6 corresponds to at least some machine-readable instructions and / or other desired operations. Fig. 9 The logic gate circuit 908 shown in is manufactured in the form of blocks or groups. Each block includes a semiconductor-based electrical structure that can be configured as a logic circuit. In some examples, the electrical structure includes logic gates (e.g., And gates, Or gates, Nor gates, etc.), which provide basic building blocks for logic circuits. An electrically controllable switch (such as a transistor) is present in each logic gate circuit 908, so that the electrical structure and / or logic gate can be configured to form a circuit that performs the desired operation / function. The logic gate circuit 908 may include other electrical structures, such as a lookup table (LUT), a register (such as a flip-flop or latch), a multiplexer, etc.

[0088] The configurable interconnect 910 of the illustrated example is a conductive path, trace, via, etc., which may include an electrically controllable switch (such as a transistor) whose state can be changed by programming (such as using an HDL instruction language) to activate or deactivate one or more connections between one or more logic gate circuits 908, thereby programming the desired logic circuit.

[0089] The storage circuit 912 of the illustrated example is configured to store the results of one or more operations performed by the corresponding logic gates. The storage circuit 912 can be implemented by a register or similar device. In the illustrated example, the storage circuit 912 is distributed in the logic gate circuit 908 to facilitate access and improve execution speed.

[0090] Fig. 9 The example FPGA circuit 900 also includes an example dedicated operation circuit 914. In this example, the dedicated operation circuit 914 includes a special-purpose circuit 916, which can be called to implement common functions, thereby avoiding the need to program these functions in the field. Examples of such special-purpose circuits 916 include memory (e.g., DRAM) controller circuits, PCIe controller circuits, clock circuits, transceiver circuits, memories, and multiplier-accumulator circuits. Other types of special-purpose circuits may also exist. In some examples, the FPGA circuit 900 may also include an example general-purpose programmable circuit 918, such as an example CPU 920 and / or an example DSP 922. In addition, or as an alternative, there may be other general-purpose programmable circuits 918, such as GPUs, XPUs, etc., which can be programmed to perform other operations.

[0091] Although Figure 8 and Fig. 9 Explained Figure 7 These are two example implementations of the programmable circuit 712, but many other approaches are contemplated. For example, an FPGA circuit may include an onboard CPU, such as Figure 8 One or more example CPUs 920. Therefore, Figure 7 The programmable circuit 712 can also be combined with at least Figure 8 An example microprocessor 800 and Fig. 9 In some such hybrid examples, Figure 8 One or more kernels 802 may execute Figure 6 The flowchart represents a first portion of machine-readable instructions to perform a first operation / function, Fig. 9 The FPGA circuit 900 may be configured and / or structured to perform with Figure 6 The second operation / function corresponding to the second portion of the machine-readable instructions represented by the flowchart, and / or the ASIC can be configured and / or constructed to perform the same Figure 6 The third portion of the machine-readable instructions represented by the flowchart corresponds to a third operation / function.

[0092] It should be understood that Figure 5 Some or all of the circuits may be instantiated at the same or different times. For example, Figure 8 The same and / or different portions of the microprocessor 800 may be programmed to execute portions of the machine-readable instructions at the same and / or different times. In some examples, Fig. 9 The same and / or different portions of FPGA circuit 900 may be configured and / or constructed to perform operations / functions corresponding to some portions of the machine-readable instructions at the same and / or different times.

[0093] In some examples, Figure 5 Part or all of the circuitry of can be instantiated, for example, in one or more threads that execute concurrently and / or serially. Figure 8 The microprocessor 800 can execute machine-readable instructions in one or more threads that are executed concurrently and / or serially. In some examples, Fig. 9 The FPGA circuit 900 can be configured and / or structured to perform operations / functions concurrently and / or serially. In addition, in some examples, Figure 5 Part or all of the circuit can be Figure 8 The system is implemented in one or more virtual machines and / or containers executed on the microprocessor 800.

[0094] In some examples, Figure 7 The programmable circuit 712 may be in one or more packages. For example, Figure 8 The microprocessor 800 and / or Fig. 9 The FPGA circuit 900 can be in one or more packages. In some examples, the XPU can be composed of Figure 7 The XPU may be implemented in a programmable circuit 712, which may be in one or more packages. For example, the XPU may include a CPU in one package (e.g., Figure 8 Microprocessor 800, Fig. 9 920, etc.), a DSP in another package (e.g., Fig. 9 DSP 922), a GPU in yet another package, and an FPGA in yet another package (e.g., Fig. 9 FPGA circuit 900).

[0095] Disclosed herein are example methods, apparatus, systems, and articles of manufacture for achieving effective vision-based guidance of a vehicle. Further examples and combinations thereof include the following:

[0096] Example 1 includes a landing pad for vision-based guidance of a vehicle, the landing pad comprising: a first perimeter of a landing area defined by the landing pad, the first perimeter having a first array of first light sources; and a second perimeter having a second array of second light sources, the second perimeter surrounding the first perimeter, at least two of the first light sources or the second light sources having different light characteristics to define a pattern to be detected by an image sensor of the vehicle for guiding the vehicle toward or away from the landing area.

[0097] Example 2 includes a landing pad as defined in Example 1, wherein at least one of the first light sources has an increased light intensity relative to at least one of the second light sources.

[0098] Example 3 includes a landing pad as defined in any of Examples 1 or 2, wherein the light characteristic includes at least one of light intensity, spectrum, color, or brightness.

[0099] Example 4 includes a landing pad as defined in any of Examples 1 to 3, wherein at least one of the first light sources operates in a first repeating pattern that is different from a second repeating pattern of at least one of the second light sources.

[0100] Example 5 includes a landing pad as defined in any of Examples 1 to 4, wherein the first perimeter and the second perimeter both have a quadrilateral shape.

[0101] Example 6 includes the landing pad as defined in any one of Examples 1 to 5, wherein the landing pad is foldable.

[0102] Example 7 includes a landing pad as defined in any of Examples 1 to 6, wherein the pattern is defined based on an orientation and a relative position of the first light source and the second light source.

[0103] Example 8 includes an apparatus for guiding a vehicle toward or away from a landing pad, the apparatus comprising: an interface circuit that is communicatively coupled to an image sensor supported by the vehicle; machine-readable instructions; and programmable circuitry that is used to at least one of: instantiate or execute the machine-readable instructions to: based on output from the image sensor, identify a first perimeter and a second perimeter of a landing area of ​​the landing pad, the first perimeter having a first array of first light sources and the second perimeter having a second array of second light sources, wherein at least two of the first light sources and the second light sources have different light characteristics for defining a pattern, the light characteristics corresponding to at least one of light intensity, spectrum, color, or brightness, calculate a position of the vehicle relative to the landing pad based on the pattern, and guide movement of the vehicle based on the position of the vehicle relative to the landing pad.

[0104] Example 9 includes an apparatus as defined in Example 8, wherein the programmable circuit is used to at least one of: instantiate or execute machine-readable instructions to identify a second perimeter at a first position of the vehicle and identify the first perimeter at a second position of the vehicle, the second position being closer to the landing pad than the first position.

[0105] Example 10 includes an apparatus as defined in Example 8 or 9, wherein the programmable circuit is used to at least one of: instantiate or execute machine-readable instructions to identify the first perimeter and the second perimeter based on comparing the first light intensity of the first light source and the second light intensity of the second light source to thereby identify the pattern.

[0106] Example 11 includes an apparatus as defined in any one of Examples 8 to 10, wherein the programmable circuit is used to at least one of: instantiate machine-readable instructions or execute machine-readable instructions to identify the first perimeter and the second perimeter based on a repeating pattern that identifies at least one of the first light source and the second light source.

[0107] Example 12 includes an apparatus as defined in any of Examples 8 to 11, wherein the programmable circuit is used to at least one of: instantiate machine-readable instructions or execute machine-readable instructions to calculate at least one of a pose of a vehicle or an alignment of an image sensor relative to a landing pad.

[0108] Example 13 includes an apparatus as defined in any of Examples 8 to 12, wherein the position of the vehicle relative to the landing pad is calculated based on a known spatial relationship between the first perimeter and the second perimeter in combination with angular data associated with the image sensor.

[0109] Example 14 includes an apparatus as defined in any of Examples 8 to 13, wherein the programmable circuit is to at least one of: instantiate machine-readable instructions or execute machine-readable instructions to generate a vector based on the pattern.

[0110] Example 15 includes an apparatus as defined in Example 14, wherein the vector is generated based on different light intensities based on at least two of the first light source and the second light source.

[0111] Example 16 includes a non-transitory machine-readable storage medium including instructions to cause a programmable circuit to perform at least the following operations: based on output from an image sensor supported by a vehicle, identify a first perimeter and a second perimeter of a landing area of ​​a landing pad, the second perimeter surrounding the first perimeter, the first perimeter having a first array of first light sources and the second perimeter having a second array of second light sources, at least two of the first light sources and the second light sources having different light characteristics for defining a pattern; calculate a relative position of the vehicle to the landing pad based on the pattern and at least one distance associated with the identified first perimeter and second perimeter; and guide movement of the vehicle based on the relative position.

[0112] Example 17 includes a non-transitory machine readable storage medium as defined in Example 16, wherein the instructions cause the programmable circuit to determine a vector corresponding to the star pattern of the first light source and the second light source, and wherein the relative position is further calculated based on the vector.

[0113] Example 18 includes a non-transitory machine readable storage medium as defined in Example 16 or 17, wherein the instructions cause the programmable circuit to combine at least one of the inertial data or the attitude data with an output from the image sensor via a Kalman filter.

[0114] Example 19 includes a non-transitory machine-readable storage medium as defined in any of Examples 16 to 18, wherein the instructions cause the programmable circuit to identify the second perimeter at a first position of the vehicle and to identify the first perimeter at a second position of the vehicle, the second position being closer to the landing pad than the first position.

[0115] Example 20 includes a non-transitory machine-readable storage medium as defined in any of Examples 16 to 19, wherein the instructions cause the programmable circuit to determine at least one known distance corresponding to the two-dimensional pattern of the landing pad based on the identified first perimeter and second perimeter.

[0116] From the foregoing, it can be appreciated that the disclosed exemplary systems, devices, manufactured products and methods can achieve cost-effective guidance of vehicles. In addition, the examples disclosed herein can be deployed relatively quickly. The examples disclosed herein can also save weight and / or space of vehicles (such as aircraft, water vehicles or spacecraft). The disclosed systems, devices, manufactured products and methods improve the efficiency of using computing devices by reducing the computing requirements usually associated with high-precision guidance systems. Therefore, the disclosed systems, devices, manufactured products and methods are intended to make one or more improvements to the operation of machines such as computers or other electronic and / or mechanical devices. The examples disclosed herein can utilize image data with relatively low throughput, thereby saving computing and / or data transmission resources. In addition, the examples disclosed herein can also utilize relatively cheap cameras, rather than high-resolution cameras that are usually used in vision-based guidance.

[0117] "Including" and "comprising" (and all forms and tenses thereof) are used herein as open-ended terms. Thus, when a claim uses any form of "include" or "comprise" (e.g., comprises, comprising, includes, including, having, etc.) as a preamble or in any form of a claim recitation, it should be understood that additional elements, terms, etc. may be present without exceeding the scope of the corresponding claim or recitation. As used herein, when the phrase "at least" is used as a transitional term, such as in the preamble of a claim, it is open-ended, just as the terms "comprising" and "including" are open-ended. For example, the term "and / or" when used in the form of A, B, and / or C refers to any combination or subset of A, B, and C, such as (1) A alone, (2) B alone, (3) C alone, (4) A and B, (5) A and C, (6) B and C, or (7) A and B and C. As used herein when describing structures, components, items, objects, and / or things, the phrase "at least one of A and B" is intended to refer to embodiments that include any of the following: (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein when describing structures, components, items, objects, and / or things, the phrase "at least one of A or B" is intended to refer to embodiments that include any of the following: (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. As used herein when describing the performance or execution of processes, instructions, actions, activities, and / or steps, the phrase "at least one of A and B" is intended to refer to embodiments that include any of the following: (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein when describing the performance or execution of a process, instruction, action, activity, and / or step, the phrase "at least one of A or B" is intended to refer to an implementation that includes any of the following: (1) at least one A, (2) at least one B, or (3) at least one A and at least one B.

[0118] As used herein, singular references (such as "a", "an", "first", "second", etc.) do not exclude the plural. As used herein, the term "a" or "an" object refers to one or more of the object. The terms "a" (or "an"), "one or more" and "at least one" can be used interchangeably herein. In addition, although listed separately, multiple means, elements or actions can be implemented by, for example, the same entity or object. In addition, although individual features can be included in different examples or claims, these features can also be combined, and inclusion in different examples or claims does not mean that the combination of features is not feasible and / or advantageous.

[0119] The accompanying claims are incorporated into this detailed description by reference. Although certain example systems, devices, articles of manufacture, and methods have been disclosed herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all systems, devices, articles of manufacture, and methods within the scope of the claims of this patent.

Claims

1. A landing pad (102) for vision-based guidance of a vehicle (101), the landing pad comprising: a first perimeter (134, 203, 204, 206, 208) of a landing area (136) defined by the landing pad, the first perimeter having a first array of first light sources (220b, 220c, 220d, 220e, 220f); as well as A second perimeter (132) having a second array of second light sources (220a) surrounding the first perimeter, at least two of the first light sources or the second light sources having different light characteristics to define a pattern to be detected by the image sensor (112) of the vehicle for guiding the vehicle toward or away from the landing area.

2. The landing pad of claim 1, wherein at least one of the first light sources has an increased light intensity relative to at least one of the second light sources.

3. The landing pad of claim 1, wherein the light characteristic comprises at least one of light intensity, spectrum, color, or brightness.

4. The landing pad of claim 1, wherein at least one of the first light sources operates in a first repeating pattern that is different from a second repeating pattern of at least one of the second light sources.

5. The landing pad of claim 1, wherein the first perimeter and the second perimeter each have a quadrilateral shape.

6. The landing pad of claim 1, wherein the landing pad is foldable.

7. The landing pad of claim 1, wherein the pattern is defined based on the orientation and relative positions of the first light source and the second light source.

8. An apparatus for guiding a vehicle toward or away from a landing pad, the apparatus comprising: an interface circuit (720) communicatively coupled to an image sensor supported by the vehicle; machine readable instructions (732); as well as Programmable circuitry (712) for instantiating the machine-readable instructions or executing at least one of the machine-readable instructions to: identifying, based on output from the image sensor, a first perimeter and a second perimeter of a landing area of ​​the landing pad, the first perimeter having a first array of first light sources and the second perimeter having a second array of second light sources, wherein at least two of the first light sources and the second light sources have different light characteristics defining a pattern, the light characteristics corresponding to at least one of light intensity, spectrum, color, or brightness, calculating a position of the vehicle relative to the landing pad based on the pattern, and Movement of the vehicle is directed based on the position of the vehicle relative to the landing pad.

9. An apparatus as described in claim 8, wherein the programmable circuit is used to at least one of: instantiate or execute the machine-readable instructions to identify the second perimeter at a first position of the vehicle and identify the first perimeter at a second position of the vehicle, the second position being closer to the landing pad than the first position.

10. The apparatus of claim 8, wherein the programmable circuit is used to at least one of: instantiate or execute the machine-readable instructions to identify the first perimeter and the second perimeter based on comparing a first light intensity of the first light source and a second light intensity of the second light source to thereby identify the pattern.

11. The apparatus of claim 8, wherein the programmable circuit is to at least one of: instantiate or execute the machine-readable instructions to identify the first perimeter and the second perimeter based on a repeating pattern that identifies at least one of the first light source and the second light source.

12. The apparatus of claim 8, wherein the programmable circuit is to at least one of: instantiate or execute the machine-readable instructions to calculate at least one of a pose of the vehicle or an alignment of the image sensor relative to the landing pad.

13. The apparatus of claim 8, wherein the position of the vehicle relative to the landing pad is calculated based on a known spatial relationship between the first perimeter and the second perimeter in combination with angular data associated with the image sensor.

14. The apparatus of claim 8, wherein the programmable circuit is to instantiate or execute the machine-readable instructions to generate a vector based on the pattern.

15. The apparatus of claim 14, wherein the vector is generated based on different light intensities of at least two of the first light source and the second light source.

16. A non-transitory machine-readable storage medium comprising instructions to cause a programmable circuit to at least perform the following operations: identifying, based on output from an image sensor supported by the vehicle, a first perimeter and a second perimeter of a landing area of ​​the landing pad, the second perimeter surrounding the first perimeter, the first perimeter having a first array of first light sources and the second perimeter having a second array of second light sources, at least two of the first light sources and the second light sources having different light characteristics for defining a pattern; calculating a relative position of the vehicle to the landing pad based on the pattern and at least one distance associated with the identified first perimeter and the second perimeter; as well as Movement of the vehicle is directed based on the relative position.

17. The non-transitory machine-readable storage medium of claim 16, wherein the instructions cause the programmable circuit to determine vectors corresponding to the star pattern of the first light source and the second light source, and wherein the relative position is further calculated based on the vectors.

18. The non-transitory machine-readable storage medium of claim 16, wherein the instructions cause the programmable circuit to combine at least one of inertial data or attitude data with the output from the image sensor via a Kalman filter.

19. The non-transitory machine-readable storage medium of claim 16, wherein the instructions cause the programmable circuit to identify the second perimeter at a first position of the vehicle and to identify the first perimeter at a second position of the vehicle, the second position being closer to the landing pad than the first position.

20. The non-transitory machine-readable storage medium of claim 16, wherein the instructions cause the programmable circuit to determine at least one known distance corresponding to the two-dimensional pattern of the landing pad based on the identified first perimeter and the second perimeter.