System and method for assisted navigation using distributed avionics processing
By offloading the computing and storage functions of avionics equipment from the UAM vehicle to 5G edge nodes, and combining the distributed processing of edge nodes and cloud nodes, the navigation and system hosting problems of UAM vehicles in resource-constrained and cellular network-dominated environments are solved, achieving an efficient and safe navigation solution.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-02
- Publication Date
- 2026-04-10
AI Technical Summary
In urban air mobility (UAM) vehicles, existing technologies struggle to achieve efficient navigation and system hosting while maintaining stringent safety standards and limited resources, especially in environments with widespread cellular networks and limited GPS availability.
By offloading the computing and storage functions of avionics equipment to edge nodes with strong 5G communication and computing capabilities, and utilizing edge nodes and cloud nodes for distributed processing, reference data can be obtained by combining imaging systems, antenna systems, and radar systems to perform position analysis and navigation control, thereby achieving assisted navigation.
It reduces the resource requirements of UAM vehicles, improves navigation accuracy and system safety, and enables efficient navigation and system management under limited resource conditions.
Smart Images

Figure CN112748456B_ABST
Abstract
Description
[0001] Cross Reference to Related Applications
[0002] This patent application claims priority under 35 U.S.C. § 119 to Indian Patent Application No. 201911044179, filed October 31, 2019, the contents of which are incorporated in their entirety. TECHNICAL FIELD
[0003] Various embodiments of the present disclosure generally relate to systems and methods for distributed vehicle processing and systems and methods for distributed vehicle processing for assisted navigation. BACKGROUND
[0004] Avionics radios are currently based on radio standards specified by RTCA and / or ARINC and typically use voice or low data rates, with a priority on aviation safety. The civil radio spectrum (cellular phone networks) has been developed on a different orbit, with a priority on efficiency of spectrum usage and significantly higher data rates. However, as urban air mobility (UAM) vehicles operate closer to the ground than traditional avionics communication infrastructure, where cellular phone networks are more ubiquitous, UAM vehicles can potentially be able to leverage cellular phone networks. Furthermore, UAM vehicles can have limited resource requirements (energy, payload, weight) while maintaining strict safety standards. Therefore, hosting many systems and relatively large software processing capabilities on board UAM vehicles can be a challenge while maintaining strict safety standards.
[0005] Furthermore, navigation can be a significant challenge for UAM vehicles, as their typical operating environment is at low altitude and vehicle density is twice that of current aviation. For example, GPS availability can be limited, or signal quality can significantly degrade in UAM environments, due to, for example, poor visibility of artificial threads / GNSS signals, high buildings and obstacles, etc. Furthermore, UAM environments can include ground-standing obstacles and situations with poor visibility (e.g., due to smoke / fog), which can be detrimental to both radio and optical ranging. Therefore, even though communication, computing, and sensing technologies are advancing rapidly, building an integrated low-cost navigation system can be a challenge.
[0006] The present disclosure relates to overcoming one or more of the challenges described above. SUMMARY
[0007] According to certain aspects of the present disclosure, systems and methods for distributed vehicle processing and for distributed vehicle processing for assisted navigation are disclosed.
[0008] For example, a method for distributed vehicle processing for vehicle assisted navigation can include, by a vehicle: obtaining reference data from one or a combination of an imaging system, an antenna system, and / or a radar system of the vehicle; and in response to obtaining the reference data, transmitting a navigation assistance request message including the reference data to an edge node or a cloud node. The method can also include, by the edge node or the cloud node: in response to receiving the navigation assistance request message from the vehicle, performing a position resolution process to determine a position of the vehicle by one or more functions; and transmitting a resolved position message including the determined position of the vehicle to the vehicle. The method can also include, by the vehicle: in response to receiving the resolved position message, performing a navigation control process based on the determined position.
[0009] Further, a system can include a memory storing instructions and a processor that executes the instructions to perform a process. The method includes obtaining reference data from one or a combination of an imaging system, an antenna system, and / or a radar system of the vehicle; in response to obtaining the reference data, determining whether a GNSS signal is below a threshold; in response to determining that the GNSS signal is below the threshold, transmitting a navigation assistance request message including the reference data to an edge node or a cloud node, wherein the edge node or the cloud node: in response to receiving the navigation assistance request message from the vehicle, performs a position resolution process to determine a position of the vehicle by one or more functions, and transmits a resolved position message including the determined position of the vehicle to the vehicle; and in response to receiving the resolved position message, performs a navigation control process based on the determined position.
[0010] Further, a non-transitory computer readable medium stores instructions that, when executed by a processor, cause the processor to perform a method. The method can include, in response to receiving a navigation assistance request message from a vehicle, performing a position resolution process to determine a position of the vehicle by one or more functions, wherein the vehicle transmits the navigation assistance request message in response to determining that a GNSS signal is below a threshold; and transmitting a resolved position message including the determined position of the vehicle to the vehicle, wherein the vehicle, in response to receiving the resolved position message, performs a navigation control process based on the determined position.
[0011] Additional objects and advantages of the disclosed embodiments will be set forth in part in the description which follows, and in part will be obvious from the description, or can be learned by practice of the disclosed embodiments.
[0012] It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosed embodiments claimed by the appended claims. BRIEF DESCRIPTION OF DRAWINGS
[0013] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate various example embodiments and together with the description, explain the principles of the disclosed embodiments.
[0014] Figure 1 An example environment in which methods, systems, and other aspects of the present disclosure can be implemented is shown.
[0015] Figure 2 An example system according to one or more embodiments is shown.
[0016] Figure 3A and Figure 3B An example block diagram of a vehicle of a system according to one or more embodiments is shown.
[0017] Figure 4 An example system for distributed avionics processing according to one or more embodiments is shown.
[0018] Figure 5 An example flow diagram for distributed avionics processing according to one or more embodiments is shown.
[0019] Figure 6 An example system for distributed avionics processing for assisted navigation according to one or more embodiments is shown.
[0020] Figures 7A-7C An example system environment for distributed avionics processing for assisted navigation according to one or more embodiments is shown.
[0021] Figure 8 An example flow diagram for distributed avionics processing for assisted navigation according to one or more embodiments is shown.
[0022] Figure 9 An example flow diagram for distributed avionics processing for assisted navigation according to one or more embodiments is shown.
[0023] Figure 10 An example system in which the technology presented herein can be executed is depicted. DETAILED DESCRIPTION
[0024] Various embodiments of the present disclosure generally relate to systems and methods for distributed vehicle processing and systems and methods for distributed vehicle processing for assisted navigation.
[0025] Generally, the present disclosure relates to distributed processing for avionics functions. For example, the methods and systems of the present disclosure can enable partitioning and hosting of avionics applications on low-latency wireless networks, such as 5G networks, by offloading computation, storage, and other data functions to processing entities on the edge of wireless mobile networks, such as in edge nodes with 5G communication and computing capabilities in urban environments. Such a method of partitioning and hosting avionics applications can have the advantage of reducing resource requirements (energy, payload, timing, and processing budget) on weight-constrained aircraft, while maintaining strict safety standards by keeping navigation and management at the edge nodes of the edge of the wireless mobile network. Thus, by implementing avionics applications on edge nodes, UAM vehicles can achieve better tradeoffs in battery, power, available distance, performance, and payload. For example, only the actuation systems for operating the UAM vehicle, sensors (such as GPS, cameras, IRS, etc.), and the most time-critical processing can be hosted on the UAM vehicle, while relatively slower but tightly coupled processing (management, mission planning, navigation, etc.) can be performed on the edge nodes. Meanwhile, applications that can tolerate larger latencies, such as mission payload data and analytics, can be hosted on the cloud.
[0026] For another aspect of the present disclosure, the systems and methods of the present disclosure can provide cross-referenced assistive navigation. For example, edge nodes / cloud nodes can cross-reference and error-check known geographic patterns, cellular / beacon triangulation and / or trilateration, ground radio-based references, digital adaptive phased array radar (DAPA), known proximate vehicle locations, to assist low-accuracy autonomous navigation sensors.
[0027] While the present disclosure describes systems and methods relating to aircraft, it should be understood that the systems and methods of the present disclosure are applicable to the management of vehicles, including drones, cars, ships, or any other autonomous and / or internet-connected vehicles.
[0028] As Figure 1 shown, Figure 1 An exemplary environment in which the methods, systems, and other aspects of the present disclosure can be implemented is shown. Figure 1The environment of FIG. 1 can include airspace 100 and one or more hub ports 111-117. A hub port, such as any of 111-117, can be a ground facility (e.g., an airport, a vertical lift airport, a heliport, a vertical lift tarmac, a heliport tarmac, a temporary landing / takeoff facility, etc.) in which an aircraft can take off, land, or remain parked. Airspace 100 can accommodate various types of aircraft 131-133 (collectively, "aircraft 131," unless otherwise indicated herein) that fly at various altitudes and via various routes 141. An aircraft, such as any of aircraft 131a-133b, can be any airborne conveyance or vehicle capable of traveling between two or more hub ports 111-117, such as an airplane, a vertical takeoff and landing aircraft (VTOL), a drone, a helicopter, an unmanned aerial vehicle (UAV), a hot air balloon, a military aircraft, etc. Any of aircraft 131a-133b can connect to each other and / or to one or more of hub ports 111-117 using a vehicle management computer corresponding to each aircraft or each hub port via a communication network. Each vehicle management computer can include a computing device and / or a communication device, as described in more detail below in Figure 3A and Figure 3B . As shown in Figure 1 , different types of aircraft sharing airspace 100 are shown, which are differentiated by way of example as Model 131 (aircraft 131a and 131b), Model 132 (aircraft 132a, 132b, and 132c), and Model 133 (aircraft 133a and 133b).
[0029] As further shown in Figure 1 , airspace 100 can have one or more weather constraints 121, spatial restrictions 122 (e.g., buildings), and temporary flight restrictions (TFRs) 123. These are example factors that can require a vehicle management computer of an aircraft to consider and / or analyze in order to derive a safest and optimal flight trajectory for the aircraft. For example, if a vehicle management computer of an aircraft planning to travel from hub port 112 to hub port 115 predicts that the aircraft can be affected by an adverse weather condition in the airspace, such as weather constraint 121, the vehicle management computer can modify a direct path (e.g., route 141 between hub port 112 and hub port 115) by a slight bend away from weather constraint 121 (e.g., a northerly detour) to form a deviated route 142. For example, deviated route 142 can ensure that the path and time of the aircraft (e.g., 4-D coordinates of a flight trajectory) do not intersect any location and time coordinates of weather constraint 121 (e.g., 4-D coordinates of weather constraint 121).
[0030] As another example, the vehicle management computer of aircraft 131b can predict, prior to takeoff, that the spatial restrictions 122 caused by buildings will obstruct a direct flight path of aircraft 131b from hub 112 to hub 117, as shown. In response to this prediction, the vehicle management computer of aircraft 131b can generate a 4-D trajectory having a vehicle path that bypasses the three-dimensional zones (e.g., zones including locations and heights) associated with those particular buildings. As yet another example, the vehicle management computer of aircraft 133b can predict, prior to takeoff, that TFR 123 and some possible 4-D trajectories of another aircraft 132c will obstruct or conflict with a direct flight path of aircraft 133b, as shown. In response, the vehicle management computer of aircraft 133b can generate a 4-D trajectory having path and time coordinates that do not intersect the 4-D coordinates of TFR 123 or the 4-D trajectory of the other aircraft 132c. In this case, TFR 123 and the risk of collision with another aircraft 132c are examples of dynamic factors that can be active or inactive depending on the planned time of travel, the active time of the TFR, and the path and schedule of the other aircraft 132c. As described in these examples, the 4-D trajectory derivation process, including any modifications or renegotiations, can be completed prior to takeoff of the aircraft. Figure 1 Figure 1
[0031] As another example, the vehicle management computer of aircraft 131b can determine to use one of the routes 141 that are set aside for exclusive or non-exclusive use by aircraft 131. The aircraft 131b can generate a 4-D trajectory having a vehicle path that follows one of the routes 141.
[0032] As indicated above, Figure 1 only an example environment of airspace that includes example types of aircraft, hubs, zones, restrictions, and routes. Specific details regarding the aircraft, hubs, zones, restrictions, and routes are possible with other examples and can differ from what is described with respect to Figure 1 the content described above. For example, in addition to those described above, the types of zones and restrictions that can be factors in the trajectory derivation process can include availability of a hub, a reserved path or skyway (e.g., routes 141), any ground-based obstacles that extend outward to a particular height level, any known avoidance zones (e.g., noise sensitive zones), air transportation regulations (e.g., proximity to an airport), etc. Any factors that enable a 4-D trajectory to be modified from a direct or shortest path between two hubs can be considered during the derivation process.
[0033] Figure 2 An example system is shown in accordance with one or more embodiments. Figure 2 The system 200 shown in FIG. 1 can include one or more aircraft (such as the aircraft 131), one or more intrusive aircraft 230, a cloud service 205, one or more communication stations 210, and / or one or more ground stations 215. The one or more aircraft 131 can travel along a route in the routes 141 from a first central hub (e.g., the central hub 114) to a second central hub (e.g., the central hub 112). The one or more ground stations 215 can be distributed (e.g., uniformly, based on traffic considerations, etc.) along / near / on / beneath the routes 141 between / around / on the central hubs (such as the central hubs 111-117). The one or more communication stations 210 can be distributed (e.g., uniformly, based on traffic considerations, etc.) between / around / on the central hubs (such as the central hubs 111-117). Some (or all) of the one or more ground stations 215 can be paired with a communication station 210 of the one or more communication stations 210. Further, the one or more ground stations 215 can include a temporary communication system that can be used to issue an obstruction alert for the one or more ground stations 215 so that obstructions can be removed, etc.
[0034] Each of the one or more ground stations 215 can include a transponder system, a radar system, and / or a data link system.
[0035] The radar system of the ground station 215 can include a directional radar system. The directional radar system can be pointed upward (e.g., from the ground toward the sky), and the directional radar system can transmit a beam 220 to provide three-dimensional coverage over a portion of the routes 141. The beam 220 can be a narrow beam. The three-dimensional coverage of the beam 220 can be directly above the ground station 215 or at various angles of tilt (relative to the vertical). The directional radar system can detect objects, such as the aircraft 131, within the three-dimensional coverage of the beam 220. The directional radar system can detect the objects through skin detection. In the case where the ground station 215 is positioned on a central hub (such as the central hub 112), the directional radar system can transmit a beam 225 to provide three-dimensional coverage over the central hub 112. The beam 225 can also be tilted at an angle (from the vertical) to detect objects arriving, descending to, and landing on the central hub 112. The beams 220 / 225 can be controlled mechanically (by moving the radar system), electronically (e.g., phased array), or through software (e.g., digital phased array “DAPA” radar), or any combination thereof.
[0036] The transponder system of the ground station 215 can include an ADS-B and / or Mode S transponder, and / or other transponder systems (collectively, an interrogator system). The interrogator system can have at least one directional antenna. The directional antenna can be aimed at a portion of the route 141. For example, aiming at a portion of the route 141 can reduce the likelihood of covering the ecosystem (e.g., the aircraft 131) with an interrogation, as would be the case if the interrogator system used an omnidirectional antenna. The directional antenna can aim at a particular portion of the route 141 by transmitting signals in the same or different beam patterns as the beams 220 / 225 discussed above for the radar system. The interrogator system can transmit an interrogation message to an aircraft, such as the aircraft 131, within the portion of the route 141. The interrogation message can include an identifier of the interrogator system and / or a request for the aircraft, such as the aircraft 131, to transmit an identification message. The interrogator system can receive the identification message from the aircraft, such as the aircraft 131. The identification message can include an identifier of the aircraft and / or transponder aircraft data (e.g., speed, position, orbit, etc.) of the aircraft.
[0037] If the radar system detects an object and the transponder system does not receive a corresponding identification message from the object (or does receive an identification message, but the identification message is an improper identification message, e.g., an identifier of an unauthorized aircraft), the ground station 215 can determine that the object is an intruder aircraft 230. The ground station 215 can then transmit an intruder alert message to the cloud service 205. If the radar system detects an object and the transponder system receives a corresponding identification message from the object, the ground station 215 can determine that the object is a legitimate aircraft. The ground station 215 can then transmit a legitimate aircraft message to the cloud service 205. Additionally or alternatively, the ground station 215 can transmit a detection message based on the detection of the object and whether the ground station 215 received an identification message (“response message”); thus, the ground station 215 can not determine whether the detected object is an intruder aircraft or a legitimate aircraft, but rather send the detection message to the cloud service 205 for the cloud service 205 to determine whether the detected object is an intruder aircraft or a legitimate aircraft.
[0038] The data link system of the ground station 215 can communicate with at least one of the one or more communication stations 210. Each of the one or more communication stations 210 can communicate with at least one of the one or more ground stations 215 within the area surrounding the communication station 210 to receive data from or transmit data to the one or more ground stations 215. Some or none of the communication stations 210 can communicate directly with the ground stations 215, but instead can be relays from other communication stations 210 that communicate directly with the ground stations 215. For example, each of the ground stations 215 can communicate with the closest communication station 210 (directly or indirectly). Additionally or alternatively, the ground stations 215 can communicate with the communication station 210 that has the best signal, best bandwidth, etc. for the ground station 215. The one or more communication stations 210 can include a wireless communication system to communicate with the data link system of the ground stations 215. The wireless communication system can enable cellular communication according to, for example, 3G / 4G / 5G standards. The wireless communication system can enable Wi-Fi communication, Bluetooth communication, or other short-range wireless communication. Additionally or alternatively, the one or more communication stations 210 can communicate with one or more of the ground stations 215 based on wired communication, such as Ethernet, fiber optic, etc.
[0039] For example, the ground station 215 can transmit an intrusion alert message or a just aircraft message (and / or a detection message) to the communication station 210. The communication station 210 can then relay the intrusion alert message or the just aircraft message (and / or the detection message) to the cloud service 205 (directly or indirectly through another communication station 210).
[0040] The one or more communication stations 210 can also communicate with one or more aircraft, such as the aircraft 131, to receive data from and transmit data to the one or more aircraft. For example, the one or more communication stations 210 can relay data between the cloud service 205 and a vehicle, such as the aircraft 131.
[0041] The cloud service 205 can communicate with one or more communication stations 210 and / or directly (e.g., via satellite communication) with an aircraft such as the aircraft 131. The cloud service 205 can provide instructions, data, and / or warnings to the aircraft 131. The cloud service 205 can receive acknowledgements from the aircraft 131, aircraft data from the aircraft 131, and / or other information from the aircraft 131. For example, the cloud service 205 can provide weather data, traffic data, landing zone data for hub ports such as the hub ports 111-117, updated obstacle data, flight plan data, etc. to the aircraft 131. The cloud service 205 can also provide software as a service (SaaS) to the aircraft 131 to perform various software functions such as navigation services, flight management system (FMS) services, etc. in accordance with a service contract, API requests from the aircraft 131, etc.
[0042] Figure 3A and Figure 3B An exemplary block diagram of a vehicle of a system in accordance with one or more embodiments is shown. Figure 3A and Figure 3B Block diagrams 300A and 300B can illustrate a block diagram of a vehicle (such as the aircraft 131-133), respectively. Generally, the block diagram 300A can illustrate systems, information / data, and communication between the systems of a pilot-driven or semi-autonomous vehicle, while the block diagram 300B can illustrate systems, information / data, and communication between the systems of a fully autonomous vehicle. The aircraft 131 can be one of a pilot-driven or semi-autonomous vehicle and / or a fully autonomous vehicle.
[0043] The block diagram 300A of the aerial vehicle 131 can include a vehicle management computer 302 and electrical, mechanical, and / or software systems (collectively, "vehicle systems"). The vehicle systems can include one or more displays 304; a communication system 306; one or more transponders 308; a pilot / user interface 324 for receiving and transmitting information from a pilot and / or user 310 of the aerial vehicle 131; edge sensors 312 on structures 346 of the aerial vehicle 131 such as doors, seats, tires, etc.; a power system 378 for providing power to the actuation system 360; a camera 316; a GPS system 354; an onboard vehicle navigation system 314; a flight control computer 370; and / or one or more data storage systems. The vehicle management computer 302 and the vehicle systems can be connected by one or a combination of wired or wireless communication interfaces, such as TCP / IP communication over Wi-Fi or Ethernet (with or without a switch), RS-422, ARINC-429, or other communication standards (with or without a protocol switch as needed). In general, the GPS system 354, the onboard vehicle navigation system 314 (in its entirety or individual components as described below), the one or more transponders 308, and / or the camera 316 (in its entirety or individual components as described below) can be considered a situational awareness system. The situational awareness system can determine: vehicle state (position, velocity, orientation, heading, etc. in the navigation information described below) and tracking information for nearby entities that can encroach on the safety envelope of the aerial vehicle 131 (airborne vehicles / objects, ground terrain, and / or physical infrastructure of imaged output data, data from the one or more transponders 308, and / or radar data in the navigation information). The situational awareness system can provide the vehicle state and tracking information to the vehicle management computer 302. As described below, the vehicle management computer 302 can use the vehicle state and tracking information to control the actuation system 360 according to the flight control program 370 and / or the vertical takeoff and landing airport state program 372.
[0044] The vehicle management computer 302 can include at least a network interface, a processor, and a memory, each coupled to one another via a bus or indirectly coupled to one another via a wired or wireless connection (e.g., Wi-Fi, Ethernet, parallel or serial ATA, etc.). The memory can store a vehicle management program, and the processor can execute the vehicle management program. The vehicle management program can include a weather program 322, a detect / sense and avoid (D / S&A) program 334, a flight route selection program 344, a vehicle state / health program 352, a communication program 368, a flight control program 370, and / or a vertical takeoff and landing airport state program 372 (collectively, “subprograms”). According to program code of the vehicle management program, the vehicle management program can obtain input from and send output to the subprograms to manage the aircraft 131. According to program code of the vehicle management program, the vehicle management program can also obtain input from and output instructions / data to the vehicle systems.
[0045] The vehicle management computer 302 can transmit instructions / data / graphics user interfaces to one or more displays 304 and / or a pilot / user interface 324. The one or more displays 304 and / or the pilot / user interface 324 can receive user input and transmit the user input to the vehicle management computer 302.
[0046] The communication system 306 can include various data link systems (e.g., satellite communication systems), cellular communication systems (e.g., LTE, 4G, 5G, etc.), radio communication systems (e.g., HF, VHF, etc.), and / or wireless local area network communication systems (e.g., Wi-Fi, Bluetooth, etc.). The communication system 306 can also include encryption / decryption functions. The encryption / decryption functions can (1) encrypt outgoing data / messages such that receiving entities can decrypt the outgoing data / messages while intermediary entities can not have access to the data / messages and (2) decrypt incoming data / messages such that transmitting entities can encrypt the incoming data / messages while intermediary entities can not have access to the data / messages. The communication system 306 can enable communications between the aircraft 131 and external networks, services, and cloud services 205 according to the communication program 368, as discussed above. Examples of external networks can include wide area networks, such as the Internet. Examples of services can include weather information services 318, traffic information services, etc.
[0047] The one or more transponders 308 can include an interrogator system. The interrogator system of the aircraft 131 can be an ADS-B, Mode S transponder, and / or other transponder system. The interrogator system can have an omnidirectional antenna and / or a directional antenna (interrogator system antenna). The interrogator system antenna can transmit / receive signals to transmit / receive interrogation messages and to transmit / receive identification messages. For example, in response to receiving an interrogation message, the interrogator system can obtain an identifier of the aircraft 131 and / or transponder aircraft data (e.g., speed, position, orbit, etc.) of the aircraft 131, e.g., from the onboard vehicle navigation system 314; and transmit an identification message. Conversely, the interrogator system can transmit an interrogation message to nearby aircraft; and receive an identification message. The one or more transponders 308 can send messages to the vehicle management computer 302 to report interrogation messages and / or identification messages received / transmitted to it from other aircraft and / or ground stations 215. As discussed above, the interrogation message can include an identifier of the interrogator system (in this case, the aircraft 131), a request for nearby aircraft to transmit an identification message, and / or transponder aircraft data (e.g., speed, position, orbit, etc.) of the aircraft 131 (different from the above); the identification message can include an identifier of the aircraft 131 and / or transponder aircraft data of the aircraft 131.
[0048] The edge sensors 312 on the structure 346 of the aircraft 131 can be sensors to detect various environmental and / or system state information. For example, some of the edge sensors 312 can monitor discrete signals, such as edge sensors on seats (e.g., occupied or unoccupied), doors (e.g., closed or unclosed), etc. of the aircraft 131. Some of the edge sensors 312 can monitor continuous signals, such as edge sensors on tires (e.g., tire pressure), brakes (e.g., engaged or unengaged, amount of wear, etc.), passenger cabin (e.g., cabin air pressure, air composition, temperature, etc.), support structures (e.g., deformation, strain, etc.), etc. of the aircraft 131. The edge sensors 312 can transmit edge sensor data to the vehicle management computer 302 to report the discrete signals and / or continuous signals.
[0049] The power system 378 can include one or more battery systems, fuel cell systems, and / or other chemical power systems to power the actuation system 360 and / or the general vehicle systems. In one aspect of the disclosure, the power system 378 can be a battery pack. The power system 378 can have various sensors to detect one or more of temperature, remaining fuel / charge, discharge rate, etc. (collectively, power system data 348). The power system 378 can transmit the power system data 348 to the vehicle management computer 302 so that a power system state 350 (or battery pack state) can be monitored by the vehicle state / health program 352.
[0050] The actuation system 360 can include motors, engines, and / or thrusters for generating thrust, lift, and / or directional force for the aircraft 131; flaps or other surface controls for augmenting the thrust, lift, and / or directional force of the aircraft 131; and / or aircraft mechanical systems (e.g., for deploying landing gear, windshield wipers, signal lights, etc.). The vehicle management computer 302 can control the actuation system 360 by transmitting instructions, and the actuation system 360 can transmit feedback / current state of the actuation system 360 (which can be referred to as actuation system data) to the vehicle management computer 302, in accordance with the flight control program 370.
[0051] The camera 316 can include an inferential or optical camera, LIDAR, or other vision imaging system to record the internal or external environment of the aircraft 131. The camera 316 can obtain inferential images; optical images; and / or LIDAR point cloud data, or any combination thereof (collectively, “imaging data”). The LIDAR point cloud data can include coordinates (which can include, for example, position, intensity, time information, etc.) for each data point received by the LIDAR. The camera 316 and / or the vehicle management computer 302 can include machine vision functionality. The machine vision functionality can process the obtained imaging data to detect objects, locations of detected objects, velocities / rates (relative and / or absolute) of detected objects, sizes and / or shapes of detected objects, etc. (collectively, “machine vision output”). For example, the machine vision functionality can be used to image a landing zone to confirm that the landing zone is clear / unobstructed (landing zone (LZ) status 362). Additionally or alternatively, the machine vision functionality can determine whether the physical environment (e.g., buildings, structures, cranes, etc.) around and / or on / near the route 141 is or will be within a safe flight envelope of the aircraft 131 (e.g., based on the location, velocity, flight plan of the aircraft 131). The imaging data and / or machine vision output can be referred to as “imaging output data.” The camera 316 can transmit the imaging data and / or machine vision output of the machine vision functionality to the vehicle management computer 302. The camera 316 can determine whether elements detected in the physical environment are known or unknown based on obstacle data stored in the obstacle database 356, such as by determining a location of a detected object and determining whether an obstacle in the obstacle database has the same location (or within a defined distance range). The imaging output data can include any obstacles determined to not be in the obstacle data of the obstacle database 356 (unknown obstacle information).
[0052] The GPS system 354 can include one or more global navigation satellite system (GNSS) receivers. The GNSS receiver can receive signals from the Global Positioning System (GPS) developed by the United States, the Global Navigation Satellite System (GLONASS) developed by Russia, the Galileo system developed by the European Union, and / or the BeiDou system developed by China, or other global or regional satellite navigation systems. The GNSS receiver can determine positioning information of the aircraft 131. The positioning information can include information about one or more of a location of the vehicle (e.g., latitude and longitude, or Cartesian coordinates), an altitude, a velocity, a heading, or an orbit, etc. The GPS system 354 can transmit the positioning information to the onboard vehicle navigation system 314 and / or the vehicle management computer 302.
[0053] The onboard vehicle navigation system 314 can include one or more radars, one or more magnetometers, an attitude heading reference system (AHRS), and / or one or more air data modules. The one or more radars can be a weather radar for scanning weather and / or a lightweight digital radar (such as a DAPA radar (omni and / or directional)) for scanning terrain / ground / objects / obstacles. The one or more radars can obtain radar information. The radar information can include information about local weather and terrain / ground / objects / obstacles (e.g., aircraft or obstacles and associated locations / movements). The one or more magnetometers can measure magnetic forces to obtain heading information of the aircraft 131. The AHRS can include sensors (e.g., three sensors on three axes) to obtain attitude information of the aircraft 131. The attitude information can include roll, pitch, and yaw of the aircraft 131. The air data module can sense external air pressure to obtain airspeed information of the aircraft 131. The radar information, the heading information, the attitude information, the airspeed information, and / or the positioning information (collectively, navigation information) can be transmitted to the vehicle management computer 302.
[0054] The weather program 322 can use the communication system 306 to transmit and / or receive weather information from one or more of the weather information services 318. For example, the weather program 322 can obtain local weather information from weather radar and onboard vehicle navigation systems 314, such as an air data module. The weather program can also transmit requests for weather information 320. For example, the request can be for weather information 320 along the route 141 of the aircraft 131 (route weather information). The route weather information can include information about precipitation, wind, turbulence, storms, cloud cover, visibility, etc. along / near the flight path, at the destination and / or departure location (e.g., one of the central hubs 111-117), or for a general area surrounding the flight path, destination location, and / or departure location of the aircraft 131. One or more of the weather information services 318 can transmit a response including the route weather information. Additionally or alternatively, one or more of the weather information services 318 can transmit an update message to the aircraft 131 including the route weather information and / or updates to the route weather information.
[0055] The D / S&A program 334 can use one or more transponders 308 and / or the pilot / user interface 324 to detect and avoid objects that can pose a potential threat to the aircraft 131. For example, the pilot / user interface 324 can receive user input (or radar / imaging detection) from a pilot and / or user of the vehicle 310 to indicate detection of an object; the pilot / user interface 324 (or radar / imaging detection) can transmit the user input (or radar or imaging information) to the vehicle management computer 302; the vehicle management computer 302 can invoke the D / S&A program 334 to perform an object detection process 328 to determine whether the detected object is a non-cooperative object 332 (e.g., it is a non-cooperative aircraft that does not participate in transponder communications); optionally, the vehicle management computer 302 can determine a location, velocity, orbit of the non-cooperative object 332 (non-cooperative object information) such as by radar tracking or image tracking; responsive to determining that the object is a non-cooperative object 332, the vehicle management computer 302 can determine an action process such as instructing the flight control program 370 to avoid the non-cooperative object 332. As another example, one or more transponders 308 can detect an intruding aircraft (such as the intruding aircraft 230) based on an identification message from the intruding aircraft; the one or more transponders 308 can transmit a message to the vehicle management computer 302 that includes the identification message from the intruding aircraft; the vehicle management computer 302 can extract an identifier and / or transponder aircraft data from the identification message to obtain an identifier and / or velocity, location, orbit, etc. of the intruding aircraft; the vehicle management computer 302 can invoke the D / S&A program 334 to perform a location detection process 326 to determine whether the detected object is a cooperative object 330 and its location, velocity, heading, orbit, etc.; responsive to determining that the object is a cooperative object 330, the vehicle management computer 302 can determine an action process such as instructing the flight control program 370 to avoid the cooperative object 330. For example, the action process can be different or the same for non-cooperative and cooperative objects 330 / 332 according to rules based on regulations and / or scenarios.
[0056] The flight routing program 344 can use the communication system 306 to generate / receive flight plan information 338 and receive system vehicle information 336 from the cloud service 205. The flight plan information 338 can include a departure location (e.g., one of the hub centers 111-117), a destination location (e.g., one of the hub centers 111-117), intermediate locations (if any) between the departure location and the destination location (e.g., waypoints or one or more of the hub centers 111-117), and / or one or more routes 141 to use (or not use). The system vehicle information 336 can include other aircraft positioning information of other aircraft relative to the aircraft 131 (referred to as the “receiving aircraft 131” for reference). For example, the other aircraft positioning information can include positioning information of other aircraft. The other aircraft can include: all of the aircraft 131-133 and / or the intrusive aircraft 230; the aircraft 131-133 and / or the intrusive aircraft 230 within a threshold distance of the receiving aircraft 131; the aircraft 131-133 and / or the intrusive aircraft 230 using the same route 141 as the receiving aircraft (or will use the same route 141 or cross the same route 141); and / or the aircraft 131-133 and / or the intrusive aircraft 230 within the same geographic region (e.g., a city, a town, a metropolitan area, or a sub-division thereof) as the receiving aircraft.
[0057] The flight routing program 344 can determine or receive a planned flight path 340. The flight routing program 344 can receive the planned flight path 340 from another aircraft 131 or the cloud service 205 (or other service, such as an operations service of the aircraft 131). The flight routing program 344 can determine the planned flight path 340 using various planning algorithms (e.g., flight planning services on or off the aircraft 131), aircraft constraints of the aircraft 131 (e.g., cruise speed, maximum speed, maximum / minimum altitude, maximum range, etc.), and / or external constraints (e.g., restricted airspace, noise reduction zones, etc.). The planned / received flight path can include a flight trajectory with 4-D coordinates, a waypoint-based flight path, any suitable flight path for the aircraft 131, or a 4-D trajectory of any combination thereof, depending on the flight plan information 338 and / or the system vehicle information 336. The 4-D coordinates can include 3-D coordinates (e.g., latitude, longitude, and altitude) of a space of the flight path and a time coordinate.
[0058] The flight route selection program 344 can be triggered based on the planned flight path 340 and an unplanned event and determine the unplanned flight path 342 using various planning algorithms, aircraft constraints of the aircraft 131, and / or external constraints. The vehicle management computer 302 can determine the unplanned event trigger based on data / information received by the vehicle management computer 302 from other vehicle systems or from the cloud service 205. The unplanned event trigger can include one or a combination of: (1) an emergency landing, as indicated by the vehicle status / health program 352 discussed below, or user input to one or more of the displays 304 and / or the pilot / user interface 324; (2) an intruding aircraft 230, a cooperating object 330, or a non-cooperating object 332 that intrudes on the safe flight envelope of the aircraft 131; (3) a weather change indicated by route weather information (or updates thereto); (4) machine vision output indicating that a portion of the physical environment is or will be within the safe flight envelope of the aircraft 131; and / or (5) machine vision output indicating that a landing zone is blocked.
[0059] The planned flight path 340 / the unplanned flight path 342 and other aircraft positioning information can be collectively referred to as flight plan data.
[0060] The vehicle status / health program 352 can monitor the status / health of the vehicle systems and perform actions based on the monitored status / health, such as periodically reporting the status / health, indicating an emergency, etc. The vehicle can obtain edge sensor data and power system data 348. The vehicle status / health program 352 can process the edge sensor data and power system data 348 to determine the status of the power system 378 and various structures and systems monitored by the edge sensors 312 and / or track the health of the power system 378 and structures and systems monitored by the edge sensors 312. For example, the vehicle status / health program 352 can obtain the power system data 348; determine the battery status 350; and perform actions based thereon, such as reducing consumption of non-essential systems, reporting the battery status, etc. The vehicle status / health program 352 can determine an emergency landing condition based on one or more of the power system 378 and the structures and systems monitored by the edge sensors 312 having a status that indicates that the power system 378 and structures and systems monitored by the edge sensors 312 have failed or will soon fail. Further, the vehicle status / health program 352 can transmit the status / health data to the cloud service 205 as status / health messages (or as part of other messages to the cloud service). The status / health data can include the actuation system data, all of the edge sensor data and / or power system data (portions thereof), a summary of the edge sensor data and power system data, and / or system status indicators (e.g., operating normally, reduced wear, inoperable, etc.) based on the edge sensor data and power system data.
[0061] The flight control program 370 can control the actuation system 360 according to the unplanned flight path 342 / planned flight path 340, other aircraft positioning information, control laws 358, navigation rules 374, and / or user input (e.g., if the aircraft 131 is a pilot-driven or semi-autonomous vehicle, by a pilot). The flight control program 370 can receive the planned flight path 340 / unplanned flight path 342 and / or user input (collectively, “the route”) and determine inputs to the actuation system 360 to change the speed, heading, attitude of the aircraft 131 to match the route based on the control laws 358 and the navigation rules 374. The control laws 358 can specify a range of possible actions for the actuation system 360 and map the inputs to the range of actions to achieve the route by, for example, the physics of flight of the aircraft 131. The navigation rules 374 can indicate acceptable actions based on the location, waypoints, portions of the flight path, the environment, etc. (collectively, “the situation”). For example, the navigation rules 374 can indicate a minimum / maximum altitude, a minimum / maximum speed, a minimum separation distance, a heading or a range of acceptable headings, etc. for a given situation.
[0062] The vertiport state program 372 can control the aircraft 131 during takeoff (by executing the takeoff process 364) and during landing (by executing the landing process 366). The takeoff process 364 can determine whether the landing zone from which the aircraft 131 will depart and the flight environment during ascent are clear (e.g., based on the control laws 358, the navigation rules 374, imaging data, obstacle data, the unplanned flight path 342 / planned flight path 340, other aircraft positioning information, user input, etc.) and control the aircraft or direct a pilot to complete the ascent (e.g., based on the control laws 358, the navigation rules 374, imaging data, obstacle data, flight plan data, user input, etc.). The landing process 366 can determine whether the landing zone in which the aircraft 131 will land and the flight environment during descent are clear (e.g., based on the control laws 358, the navigation rules 374, imaging data, obstacle data, flight plan data, user input, landing zone state, etc.) and control the aircraft or direct a pilot to complete the descent (e.g., based on the control laws 358, the navigation rules 374, imaging data, obstacle data, flight plan data, user input, landing zone state, etc.).
[0063] One or more data storage systems can store data / information received, generated, or obtained on the aircraft. One or more data storage systems can also store software for one or more computers on the aircraft.
[0064] Block diagram 300B can be the same as block diagram 300A, but block diagram 300B can omit pilot / user interface 324 and / or one or more displays 304, and include a vehicle position / velocity / altitude system 376. Vehicle position / velocity / altitude system 376 can or can not include on-board vehicle navigation system 314 and / or GPS system 354 discussed above. In the case where vehicle position / velocity / altitude system 376 does not include on-board vehicle navigation system 314 and / or GPS system 354, vehicle position / velocity / altitude system 376 can obtain navigation information from cloud services 205.
[0065] Figure 4 An exemplary system 400 for distributed avionics processing is shown in accordance with one or more embodiments. System 400 for distributed avionics processing can be the same as system 200 shown in FIG. 2, except that system 400 shows how aircraft 131 / vehicle 405, edge node 410, and cloud services 205 (hereinafter “cloud node 205”) distribute avionics / vehicle processing to operate aircraft 131 / vehicle 405. Aircraft 131 / vehicle 405, edge node 410, and cloud node 205 can each host functions of aircraft 131. As such, vehicle 405 can include all of the features of aircraft 131 discussed above (while offloading some / all data storage and / or some / all non-essential local processing functions, e.g., processing capacity savings, memory savings, and / or redundancy), or include less physical / software infrastructure, and rely on offloaded processes to provide corresponding functionality. Figure 2
[0066] In particular, system 400 can show partitioning and hosting of avionics applications on low-latency wireless networks, such as 5G networks, by offloading computation, storage, and other data functions to processing entities on the edge of wireless mobile networks, such as edge node 410. This approach to partitioning and hosting avionics applications can have the advantage of reducing resource requirements (energy, payload, timing, and processing budget) on weight-constrained vehicles for urban air mobility, such as aircraft 131 or vehicle 405.
[0067] Onboard GNSS, inertial navigation systems (IRS), vision sensors (e.g., cameras, LiDAR, etc.), and radio aids (e.g., transponders, radar, etc.) help with situational awareness and help keep the safety of the aircraft, such as aircraft 131 and / or vehicle 405. Current pilot-driven systems have onboard line replaceable units (LRUs) to process these inputs and help the pilot ensure safety in aviation and navigation. However, for UAMs, as described above, the space / weight / power of the aircraft, such as aircraft 131 and / or vehicle 405, can be limited. Therefore, to maintain situational awareness and safety, the UAM vehicle can host minimal sensors and computing devices on the aircraft 131 / vehicle 405 and use high-speed low-latency wireless communication to perform processing activities on the edge node 410.
[0068] Furthermore, due to the expected automation and reduced human intervention in managing UAM-type systems, the capacity of current aviation radios can be severely limited. For example, both the control system on the ground and the pilot system on the aircraft are expected to consume large amounts of navigation / payload / sensor data to make decisions and maintain safety. However, the edge node 410 can provide the required capacity and other capabilities to support sensor-data-driven avionics applications. In addition to high data throughput, the capabilities of the edge node 410 to provide ultra-reliable low-latency connectivity (URLLC) and edge cloud computing can enable the partitioning of the functions of the aircraft 131 / vehicle 405.
[0069] In one aspect of the disclosure, the UAM vehicle, such as aircraft 131 / vehicle 405, can offload certain functions to the edge node 410 or the cloud node 205. For example, the aircraft 131 / vehicle 405 can include (or only include) the actuation system 360 (discussed above with respect to Figures 3A-B the sensors / payload. The aircraft 131 / vehicle 405 can only host the most time-critical functions, such as sensor / payload data management logic and control logic. The edge node 410 can host relatively slower but tightly coupled processing, such as vehicle management logic, traffic management logic, mission planning logic, navigation logic, etc. The cloud node 205 can host applications that can tolerate larger latencies, such as mission payload logic, analytics logic, etc. Furthermore, the edge node 410 can also host traffic management logic, such as the traffic management logic currently performed by air traffic control (ATC) of multiple aircraft 131 / vehicles 405.
[0070] In cases where the vehicle 405 includes less physical infrastructure / software infrastructure than the aircraft 131, the vehicle 405 can include (or include only) a GNSS receiver system 405A, a processor executing a distributed processing program to perform a distributed processing process, a sensor payload 405C, and a communication system 405D. The processor can be part of the GNSS receiver system 405A and / or the communication system 405D, or the processor can be separate from the GNSS receiver system 405A and / or the communication system 405D.
[0071] The GNSS receiver system 405A can perform the same functions as the GPS system 354 discussed above. For example, the GNSS receiver system 405A can receive signals from one or more GNSS satellites; and determine a location of the vehicle 405. In addition, the GNSS receiver system 405A or a processor of the vehicle 405 can determine GNSS signal strengths based on the received GNSS signals.
[0072] According to sensor / payload data management logic, the processor of the vehicle 405 can store flight data 405B in memory. The flight data 405B can be stored in memory for a flight data buffer period. The flight data buffer period can be: a set period of time, such as a day, an hour or hours, a minute or minutes, or seconds; an entire flight or a segment thereof, such as between waypoints; more than one flight, etc. The flight data 405B can include the received GNSS signals and / or the determined locations. If the vehicle 405 has corresponding components, the flight data 405B can also include other flight-related data derived from the GNSS signals (e.g., signal strengths, velocity, speed, acceleration, altitude, etc.) and / or navigation information from the on-board vehicle navigation system 314 (or components thereof).
[0073] The sensor payload 405C can be any one or more of the vehicle systems discussed above with respect to the Figures 3A-B The sensor payload 405C can obtain payload data from one or more of the vehicle systems. According to sensor / payload data management logic, the processor of the vehicle 405 can store the payload data on-board the vehicle 405 in memory. The payload data can be stored in memory for a payload buffer period. The payload buffer period can be the same as or different from the flight data buffer period discussed above.
[0074] According to the sensor / payload data management logic, the processor of the vehicle 405 can store flight data 405B and payload data onboard the vehicle 405 during a flight data buffering period and a payload buffering period, respectively, and then control the communication system 405D to transmit the stored flight data 405B / stored payload data to the edge node 410 and / or the cloud node 205 (depending on, for example, the type of data). For example, the transmission of the stored flight data 405B / stored payload data can be a data message to the edge node 410.
[0075] The communication system 405D can perform the same functions as the communication system 306 discussed above. The communication system 405D can use general wireless standards such as Wi-Fi or preferably 5G to communicate wirelessly with one or more edge nodes 410.
[0076] In general, according to the control logic, the vehicle 405 can control the actuation system 360 according to control instructions from the edge node 410. The control instructions can be transmitted as control messages from the edge node 410. For example, the control instructions can indicate a velocity, an altitude, an orientation, etc., or the control instructions can indicate a next GPS location. For example, the control logic can determine whether a current velocity / orientation / altitude of the vehicle 405 matches (or is within a threshold of) a control velocity / orientation / altitude of the control message; in response to the current velocity / orientation / altitude of the vehicle 405 matching (or being within a threshold of) the control velocity / orientation / altitude of the control message, maintain the vehicle state; and in response to the current velocity / orientation / altitude of the vehicle 405 not matching (or not being within a threshold of) the control velocity / orientation / altitude of the control message, change the vehicle state to match (or be within a threshold of). Likewise, the control logic can determine whether a current GPS position of the vehicle 405 matches (or is within a threshold of) a control GPS position of the control message; in response to the current GPS position of the vehicle 405 matching (or being within a threshold of) the control GPS position of the control message, maintain the vehicle state; and in response to the current GPS position of the vehicle 405 not matching (or not being within a threshold of) the control GPS position of the control message, change the vehicle state to match (or be within a threshold of).
[0077] The control instructions can be dynamically generated by a control entity and sent to the vehicle 405. The control entity can be a currently connected edge node 410 or an edge node 410 / backbone node that has control over the vehicle 405; thus, in general, it should be understood that when the present disclosure refers to instructions from an edge node, it should be understood that the control entity generates and sends the control instructions, and one or more edge nodes 410 relay the control instructions to the vehicle 405.
[0078] The edge nodes 410 can be one or more communication stations 210 and / or one or more ground stations 215 (or a communication station 210 combined with a ground station 215). Each edge node 410 can include an edge cloud 410A and a node 410B. Generally, the edge nodes 410 can be connected to each other directly and / or indirectly via backbone network nodes. The backbone network nodes can be nodes at a higher layer of communication than the edge nodes 410 that interact with end user devices, such as the vehicles 405. In one aspect of the disclosure, the backbone nodes can operate as cloud edges 410A for the edge nodes 410, and the edge nodes 410 can not have cloud edges 410A. For example, the backbone nodes can perform a “C-RAN (Centralized Radio Access Network)” for edge nodes 410 that have only radios / antennas, while the backbone nodes can host avionics functions and baseband signal processing.
[0079] The node 410B can control communications with the vehicle 405, such as: (1) receiving messages from the vehicle 405 and relaying the messages to the cloud node 205; (2) receiving messages from the vehicle 405 and relaying the messages to the edge cloud 410A; (3) receiving messages from the cloud node 205 and relaying the messages to the vehicle 405; and (4) receiving messages from the edge cloud 410A and relaying the messages to the vehicle 405. The node 410B can also control communications with other edge nodes 410 and / or the cloud node 205, such as: (1) receiving messages from another edge node 410 and relaying the messages to the edge cloud 410A; (2) receiving messages from the edge cloud 410A and relaying the messages to another edge node 410; (3) receiving messages from the cloud node 205 and relaying the messages to the edge cloud 410A; and (4) receiving messages from the edge cloud 410A and relaying the messages to the cloud node 205.
[0080] The edge cloud 410A can execute edge cloud functions 415 for the aircraft 131 / vehicle 405. For example, the edge cloud functions 415 can include a management function 415A, a situational awareness function 415B, a weather data function 415C, and / or an ATC transmission function 415D.
[0081] The situational awareness function 415B can execute situational awareness logic. The situational awareness function 415B can combine relevant contextual information (e.g., aircraft 131 / vehicle 405 health (based on data collected by the vehicle state / health program 352, although the vehicle 405 can not host any analysis of the vehicle state / health program 352), power level, flight / route plan, traffic level, etc.) and provide the contextual information to the management function 415A.
[0082] The weather data function 415C can execute weather data logic. The weather data function 415C can determine weather information (e.g., local / area weather conditions / future weather conditions) and provide the weather information to the management function 415A (rather than the vehicle 405 hosting the weather program 322). Figures 3A-B
[0083] The ATC transmission function 415D can execute traffic management logic. The ATC transmission function 415D can determine ATC information (e.g., locations of known aircraft 131 / vehicles and conflicting aircraft / spacing between them, e.g., based on ADS-B transmissions / scans from one or more ground stations 215) and provide the ATC information to the management function 415A (rather than the vehicle 405 hosting the detection / sensing and avoidance (D / S&A) program 334 (in whole or in part)). Figures 3A-B
[0084] The management function 415A can receive ATC information from the ATC transmission function 415D, weather information from the weather data function 415C, and / or context information from the situational awareness function 415B. The management function 415A can also receive location information reported in location messages from the vehicle 405 (e.g., based on the GNSS receiver system 405A). In response to receiving the various above-mentioned information (or periodically), the management function 415 can execute management logic, mission planning logic, and navigation logic. The mission planning logic can execute the flight route program 344 described above Figures 3A-B to generate / manage flight plan data, such that the vehicle 405 does not have to host this logic. The navigation logic can execute the flight control program 370 and the vertical takeoff and landing airport state program 372 described above Figures 3A-B to determine control instructions for the vehicle 405, such that the vehicle 405 does not have to host this logic. The management logic can receive control instructions for each vehicle 405 controlled by the edge node 410 generated by the navigation logic; cross-check the control instructions for each vehicle 405 controlled by the edge node 410 so that no conflicts occur; generate control messages to be broadcast to the vehicles 405; and transmit these control messages individually or as broadcast messages. The management logic can also cross-check the control instructions against an operational ceiling and terrain / obstacle database to ensure that the vehicle 405 operates with a safe / object-free trajectory. For example, the edge node 410 can perform real-time computation and transmission of control messages (e.g., optimal paths for each aircraft 131 / vehicle 405). For example, the optimal paths can take into account the situational context of different destinations for different vehicles 405. In one aspect of the disclosure, the edge node 410 can be a waypoint on a defined UAM airpath, such as the route 141, such that the edge node 410 can be positioned along a flight route of the aircraft 131 / vehicle 405.
[0085] For example, the vehicle 405 can transmit key flight and navigation parameters (e.g., GPS position and environmental data, such as weather or obstacle detection performed by the camera 316) in real-time to the edge node 410. The edge node 410 can perform the above-mentioned logic and transmit the decision / direction back to the vehicle 405. The vehicle 405 can then execute the decision / direction.
[0086] In one aspect of the disclosure, the edge node 410 as the control entity can be: the closest edge node 410 (e.g., based on GPS position); the edge node 410 with the smallest round-trip delay; the edge node 410 with the most available processing capacity (but still close enough to the vehicle 405 to be attached). This can enable, for example, the smallest round-trip delay and / or processing time (or total time) for data to be transmitted, processed, and received back as intelligent navigation and safety information.
[0087] In another aspect of the disclosure, the control entity can be one or more edge nodes 410, or one or more edge nodes 410 can host relevant information (state information of the particular vehicle 405) and pass responsibility between edge nodes 410 as the control entity as the vehicle 405 moves. The state information can be information of the particular vehicle 405, such as received payload data, flight data 405B, associated health / power, etc. For example, the state information can be shared between adjacent edge nodes 410 (e.g., in the intended direction of the vehicle 405 (based on flight plan, speed, and time) or within a threshold distance around the current control entity) and communicated to the aircraft 131 / vehicle 405.
[0088] For example, the control entity can be aware of the route 131 the vehicle 405 is using, other adjacent edge nodes 410, and the state of the traffic vehicle 405. In a connection handoff, the onboard modem of the communication system 405D can evaluate link quality (e.g., based on received signal strength indication (RSSI)) to multiple nearby edge nodes 410; and attach to the edge node 410 with the best signal-to-noise ratio (SNR). For a handoff of computing tasks, the control entity and adjacent edge nodes 410 can be notified (by the vehicle 405) or estimate an upcoming transition between edge nodes 410; and facilitate an exchange of state information.
[0089] A nominal case can be when the onboard modem of the communication system 405D connects to a radio access network (RAN) base station with the best SNR, which can be located on the closest edge node 410. The closest edge node 410 can be determined as the control entity and host the avionics functions of the vehicle 405.
[0090] In another aspect of the disclosure, the vehicle 405 can access and reference a list of nearby edge nodes 410; and select an appropriate edge node 410 that can host avionics functions of the vehicle 405. In this case, the vehicle 405 can transmit a request to the selected edge node 410.
[0091] The cloud node 205 can perform functions of the cloud service 205 discussed above. For example, the cloud node 205 can perform a cloud function 420. The cloud function 420 can include a payload data function 420A, a data analysis function 420B, and / or a customer API function 420C.
[0092] The payload data function 420A can store payload data received from the vehicle 405 via the edge node 410 that is not sent to / hosted on the edge node 410. For example, the payload data that is not sent to / hosted on the edge node 410 can not be mission critical / safety critical, such as long-term location tracking or maintenance data, or data that is no longer relevant to the edge node 410 for the current operation of the vehicle 405 (e.g., from last week’s edge sensors 312 of the vehicle 405, etc.). The data analysis function 420B can analyze the payload data that is not sent to / hosted on the edge node 410 to generate traffic reports, maintenance, efficiency reports, etc. The customer API function 420C can manage communications to / from relevant users of the vehicle 405, such as receiving messages to ground the vehicle 405 so that the relevant user can perform maintenance or provide access to the data analysis function 420B.
[0093] Turning to the distributed processing procedure, the vehicle 405, in executing the distributed processing procedure, can determine whether one of a first set of trigger conditions, one of a second set of trigger conditions, or one of a third set of trigger conditions is satisfied; responsive to determining that a first trigger condition of the first set of trigger conditions is satisfied, execute a first process corresponding to the first trigger condition on-board the vehicle 405; responsive to determining that a second trigger condition of the second set of trigger conditions is satisfied, prompt a second process corresponding to the second trigger condition by transmitting an edge request to an edge node 410 and receiving an edge response from the edge node 410; and responsive to determining that a third trigger condition of the third set of trigger conditions is satisfied, prompt a third process corresponding to the third trigger condition by transmitting a cloud request to a cloud service 205 (hereinafter “cloud node 205”) and receiving a cloud response from the cloud node 205.
[0094] The first set of trigger conditions can include: receiving control instructions from the edge node 410 (to initiate control actions in accordance with control logic); receiving data from the GNSS receiver system 405A (to be processed, stored, and transmitted to the edge node 410 in accordance with sensor / payload data management logic); and receiving data from the sensor payload 405C (to be processed, stored, and transmitted to the edge node 410 in accordance with sensor / payload data management logic). The second set of trigger conditions can include: (1) the end of a flight data buffer period and a payload buffer period for a type of data to be reported to the edge node 410; and (2) an impending transition trigger condition for a handoff between edge nodes 410. The third set of trigger conditions can include: the end of a flight data buffer period and a payload buffer period for a type of data to be reported to the cloud node 205. For example, the position, velocity, heading, altitude, etc. of the vehicle 405 can be a type of data to be reported to the edge node 410, while data from the edge sensor 312 of the aerial vehicle 131 / vehicle 405 can be a type of data to be reported to the cloud node 205. In response to determining a third trigger condition in the third set of trigger conditions (for various payload data), the vehicle 405 can transmit a payload data offload message to transmit corresponding data to the cloud node 205. The impending transition trigger condition can be based on a comparison of SNRs of multiple edge nodes 410, and the trigger condition can be satisfied and the vehicle 405 can transmit an impending transition message to the edge node 410 due to the SNR of a second edge node 410 being superior to the SNR of the currently attached edge node 410, being the same as the SNR of the currently attached edge node 410, and / or being within a threshold distance of the SNR of the currently attached edge node 410. Generally, the various payload data types to be reported to the cloud node 205 can have different types of payload buffer periods or the same payload buffer period. For example, the payload buffer period for the various payload data types to be reported to the cloud node 205 can be short (e.g., 5, 10, 15 seconds) such that the various payload data types to be reported to the cloud node 205 do not use a large amount of buffer space in memory.
[0095] The second set of trigger conditions can also include one or more of: (1) a regular heartbeat (e.g., timer) trigger condition that triggers transmission of sensor data to the edge node 410; (2) a weather radar, DAPA, vision trigger condition that triggers transmission of corresponding data from the weather radar, DAPA, or vision system when one of them detects external conditions that can require a decision for controlling action; (3) a detection trigger condition that triggers transmission when a sensor input condition crosses a static or dynamic threshold to alert other relevant systems; (4) an augmentation trigger condition that triggers transmission including data to the edge node 410 when the vehicle 405 has data that should be augmented by some context-specific or location-specific remote database information (e.g., location- or time-specific weather or air traffic information); (5) an expired data trigger condition that triggers transmission of a message to update cached data when current data for the vehicle 405 that has been cached at the edge node 410 is expired (e.g., has not been updated for a cache time period); and / or (6) a query trigger condition that triggers data collection and transmission of fresh sensor information to a control entity when a query (received by the edge node 410) initiated by the control entity requests fresh sensor information.
[0096] Further, each of the first set of trigger conditions, the second set of trigger conditions, and the third set of trigger conditions can include a dynamic priority of trigger conditions that initiates on-board, edge, and cloud processing, respectively. For example, a distributed service for emergency management can provide information in normal flight, but can present the highest priority in emergency situations.
[0097] Further, the vehicle 405 can perform a differential process to override a trigger condition in the second set of trigger conditions and / or the third set of trigger conditions to transmit a message to another trigger condition in the second set of trigger conditions and / or the third set of trigger conditions (or an edge node 410 different from the current edge node 410 of the second set of trigger conditions). For example, the vehicle 405 can track previous transmissions and receptions of instructions to obtain historical data; obtain current system information (speed / bandwidth of nearby edge nodes 410 / cloud nodes 205 / etc.); and select one of the nearby edge nodes 410 or cloud nodes 205 to perform the service (based on the historical data and the current system information (cross-referenced based on the type of service to be rendered by the edge nodes 410 / cloud nodes 205)). The vehicle 405 can select one of the nearby edge nodes 410 or cloud nodes 205 such that the service can be processed faster and / or more efficiently than by another of the nearby nodes 410 or cloud nodes 205. For example, the cloud nodes 205 can have significantly more processing power than the edge nodes 410, and thus can be preferred to perform significant processing tasks on the cloud nodes 205.
[0098] Thus, generally, the distributed processing of the present disclosure can enable partitioning and hosting of avionics applications on low-latency wireless networks, such as 5G networks, by offloading computation, storage, and other data functions to processing entities on the edge of the wireless mobile network, such as the edge nodes 410. This approach to partitioning and hosting avionics applications can have the advantage of reducing resource requirements (energy, payload) on weight-constrained aircraft, such as the aircraft 131 or the vehicle 405, for urban air mobility.
[0099] Figure 5 An exemplary flow diagram for distributed avionics processing can be shown in accordance with one or more embodiments. The flow diagram 500 can show a distributed processing process as discussed above with respect to Figure 4 The flow diagram 500 can be performed by the aircraft 131 / vehicle 405.
[0100] The aircraft 131 / vehicle 405 can initiate the process of the flow diagram 500 to determine whether one (or more) of the first set of trigger conditions is satisfied (block 505). For example, the aircraft 131 / vehicle 405 can receive a control message from an edge node 410 as described above. In response to determining that one (or more) of the first set of trigger conditions (e.g., the first trigger condition) is satisfied (block 505: YES), the aircraft 131 / vehicle 405 can perform a first process corresponding to the first trigger condition on-board the aircraft 131 / vehicle 405 (block 510). The aircraft 131 / vehicle 405 can then proceed to determine whether one (or more) of the first set of trigger conditions is satisfied (block 505).
[0101] In response to determining that none of the first set of trigger conditions are satisfied (block 505: NO), the aircraft 131 / vehicle 405 can proceed to determine whether one (or more) of a second set of trigger conditions is satisfied (block 515). For example, the aircraft 131 / vehicle 405 can determine whether location information is to be transmitted to the edge node 410 when the flight data buffer period has ended or when an impending transition trigger condition has been satisfied, as described above. In response to determining that one (or more) of the second set of trigger conditions (e.g., a second trigger condition) is satisfied (block 515: YES), the aircraft 131 / vehicle 405 can prompt a second process corresponding to the second trigger condition by transmitting an edge request to the edge node 410 and receiving an edge response from the edge node 410 (block 520). For example, the aircraft 131 / vehicle 405 can transmit location information or an impending transition message to the edge node 410, as described above. The edge response can be an acknowledgement of receipt, such that the aircraft 131 / vehicle 405 can delete data or control messages from its memory (thus invoking, for example, the first trigger condition). The aircraft 131 / vehicle 405 can then proceed to determine whether one (or more) of the first set of trigger conditions is satisfied (block 505).
[0102] In response to determining that none of the second set of trigger conditions are satisfied (block 515: NO), the aircraft 131 / vehicle 405 can proceed to determine whether one (or more) of a third set of trigger conditions is satisfied (block 525). For example, the aircraft 131 / vehicle 405 can determine the end of a flight data buffer period and a payload buffer period for a type of data to be reported to the cloud node 205, as described above. In response to determining that one (or more) of the third set of trigger conditions (e.g., a third trigger condition) is satisfied (block 525: YES), the aircraft 131 / vehicle 405 can prompt a third process corresponding to the third trigger condition by transmitting a cloud request to the cloud node 205 and receiving a cloud response from the cloud node 205 (block 530). For example, the aircraft 131 / vehicle 405 can transmit a payload data offload message, as described above. The cloud response can be an acknowledgement of receipt, such that the aircraft 131 / vehicle 405 can delete data from its memory. The aircraft 131 / vehicle 405 can then proceed to determine whether one (or more) of the first set of trigger conditions is satisfied (block 505).
[0103] In response to determining that none of the third set of trigger conditions are satisfied (block 515: NO), the aircraft 131 / vehicle 405 can proceed to determine whether one (or more) of the first set of trigger conditions is satisfied (block 505).
[0104] Those skilled in the art will recognize that although the procedure is shown to be executed conditionally serially for each of the first, second, and third sets of trigger conditions, the procedure can also be executed in parallel without conditional linking between the first, second, and third sets of trigger conditions.
[0105] Figure 6 An exemplary system 600 for distributed avionics processing for assisted navigation, according to one or more embodiments, may be shown. The system 600 for distributed avionics processing for assisted navigation can be coupled with… Figure 2 The system 200 shown and Figure 4 The system shown is identical to system 400, except that system 600 illustrates how aircraft 131 / vehicle 405 / vehicle 605 and positioning service 610 distribute avionics / vehicle processing to provide auxiliary navigation data to aircraft 131 / vehicle 405 / vehicle 605. Aircraft 131 / vehicle 405 / vehicle 605 can work together to more accurately determine their position. This allows vehicle 605 to better navigate urban environments that typically have degraded GNSS signals. Vehicle 605 may include all the features of aircraft 131 discussed above (similarly, simultaneously taking some / all data storage and / or some / all non-essential local processing functions offline, e.g., processing power / memory savings and / or redundancy), or it may include features of vehicle 405 but with less physical / software infrastructure and rely on offline processes to provide the corresponding functionality.
[0106] In the case where vehicle 605 includes less physical / software infrastructure, vehicle 605 may include (or only include) navigation system 605A and sensor system 605B. Navigation system 605A may include onboard positioning system 605A-1, controller 605A-2, and / or auxiliary navigation system 605A-3. Sensor system 605B may include first sensor 605B-1, second sensor 605B-2, and / or third sensor 605B-3. A processor that executes auxiliary navigation processing (stored in memory) may be included in navigation system 605A (e.g., as controller 605A-2) or included in a separate component of vehicle 605. The auxiliary navigation processing may enable the processor of vehicle 605 to execute the auxiliary navigation process on the client side, while edge node 410 or cloud node 205 may execute the auxiliary navigation process on the node side.
[0107] The on-board positioning system 605A-1 can include a GNSS receiver system 405A and / or an IRS to determine a position based on GNSS signals integrated / corrected by inertial navigation methods. The controller 605A-2 can output a final position of control logic to control the vehicle 605 according to control instructions (as discussed below with respect to the navigation control process). The final position can be determined based on the on-board positioning system 605A-1 only (e.g., if GNSS signals are above a threshold); based on the on-board positioning system 605A-1 and output from the auxiliary navigation system 605A-3; based on output from the auxiliary navigation system 605A-3 only. The auxiliary navigation system 605A-3 can determine when and where to transmit a navigation assistance request message (or, for example, always send the message every set period of time).
[0108] Generally, the vehicle 605, when performing the client-side of the auxiliary navigation process, can: obtain reference data from one or a combination of the first, second, and third sensors of the vehicle 605; transmit a navigation assistance request message including the reference data to the edge node 410 or the cloud node 205; perform a navigation control process based on the determined position in response to receiving a resolved position message.
[0109] The first sensor of the vehicle 605 can be an imaging system, such as the camera 316. The second sensor of the vehicle can be an antenna system, such as the ADS-B or communication system 405D. The third sensor can be a radar system, such as one or more radars of the on-board vehicle navigation system 314. Generally, the first, second, and third sensors 605B-1, 605B-2, and 605B-3 can each have multiple sensors for each of the sensor types, respectively, such that the vehicle 605 can have built-in redundancy.
[0110] To obtain reference data from one or a combination of the first, second, and third sensors of the vehicle 605, the vehicle 605 can control, according to sensor / payload data management logic, the imaging system, antenna system, and / or radar system of the vehicle 605 to collect the reference data. The reference data can include: (1) one or more images from the camera 316 (as discussed above with respect to the imaging system 405B); (2) one or more ADS-B messages (as discussed above with respect to the antenna system 405D); and / or (3) one or more radar signals (as discussed above with respect to the radar system 405C). Figures 3A-B(2) ADS-B information indicating a location of a building, ground station, and / or other vehicle based on received ADS-B messages; (3) bearing information from one or more vehicle-mounted radars indicating a vector from the vehicle to one or more entities at different points in time (e.g., less than a threshold time difference); (4) beacon information based on beacon messages from a smart building / edge node 410 indicating a distance (based on, e.g., a phase encoding messaging format) and a location / location ID associated with a location received using the communication system 405D; and / or (5) distance information indicating distance readings for objects tracked by one or more radars.
[0111] The assisted navigation system 605A-3 of the vehicle 605 can determine whether the GNSS signal is below a threshold prior to transmitting the navigation assistance request message and in response to obtaining the reference data; and transmit the navigation assistance request message in response to determining that the GNSS signal is below the threshold (e.g., determining to send the request). Alternatively, the assisted navigation system 605A-3 of the vehicle 605 can determine whether the GNSS signal is below a threshold prior to transmitting the navigation assistance request message and prior to obtaining the reference data; and obtain the reference data in response to determining that the GNSS signal is below the threshold (e.g., determining to send the request if the reference data is obtained); and transmit the navigation assistance request message in response to obtaining the reference data.
[0112] The assisted navigation system 605A-3 can generate the navigation assistance request message; and transmit the navigation assistance request message to the edge node 410 or the cloud node 205. To generate the navigation assistance request message, the assisted navigation system 605A-3 can filter the reference data from a set time period (e.g., last 5 seconds or last 1 minute, etc.) in accordance with sensor / payload data management logic; combine the filtered reference data with a vehicle identification (ID); and instruct a communication system of the vehicle 605 (such as the communication system 405D) to transmit the filtered reference data combined with the vehicle ID.
[0113] The assisted navigation system 605A-3 can also determine where to send the request. For example, the assisted navigation system 605A-3 can determine to transmit an edge request and / or a cloud request to an edge node 410 or a cloud node 205 depending on the data type. For example, an edge node 410 can not host image processing for every known reference image, so the request can be sent to a cloud node 205. However, an edge node 410 can host reference images for buildings / structures within a threshold distance of the edge node 410, so if the vehicle location of the vehicle 605 is within the threshold distance of a particular edge node 410, the vehicle 605 can transmit an edge request. For example, a particular edge node 410 can be selected according to a selection scheme based on service value. The selected edge node 410 can host full image processing, while unselected edge nodes 410 can not host image processing or can host only partial image processing.
[0114] For example, an edge node 410 can perform: (1) triangulation and / or trilateration processing and related position processing; (2) full image processing, triangulation and / or trilateration processing, related position processing; or (3) partial image processing, triangulation and / or trilateration processing, related position processing. Full image processing can be used for all known reference images for a building / structure, while partial image processing can be used for known reference images for a building / structure within a threshold distance of the edge node 410. A cloud node 205 can perform: (1) full image processing, triangulation and / or trilateration processing, related position processing; or (2) partial image processing, triangulation and / or trilateration processing, related position processing. In the case of partial image processing by the cloud node 205, the cloud node 205 can use only a subset of all known reference images for a building / structure in the analysis (e.g., within a threshold time / distance of the last known time / location of the vehicle 605) in order to reduce processing time / processing capacity. The vehicle 605 can have an index associating edge nodes 410 with the processing that the edge nodes 410 are capable of performing. If the vehicle 605 is attached to an edge node 410, or is close enough to request another edge node 410 (directly or indirectly through an edge node to which it is attached), the vehicle 605 can determine the type of reference data in the filtered reference data; and select (from the index) the edge node 410 that can provide the most types of processing (based on the index), and / or select the cloud node 205 (e.g., in the case that none of the nearby edge nodes have full or partial image processing and the reference data has image data).
[0115] To perform the navigation control process based on the determined position (or, if more than one process determines the position, the resolved position in the resolved position message), if the positioning service is also the control entity, the vehicle 605 can determine the control entity based on the above with respect to Figures 4-5The discussed control logic continues to follow the previous control message (or, if the positioning service is also a control entity, the currently received control message, e.g., in a resolve position message, as described above with respect to Figures 4-5 .
[0116] The positioning service 610 can include an interface function 610A (e.g., an API interface / gateway that processes requests from the aircraft 131 / vehicle 405 / vehicle 605). The positioning service 610 can also execute one or more functions to determine a location of the vehicle 605. The one or more functions can include an image processing function 610B, a triangulation and / or trilateration function 610C, and a related position function 610D, which are described below with respect to Figures 7A-C . The interface function 610A can manage communications between the positioning service 610 and the vehicle 605. For example, the interface function 610A can act as an API interface / gateway that processes requests from the aircraft 131 / vehicle 405 / vehicle 605 and transmits responses to the aircraft 131 / vehicle 405 / vehicle 605.
[0117] The edge node 410 or the cloud node 205 (as the positioning service 610) can execute the node side of the ancillary navigation process. In executing the node side of the ancillary navigation process, the edge node 410 or the cloud node 205 can: responsive to receiving a navigation assistance request message from the vehicle 605, perform a position resolution process to determine a location of the vehicle 605 by one or more functions; and transmit a resolve position message including the determined location of the vehicle 605 to the vehicle 605.
[0118] To perform the position resolution process to determine a location of the vehicle 605 by one or more functions, the edge node 210 or the cloud node 205 can extract reference data and a vehicle ID from the received navigation assistance request message; determine whether the reference data includes one or more of: (1) one or more images; (2) ADS-B information; (3) bearing information; (4) beacon information; and / or (5) distance information.
[0119] The edge node 210 or the cloud node 205 can: responsive to reference data including ADS-B information (for entities with known locations, such as ground stations 215), bearing information, and / or beacon information, invoke a triangulation and / or trilateration process; responsive to reference data including ADS-B information and / or distance information, invoke a related position process; and responsive to reference data including one or more images, invoke image processing.
[0120] Figures 7A-C An exemplary system environment for distributed avionics processing for ancillary navigation can be shown in accordance with one or more embodiments. In particular,Figures 7A-C An illustrative system implementation is shown for explaining one or more functions used by the edge node 210 or the cloud node 205 to determine a location of the vehicle 605.
[0121] Turning to Figure 7A The trilateration and / or triangulation function 610C (performing a trilateration process) can: obtain ADS-B information (for entities with known locations, such as ground stations 215) and / or beacon information; obtain, from the ADS-B information (for entities with known locations, such as ground stations 215) and / or beacon information (or a reference database), locations 705A, 705B, 705C associated with the ADS-B information and / or beacon information for these entities; determine distances 705A-2, 705B-2, 705C-2 from the entities to the vehicle 605 for the ADS-B information and / or beacon information; and based on the locations 705A, 705B, 705C and distances 705A-2, 705B-2, 705C-2, trilaterate the location of the vehicle 605 using trilateration such as true range multilateration or pseudorange multilateration. The trilateration and / or triangulation function 610C (performing a trilateration process) can: obtain bearing information; and based on the bearing information determine a location using trilateration. For example, the bearing information can include vectors from the vehicle to the locations 705A, 705B, 705C of the entities at different points in time (e.g., within a threshold period of time). The vectors include an angle from a heading direction of the vehicle to the locations 705A, 705B, 705C at each of the different points in time. The trilateration and / or triangulation function 610C (performing a trilateration process) can select one or more (or all) of these vectors at different times; and determine the location of the vehicle based on changes in the angle between the different times and the locations 705A, 705B, 705C (to each of the entities). The trilateration and / or triangulation function 610C can: cross-check (e.g., confirm) the trilateration process with the trilateration process; cross-check the trilateration process with the trilateration process; average the locations determined by both the trilateration process and the trilateration process.
[0122] Alternatively or in addition, the smart buildings and / or edge nodes 410 can estimate distances to the aircraft 131 / vehicles 605 and report to the location service 610. Similarly, other aircraft 131 / vehicles 605 can also report distances to other aircraft 131 / vehicles 605 flying in their vicinity. Using the reported distances (and locations from the reporting entities with known locations), the location service 610 can trilaterate the location of each object (aircraft 131 / vehicle 605).
[0123] Further, the positioning service 610 can execute error detection and exclusion algorithms to identify faulty measurements to avoid inaccuracies. For example, a device can be excluded if the distance estimated by the device is wrong (e.g., if it is wrong, then all distances reported by that device will be wrong); the known location of the smart building / edge node 410 can be used as another technique to find errors when the determined location is different from the known location; if the distance to the known building / edge node 410 estimated by one of the aerial vehicles 131 / vehicles 605 is wrong, then that aerial vehicle / vehicle can be monitored and can be excluded after confirmation. Further, in the case where one aerial vehicle 141 / vehicle 605 can not be able to determine its own location (e.g., due to a fault), then other aerial vehicles 131 / vehicles 605 can determine the location of the faulty aerial vehicle for emergency rescue.
[0124] Turning to Figure 7B , the correlation location function 610D (executing correlation location processing) can: obtain ADS-B information and / or distance information; obtain locations 720A-1, 720B-1, 720C-1 for entities 720A, 720B, 720C, respectively; obtain distances 720A-2, 720B-2, 720C-2 between neighboring entities for each of the entities 720A, 720B, 720C; and determine a location of a vehicle 715 (in this case, a vehicle 605 that transmits a navigation assistance request message) based on the locations 720A-1, 720B-1, 720C-1 for the entities 720A, 720B, 720C, respectively, and the distances 720A-2, 720B-2, 720C-2 between neighboring entities for each of the entities 720A, 720B, 720C. For example, UAM vehicles can be ordered on a skyway (e.g., a route 131), and a location estimate of a vehicle 715 can be estimated by knowing the distance and location of a trailing or leading vehicle.
[0125] Turning to Figure 7C , the image processing function 610B (executing imaging processing) can: obtain one or more images 725, 730, and 735; and process an image of a known reference 730A; if the known reference 730A is found in an image (in this case, image 730), a known location of the known reference 730A can be obtained (e.g., by referring to a database and finding a corresponding location based on a known reference ID); a distance and orientation can be determined from the known reference 730A by performing image analysis on images before and after the image 730 in which the known reference 730A is detected; and a location of a vehicle 605 can be estimated based on the distance and the orientation.
[0126] For example, image processing function 610B can use urban structures and neural networks (e.g., deep learning) to match unique images of urban structures. For example, since UAM vehicles such as aircraft 131 / vehicle 605 can travel in a predetermined path (e.g., route 131), a neural network can learn to label specific buildings along route 131; as / after the neural network is trained, the neural network can indicate that an image of the one or more images contains a specific building along route 131. The respective location of the specific building can be retrieved based on the output of the neural network.
[0127] In another aspect of the disclosure, positioning service 610 can vote / filter (if more than one process is used to determine the location of vehicle 605). For example, to filter locations from determined locations, positioning service 610 can group determined locations that are within a threshold distance of each other; exclude outliers (e.g., determined locations that are not consistently within the threshold distance of other determined locations); and average the remaining determined locations. Alternatively, to vote, positioning service 610 can average determined locations with / without filtering to exclude outliers. For example, if there are three (or an odd number) processes for determining the location of vehicle 605 (e.g., corresponding sensors are able to obtain useful data), positioning service 610 can determine the median of the determined locations; if there are two (or an even number) processes for determining the location of vehicle 605 (e.g., corresponding sensors are able to obtain useful data), positioning service 610 can determine the average of the determined locations. Positioning service 610 can set the average / median location as the resolved location of vehicle 605; generate a resolved location message (which includes the resolved location and the vehicle ID); and transmit the resolved location message to vehicle 605. Further, positioning service 610 can also determine a health indicator of the resolved location, which indicates the confidence of the resolved location and / or the ability of the sensors to obtain useful data. For example, if a majority (e.g., three out of five, two out of three) of the sensors indicate that the determined locations are within a threshold of each other, positioning service 610 can determine the health indicator.
[0128] Thus, generally, the methods and systems of the present disclosure can enable the use of low-cost on-board navigation sensors, as these sensors can be aided by known references and images. Further, precise location information can be obtained in degraded GNSS signal areas by cross-referencing multiple data sources, thereby improving the margin of failure when using multiple means of aided navigation. Further, since the methods and systems of the present disclosure rely on the benefits of path planning in UAMs (with route 131), specific beacons and known references can be used and / or learned over time.
[0129] Figure 8An exemplary flow diagram for distributed avionics processing for assisted navigation can be shown in accordance with one or more embodiments. Flow diagram 800 can show an assisted navigation process as described above with respect to FIG. 6. Flow diagram 800 can be performed by aircraft 131 / vehicle 405 / vehicle 605 (e.g., blocks 805, 810, 830, and 835) and edge node 410 or cloud node 205 (e.g., blocks 815, 820, and 825). Aircraft 131 / vehicle 405 / vehicle 605 can initiate the processes of flow diagram 800 to obtain reference data from one or a combination of the vehicle’s imaging system, antenna system, and / or radar system (block 805). Figure 6
[0130] Aircraft 131 / vehicle 405 / vehicle 605 can then proceed to transmit a navigation assistance request message including the reference data to edge node 410 or cloud node 205 (block 810). Edge node 410 or cloud node 205 can then proceed to receive the navigation assistance request message from aircraft 131 / vehicle 405 / vehicle 605 (block 815).
[0131] Edge node 410 or cloud node 205 can then proceed to perform a position resolution process to determine a position of aircraft 131 / vehicle 405 / vehicle 605 by one or more functions (block 820). For example, edge node 410 or cloud node 205 can perform image processing, triangulation, and / or trilateration processing and / or related position processing as described above. Edge node 410 or cloud node 205 can then proceed to transmit a resolved position message including the determined position of aircraft 131 / vehicle 405 / vehicle 605 to aircraft 131 / vehicle 405 / vehicle 605 (block 825). Aircraft 131 / vehicle 405 / vehicle 605 can then proceed to receive the resolved position message (block 830).
[0132] Aircraft 131 / vehicle 405 / vehicle 605 can then proceed to perform a navigation control process based on the determined position (block 835). For example, aircraft 131 / vehicle 605 can control vehicle 605 according to control logic and control instructions as described above.
[0133] Figure 9 An exemplary flow diagram for distributed avionics processing for assisted navigation can be shown in accordance with one or more embodiments. Flow diagram 900 can show an assisted navigation process in more detail as described above with respect to FIG. 6. Flow diagram 900 can be performed by aircraft 131 / vehicle 405 / vehicle 605 (e.g., blocks 905, 910, 915, and 945) and edge node 410 or cloud node 205 (e.g., blocks 920, 925, 930, 935, and 940). Figure 6
[0134] Aircraft 131 / vehicle 405 can initiate the process of flowchart 900 to perform on-board sensor positioning (block 905). For example, aircraft 131 / vehicle 405 / vehicle 605 can determine a position using on-board positioning system 605A-1, as described above. Aircraft 131 / vehicle 405 / vehicle 605 can then proceed to acquire reference data (block 910) (e.g., if GNSS signals are below a threshold). Aircraft 131 / vehicle 405 / vehicle 605 can then proceed to transmit its own ID (e.g., vehicle ID) and acquired reference data to edge node 410 or cloud node 205 (block 915). Edge node 410 or cloud node 205 can then proceed to perform a position resolution process to determine a position of aircraft 131 / vehicle 405 / vehicle 605 by one or more functions (block 920). Edge node 410 or cloud node 205 can then proceed to determine whether a position of aircraft 131 / vehicle 405 / vehicle 605 is determined by one or more of the functions (block 925).
[0135] In response to determining that a position of aircraft 131 / vehicle 405 / vehicle 605 is determined by one or more of the functions (block 925: YES), edge node 410 or cloud node 205 can then proceed to perform a voting / filtering process for each requester ID (block 930). Edge node 410 or cloud node 205 can then proceed to transmit the resolved position and requester ID to aircraft 131 / vehicle 405 / vehicle 605 (block 935). In response to determining that a position of aircraft 131 / vehicle 405 / vehicle 605 has not been determined by one or more of the functions (block 925: NO), edge node 410 or cloud node 205 can then proceed to transmit an error message to aircraft 131 / vehicle 405 / vehicle 605 (block 940).
[0136] Aircraft 131 / vehicle 405 / vehicle 605 can then proceed to determine whether a resolved position has been received (block 945). For example, aircraft 131 / vehicle 405 / vehicle 605 can determine whether a position resolution message has been received, as described above.
[0137] In response to determining that a resolved position has not been received (block 945: NO), aircraft 131 / vehicle 405 / vehicle 605 can then proceed to (1) send another request (block 945) and / or (2) wait for an error message or resolved position from edge node 410 or cloud node 205 (by allowing the process of blocks 920-940 to be performed again). In response to determining that a resolved position has been received (block 945: YES), aircraft 131 / vehicle 405 / vehicle 605 can then proceed to perform on-board sensor positioning (block 905).
[0138] Figure 10 An exemplary system that can perform the techniques presented herein is depicted. Figure 10 is a simplified functional block diagram of a computer that can be configured to perform the techniques described herein according to exemplary embodiments of the present disclosure. Specifically, the computer (or "platform" as it can not be a single physical computer infrastructure) can include a data communication interface 1060 for packetized data communication. The platform can also include a central processing unit ("CPU") 1020 in the form of one or more processors for executing program instructions. The platform can include an internal communication bus 1010, and the platform can also include program storage and / or data storage such as ROM 1030 and RAM 1040, although the system 1000 can receive programming and data via network communication. The system 1000 can also include input and output ports 1050 to connect with input and output devices such as keyboards, mice, touchscreens, monitors, displays, etc. Of course, various system functions can be implemented in a distributed fashion on a number of similar platforms to distribute processing load, as is appropriate. Alternatively, the system can be implemented by a single computer hardware platform suitably programmed.
[0139] The general discussion of the present disclosure provides a brief, general description of a suitable computing environment in which the present disclosure can be implemented. In one embodiment, any of the disclosed systems, methods, and / or graphical user interfaces can be executed or implemented by a computing system consistent with or similar to the computing systems shown and / or explained in the present disclosure. Although not required, aspects of the present disclosure are described in the context of computer-executable instructions, such as routines executed by a data processing device, for example, a server computer, a wireless device, and / or a personal computer. Those skilled in the art will appreciate that aspects of the present disclosure are practiced in other computer system configurations, including Internet appliances, hand-held devices, including personal digital assistants ("PDAs"), wearable computers, all manner of cellular phones or mobile phones, including Voice over Internet Protocol ("VoIP") phones, dumb terminals, media players, gaming devices, virtual reality devices, multi-processor systems, microprocessor-based or programmable consumer electronics, set-top boxes, network PCs, mini-computers, mainframe computers, and the like. In fact, the terms "computer," "server," and the like, are generally used interchangeably herein, and refer to any of the above devices and systems, as well as to any data processor.
[0140] Aspects of the disclosure can be implemented in a special purpose computer and / or data processor that is specifically programmed, configured, and / or constructed for the purposes of carrying out one or more of the computer-executable instructions detailed herein. While aspects of the disclosure, such as certain functions, are described as being performed on a single device, the disclosure can also be practiced in distributed environments where functions or modules are shared among various processing devices connected over a communications network, such as a Local Area Network ("LAN"), a Wide Area Network ("WAN"), and / or the Internet. Similarly, techniques presented herein can be implemented in a single device. In a distributed computing environment, program modules can be located in local and / or remote memory storage devices.
[0141] Aspects of the disclosure can be stored and / or distributed on non-transitory computer-readable media, including magnetic or optical computer discs, hard-wired or preprogrammed chips (e.g., EEPROM semiconductor chips), nanotechnology memory, biological memory, or other data storage media. Alternatively, computer- implemented instructions, data structures, screen displays, and other data under aspects of the disclosure can be distributed over the Internet or over other networks (including wireless networks) on a propagated signal in a carrier wave or other propagated data, and / or they can be provided as part of any analog or digital network (packet-switched, circuit-switched, or other scheme).
[0142] Program aspects of the technology can be thought of as "products" or "articles of manufacture" typically in the form of executable code and / or associated data that is carried or otherwise embodied in a type of machine readable medium. "Storage" type media include any or all of the tangible memory of the computers, processors or the like, or associated modules thereof, such as various semiconductor memories, tape drives, disk drives and the like, which can provide non-transitory storage at any time for the software programming. All or portions of the software can at times be communicated by an applicable medium to or from a computing or processing device. For example, such a medium can include a storage medium. Such a storage medium can comprise, for example, any of a variety of the memory devices mentioned above. Communications can occur over a wired and / or wireless network, over a physical interface, over a local area network, a wide area network, the Internet, and / or other networks. Where the technology is implemented in the form of a software program, the program can be stored, partly or fully, on one or more of the computer- readable medium(s) for execution by one or more processors. A machine- readable medium includes any mechanism for storing or transmitting information in a form readable by a machine, such as a computing entity. For example, a machine- readable medium includes recordable / non-recordable media, e.g., read only memory (ROM), random access memory (RAM), magnetic disk storage media, optical storage media, flash memory devices, electrical, optical, acoustical or other form of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.), etc.
[0143] The terms used above can be interpreted in their broadest reasonable manner, even if they are used in conjunction with a specific implementation of some of the specific examples of the disclosure. In fact, certain terms can even be emphasized above; however, any term intended to be interpreted in any limited manner will be explicitly and specifically defined in the detailed description section. Both the general and detailed descriptions are merely exemplary and illustrative, not limiting to the features claimed.
[0144] As used herein, the terms "comprises," "comprising," "includes," "including," "has," "having," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises, includes, has a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus.
[0145] In the present disclosure, relative terms such as, for example, "about," "substantially," "generally," and "approximately" are used to indicate a possible variation of ±10% of a specified value.
[0146] The term "exemplary" is used the sense of "example," rather than "ideal." As used herein, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise.
[0147] Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. The specification and examples are intended to be exemplary, where the true scope and spirit of the application is indicated by the following claims.
Claims
1. A method for distributed vehicle navigation processing for a vehicle, the method comprising: by the vehicle: obtaining reference data from one or a combination of an imaging system, an antenna system, and / or a radar system of the vehicle; in response to obtaining the reference data, determining whether a signal strength of a GNSS signal is below a threshold value; and in response to determining that the signal strength of the GNSS signal is below the threshold value, selecting one of a plurality of connected computing entities communicatively connected with the vehicle as an assistive positioning entity to which to transmit a navigation assistance request message including the reference data, the plurality of connected computing entities including at least one of an edge node or a cloud node; and transmitting the navigation assistance request message including the reference data to the selected assistive positioning entity defined by the edge node or the cloud node; by the edge node or the cloud node: in response to receiving the navigation assistance request message from the vehicle, performing a position resolution process to determine a position of the vehicle by one or more functions; and transmitting a resolved position message including the determined position of the vehicle to the vehicle; and by the vehicle: in response to receiving the resolved position message, performing a navigation control process based on the determined position, wherein the method further comprises: executing a distributed processing program to determine at least one of the vehicle or one of a plurality of connected computing entities communicatively connected with a vehicle to which to transmit a navigation assistance request message, wherein executing the distributed processing program comprises: determining whether one of a first set of trigger conditions is satisfied; in response to determining that one of a first set of trigger conditions is satisfied, performing a first data processing operation at an on-board computing entity of a vehicle; in response to determining that one of a first set of trigger conditions is not satisfied, determining whether one of a second set of trigger conditions is satisfied; in response to determining that one of a second set of trigger conditions is satisfied, selecting an edge node as an assistive positioning entity and transmitting a navigation assistance request message including reference data to the edge node to prompt performance of a second data processing operation by the edge node; in response to determining that one of a second set of trigger conditions is not satisfied, determining whether one of a third set of trigger conditions is satisfied; in response to determining that one of a third set of trigger conditions is satisfied, selecting a cloud node as an assistive positioning entity and transmitting a navigation assistance request message including reference data to the cloud node to prompt performance of a third data processing operation by the cloud node, wherein the first set of trigger conditions includes a first dynamic priority for initiating a first trigger condition of the first set of trigger conditions for processing at the on-board computing entity, the second set of trigger conditions includes a second dynamic priority for initiating a second trigger condition of the second set of trigger conditions for processing at the edge node, and the third set of trigger conditions includes a third dynamic priority for initiating a third trigger condition of the third set of trigger conditions for processing at the cloud node.
2. The method of claim 1, wherein the reference data comprises one or a combination of: one or more images from the imaging system; ADS-B information indicating locations and / or distances of buildings, ground stations, and / or other vehicles based on ADS-B messages received from the antenna system; beacon information indicating distances and locations from the antenna system based on beacon messages from smart buildings / edge nodes; and / or distance information indicating distance readings to objects tracked by the radar system.
3. The method of claim 1, wherein to perform the position resolution process to determine the position of the vehicle by the one or more functions, the edge node or the cloud node is configured to perform: a triangulation and / or trilateration process, a correlation position process, and an image process, the image process comprising a full image process or a partial image process, the full image process analyzing known reference images of buildings / structures, for edge nodes, the partial image process analyzing known reference images of buildings / structures within a threshold distance of the edge node, and for the cloud node, the partial image process analyzing a subset of known reference images of buildings / structures within a threshold time / distance of a last known time / position of the vehicle.
4. The method of claim 1, wherein to perform the position resolution process to determine the position of the vehicle by the one or more functions, the edge node or the cloud node is configured to: extract the reference data from the navigation assistance request message; determine whether the reference data comprises one or more of: one or more images, ADS-B information, bearing information, beacon information, and / or distance information; in response to the reference data comprising the ADS-B information, the bearing information, and / or the beacon information, invoke a triangulation and / or trilateration process; in response to the reference data comprising the ADS-B information and / or the distance information, invoke a correlation position process; and in response to the reference data comprising the one or more images, invoke an image process.
5. The method of claim 4, wherein the triangulation and / or trilateration process for performing the trilateration process comprises: obtaining the ADS-B information and / or the beacon information from the reference data; obtaining a position for an entity having a known location associated with the ADS-B information from the ADS-B information, and / or a position for the entity included in the beacon information from the beacon information; determining a distance from the entity to the vehicle from the ADS-B information and / or the beacon information; and determining the position of the vehicle using trilateration based on the position and the distance.
6. The method of claim 4, wherein the correlation position process comprises: obtaining the ADS-B information and / or the distance information from the reference data; obtaining a position of an entity based on the ADS-B information and / or the distance information; obtaining a distance between neighboring entities of each of the entities based on the ADS-B information and / or the distance information; and determining the position of the vehicle based on the position of the entity and the distance between the neighboring entities.
7. The method of claim 4, wherein the image processing comprises: obtaining the one or more images from the reference data; processing the one or more images to detect a known reference, a plurality of known references; in response to detecting the known reference in an image of the one or more images, obtaining a known position of the known reference; determining a distance and an orientation from the known reference by performing image analysis on images before and / or after the image in which the known reference is detected; and estimating the position of the vehicle based on the known position, the distance, and the orientation.
8. A system for distributed vehicle navigation processing for a vehicle, the system comprising: a memory storing instructions; and a processor executing the instructions to perform a process comprising: obtaining reference data from one or a combination of an imaging system, an antenna system, and / or a radar system of the vehicle; in response to obtaining the reference data, determining whether a signal strength of a GNSS signal received by the vehicle is below a threshold value; in response to determining that the signal strength of the GNSS signal is below the threshold value, selecting one of a plurality of connected computing entities communicatively connected with the vehicle as an assistive positioning entity to which a navigation assistance request message comprising the reference data is to be transmitted, the plurality of connected computing entities comprising at least one of an edge node or a cloud node; and transmitting the navigation assistance request message comprising the reference data to the selected assistive positioning entity defined by the edge node or the cloud node, wherein the edge node or the cloud node: in response to receiving the navigation assistance request message from the vehicle, performs a position resolution process to determine a position of the vehicle by one or more functions, and transmits a resolved position message comprising the determined position of the vehicle to the vehicle; in response to receiving the resolved position message, performs a navigation control process based on the determined position; performing a distributed processing program to determine at least one of the vehicle or one of the plurality of connected computing entities communicatively connected with the vehicle to which a navigation assistance request message is to be transmitted, wherein performing the distributed processing program comprises: determining whether one of a first set of trigger conditions is satisfied; in response to determining that one of a first set of trigger conditions is satisfied, performing a first data processing operation at an on-board computing entity of the vehicle; in response to determining that one of a first set of trigger conditions is not satisfied, determining whether one of a second set of trigger conditions is satisfied; in response to determining that one of the second set of trigger conditions is satisfied, selecting an edge node as an auxiliary positioning entity and transmitting a navigation assistance request message including the reference data to the edge node to prompt performance of a second data processing operation by the edge node; in response to determining that one of the second set of trigger conditions is not satisfied, determining whether one of a third set of trigger conditions is satisfied; in response to determining that one of the third set of trigger conditions is satisfied, selecting a cloud node as an auxiliary positioning entity and transmitting a navigation assistance request message including the reference data to the cloud node to prompt performance of a third data processing operation by the cloud node, wherein the first set of trigger conditions includes a first dynamic priority for initiating a first trigger condition of the first set of trigger conditions for processing at the on-board computing entity, the second set of trigger conditions includes a second dynamic priority for initiating a second trigger condition of the second set of trigger conditions for processing at the edge node, and the third set of trigger conditions includes a third dynamic priority for initiating a third trigger condition of the third set of trigger conditions for processing at the cloud node.
9. The system of claim 8, wherein the reference data includes one or a combination of: one or more images from the imaging system; ADS-B information indicating locations and / or distances of buildings, ground stations, and / or other vehicles based on ADS-B messages received from the antenna system; beacon information indicating distances and locations from the antenna system based on beacon messages from smart buildings / edge nodes; and / or distance information indicating distance readings to objects tracked by the radar system.
10. The system of claim 8, wherein to perform the position resolution process to determine the position of the vehicle by the one or more functions, the edge node or the cloud node is configured to perform: triangulation and / or trilateration processing, correlation position processing, and image processing including full image processing or partial image processing, the full image processing analyzes known reference images of buildings / structures, for edge nodes, the partial image processing analyzes known reference images of buildings / structures within a threshold distance of the edge node, and for the cloud node, the partial image processing analyzes a subset of known reference images of buildings / structures within a threshold time / distance of a last known time / position of the vehicle.
Citation Information
Patent Citations
Positioning device and positioning system
CN208818836U
Monitoring system and method for monitoring an unmanned aerial vehicle
WO2018171976A1