Patent ID: 12235368

DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS

Definitions. As used in this description and the accompanying claims, the following terms shall have the meanings indicated, unless the context otherwise requires:

“Navigation platform” refers to an object that may move, such as an aircraft, a vehicle, a naval vessel, etc. and a stationary object, such as a building or base, etc., that uses navigation information.

“Navigation information” may include the geolocation position, velocity, altitude, errors in position, errors in velocity, errors in attitude, time, clock errors, propagation delays, GPS satellite errors, sensor errors, and/or sensor characterization parameters, by way of example.

“Data source” refers to a source of data that provides information that may be used to determine the navigation information of one or more objects.

“Source information” refers to information provided by a data source.

“Integrity of source information” refers to a measure of source information related to whether the source information is trustworthy and from a data source that is performing as intended, e.g., the data source is not subjected to interference or jamming, and thus the source information is not altered in some way.

“Quality of source information” refers to a measure of source information related to whether a data source is providing the source information according to its specifications without any degradation, or a measure of source information that specifies the accuracy of the source information at a given time.

An “absolute navigation system” includes navigation systems such as a Global Positioning System (GPS) and/or Celestial Object Sighting System (COSS) that provide absolute position and current time navigation information from data sources such as satellites and celestial objects.

A “relative navigation system” includes navigation systems such as vision systems that provide relative position and current time navigation information from data sources such as man-made landmarks, e.g., buildings, streets, etc., and/or terrestrial landmarks, e.g., mountains, bodies of water, etc.

Distributed Navigation System Architecture

FIG.1schematically shows a distributed navigation system architecture10, according to embodiments of the present invention, that includes a plurality of navigation platforms12. The distributed navigation system architecture10may include moving navigation platforms12, non-moving navigation platforms12, or a combination thereof. The moving navigation platforms12may be assigned to one or more missions. Each navigation platform12has a universal navigation processor14configured to communicate with other universal navigation processors14over distribution channels15in a communication network.

The distributed navigation system architecture10further includes an anchor navigator16or anchor navigation node disposed on one or more of the plurality of navigation platforms12in order to form one or more anchor navigation platforms. The anchor navigator16includes an inertial navigation system20, a clock28, and one or more absolute navigation systems22,24,26and is configured to determine navigation information based on the inertial navigation system, the clock, the one or more absolute navigation systems and optionally source information from one or more relative navigation systems. As shown inFIG.1, the universal navigation processor14of the anchor navigator16is configured to have a graphical user interface with a display17. The graphical user interface may display, for example, navigation information for the user of the anchor navigator16to review and optionally control. The graphical user interface may be configured to accept user inputs, such as additional situational data as described in more detail below. For example, the user inputs may make modifications to a mission plan, which in turn modifies the navigation information.FIG.1shows a distributed navigation system architecture10with one navigation platform12having an anchor navigator16andFIG.2shows a distributed navigation system architecture10with two navigation platforms12having an anchor navigator16. AlthoughFIGS.1and2show three navigation platforms12with one or two anchor navigation platforms, any number of the navigation platforms12may be used, and any number of navigation platforms12may include an anchor navigator16.

The one or more navigation platforms12with the anchor navigator16, i.e., the anchor navigation platforms, know its own position and current time to within GPS precision at all times regardless of which navigation aiding sensors or data sources105are available or regardless of which distribution channels15are open. The one or more anchor navigation platforms provide its navigation information to the other navigation platforms12in the communication network that do not include an anchor navigator16or anchor navigation node. For example,FIG.3schematically shows exemplary navigation platforms12that include an anchor navigator16and do not include an anchor navigator16in a distributed navigation system architecture10.

The distributed navigation system architecture10further includes a navigation processor system18in communication with each of the universal navigation processors14in the communications network in order to provide operating information updates to the universal navigation processors14. For example, software updates may be sent from the navigation processor system18to the universal navigation processors14on a periodic basis. The software updates that are sent to the universal navigation processors14may include process information for determining and/or estimating navigation information as discussed in more detail below. In various embodiments, the program code for the universal navigation processors14may also relate to how the navigation platforms12distribute information among the navigation platforms12in the network. Furthermore, the program code may relate to protocols for communication among the navigation platforms12.

The distributed navigation system architecture10may be used as a baseline architecture for all future distributed navigation system designs, irrespective of how many aiding modalities are incorporated into the architecture or how many navigation platforms12and distribution channels15are used in the communication network. The individual navigation platforms12may include their own dedicated sensors or data sources105and may be added to or removed from the distributed navigation system architecture10with minimal effort since software code does not need to be revised when scaling up to a large distributed navigation system architecture. Embodiments of the present invention provide a unique distributed navigation system architecture that includes absolute (e.g., global positioning system (GPS)-class positioning and time) navigation information to all navigation platforms12within the network when GPS is present, and also includes GPS-alternative navigation information to all navigation platforms12when GPS is not present or the navigation platforms12are not updated with the navigation information from the anchor navigation platform(s) by combining absolute navigation systems (e.g., GPS and/or celestial object sighting system (COSS) with other aiding modalities, such as magnetic compass and/or an RF sensor system) with relative navigation systems (e.g., vision systems). The distributed navigation system architecture10uses the common universal navigation processor14on all of the navigation platforms12, which permits large numbers of navigation aiding modalities and network nodes to be used in an efficient state fusion based approach that achieves nearly optimal performance with minimal computational effort.

The Navigation Platforms

FIG.4schematically shows a navigation platform12with an anchor navigator16andFIG.5schematically shows a navigation platform12that does not include an anchor navigator16in a distributed navigation system architecture. As mentioned above, the anchor navigator16includes an inertial navigation system20, a clock28, and one or more absolute navigation systems22,24,26. For example, the inertial navigation system20may include accelerometers and/or gyroscopes. The clock28may enable the anchor navigator16to update or synchronize the time associated with the navigation information with an external clock. Exemplary clocks include atomic clocks, microwave transition clocks, optical transition clocks, and/or astronomic-based clocks (e.g., pulsar). The one or more absolute navigation systems22,24,26may include a global positioning system (GPS)22that requests and receives navigation information from one or more satellites or data sources105in a satellite system, a celestial object sighting system (COSS)24that receives navigation information from one or more celestial objects or data sources105, or other navigation modalities26, such as an RF sensor system and/or magnetic compass that communicate with data sources105to provide navigation information for the navigation platforms12.

Any of the navigation platforms12may become anchor navigation platforms depending on the network and distributed navigation system architecture application. For example, a first navigation platform12may initially be an anchor navigation platform in the network and then a second navigation platform12may become an anchor navigation platform instead of, or in addition to, the first navigation platform12.

Each of the universal navigation processors14in the anchor navigation platform or the other navigation platforms12includes a navigation filter30configured to process source information from one or more data sources105or from data sources105associated with the absolute navigation systems22,24,26to estimate the navigation information for one or more navigation platforms12. The universal navigation processor14may store previously estimated navigation information for the navigation platforms12in memory or storage, estimate a relative change in navigation information based on at least source information from the data sources105, and update the estimated navigation information accordingly.

The navigation filters30may include an extended Kalman filter, a particle filter, a nonlinear moment filter, a Hidden Markov Model, and/or a Bayesian filter. The universal navigation processor14may implement vision-based odometry from a relative navigation system that includes a vision sensor. For example, the vision sensor may be used to capture a succession of images e.g., images of a man-made landmark and/or terrestrial landmark, and then the image information used to interpolate a change in the geolocation position of the navigation platform12. For example, the universal navigation processor14may identify one or more features that are present in a series of images to track. For instance, if the navigation platform12is an aircraft flying over a segment of a river, the universal navigation processor14may select a particular bend in the river as the feature to track. The universal navigation processor14may determine the changing position of the bend in the river in successive images until the feature disappears, and apply the navigation filter30to this data to estimate a change in the geolocation position of the one or more navigation platforms12. In another example, the aircraft may be flying by a mountain range and the universal navigation processor14may select a particular mountain peak as the feature to track. The universal navigation processor14may apply the navigation filter30to the changing position of the selected peak.

In another example, the universal navigation processor14may receive source information from the inertial navigation system20, e.g., accelerations and angular rates from accelerometers and gyroscopes, and integrate this source information over a period of time to estimate a relative change in the geolocation position of the one or more navigation platforms12. However, accelerations and angular rates inherently exhibit drift errors (e.g., misalignment and bias errors) which can compound over time. As a result, the accuracy of the estimated relative change in the geolocation position may deteriorate over time. To compensate for the drift errors, the one or more navigation platforms12receive navigation information from the other navigation platforms12, such as the anchor navigation platform and/or other navigation platforms12.

In some embodiments, data sources105that provide source information may be located on and/or distributed across multiple navigation platforms12. Alternatively, or in addition, data sources105may be found in different parts of the environment, such as underground, underwater, terrestrially, in the atmosphere, and/or in space.

Overview of the Navigation Filter System

FIG.6schematically shows a navigation filter system100that may be used as the navigation filter30within the universal navigation processor14for determining navigation information for one or more navigation platforms12using source information validated on the basis of its quality and/or integrity, andFIGS.7-9schematically show a distributed navigation system architecture10using a navigation filter system100and environments in which the architecture may operate. The navigation filter system14is described in U.S. patent application Ser. No. 15/435,412 filed on Feb. 17, 2017, which is incorporated by reference herein in its entirety.

Embodiments of the navigation filter system100provide the best possible navigation information resulting from several data sources105or sensors, for example, in an environment in which one or more of those sources may be challenged, contested, degraded, or denied and, preferably, to do so without human intervention. Data sources in such an environment may provide widely varying navigation information quality and integrity depending on the challenges presented by the environment. In addition, the source information provided by some of the data sources may be challenged or compromised, such that the data sources have good perceived quality but, in fact, lack integrity, e.g., the source information has been compromised or altered in some way. Embodiments of the present navigation filter system100are capable of identifying both the quality and integrity of data sources based on the environment and using this quality and integrity information in the navigation information accordingly. In addition, identification of quality and integrity of data sources is not static but instead may change over time depending on many factors, e.g., mission phase, location, and system health. Embodiments of the present navigation filter system100maintain awareness of the situation in which the data sources105are operating and maintain information model(s) describing the dynamic and probabilistic state of the source information when the situation in which the source information is obtained is fully known and a probabilistic state representing the uncertainty associated with the source information when the situation is uncertain.

For example, in both government organizations and commercial enterprises, navigation information is critical for successfully completing particular objectives. For instance, pilots and/or drones conducting missions on behalf of the military or intelligence agencies must know their geolocation positions to obtain meaningful information. Extraction teams tasked with rescuing civilian and military hostages must track their geolocation positions and times to ensure that they reach their targeted destination at the designated times. Autonomous robots deployed to search, unearth, and/or defuse land mines in previously war-torn regions risk triggering explosions if they fail to evade known land mines. Commercial pilots conducting transoceanic flights must rely on their instruments for geolocation position because their environments may generally lack identifying geographical features (e.g., mountain ranges, distinct coast lines). Energy companies may send autonomous vehicles into remote and/or dangerous environments to repair or maintain equipment.

Although the Global Positioning System (GPS) is the most commonly used absolute navigation system for providing a navigation platform with its navigation information, the GPS system is not always available or may be unreliable. For example, in some situations, the navigation platform12may be proximate to an insufficient number of GPS satellites. In other situations, a particular environment may interfere with the navigation platform's ability to communicate with the satellites, despite their number and location (e.g., mountains that deflect or degrade signals). Further, a navigation platform12may be subject to other types of interference, such as hostile organizations intent on spoofing or jamming GPS signals to prevent the navigation platform from obtaining accurate navigation information.

Redundant navigational capabilities decrease a navigation platform's vulnerability to erroneously determined navigation information. Other data sources105, such as data sources from relative navigation systems, may supplement and/or replace GPS signals in determining the navigation information. However, depending on the navigation platform's situation, information from one or more of these data sources may be unreliable. Like GPS, these data sources may function improperly and thereby output source information of dubious integrity, and they are also vulnerable to external interference. Thus, additional data sources may not, in and of themselves, guarantee more accurate navigation information. Furthermore, because the reliability of any given data source105changes dynamically based on the data source's situation, ensuring that reliable source information is solely used to determine navigation information becomes a more challenging endeavor.

Embodiments of the present invention evaluate source information from one or more data sources105and situation data to determine which data sources105can be relied on for determining the navigation information of one or more navigation platforms12. Referring toFIG.6, the navigation filter system100includes multiple data sources105(shown as105a,105b, . . . ,105k) that provide source information that may be used to determine a navigation platform's navigation information. Because one or more of the data sources105may not be reliable at any given time, the navigation filter system100may use a situation module130, an information module130, an integrity monitor module110, and a navigation state estimator115, as described in more detail below, to identify the data sources105that should be relied on.

In particular, the situation module130provides situation data125related to the data sources' situation, and the situation module130may aggregate the situation data125and send it to the information module120. The information module120creates and/or maintains statistical models for estimating the quality and/or integrity of source information from any given data source105, and uses these models with the situation data (and in some scenarios, source information as well) to determine the estimates of quality and integrity. The information module120provides the estimates to the integrity monitor module110.

The integrity monitor module110makes the final determination of the data sources105that, at that particular time, should be relied on to determine the navigation information for the plurality of the navigation platforms (also referred to herein as “validating” the information from a particular data source). The integrity monitor module110may validate any source information based on its integrity and/or quality, and may further determine integrity and/or quality based on information from the data sources105(e.g., the source information, quality of the source information, integrity of the source information), information from an information module120(e.g., an estimate of the quality and/or an estimate of the integrity of the source information, at a given time), or both.

The integrity monitor module110sends the validated source information to the navigation state estimator115, and in some embodiments, the integrity monitor module110refrains from sending source information that has not been, and will not be, validated. The navigation state estimator115uses the validated source information to determine the navigation information, which may be transmitted to the one or more navigation platforms12. In some embodiments, the navigation state estimator115may also transmit the navigation information to a display17for a user to view and optionally control the navigation information or to other systems, e.g., within one or more of the navigation platforms12(not shown). Furthermore, the navigation state estimator115may transmit the navigation information back to the integrity monitor module110, where it may be used to validate subsequent source information received from the data sources105and/or information module120.

As shown inFIGS.7-9, the various components of the navigation filter system100may be located on one or more navigation platforms12in one or more locations. For example, the situation module130, information module120, integrity monitor module110, and/or navigation state estimator115may be coupled to a navigation platform12having the anchor navigator16(as shown inFIG.8) and/or may be remotely located from the anchor navigation platform on another navigation platform12, e.g., on a moving or non-moving navigation platform12. Alternatively, the components of the navigation filter system100may be distributed across multiple navigation platforms12(as shown inFIG.9), e.g., on moving platforms and/or non-moving platforms12.

As mentioned above and shown inFIGS.1and2, the universal navigation processors14of the anchor navigators16may include graphical user interfaces with displays17for a user to review the navigation information and optionally control the navigation information. Although the anchor navigation platforms are shown with the displays17, any of the navigation platforms12in the distributed navigation system architecture10may include a graphical user interface with a display17, although the ability to control the navigation information through the display17may be limited to just selected navigation platforms, e.g., one or more anchor navigation platforms.

For example, the graphical user interface may accept user inputs to modify situation data, e.g., to modify a mission plan. The graphical user interface may display one or more objectives for the modifications. In response to user selection of at least one objective, the universal navigation processor14may send the modifications as situation data125to a situation module130, and a navigation filter30may use this information (as explained above) to provide updated navigation information to the one or more navigation platforms12that may be conducting the mission.

One objective may be to maximize the performance of the one or more navigation platforms12. For example, during a prior, completed mission, the data sources105and/or one or more navigation platforms12may have performed poorly in one or more particular geographical regions, and thus caused one or more navigation platforms12conducting the mission to be inefficient, e.g., take longer than expected or not reach the right destination. Upon receiving updated navigation information from an anchor navigator16, the navigation platform12adjusts its navigation information, e.g., direction and/or velocity, to improve the performance of the one or more navigation platforms12.

Another objective for modifying situation data125, such as a mission plan, may be to maintain the expected completion time of the mission (e.g., expected arrival time at the destination). Because the conditions under which a navigation platform12operates during a mission may result in errors or inefficiencies, costing the navigation platform12additional time to get to its destination, the universal navigation processor14may provide historical performance of the data sources105and/or one or more navigation platforms12at different locations along the route. The historical performance data may be supplied as situation data125to the situation module130and a navigation filter30may use this information to provide updated navigation information to the one or more navigation platforms12to maintain the expected completion time of the mission.

Alternatively, instead of selecting one or more objectives from a display17of a graphical user interface, the user may directly input modifications to situation data125, e.g., modifications to the mission plan, which ultimately modifies the navigation information provided to the one or more navigation platforms12. For example, the user may change one or more portions of the mission plan to avoid particular geographical regions, such as regions projected to experience dangerous weather conditions during the mission. In another example, the user may delay the estimated departure time for the mission, or alter the velocity and/or altitude at which a navigation platform12may travel. As mentioned above, the modifications may be sent as situation data125to a situation module130, and a navigation filter30may use this information to provide updated navigation information to the one or more navigation platforms12.

In further embodiments, the universal navigation processor14of the anchor navigator16may be configured to modify situation data125, e.g., the mission plan, based on any of the objectives presented to the user in the graphical user interface. The universal navigation processor14may also be configured to automatically modify mission plans. The universal navigation processor14may modify the mission plan, e.g., within a predetermined period of time before the expected departure time of the mission, to ensure that the modifications are based on the most updated navigation information from the navigation filter30. For example, the universal navigation processor14may be configured to modify all mission plans originating from the same location as its anchor navigator16when the situation data shows that particular geographical regions have become, or are expected to become, unsafe for travel. In this case, the navigation information may reroute one or more navigation platforms12and/or abort the mission altogether to avoid unacceptable risks to personnel.

The universal navigation processor14of the anchor navigator16may send the modifications to the situation data125to a situation module130, and a navigation filter may use this information to provide updated navigation information to the one or more navigation platforms12. The modifications may be sent to one or more navigation platforms12that are conducting the mission and/or to one or more navigation platforms12that will communicate with the navigation platforms12that are conducting the mission, such as stationary navigation platforms12or navigation platforms12positioned along the route of the mission.

The one or more navigation platforms12may periodically receive updated navigation information, which implements changes to the mission plan, and additional navigation information that may be generated before, during and/or after the mission. One or more anchor navigation platforms and/or one or more navigation platforms12, e.g., platforms conducting the mission, may provide situation data125concerning the mission to the graphical user interface before, during and/or after the mission. The display17may show a comparison of the absolute navigation information to the navigation information determined by one of its navigation filters30, and the user may review and assess the performance of the data sources105and/or the one or more navigation platforms12.

For example, the user may review and evaluate, for every data source105, its respective contribution to the determined navigation information. For instance, the display17may show the contribution from a satellite105, a celestial object sighting system (COSS)24, an RF sensor system105, a magnetic compass105, or any of the other data sources105described herein. The display17may show the current and/or past performance of the data sources105and/or the one or more navigation platforms12to the user. The user may evaluate the overall performance of one or more navigation platforms12, and the performance of individual data sources with respect to its integrity and/or quality, and decide to control the navigation information.

The display17may show a comparison between the current performance and past performance of the data sources105and/or the one or more navigation platforms12(i.e., performance during previously completed missions) for the same geographical region. The universal navigation processor14may store situation data125about the performance of the data sources105and/or the one or more navigation platforms12. The display17may show the accumulated performance data to the user.

Data Sources for the Navigation Filter System

As described above, the navigation filter system100for one or more navigation platforms12may include numerous data sources105. A data source105may be any sensor or source that provides source information used to determine a navigation platform's navigation information. For example, the data sources105may be vision sensors, laser-based sensors, and/or GPS sensors. Other examples include chemical sensors, such as directional chemical sensors or particulate sensors. Additional exemplary sensors include gravity-based sensors (e.g., utilizing a gravimeter), RF-based sensors (e.g., utilizing radio frequency (RF) detectors, cellular detectors, WiFi detectors, Bluetooth® detectors), electromagnetic-based sensors in other parts of the spectrum (e.g., microwave detectors, X-ray detectors, electrical field strength detectors, infrared, radar), barometers, magnetic sensors (e.g., utilizing a magnetic field sensor, a magnetometer, an induction coil, a magnetic resonator, magnetic compass), torque and acceleration sensors (e.g., gyroscopes, accelerometers), force sensors (e.g., vibration sensors, pressure sensors, inertial sensors), light sensors (e.g., optical detectors, CMOS sensors, laser system detectors), acoustic sensors (e.g., sonar, ultrasound), celestial navigation sensors (e.g., star trackers), celestial objects, (e.g., stars, planets) and thermal sensors, among others. An electronic support measures (ESM) system and/or a celestial object sighting system (COSS) may also be data sources105.

In some embodiments, data sources105may be located on a navigation platform12or distributed across multiple navigation platforms12. Alternatively, or in addition, data sources105may be deployed in different parts of the environment, such as underground, underwater, terrestrially, in the atmosphere, and/or in space.

Situation Module

As described above, the situation module130provides the situation data125to the information module120. The situation module130may aggregate situation data125before sending it to the information module120. In some embodiments, the situation module130establishes communication links with external systems that provides situation data125regarding a navigation platform's and/or data sources' environment in real-time. In various embodiments, the situation module130is coupled to one or more input devices that respond to user input of situation data125. Examples of such input devices include graphical user interfaces that may have a display17or manual controls.

For example, the situation module130may capture situation data125provided by external sources (e.g., communication links/distribution channels15) regarding the integrity of particular data sources105(e.g., a particular sensor is known to be not operating as indicated by its quality measure or is compromised with the same result). The situation module130may also capture other relevant situation data125provided by other systems, e.g., systems on the same navigation platform12that include the navigation filter system100and/or a different navigation platform12, such as information that may be provided by an Electronic Support Measures (ESM) system. For example, an ESM system may identify electromagnetic signals that may interfere with data sources105, and this situation data125should thus be considered by the information module120when determining data source(s)105integrity and/or quality.

For example, during a mission, the navigation filter30may provide navigation information36about one or more navigation platforms12to the display17of a graphical user interface. The navigation information36may include the current status and projected status of the one or more navigation platforms12along the planned route, the situational awareness picture, including active and potential threat systems or effects along the planned route, the current and/or projected performance of the data sources105due to the situation or environment along the planned route. For example, the display17may show the data sources105providing source information to the navigation platform12and descriptions of the integrity and/or quality of each data source105. The data sources105may be displayed in order of their reliability (e.g., data sources105providing high integrity, high quality source information first, and data sources105providing low integrity, low quality source information last).

The display17may also provide known and expected situations along the planned route, as well as the current and expected impact of the situations on the integrity and/or quality of the source information from the data sources105. The situations may be organized according to proximity to the navigation platform12. For example, if the mission plan has one or more navigation platforms12traversing a mountain range and then entering a region known to be occupied by a hostile organization, the display17may show these situations in that order. Within the display of situations currently applicable to the navigation platform12, the situations may be organized by the severity of their impact on the data sources105. For example, if the one or more navigation platforms12are traversing a mountainous region that is currently experiencing heavy fog and that is also known to be occupied by a hostile organization that may spoof GPS signals, then both of these situations may be shown on the display17as impacting the integrity and/or quality of the source information from the data sources105. For instance, the mountains may cause the GPS signals to be intermittent and the fog may degrade the navigation platform's12vision sensors105. Thus, the display17may show the lack of integrity of GPS signals obtained in this region due to the hostile organization and may show the lack of integrity of GPS signals and the vision sensor signals obtained in this region due to the environmental conditions. The user may review the navigation information of the one or more navigation platforms12on the display17before, during and/or after a mission and may optional control the navigation information by providing additional user inputs through the graphical user interface. For example, the user may review navigation plan modifications in order to make sure that proper performance is attained. The navigation plan modifications may be generated by the user, by the one or more navigation platforms12autonomously, or by some higher authority. The navigation information may be reviewed on the display17in several modes, e.g. maximum performance of the one or more navigation platforms12, time-to-destination, etc. The display17may also have analytical tools that allow various components in the distributed navigation system architecture10to be monitored, e.g., IMU only, celestial data sources only, etc. and may provide a history or log of the performance of the one or more navigation platforms12, and comparison of the current and historical performance of the one or more navigation platforms12in the same mission area.

Various types of situation data may include environment conditions (e.g., reports about inclement weather in a territory that the object or data source is expected to pass through), position information, temporal information, platform configuration, mission phase, data source location, system health, mission plan, threat data (e.g., an alert from a vehicle or an agency that a newly launched enemy mission has been detected within the navigation platform's or data sources' vicinity), condition of a threat, threat operating capabilities, threat location, temperature, cloud cover, visibility, barometric pressure, terrain, time of year, tides, radiation environment, population, city information, street information, building information, known transmitters, known vehicles, visible stars, and/or location of satellites in the sky, as well as any situation data that would be beneficial to the navigation filter system100, as known by one of ordinary skill in the art. Situation data may also include any of the navigation information described herein, e.g., velocity and attitude.

In some embodiments, situation data125may be stored in one or more databases. The database(s) may include previously received situation data (e.g., apriori) and/or real-time situation data (e.g., dynamic). The databases may include data stored at the beginning of the navigation platform's travel. The databases may store situation data for one or more of the navigation platforms12and/or data source(s) for a predetermined period of time, e.g., the past three hours. As the databases receive additional situation data, the databases may overwrite some of the previously stored data or aggregate the data. In some embodiments, the databases may store different types of situation data for different lengths of time (e.g., tides for the past two hours, weather-related data for the past hour, etc.).

The Information Module

The information module120describes the integrity and the quality of the source information from the data source(s)105based on a dynamic, statistical representation of the situation data125in combination with the quality and integrity information supplied by the data source(s)105for the current time. The situation data125received from the situation module130may be based on apriori situation data, updates provided by communication links, and the source information provided by each of the data sources105. The information module120creates or provides statistical models to determine an estimate of quality and/or an estimate of integrity, which the information module120provides to the integrity monitor module110. The information module120maintains the models (e.g., profiles, statistics) of all data that may influence the navigation state estimator115, e.g., given the navigation state is {circumflex over (X)}n, the likelihood data source105iis compromised and should be discarded is a. For example, the information module120maintains statistics on data source105integrity and/or quality that are dependent on navigation state (e.g., position, altitude, velocity, time) and also on other factors, such as navigation platform12configuration (e.g., components included in the system), threat data (e.g., physical threats and obstacles, jamming sources), mission plan (e.g., typical factors encountered during a mission, changes to the plan), environment of deployment (e.g., weather, surrounding terrain, surrounding other navigation facilities, surrounding mobile facilities), types of sensor/internal navigation facility (e.g., common to other multi-sensor navigation platforms, expected performance under conditions), and/or profiles of external navigation sources (e.g., RF navigation signals and sources, visual field data, data channels of navigation data).

The information module120uses the models and situation data125received from the situation module130to determine the estimates of quality and integrity. Because the situation data125may change dynamically (as explained below), the information module120may update the resulting models accordingly. In this manner, the situation data125is used in the integrity monitor module's110initial assessment of the reliability of various data sources105and also used in subsequent assessments of the data sources105over time.

In some embodiments, the information module120may also receive source information from one or more of the data sources105and use this source information in its models to determine the estimates of integrity and quality. In one embodiment, the information module120may determine an estimate of integrity of the source information from one data source105by comparing it against source information from one or more other data sources105.

For example, the information module120may receive source information from one or more data sources105regarding the tides in the geographical area(s) that the navigation platform(s) have been traveling over, e.g., for the past three hours. The model may be dynamically updated with source information and situation data125to reflect any changes in the tide environment over time. For example, if source information from a first data source105indicates a low tide for the past three hours and abruptly indicates that the tide is now high, the model may be updated with the source information from the first data source105and, based on source information from other data sources105and/or situation data125received from the situation module130, the information module120may provide an updated estimate of the integrity of the first data source. Similarly, the information module120may receive source information from one or more data sources105related to stars, and the model may be updated to reflect any changes over time. For example, if source information from one data source105indicates that a star is located at a position that deviates widely from past source information from this data source105or other data sources105regarding the same star, the information module120may be updated with the source information from the data source(s)105and the information module120may use this source information in its model(s) to provide an updated estimate of the integrity of the data source(s)105.

In another example, the information module120may use situation data125received from the situation module130regarding a newly launched enemy mission known to be within one or more of the navigation platforms' vicinity. The information module120may use this situation data125to estimate the quality and/or integrity of the source information from the data sources105in the vicinity of one or more of the navigation platforms12that may be disrupted or spoofed.

In another example, the information module120may receive situation data125from the situation module130regarding a time of day and use this situation data125along with source information from data source(s)105to provide estimates of the quality and/or integrity using its statistical models. For instance, celestial objects that orbit the earth are known to provide unreliable source information at certain times of the day (e.g., around midnight). Consequently, the information module120may use the time of day situation data125to estimate the quality and/or integrity of the source information from these celestial objects over time so that this source information is not used in the navigation filter system100to determine the navigation information when the source information is unreliable, e.g., around midnight.

The information module120includes one or more models that describe a dynamic and probabilistic state of the source information in order to determine the estimates of quality and/or integrity of the source information for each data source105. When the situation in which the source information is obtained is fully known, then the information module120may use a dynamic and probabilistic state of the source information. When the situation in which the source information is obtained is uncertain, then the information module120may use a probabilistic state representing the uncertainty associated with the source information.

For example, the situation data125may include low visibility due to fog within the immediate environment of the data source(s)105. Although the data sources105, e.g., image sensors, might be functioning properly (i.e., they have good perceived quality), the low visibility might render the source information, e.g., the image data, unreliable. Consequently, the information module120may use model(s) based on a probabilistic state in order to determine an estimate of integrity of the data sources105. When the fog lifts and visibility becomes clear, the information module120may use model(s) based on a dynamic and probabilistic state to determine the estimate of integrity of the source information.

In another example, the situation data125may include data indicating that enemy vehicles in the vicinity of one or more data sources105are equipped with radar jamming devices. The proximity and capabilities of the enemy vehicles indicate an uncertain situation with respect to any data sources105that rely on radar in that area. In this situation, the information module120may use model(s) based on a probabilistic state in order to determine an estimate of integrity of the data sources105.

The Integrity Monitor Module

The integrity monitor module110receives the source information generated by each of the data sources105and receives the estimates of quality and/or integrity from the information module120to determine whether to validate and supply the source information to the navigation state estimator115and, if so, what quality that source information should have. As mentioned above, the integrity monitor module110may determine integrity and/or quality based on information from the data sources105, information from the information module120, or both. The integrity monitor module110sends the validated source information to the navigation state estimator115, and in some embodiments, the integrity monitor module110may refrain from sending source information that has not been validated.

In some embodiments, the integrity monitor module110uses navigation information previously generated by the navigation state estimator115to determine the integrity and/or quality of the source information. The integrity monitor module110may use multiple techniques to determine the integrity of source information. For example, the integrity monitor module110may compare zito a value of the source information determined by the navigation state estimator115, for instance, in the case of an extended Kalman filter, h({circumflex over (X)}k|k-1), and compare the resultant residual (e.g., the difference between ziand the value determined by the navigation state estimator115) to that which would be acceptable given the expected quality of that source information. For example, the resultant residual may be compared to a threshold value and deemed acceptable if it is below the threshold value. In various embodiments, the threshold value may be predetermined, provided dynamically by a sensor, or provided by the information model120.

As mentioned above, the data source105that provides the source information may also provide the quality of that source information, or the information model120may provide expected quality of the source information, or both the data source105and information model120may provide expected quality. The integrity monitor module110may determine the integrity and/or quality of the source information from the data source105based on a comparison between the source information and its expected value and may ignore the source information when the difference is greater than a quality threshold value or an integrity threshold value and may validate the source information when the quality and/or integrity of the source information falls within a predetermined acceptable range. For example, when the information model120and the data source105both provide expected quality of the source information and the values substantially differ (e.g., by a percentage, by a numerical factor, based on a threshold), the integrity monitor module110may use that difference as a reason to ignore the source information and not validate it, or the integrity monitor module110may override the source information quality provided by the data source105and replace it with the information model120source information quality and then validate and pass the source information to the navigation state estimator115with the quality estimate the integrity monitor module110provides.

When the integrity monitor module110validates source information, the integrity monitor module110passes the source information to the navigation state estimator115and also passes the quality of the validated source information. As described above, the integrity monitor module110receives the source information from one or more data sources105and determines the quality and/or integrity of the data sources105using the estimate of quality and/or integrity from the information module120along with the quality and/or integrity of source information from the data sources105. The source information from the data sources105may be processed, using standard data processing techniques as known by one skilled in the art, before the source information is used by the integrity monitor module110and/or the information module120and passed to the navigation state estimator115. Therefore, the source information used in the navigation filter system100disclosed herein may include processed or unprocessed source information.

The Navigation State Estimator

The navigation state estimator115uses the validated source information from the integrity monitor module110to determine the navigation information for one or more navigation platforms12in real time. The navigation state estimator115provides an estimate of the navigation information at any given time, regardless of how often the navigation state estimator115receives the validated source information from the integrity monitor module110. The navigation state estimator115may function using discrete-time Markov processes with a probability density function ƒ(x|{acute over (x)}) that denotes the probability of moving from state {acute over (x)} to state x. For example, given some state {Xn}n≥1, the source information have marginal densities that are given by zn|(Xn=xn)˜g(zn|XN). The implementation of the navigation state estimator115may be accomplished by estimation algorithms such as an extended Kalman filter, a particle filter, a nonlinear moment filter, a Hidden Markov Model, and/or a Bayesian filter.

Whenever source information, zi′, is available from the integrity monitor module110, the navigation state estimator115updates the navigation information or state estimate {circumflex over (X)}nbased on whatever additional or new information may be available in the source information to form the best possible state estimate at that point in time. The navigation state estimator115then propagates the navigation information or state estimate forward in time as needed by the navigation filter system100and in time increments called navigation epochs that may or may not be regular time intervals. The navigation epoch does not need to be constant and does not need to be synchronized with inputs of the validated source information from the integrity monitor module110to the navigation state estimator115. For example, the navigation state estimator115may determine the navigation information every second, every few seconds, every minute, or every few minutes, even though the integrity monitor module110may be providing validated source information to the navigation state estimator115in time intervals longer or shorter than the navigation epochs.

As mentioned above, the navigation state estimator115may also transmit the navigation information back to the integrity monitor module110, where it may be used to validate subsequent source information received from the data sources105and/or information module120. For example, the navigation state estimator115receives accelerations and angular rates from data sources105, such as accelerometers and gyroscopes. This source information may be measured over a period of time, and the result used to determine the navigation information for one or more navigation platforms12. However, misalignment and bias errors are inherent in the accelerations and angular rates, and both compound over time. When the navigation state estimator115receives a validated and updated geolocation position from a GPS system, the source information from the GPS system may be used to bound or otherwise correct for these errors.

As mentioned above,FIG.7schematically shows a distributed navigation system architecture10with a navigation filter system100in an environment in which the architecture may operate. In this example, the navigation platform12having an anchor navigator16and the navigation filter system100is an aircraft (object101a). The navigation filter system100includes numerous data sources105, such as a GPS satellite, COSS system, stars, planets, and cell phone tower. The data sources105send source information to the navigation filter system100.

In one embodiment, the navigation filter system100may be configured to communicate with other navigation platforms12(e.g., aircraft180, unmanned vehicles181, personal devices182of people, vehicles183). Any of these objects180-183may evaluate the environment of the data sources105to obtain situation data125. Then, the objects may transmit the situation data125to the situation module130of the navigation filter system100, which, in this embodiment, is located on the navigation platform12shown as the aircraft101a. The navigation filter system100may use its situation module130, information module120, and integrity module110to determine which data sources105to rely on and use in its navigation state estimator115, as described above.

FIG.8schematically shows a distributed navigation system architecture10and environment in which the navigation filter system100may operate. In this example, the navigation filter system100is located entirely on a stationary navigation platform12, such as a base for a government agency. Thus, the stationary navigation platform12houses the integrity monitor module110, the information module120, the situation module130, and the navigation state estimator115. The navigation platform12(e.g., aircraft101a) receives source information from data sources105such as satellites105, stars105, planets105, and cellphone towers105and transmits the source information to the navigation filter system100. Furthermore, navigation platforms12, such as aircrafts180,181may evaluate the existing environment of the data sources105to obtain situation data125, which is provided to the situation module130located on the stationary navigation platform12. The navigation filter system100uses the received situation data125and source information from the data sources105to determine which data sources105to rely on and use in its navigation state estimator115, as described above.

FIG.9schematically shows a distributed navigation system architecture10and environment in which the navigation filter system100may operate. In this example, modules of the navigation filter system100are distributed across multiple navigation platforms12, such as different stationary navigation platforms12, e.g., bases for a government agency. One navigation platform12may house the integrity monitor module110, the information module120, and the situation module130, while the other navigation platform12may house the navigation state estimator115. One of the navigation platforms12, e.g., the aircraft101a, may receive source information from data sources105such as satellites105, stars105, planets105, and cellphone towers105and transmit this information to the integrity monitor module110on one navigation platform12. The navigation platforms12(e.g., objects180,181) may evaluate the environment of the data sources105and provide their situation data125to the situation module130, which may also be located on one navigation platform12. The integrity monitor module110provides validated source information and corresponding quality of the source information to the navigation state estimator115on the other navigation platform12, which uses this information to determine the navigation information of one or more of the navigation platforms12(e.g., the navigation platform12with the anchor navigator node16, e.g., aircraft101a, as well as the navigation information for the other navigation platforms12within the communication network).

Other Features

In various embodiments, one or more components of the distributed navigation system architecture10and/or the navigation filter system100may include one or more processors, memory, an operating system, and one or more programs or applications executing on them to perform the functions described herein (also referred to herein as a “computing platform”). The computing platform may be a stand-alone navigation device (e.g., a hand-held navigation device, a body-mounted navigation device, a smart phone, a tablet, or the like), a navigation device embedded in a user vehicle (e.g., an automobile, a ship, an airplane, a train, a special-purpose vehicle, or the like), or a navigation device embedded in a partially or fully autonomous vehicle (e.g., drone, driverless automobile, robotic device, underwater robotic device, missile, satellite), by way of example. The embodiments of the invention described above are intended to be merely exemplary; numerous variations and modifications will be apparent to those skilled in the art. All such variations and modifications are intended to be within the scope of the present invention as defined by the following claims.