Patent ID: 12205476

DETAILED DESCRIPTION

Reference now will be made in detail to embodiments of the disclosed technology, one or more examples of which are illustrated in the drawings. Each example is provided by way of explanation of the disclosed technology, not limitation of the disclosed technology. In fact, it will be apparent to those skilled in the art that various modifications and variations can be made in the present disclosure without departing from the scope or spirit of the claims. For instance, features illustrated or described as part of example embodiments can be used with another embodiment to yield a still further embodiment. Thus, it is intended that the present disclosure covers such modifications and variations as come within the scope of the appended claims and their equivalents.

As used in the specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the context clearly dictates otherwise. The use of the term “about” in conjunction with a numerical value refers to within 25% of the stated amount.

In example aspects, a machine vision controller for an aerial vehicle or aircraft is provided. In some embodiments, the machine vision controller may execute computer-readable program instructions for: processing sensor data, identifying geographic identifiers in sensor data, comparing obtained sensor data to desired sensor data, identifying geographic location from sensor data, automatically maneuvering the aerial vehicle responsive to sensor data and other data, determining if an approach vector is safe for landing, reducing risk associated with instrumentation-only landings, and/or other program instructions. The machine vision controller may be integrated within an aerial vehicle or may be a remote controller configured to transmit calculated data to the aerial vehicle. Additionally, the machine vision controller may also be configured to provide warnings, both audial and visual, to operators of the aerial vehicle, to aid in a plurality of aircraft maneuvers. Hereinafter, a detailed description of several example embodiments of aerial vehicles and machine vision controllers are provided in detail.

Embodiments of the disclosed technology provide a number of technical benefits and advantages, particularly in the area of aircraft safety. As one example, the disclosed technology provides for safer landings by ensuring an aerial vehicle is approaching an appropriate runway or airport. The disclosed technology can also aid in automatic avoidance maneuvers through identifying geographic indicators. By identifying geographic indicators and matching geographic indicators to a map or model of an expected proximal area, the disclosed systems can avoid initiating a landing operation if an area is unexpected or if obstacles exist.

Embodiments of the disclosed technology additionally provide a number of technical benefits and advantages in the area of computing technology. For example, the disclosed system can obtain sensor data associated with performance data of an aerial vehicle and automatically determine whether performance of an aircraft is affecting a landing approach. A computing system implemented in accordance with the disclosed technology can therefore avoid costly landing maneuvers in adverse conditions or implement safer landing procedures through assuring an actual approach vector is correct for a particular aerial vehicle.

FIG.1is a schematic illustration of an example landing area2for an aerial vehicle. Generally, the landing area2can be aligned with a runway4. The runway4may include several identifying markers painted thereon, including several indicia. For example, the runway4can include runway threshold markings6, runway designation markings8, runway aiming point markings10, runway touchdown zone markings12, runway centerline markings14, runway side stripe markings16, runway lighting18, taxiway markings including taxiway centerline20, taxiway edge marking22, taxiway lighting24, holding position markings26, holding position sign28, and holding position sign30. The identifying markers and indicia may be processed by the machine vision controllers described herein, to aid in both taxying an aerial vehicle prior to takeoff and safely landing an aerial vehicle during/subsequent to a landing approach.

In some circumstances, for example during relatively poor weather or with limited visibility, an aerial vehicle may not have full visibility of some or all of the identifying markers outlined above. In these circumstances, it may be beneficial for an aerial vehicle to obtain sensor data, such as optical data, video data, photograph data, radar data, and/or Light Detection and Ranging (LIDAR) data. The sensor data can subsequently be processed to determine if an aerial vehicle can safely land or if an avoidance maneuver is appropriate. Additionally, under some circumstances, the sensor data can be compared to a map or model of a proximal area near the aircraft. Upon comparing, geographic indicators including buildings, landmarks, topographical features, runways, runway markings, and other geographic indicators can be identified to determine that the aerial vehicle is operating or attempting to land in a safe or expected area. Hereinafter, scenarios involving an aerial vehicle approaching the runway4are described in detail with reference toFIG.2A,FIG.2B,FIG.3A, andFIG.3B.

FIG.2Ais a schematic illustration of an aerial vehicle200approaching a portion215of the landing area ofFIG.1. For example, taxiway40and taxiway42with geographic position markings44including a direction sign46and a location sign48are presented on the portion215. Furthermore, the aerial vehicle200is approaching the portion215at approach vector202.

During the approach, the aerial vehicle200may obtain a variety of sensor data.FIG.2Bis a schematic illustration of example sensor data210obtained by the aerial vehicle200. As illustrated, the direct approach vector202allows the sensor data210to appear relatively undistorted. In this example, a machine vision controller associated with the aerial vehicle200can process the sensor data210to determine that a direction indicator46and position markings44are appropriately located relative to the aerial vehicle200. In some implementations, the machine vision controller may generate one or more displays for a pilot or other operator providing the direction indicator46, position markings44, and/or a representation of any other geographic indicator.

The machine vision controller may utilize various image processing and/or machine vision processing techniques to identify objects using image data. Physics-based modeling and/or machine learned models may be used for object detection. Objects may be detected and classified using various image and/or machine vision processing techniques.

Accordingly, the aerial vehicle200can safely continue its approach and complete landing maneuvers. However, if the aerial vehicle200and associated machine vision controller determine that the approach vector202is inappropriate or misaligned, the machine vision controller associated with the aerial vehicle200can provide warnings, indications, and other data to a pilot or operator to ensure the pilot is aware of the situational position and approach of the aerial vehicle200.

Under some circumstances, the warnings may be used to determine that a landing cannot continue due to obstructions, misaligned vectors, incorrect geographical areas, or other misinformation. Accordingly, the aerial vehicle200may be equipped to efficiently correct the misinformation, alter a flight plan, and/or avoid a landing to ensure the aerial vehicle200lands at a correct geographic location, safely. Under other circumstances, typical machine vision processing of the sensor data210may be inappropriate due to a variety of issues, such as weather or approach vectors differing from the thrust vector of an aerial vehicle.

In some implementations, aircraft performance data may be used to selectively trigger alerts or displays that are generated based on the sensor data such as image data. By way of example, the machine vision controller may obtain altitude and/or aircraft configuration data from the performance data and use this information to selectively generate geographic based alerts. By way of example, the machine vision controller may determine from the performance data whether the aircraft is below a certain altitude and/or whether the aircraft landing gear is down. If the performance data indicates that the aircraft is attempting a landing, displays may be generated based on the geographic indicators. For example, runway markers and other identifiers may be displayed if the performance data indicates that the aircraft is landing. If, however, the performance data indicates that the aircraft is not attempting a landing, alerts or displays that would otherwise be generated in response to geographic indicators may not be displayed.

FIG.3Ais a schematic illustration of aerial vehicle200approaching the portion215of the landing area ofFIG.1. As illustrated, the aerial vehicle200has a thrust vector302in an attempt to correct for crosswind306that is flowing perpendicular to the portion215of the landing area ofFIG.1. Thus, while the thrust vector302is generally directed away from the landing area215, the aerial vehicle200is actually on an approach vector304. Due to the direction of the aerial vehicle being out of perfect alignment with the landing area215, sensor data obtained by the aerial vehicle200may be distorted or difficult to process.

As an example,FIG.3Bis a schematic illustration of example sensor data310obtained by the aerial vehicle200ofFIG.3Aon thrust vector302. As shown, due to the thrust vector302, and therefore the axial alignment of the aerial vehicle200not aligning with the portion215of the landing area, the sensor data310appears to point towards a different landing area as compared to sensor data210. In this scenario, a machine vision controller associated with the aerial vehicle200can process the sensor data310to compensate for movement and/or performance data of the aerial vehicle200. For example, the machine vison controller can determine a crosswind value306and performance data including the thrust vector302. The machine vision controller can also estimate the approach vector304based on the crosswind value306and the performance data. Thereafter, the machine vision controller can translate the sensor data310into320based on the approach vector304. Therefore, the machine vision controller can correct the apparent misalignment or distortion based on the thrust vector302, approach vector304, and crosswind306, resulting in sensor data320. Sensor data320is sufficiently similar to sensor data210and allows for successful identification of the portion215, including all visual markers illustrated thereon. Additionally, under some circumstances, the sensor data320can be compared to a map or model of a proximal area near the aerial vehicle200. The map or model can include a two-dimensional mapping of information with associated height, depth, or other dimensional information, for example, of surrounding buildings and landmarks. Upon comparing, geographic indicators including buildings, landmarks, topographical features, runways, runway markings, and other geographic indicators can be identified to determine that the aerial vehicle200is operating or attempting to land in a safe or expected area.

As described above, aerial vehicle200may include a machine vision controller configured to process sensor data, identify geographic identifiers in sensor data, compare obtained sensor data to desired sensor data, identify geographic location from sensor data, automatically maneuver the aerial vehicle responsive to sensor data and other data, determine if an approach vector is safe for landing, and/or reduce risk associated with instrumentation-only landings. Furthermore, under some circumstances, the machine vision controller can predict a flight path of the aerial vehicle200based on processing the sensor data. Flight path prediction may include an estimated or predicted flight path based on any of a thrust vector, crosswind, axial alignment based on a ground plane reference, instrumentation values, and other aerial vehicle performance data. The machine vision controller may be integrated within the aerial vehicle200or may be a remote controller configured to transmit calculated data to the aerial vehicle. The machine vision controller may also be configured to provide warnings, both audial and visual, to operators of the aerial vehicle, to aid in a plurality of aircraft maneuvers. Hereinafter, a detailed description of an example aerial vehicle200having an integrated machine vision controller402is provided.

FIG.4is a diagram of an example aerial vehicle200, according to example embodiments of the present disclosure. As illustrated, the aerial vehicle200can include a machine vision controller402configured for sensor data processing as described herein. The machine vision controller402can be a standalone controller, customized controller, or can be a generic computer controller configured to process sensor data as a machine vision processor.

The controller402can be configured to obtain sensor data from a first sensor array404. The sensor array404may be an externally mounted sensor array or an internal mounted sensor array. The sensor array404can include one or more of optical sensors, camera sensors, acoustic sensors, radar sensors, laser sensors, and/or LIDAR sensors. Optical sensors can include visible light sensors, infrared sensors, and other optical sensors tuned to more or fewer frequencies. For example, optical sensors that can sense and encode infrared frequencies may have better performance characteristics in low-light and inclement weather conditions as compared to typical human sight. Other appropriate sensors may also be included in the sensor array404, according to any desired implementation of the aerial vehicle200.

The controller402can also be configured to obtain sensor data from a second sensor array406. The sensor array406may be an externally mounted sensor array or an internal mounted sensor array. The sensor array406can include one or more of optical sensors, camera sensors, acoustic sensors, radar sensors, laser sensors, and/or LIDAR sensors. Optical sensors can include visible light sensors, infrared sensors, and other optical sensors tuned to more or fewer frequencies. Other appropriate sensors may also be included in the sensor array406, according to any desired implementation of the aerial vehicle200.

The controller402may be configured to communicate with external processors, controllers, and/or ground equipment and other aircraft through interface408. The interface408may be a standardized communications interface configured to send and receive data via antenna array410. It is noted that although particularly illustrated as an externally mounted antenna array on the upper surface of the aerial vehicle200, that any form of antenna array may be applicable.

The controller402may also be configured to communicate with avionics system412of the aerial vehicle200over communications bus450. For example, the controller402may provide appropriate information to avionics system412such that landing gear422is controlled up/down based on machine vision processing. Furthermore, the controller402may provide appropriate information to avionics system412such that thrust from engines424is controlled based on machine vision processing. Moreover, the controller402may provide appropriate information to avionics system412such that control surfaces426are adjusted for automatic maneuvers such as landing denials, obstacle avoidance, safety maneuvers, and other movement of the aerial vehicle200.

It should be readily understood that the aerial vehicle200may include more or fewer control components than those particularly illustrated. Furthermore, the aerial vehicle200may include several components, aspects, and necessary structures not particularly illustrated herein for the sake of brevity, clarity, and concise disclosure of the example embodiments described herein. Hereinafter, operational details of the aerial vehicle200are presented with reference toFIG.5andFIG.6.

The controller and avionics system may generally include one or more processor(s) and associated memory configured to perform a variety of computer-implemented functions, such as various methods, steps, calculations and the like disclosed herein. In some examples, the controller and/or avionics system may be programmable logic devices, such as a Field Programmable Gate Array (FPGA), however they may be implemented using any suitable hardware and/or software.

The term processor may generally refer to integrated circuits, and may also refer to a controller, microcontroller, a microcomputer, a programmable logic controller (PLC), an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), and other programmable circuits. Additionally, the memory described herein may generally include memory element(s) including, but not limited to, computer readable medium (e.g., random access memory (RAM)), computer readable non-volatile medium (e.g., flash memory), a compact disc-read only memory (CD-ROM), a magneto-optical disk (MOD), a digital versatile disc (DVD) and/or other suitable memory elements or combinations thereof.

Any one or a combination of the flight management system and vehicle control system may also include a communications interface. The communications interface can include associated electronic circuitry that is used to send and receive data. More specifically, the communications interface can be used to send and receive data between any of the various systems. Similarly, a communications interface at any one of the systems may be used to communicate with outside components such as another aerial vehicle and/or ground control. A communications interface may be any combination of suitable wired or wireless communications interfaces.

FIG.5is a flow diagram of a method500of machine vision processing of sensor data of an aerial vehicle, andFIG.6is a flow diagram of a method600of machine vision processing of sensor data of an aerial vehicle, according to example embodiments of the present subject matter. It should be understood that the operations of the methods disclosed herein are not necessarily presented in any particular order and that performance of some or all of the operations in an alternative order(s) is possible and is contemplated. The operations have been presented in the demonstrated order for ease of description and illustration. Operations may be added, omitted, and/or performed simultaneously, without departing from the scope of the appended claims.

For example, the operations of the methods500and600are described herein as being implemented, at least in part, by system components such as controller402, which can comprise a processor, control application, machine vision circuitry, machine vision components and/or machine vision applications. In some configurations, the system components include functionality produced by an application programing interface (API), a compiled program, an interpreted program, a network service, a script, or any other executable set of instructions.

Although the following illustration refers to the components ofFIG.4, it can be appreciated that the operations of the methods500and600may be also implemented in many other ways. For example, the methods500and600may be implemented, at least in part, by a processor of a remote controller or a local circuit, including a remote pilot control center for controlling an unmanned aerial vehicle. In addition, one or more of the operations of the methods500and600may alternatively or additionally be implemented, at least in part, by a chipset working alone or in conjunction with software modules on board the aerial vehicle200. Any service, circuit, or application suitable for providing the techniques disclosed herein can be used in operations described herein, either remote to, onboard, or a combination thereof with respect to the aerial vehicle200.

As shown inFIG.5, the method500includes obtaining sensor data from a sensor array404or406, at block502. The sensor data can include, for example, optical data or radar data obtained from at least one sensor of the sensor arrays404and406. Optical sensor data can also be obtained, and can include stereoscopic images, still images, or video recorded from an optical sensor of the sensor arrays404and406. Other sensor data can include altitude, distance from ground, and other suitable data.

The method500further includes obtaining performance data from avionics412and/or sensor array404or406, at block504. The performance data can include, for example, a calculated approach vector, a thrust vector, rate of ascent, rate of descent, angle relative to a ground plane, and other suitable performance data. In at least one example, the performance data is obtained from sensors and/or avionics system412. The performance data may be obtained directly from sensors and/or avionics system412or may be derived from sensor data obtained from the sensors. According to other examples, the performance data is input manually. Still according to other examples, the performance data may be based on positions of control surfaces and engine status provided by avionics412or other components of the aerial vehicle200.

The method500further includes processing the sensor data based on the performance data, at block506. In some examples, block506may include processing the sensor data to compensate for the performance data. In some examples, the sensor data is processed with a machine vision controller using machine vision and/or image processing techniques. In some examples, the sensor data is processed to compensate for movement of the aerial vehicle as determined from the performance data. According to at least one example, the processing can include processing a distorted image using machine vision to create an image with reduced, minimized, or corrected distortion. The corrected image may include legible indicia and other corrections. The processing can also include processing to compensate for movement, such as by, for example, correcting perspectives of buildings, landmarks, and other features. Additionally, the processing can include isolating landmarks, indicia, geographic features, and other optical data for further identification in subsequent or parallel machine vision processing. For example, and as illustrated inFIG.3B, the sensor data310can be processed to create corrected sensor data320. The machine vision controller402may process the sensor data310to correct apparent distortion, misalignments, and other issues using the performance data and any other available data.

The method500further includes identifying a geographic indicator in the processed sensor data, at block508. For example, the machine vision controller402can interpret the processed sensor data to identify visual indicators such as those illustrated inFIG.1. Other geographic indicators can include, for example, a number of buildings surrounding a landing area, height of buildings surrounding a landing area, surrounding higher elevation (such as mountains or natural features), surrounding lower elevation (such as crevasses or natural features), and other geographic indicators. Still further, geographic indicators can include GPS data, rivers, bodies of water, physical or virtual beacons, temporary structures such as towers/cones, and other indicators.

The method500further includes determining a geographic location of the aerial vehicle based on the identified geographic indicator, at block510. The machine vision controller402can compare the identified geographic indicators to a predetermined set of geographic indicators, such as expected geographic features or a map or model of expected features, to determine a location of the aerial vehicle200. For example, the machine vision controller402can determine if an expected control tower at an airport is detectable in the sensor data. The machine vision controller402can also determine if airport buildings are detectable in the sensor data. Thus, using all available sensor data, the machine vision controller402can compare the sensor data to expected data from a flight plan to determine the geographic location.

In some example aspects, a model of expected features may include depth or height information. Accordingly, in some examples the machine vision controller402is configured to determine a height of geographic features in a proximal location to the aerial vehicle based on processing the sensor data. For example, the machine vision controller402can access one or more images obtained by one or more image sensors to identify one or more geographic features. A depth camera, radar/LIDAR, and/or other sensors may be used to determine three-dimensional or height information associated with the geographic features. The machine vision controller402can access a database of predetermined geographic indicators associated with a geographic location such as known landing locations. The database can include height or other depth information associated with the predetermined geographic indicators. The machine vision controller402can compare the database, including the height of geographic indicators, in order to identify geographic features based on the image data. The machine vision controller402can determine a corresponding geographic location to a geographic feature based on comparing the height of geographic features from the sensor data to height information in the database.

Utilizing the determined geographic location, a pilot or operator of the aerial vehicle200can decide whether to safely land the aerial vehicle, alter a flight plan, or otherwise control the aerial vehicle. It is contemplated that visual indicators such as warnings and audio indicators such as alarms can also be used. For example, an indicator such as a visual indicator that landing can be performed safely or not safely can be provided. In some implementations, the indicator may identify a runway or other feature with which the aerial vehicle is aligned for landing. In some implementations, an indicator may include a warning that the aerial vehicle is misaligned. For example, the system may compare the geographic indicator with flight plan data and provide a warning if the geographic indicator is not associated with the flight plan data. In some examples, a warning can be provided if geographic indicators include obstructions identified in machine vision processing. Furthermore, visual and audio indicators can include positive indications that a landing pattern is deemed safe by the machine vision controller402such that the pilot or operator can concentrate on other maneuvers to complete a safe landing.

Additionally, the pilot or operator of the aerial vehicle200may be remote, and the aerial vehicle may be an unmanned aerial vehicle, such that alerts, indicators, and geographic location are provided to the pilot or operator in a remote location. In these circumstances, the identified geographic location may be used to automatically maneuver the aircraft, as described below with reference toFIG.6. It is noted, however, that a manned aircraft may be automatically maneuvered in accordance with embodiments of the disclosed technology.FIG.6is a flow diagram of an additional method600of machine vision processing of sensor data of an aerial vehicle, according to example embodiments of the present disclosure.

As shown inFIG.6, the method600includes obtaining sensor data from a sensor array404or406, at block602. The sensor data may be substantially similar to the sensor data described above. The method600further includes processing the obtained sensor data to identify geographic features in the area proximal to the aerial vehicle, at block604. The processing may include correcting distortion, compensating for movement, identifying obstacles, and/or matching flight plans to expected geographic features.

According to at least one example, the processing can include processing a distorted image, or distorted sensor data, using machine vision to create a processed image or processed sensor data with reduced, minimized, or corrected distortion. The processed image may include legible indicia and other corrections. The processing can also include processing to compensate for movement, such as by, for example, correcting perspectives of buildings, landmarks, and other features. Additionally, the processing can include isolating landmarks, indicia, geographic features, and other optical data for further identification in subsequent or parallel machine vision processing.

In some examples, processing the sensor data includes processing image data based on aircraft misalignment. For example, performance data such as crosswind and other information can be used to determine a misalignment of an aircraft approach vector with the image data obtained from one or more sensors. The performance data can be used to translate or otherwise determine modified sensor data to correct or compensate for the misalignment. For example, when approaching a landing area the image data may identify a first runway according to a first runway marker for example. However, the performance data may indicate that the aerial vehicle is landing in a strong crosswind. This and/or other performance data may indicate that the aerial vehicle is misaligned with its approach vector. This information may be used to modify the sensor data to indicate the appropriate information corresponding with the approach. As a result, the machine vision controller402may determine that the aircraft is actually approaching a second runway adjacent to the first runway. The determination may be made even though the image data corresponds to the first runway.

The method600further includes identifying a geographic indicator in the processed sensor data, at block606. The geographic indicator may include a desired indicator or an obstacle. For example, the geographic indicator may include a landmark, body of water, airport, particular runway at an airport, or other geographic indicator, including all geographic indicators described herein. Using machine vision processing and/or a machine vision algorithm, the geographic indicator can be identified in the processed sensor data. Additionally, the machine vision controller can identify obstacles at block606. For example, an obstacle can include any object or indicia that is not expected in a landing area. Obstacles can include temporary or permanent obstacles. Obstacles can further include indicia purposefully marked (e.g., such as an ‘X’ or ‘NOT SAFE FOR LANDING’) to allow pilots and operators to identify that a landing area is not to be used for landings. In some examples, the machine vision controller402can immediately indicate the presence of an obstacle. In some examples, the machine vision controller402can delay an alert if an obstacle is a moving obstacle, such as a landing assist vehicle, that will be clear of an active landing area prior to landing by the aerial vehicle. Furthermore, the machine vision controller402can issues multiple forms of soft alerts and high alerts if moving obstacles are deemed hazardous or are not moving as expected, or are not following an expected pattern. Processing and identifying obstacles can be aided through use of radar/LIDAR information, and other suitable data available from sensors.

The method600further includes determining if the identified geographic indicator is in a flight plan associated with the aerial vehicle, at block608. For example, the machine vision controller402may process the sensor data and compare the same to expected sensor data of the flight plan. The expected sensor data may include maps, models, renderings, and/or other suitable data for machine vision processing and comparison to the processed sensor data. The expected sensor data can include, for example, a two-dimensional map having associated height or dimensional information. Machine vision processing can facilitate comparisons between the processed sensor data and this expected sensor data to determine if a match exists or if the geographic indicator exists within the flight plan.

The method600further includes automatically maneuvering the aerial vehicle, or providing visual indication, based on the determination, at block610. For example, the aerial vehicle, based on the determination, may be automatically maneuvered to avoid a landing or continue flying. Other automatic maneuvers including obstacle avoidance, fast touchdown and takeoff, and similar maneuvers based on geographical indicators are also applicable. The machine vision controller402can also provide video or audio indications, as described above.

It should be appreciated that the operational blocks of method500and method600may not exhaustively describe all aspects of aerial vehicle control. These operational blocks may be a simplified operational flow chart describing only partial aspects of aerial vehicle control, and should not be construed of illustrating all possible control scenarios.

FIG.7depicts a block diagram of an example computing system1000that can be used to implement methods and systems according to example embodiments of the present disclosure. Computing system1000may be used to implement a machine vision controller402as described herein. It will be appreciated, however, that computing system1000is one example of a suitable computing system for implementing the machine vision controller402and other computing elements described herein.

As shown, the computing system1000can include one or more computing device(s)1002. The one or more computing device(s)1002can include one or more processor(s)1004and one or more memory device(s)1006. The one or more processor(s)1004can include any suitable processing device, such as a microprocessor, microcontroller, integrated circuit, logic device, or other suitable processing device. The one or more memory device(s)1006can include one or more computer-readable media, including, but not limited to, non-transitory computer-readable media, RAM, ROM, hard drives, flash drives, or other memory devices.

The one or more memory device(s)1006can store information accessible by the one or more processor(s)1004, including computer-readable instructions1008that can be executed by the one or more processor(s)1004. The instructions1008can be any set of instructions that when executed by the one or more processor(s)1004, cause the one or more processor(s)1004to perform operations. The instructions1008can be software written in any suitable programming language or can be implemented in hardware. In some embodiments, the instructions1008can be executed by the one or more processor(s)1004to cause the one or more processor(s)1004to perform operations, such as the operations for machine vision processing of sensor data, identifying geographic features and indicators, locating an aerial vehicle based on sensor data, and other operations such as those described above with reference to methods500and600, and/or any other operations or functions of the one or more computing device(s)1002.

The memory device(s)1006can further store data1010that can be accessed by the processors1004. For example, the data1010can include sensor data such as engine parameters, model data, logic data, etc., as described herein. The data1010can include one or more table(s), function(s), algorithm(s), model(s), equation(s), etc. according to example embodiments of the present disclosure.

The one or more computing device(s)1002can also include a communication interface1012used to communicate, for example, with the other components of system. The communication interface1012can include any suitable components for interfacing with one or more network(s), including for example, transmitters, receivers, ports, controllers, antennas, or other suitable components.

The technology discussed herein makes reference to computer-based systems and actions taken by and information sent to and from computer-based systems. One of ordinary skill in the art will recognize that the inherent flexibility of computer-based systems allows for a great variety of possible configurations, combinations, and divisions of tasks and functionality between and among components. For instance, processes discussed herein can be implemented using a single computing device or multiple computing devices working in combination. Databases, memory, instructions, and applications can be implemented on a single system or distributed across multiple systems. Distributed components can operate sequentially or in parallel.

Although specific features of various embodiments may be shown in some drawings and not in others, this is for convenience only. In accordance with the principles of the present disclosure, any feature of a drawing may be referenced and/or claimed in combination with any feature of any other drawing.

This written description uses examples to disclose the claimed subject matter, including the best mode, and also to enable any person skilled in the art to practice the claimed subject matter, including making and using any devices or systems and performing any incorporated methods. The patentable scope of the disclosed technology is defined by the claims, and may include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they include structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.