METHOD AND SYSTEM FOR FILTERING OUT SENSOR DATA FOR A VEHICLE
20220404468 · 2022-12-22
Inventors
Cpc classification
G01S17/42
PHYSICS
International classification
Abstract
A method and system are devised for filtering out sensor data by a Sensor scan filtering system. It comprises: creating acquisition tables of angular size data of a cluster of points for a Reference object placed at N respective distances from a sensor in a range [D.sub.min;D.sub.max]; creating calibrated threshold tables, by associating to adjacent distance intervals M in the range [D.sub.min;D.sub.max]respective thresholds calculated as a function of the angular size data for the Reference object when placed at distances falling within the respective distance intervals M; selecting one of the created calibrated threshold tables by the Sensor scan filtering system, and processing of sensor data as a function of the angular size data of a cluster of points for a Field object located at a distance D from the sensor, relative to the threshold in the selected calibrated threshold table for the distance interval M within which D falls.
Claims
1. A method for filtering out sensor data, comprising: creating one or more acquisition tables comprising acquiring from a Sensor scan points clustering system, coupled to a Sensor having a field of view operating range [F.sub.min;F.sub.max], angular size data of a cluster of points for a Reference object placed at N respective distances from the sensor, the N distances being located in a range [D.sub.min;D.sub.max] included within [F.sub.min;F.sub.max]; creating one or more calibrated threshold tables comprising for each created calibrated threshold table: dividing the range [D.sub.min;D.sub.max] into i, i>=1, adjacent distance intervals M; and associating to each M.sub.i distance interval an angular size threshold T.sub.i calculated as a function of the angular size data in one of the one or more created acquisition tables corresponding to distances among the N distances falling within the M.sub.i distance interval; transmitting the one or more calibrated threshold tables to a Sensor scan filtering system configured to process data output by the Sensor scan points clustering system coupled to the Sensor mounted on a vehicle; and selecting one of the one or more transmitted calibrated threshold tables, and processing by the Sensor scan filtering system of data output by the Sensor scan points clustering system, wherein the processing comprises a function of: the angular size data S of a cluster of points for a Field object located at a distance D from, and detected by, the coupled Sensor mounted on the vehicle; relative to the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls.
2. The method of claim 1, wherein the processing by the Sensor scan filtering system of data output by the Sensor scan points clustering system, further comprises: rejecting the detected Field object based on a comparison of the respective values of the angular size data S and the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls; and if the detected Field object is not rejected, transmitting to a Vehicle navigation system information representative of at least the relative position of the detected Field object.
3. The method of claim 1, wherein the creating one or more acquisition tables comprises placing a Background object at a distance D.sub.Back from the Reference object, and positioned so that the Reference object lies between the Sensor and the Background object.
4. The method of claim 3, wherein the creating one or more acquisition tables further comprises using respective Reference objects that differ from one another by at least one of their size, their reflectivity, and their distance D.sub.Back to the Background object.
5. The method of claim 1, wherein: the transmitting the one or more calibrated threshold tables further comprises transmitting metadata associated to each one of the one or more calibrated threshold tables; and the selecting one of the one or more calibrated threshold tables comprises matching one of the metadata with at least one of the vehicle navigation requirements, conditions and environment, and selecting the calibrated threshold table associated to the matched metadata.
6. The method of claim 1, wherein the adjacent distance intervals M are increasing in range from the distance interval adjacent to D.sub.min, to the distance interval adjacent to D.sub.max.
7. The method of claim 1, wherein the angular size threshold T.sub.i is calculated as one of the minimum or the maximum of the angular size data in one of the one or more created acquisition tables corresponding to distances among the N distances falling within the M.sub.i distance interval.
8. The method of claim 2, wherein the creating one or more calibrated threshold tables further comprises for each created calibrated threshold table, associating to a distance interval [D.sub.max;F.sub.max] an angular size threshold T value such that the detected Field object is not rejected if the distance D falls within [D.sub.max;F.sub.max].
9. A system for a vehicle for filtering out sensor data, comprising a Sensor scan filtering system configured to process data output by a Sensor scan points clustering system coupled to a Sensor having a field of view operating range [F.sub.min;F.sub.max], and mounted on the vehicle, by: receiving one or more calibrated threshold tables, each calibrated threshold table being created by: creating one or more acquisition tables, each acquisition table being created by acquiring from the Sensor scan points clustering system coupled to the Sensor, angular size data of a cluster of points for a Reference object placed at N respective distances from the sensor, the N distances being located in a range [D.sub.min;D.sub.max] included within [F.sub.min;F.sub.max]; dividing the range [D.sub.min;D.sub.max] into i, i>=1, adjacent distance intervals M; and associating to each M.sub.i distance interval an angular size threshold T.sub.i calculated as a function of the acquired angular size data in one of the one or more acquisition tables corresponding to distances among the N distances falling within the M.sub.i distance interval; and selecting one of the one or more received calibrated threshold tables, and processing data output by the Sensor scan points clustering system, wherein the processing comprises a function of: the angular size data S of a cluster of points for a Field object located at a distance D from, and detected by, the coupled Sensor mounted on the vehicle; relative to the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls.
10. The system of claim 9, wherein the Sensor scan filtering system is further configured to process data output by the Sensor scan points clustering system, by: rejecting the detected Field object based on a comparison of the respective values of the angular size data S and the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls; and if the detected Field object is not rejected, transmitting to a Vehicle navigation system information representative of at least the relative position of the detected Field object.
11. The system of claim 9, wherein the creating one or more acquisition tables comprises placing a Background object at a distance D.sub.Back from the Reference object, and positioned so that the Reference object lies between the Sensor and the Background object.
12. The system of claim 11, wherein the creating one or more acquisition tables further comprises using respective Reference objects that differ from one another by at least one of their size, their reflectivity, and their distance D.sub.Back to the Background object.
13. The system of claim 9, wherein the Sensor scan filtering system is further configured to process data output by the Sensor scan points clustering system, by: receiving metadata associated to each one of the one or more calibrated threshold tables; and selecting one of the one or more calibrated threshold tables by matching one of the metadata with at least one of the vehicle navigation requirements, conditions and environment, and selecting the calibrated threshold table associated to the matched metadata.
14. The system of claim 9, wherein the adjacent distance intervals M are increasing in range from the distance interval adjacent to D.sub.min, to the distance interval adjacent to D.sub.max.
15. The system of claim 9, wherein the angular size threshold T.sub.i is calculated as one of the minimum or the maximum of the angular size data in one of the one or more created acquisition tables corresponding to distances among the N distances.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0045] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where:
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055] It should be noted that, unless otherwise explicitly specified herein, the drawings are not to scale. Finally, elements that are identical from one drawing to the other bear the same numeral reference across drawings.
DETAILED DESCRIPTION
[0056] The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope.
[0057] Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.
[0058] In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and/or that what is described is the sole manner of implementing that element of the present technology.
[0059] Moreover, all statements herein reciting principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer-readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.
[0060] The functions of the various elements shown in the figures, including any functional block, may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. In some aspects of the present technology, the processor may be a general purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a digital signal processor (DSP). In the aforementioned, explicit use of the term a «processor» should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included.
[0061] Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and/or textual description. Such modules may be executed by hardware that is expressly or implicitly shown. Moreover, it should be understood that «module» may include for example, but without being limitative, computer program logic, computer program instructions, software, stack, firmware, hardware circuitry or a combination thereof which provides the required capabilities.
[0062] With these fundamentals in place, we will now consider some non-limiting examples to illustrate various implementations of aspects of the present technology.
[0063]
[0064] Smaller objects 102 and 103 may, as the case may be, not constitute true obstacles for the safe trajectory of autonomous vehicle 106, even if present on its path. For example, smaller objects 102 and 103 may be grass stems. Detection of such smaller objects 102 and 103 should not result in the autonomous vehicle 106 automatically slowing down, making a stop or otherwise changing trajectory. On the other hand, larger Field objects 101 and 104 may constitute true obstacles that warrant and should trigger avoidance navigation control (brake, steer, etc.) by the Vehicle navigation system 110. For example, larger Field objects 101 and 104 may be rocks or other objects that are susceptible of damaging the autonomous vehicle 106 or affect the safety of its passengers, or obstacles that should not be run over under any circumstance, such as a body part of a pedestrian. The present technology implemented in the Sensor scan filtering system 109 aims at filtering out points clustered by the Sensor scan points clustering system 108, by removing/rejecting clusters of detected objects that are not true obstacles to the autonomous vehicle 106, using calibrated threshold tables created as described below. This may for example be performed by the Sensor scan filtering system 109: [0065] if receiving a pointcloud at interface 111: removing/rejecting points from the point cloud and providing a modified pointcloud at interface 112; [0066] if receiving a list of clustered detected objects at interface 111: removing/rejecting clustered objects from the list and providing a modified list at interface 112.
[0067] As will be appreciated by the person skilled in the art,
[0071]
[0072]
[0073] At step 302, one or more calibrated threshold tables may be created. This may be performed by, for each created calibrated threshold table: [0074] dividing the range [D.sub.min;D.sub.max] into i, with i>=1, distance intervals M: these distance intervals may be adjacent, ie: non overlapping (no intersection), and their sum may be equal to the range [D.sub.min;D.sub.max]; and [0075] associating to each distance interval M.sub.i an angular size threshold T.sub.i which may be calculated as a function of the angular sizes that were acquired at step 301 for the reference object at distances among the N that are falling within the distance interval M.sub.i.
[0076] Optionally, metadata to characterize the created calibrated threshold tables may accompany each one of them, as seen below.
[0077] In a very simplified example for illustration purposes, N=8 acquired angular size data (in degrees or radians) for a reference object, may correspond to N=8 distances (of the reference object from the sensor) equally distributed over 1 (D.sub.min) to 8 (D.sub.max) meters as follows:
TABLE-US-00001 Acquisition table 1 Distance Acquired from angular size sensor of reference (N = 8) object 1 15 2 9 3 7 4 6 5 5.50 6 5 7 4.75 8 4.60
[0078] Based on these acquired angular size data, a calibrated threshold table may for example be created for M=4 adjacent and non overlapping distance intervals, that may or may not be evenly distributed within the range [D.sub.min;D.sub.max]. Each such created calibrated threshold table associates to each distance interval, a calculated threshold. The threshold may be calculated as a function of those acquired angular size data corresponding to distances falling within the associated distance interval. For example, as in calibrated threshold table 1 below, the function is the minimum of the acquired angular size data values at the corresponding distances:
TABLE-US-00002 Calculated threshold as a function of those N acquired data within M (m) range Calibrated threshold table 1 [1-3.99] 7 [4-5.99] 5.5 [6-7.50] 4.75 [7.51-8] 4.60 Calibrated threshold table 2 [1-3.99] 15 [4-5.99] 6 [6-7.50] 5 [7.51-8] 4.60 Calibrated threshold table 3 [1-1.49] 15 [1.5-2.99].sup. 9 [3-4.99] 6.5 [5-8] 4.96
[0079] In the case of calibrated threshold table 2 above, the four distance intervals M are the same as those in calibrated threshold table 1. But the function for the calculated threshold is the maximum of the acquired angular size data values at the corresponding distances.
[0080] In the case of calibrated threshold table 3 above, the number of distance intervals M is still the same (4), but the intervals are different, and the function for the calculated threshold is an average of the acquired angular size data values at the corresponding distances.
[0081] The person skilled in the art will appreciate, that still within the teachings of the present disclosure: [0082] the N distances for acquired angular size data may or may not be evenly distributed over the range [D.sub.min;D.sub.max]; [0083] the adjacent distance intervals M may not necessarily be equal in range, and may for example be smaller for distances closer to the sensor; and [0084] the function for obtaining the calculated threshold may be one of many possibilities of using the acquired angular size data values at corresponding distances, depending on the intended objectives for the safety of navigation of vehicle 106.
[0085] At step 303, the one or more created calibrated threshold tables may be transmitted to a Sensor scan filtering system (109) configured to process data output by the Sensor scan points clustering system (108) coupled to the Sensor (100) mounted on a vehicle.
[0086] At step 304, one of the one or more created calibrated threshold tables may be selected and used by the Sensor scan filtering system (109) to process data output by the Sensor scan points clustering system (108). The processing may comprise a function of the angular size data S of a cluster of points for a Field object (101-104), detected by the coupled Sensor (100), and located at a distance D of the coupled Sensor (100) mounted on the vehicle, relative to the threshold T.sub.i in the selected calibrated threshold table corresponding to the distance interval M.sub.i within which D falls.
[0087] Optionally, a calibrated threshold table may be selected based on accompanying metadata characterizing its content, as seen below.
[0088] The person skilled in the art will appreciate that, still within the teachings of the present disclosure, the datasheets from providers and suppliers of sensors, including when coupled to, or integrated with, Sensor scan points clustering systems as the case may be, may be used to verify and/or complement the empirical results of the acquisition (301) of angular size data for a reference object. For example, in an aspect of the present technology, a calibrated threshold table created through the process described at step 302, may be complemented with thresholds for distance ranges [F.sub.min;D.sub.min] and/or [D.sub.max;F.sub.max]. For example, extrapolating threshold values for distance ranges [F.sub.min;D.sub.min] and [D.sub.max;F.sub.max] may be performed through a calculation based on the aforementioned datasheets.
[0089] It will also be apparent to the person skilled in the art, that still within the teachings of the present disclosure, a calibrated threshold table may encompass, beyond a table with discrete M.sub.i values, a continuous function f of values M.sub.i (ie: the equivalent of a table where i tends to the infinite, and each distance interval M.sub.i tends to zero). The processing of data output by the Sensor scan points clustering system (108) may then comprise a function of the angular size data S of a cluster of points for a Field object (101-104), detected by the coupled Sensor (100), and located at a distance D, relative to f(D). Such a continuous function f may, for example, be calculated by regression analysis of the N values in an acquisition table.
[0090] In another aspect, thresholds for distance ranges [F.sub.min;D.sub.min] and/or [D.sub.max;F.sub.max] may be set by: [0091] adopting as threshold for the distance range [F.sub.min;D.sub.min] the threshold calculated for the distance D.sub.min; and/or [0092] adopting as threshold for the distance range [D.sub.max;F.sub.max] a value of 0 (or a value indicative that no filtering out is to be performed in the range).
[0093]
[0094] The acquisition set-up allows to obtain from Sensor scan points clustering system 108, a cluster of points for the Reference object 400 at each of N distances from the Sensor 100 within [D.sub.min;D.sub.max]. For example, the minimum distance interval between two consecutive of the N distances may be driven by the range resolution of Sensor 100. For example, the maximum distance interval between two consecutive of the N distances may be 1 cm. The acquisition information at N successive distances is fed (401) to a Calibrated threshold table calculator 402.
[0095] The Calibrated threshold table calculator 402 may use the acquisition information to create one or more acquisition tables of the angular size value of the cluster of points for the Reference object 400, at each of the N distance values. The acquisition table may then be used by the Calibrated threshold table calculator 402 to create one or more calibrated threshold tables, of thresholds calculated from angular size values for the Reference object 400 at distances falling within each one of M adjacent and non overlapping distance intervals within [D.sub.min;D.sub.max]. For example a minimum distance interval M may be 5 cm.
[0096] In aspects of the present technology, the calculated threshold for a given distance interval M may be the minimum angular size value of all acquired angular size values for the Reference object 400 at distances falling within that distance interval M. In other aspects, the maximum angular size value may be adopted instead. In yet other aspects, the average of the acquired angular size values for the Reference object 400 at distances falling within that distance interval M, may be adopted instead. Other functions of the acquired angular size values for the Reference object 400 at distances falling within that distance interval M may be used.
[0097] Optionally, the acquisition set-up may include a corridor 404 longitudinally extending in the motion direction of the Sensor 100 relative to the Reference object 400. This has the effect of virtually delimiting the trajectories of Sensor 100 and Reference object 400 for acquisition. Such a corridor 404 may be opted for, for example to minimize the post-processing requirements after acquisition with less complex algorithms and fewer computing power requirements. For example, without a corridor 404, clusters of points for objects other than Reference object 400 appearing in the field of view of Sensor 100, may have to be processed.
[0098] Optionally, the acquisition set-up may include a Background object (405) placed at a distance D.sub.Back from the Reference object (400), and positioned so that the Reference object (400) lies between the Sensor (100) and the Background object (405). Acquisition with a background object brings about technical effects and advantages that are detailed below.
[0099] Optionally, the acquisition set-up may involve a Reference object (400) with different reflectivity characteristics. Acquisition with successive reference objects with different reflectivity characteristics brings about technical effects and advantages that are detailed below.
[0100] One or more calibrated threshold tables may be created by Calibrated threshold table calculator 402 and be transmitted to the Sensor scan filtering system 109 of
[0101]
[0102] From graph 501, a calibrated threshold table may be created comprising i values. A discretization of acquired angular size values may be performed for example by; [0103] defining i distance intervals M between D.sub.min and D.sub.max. For example, the distance intervals M.sub.i may be of the same length, for example 5 cm, when the maximum distance between two consecutive of the N points is 1 cm; [0104] for each of the distance intervals M.sub.i calculating a value which is a function of the values for those of the N angular sizes acquired at a distance from the Sensor 100 falling within the particular distance interval M. For example, the function may be the minimum of all such angular size values. The calculated value may then constitute a threshold T.sub.i for that distance interval M.sub.i. The table of thresholds T.sub.i may be represented under the form of graph 502.
[0105]
[0111] At step 602, the Sensor scan filtering system 109 may select one of the received calibrated threshold tables based on the matching of associated received metadata with one of a vehicle 106 navigation safety requirements, conditions and environment. In an aspect of the present technology, the selecting may be dynamic. For example, while the vehicle 106 is in motion, the selecting may be made/modified: [0112] when the vehicle 106 encounters certain weather conditions, such as rain or snow accumulation; [0113] when the vehicle 106 travels during certain periods of the year, when for example bugs, or leaves, are more prone to be around, or during certain times of the day; or [0114] when the vehicle 106 enters certain geographical areas that are identified to require meeting different safety standards (for example more densely populated areas etc.).
[0115] At step 603, the Sensor scan filtering system 109 may receive from the Sensor scan points clustering system 108 information relative to a detected Field objects 101-104. As seen above, this information may take different forms, to include at least the angular size S and the distance D from the Sensor 100, for the detected Field objects 101-104.
[0116] At step 604, the Sensor scan filtering system 109 may apply a filtering decision function on the angular size S relative to the threshold T.sub.i indicated in the selected one of the received calibrated threshold tables, as corresponding to the distance interval M.sub.i in which the distance D falls. Based on the result of the filtering decision function, the Sensor scan filtering system 109 may reject (step 605) the detected Field objects 101-104, and loop back to step 603 to receive the next detected Field objects 101-104.
[0117] If not rejected, information about the detected Field objects 101-104 may be transmitted (step 606) by the Sensor scan filtering system 109 to the Vehicle navigation system 110, including the position of the detected Field objects 101-104 relative to the Sensor 100. As mentioned before, such information may take for example the form of points in a pointcloud, or of listed objects with for example associated approximate geometrical shape. The person skilled in the art will appreciate that in the case of a driven vehicle, this information may be transmitted to some other control or alert center in the vehicle. A loop back to step 603 may be made to receive the next detected Field objects 101-104.
[0118] While the above has been described in a simplified serial handling of received detected field objects' information, it will be apparent to the person skilled in the art that information about several simultaneously detected field objects may be received, with a parallel applying of the filtering decision function (step 604), rejecting (step 605) or transmitting of information to the Vehicle navigation system 110 (step 606) on all detected field objects simultaneously or quasi-simultaneously.
[0119] The filtering decision function of step 604 may for example consist in comparing the respective values of the angular size S and of the threshold T.sub.i. For example, a detected field object may be rejected if its angular size S is larger than the threshold T.sub.i; in another aspect, it may be rejected if its angular size S is smaller than the threshold T.sub.i. In yet another aspect, the margin with which the angular size S and of the threshold T.sub.i differ may be taken into consideration.
[0120] With a further combination of the selecting of a particular received calibrated threshold table (step 602) and the adopting of a particular filtering decision function (step 604), the Sensor scan filtering system 109 may provide assistance to the Vehicle navigation system 110 that is tailored to the vehicle 106 navigation particular safety requirements, conditions and environment. For example, the Sensor scan filtering system 109 may opt to: [0121] under dry navigation conditions, not reject detected field objects that are larger (filtering decision function: steps 604/605) than 1 cm in size (selection of the corresponding calibrated threshold table: step 602); and [0122] under rainy navigation conditions, reject detected field objects that are smaller (filtering decision function: steps 604/605) than 3 cm in size (selection of the corresponding calibrated threshold table: step 602).
While the selecting and the adopting may be dynamically adjusted while the vehicle 106 is in motion.
[0123]
[0124] With the present technology, depending on the combination made of the selecting of a particular received calibrated threshold table (step 602 on
[0125] In view 211a, clusters of points 201a, 202 and 203 have been removed/rejected by the Sensor scan filtering system 109, having been viewed as not being true obstacles to the autonomous vehicle 106. This information, exempt of actual smaller objects 102 and 103, and also of object 101 appearing as a smaller object, may be fed to the Vehicle navigation system 110 of
[0126] In view 211b, safer navigation may be achieved: cluster of points 203 alone has been removed/rejected by the Sensor scan filtering system 109, having been recognized as not being a true obstacle to the autonomous vehicle 106, while cluster of points 101 in particular has not been removed/rejected. This information, exempt of actual smaller object 103, may be fed to the Vehicle navigation system 110 of
[0127]
[0128] With the present technology, depending on the combination made of the selecting of a particular received calibrated threshold table (step 602 on
[0129] In view 211c, clusters of points 202, 203 and 204a have been removed/rejected by the Sensor scan filtering system 109, having been viewed as not being true obstacles to the autonomous vehicle 106. This information, exempt of actual smaller objects 102 and 103, and also of object 104 appearing as a smaller object, may be fed to the Vehicle navigation system 110 of
[0130] In view 211d, safer navigation may be achieved: cluster of points 202 alone has been removed/rejected by the Sensor scan filtering system 109, having been recognized as not being a true obstacle to the autonomous vehicle 106, while cluster of points 104 in particular has not been removed/rejected. This information, exempt of actual smaller object 102, may be fed to the Vehicle navigation system 110 of
[0131]
[0132] In some aspects of the present technology, the Computing System 900 may comprise various hardware components including one or more single or multi-core processors collectively represented by a processor 901, a solid-state drive 902, a memory 903 and an input/output interface 904. In this context, the processor 901 may or may not be included in a FPGA. In some other aspects, the Computing System 900 may be an “off the shelf” generic computing system. In some aspects, the Computing System 900 may also be distributed amongst multiple systems. The Computing System 900 may also be specifically dedicated to the implementation of the present technology. As a person in the art of the present technology may appreciate, multiple variations as to how the Computing System 900 is implemented may be envisioned without departing from the scope of the present technology.
[0133] Communication between the various components of the Computing System 900 may be enabled by one or more internal and/or external buses 905 (e.g. a PCI bus, universal serial bus, IEEE 1394 “Firewire” bus, SCSI bus, Serial-ATA bus, ARINC bus, etc.), to which the various hardware components are electronically coupled.
[0134] The input/output interface 904 may allow enabling networking capabilities such as wire or wireless access. As an example, the input/output interface 904 may comprise a networking interface such as, but not limited to, a network port, a network socket, a network interface controller and the like. Multiple examples of how the networking interface may be implemented will become apparent to the person skilled in the art of the present technology. According to implementations of the present technology, the solid-state drive 902 may store program instructions, such as those part of, for example, a library, an application, etc. suitable for being loaded into the memory 903 and executed by the processor 901 for the method and process steps according to the present technology.
[0135] While the above-described implementations have been described and shown with reference to particular steps performed in a particular order, it will be understood that these steps may be combined, sub-divided, or re-ordered without departing from the teachings of the present disclosure. At least some of the steps may be executed in parallel or in series. Accordingly, the order and grouping of the steps is not a limitation of the present technology. It should further be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every aspect of the present technology.
[0136] Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting. The scope of the present technology is therefore intended to be limited solely by the scope of the appended claims.