Method for motion estimation in a vehicle, corresponding device and computer program product
11834054 · 2023-12-05
Assignee
- Stmicroelectronics S.R.L. (Agrate Brianza, IT)
- Stmicroelectronics, Inc. (Coppell, TX)
- STMicroelectronics (Grand Ouest) SAS (Le Mans, FR)
Inventors
- Nicola Matteo Palella (Rivolta d'Adda, IT)
- Leonardo Colombo (Lecco, IT)
- Andrea DONADEL (Meda, IT)
- Roberto Mura (Milan, IT)
- Mahaveer JAIN (Milpitas, CA, US)
- Joëlle PHILIPPE (Le Mans, FR)
Cpc classification
G01S19/47
PHYSICS
International classification
Abstract
A system includes inertial sensors and a GPS. The system generates a first estimated vehicle velocity based on motion data and positioning data, generates a second estimated vehicle velocity based on the processed motion data and the first estimated vehicle velocity, and generates fused datasets indicative of position, velocity and attitude of a vehicle based on the processed motion data, the positioning data and the second estimated vehicle velocity. The generating the second estimated vehicle velocity includes: filtering the motion data, transforming the filtered motion data in a frequency domain based on the first estimated vehicle velocity, generating spectral power density signals, generating an estimated wheel angular frequency and an estimated wheel size based on the spectral power density signals, and generating the second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size.
Claims
1. A device, comprising: a filter, which, in operation, filters motion data; a transformer coupled to the filter, wherein the transformer, in operation, transforms the filtered motion data in a frequency domain based on a first estimated vehicle velocity and an estimated wheel size, generating spectral power density signals; a frequency detector coupled to the transformer, wherein the frequency detector, in operation, generates an estimated wheel angular frequency based on the generated spectral power density signals; a size estimator coupled to the frequency detector and to the transformer, wherein the size estimator, in operation, generates the estimated wheel size based on the estimated wheel angular frequency and positioning data; and a mixer coupled to the frequency detector and the size estimator, wherein the mixer, in operation, generates a second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size.
2. The device of claim 1, comprising: inertial sensing circuitry coupled to the filter, wherein the inertial sensing circuitry, in operation, generates the motion data.
3. The device of claim 2 wherein the inertial sensing circuitry comprises a triaxial accelerometer and a triaxial gyroscope.
4. The device of claim 2, comprising: global positioning system (GPS) circuitry coupled to the size estimator, wherein the GPS circuitry, in operation, generates the positioning data.
5. The device of claim 4, comprising: a position-velocity-attitude (PVA) filter coupled to the transformer and to the mixer, wherein the PVA filter, in operation, generates the first estimated vehicle velocity.
6. The device of claim 1, comprising: a position-velocity-attitude (PVA) filter coupled to the transformer and to the mixer, wherein the PVA filter, in operation, generates the first estimated vehicle velocity.
7. The device of claim 1, wherein, the transformer, in operation: selects a frequency range including a frequency value equal to a ratio of the first estimated vehicle velocity to the estimated wheel size; selects a distribution function and produces a sequence of N frequency values having a spatial distribution across the selected frequency range determined by the selected distribution function; and calculates spectral power of individual signals as a function of the sequence of N frequency values, producing individual spectral power density signals.
8. The device of claim 1, wherein the transformer comprises a plurality of power detectors, each power detector comprising: a first periodic signal generator, which, in operation, generates a first periodic signal; a first integrator, which, in operation, integrates the first periodic signal; a second periodic signal generator, which, in operation, generates a second periodic signal; a second integrator, which, in operation, integrates the second periodic signal; and a power calculator coupled to the first integrator and the second integrator, wherein the power calculator, in operation, generates signals indicative of signal power.
9. The device of claim 1, wherein the size estimator comprises a Kalman filter.
10. A system, comprising: inertial sensing circuitry, which, in operation, generates motion data; a global navigation system transceiver, which, in operation, generates positioning data; and processing circuitry coupled to the inertial sensing circuitry and to the global navigation system transceiver, wherein the processing circuitry includes: a filter, which, in operation, filters motion data; a transformer coupled to the filter, wherein the transformer, in operation, transforms the filtered motion data in a frequency domain based on a first estimated vehicle velocity and an estimated wheel size, generating spectral power density signals; a frequency detector coupled to the transformer, wherein the frequency detector, in operation, generates an estimated wheel angular frequency based on the generated spectral power density signals; a size estimator coupled to the frequency detector and to the transformer, wherein the size estimator, in operation, generates the estimated wheel size based on the estimated wheel angular frequency and positioning data; and a mixer coupled to the frequency detector and the size estimator, wherein the mixer, in operation, generates a second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size.
11. The system of claim 10, wherein the inertial sensing circuitry comprises a triaxial accelerometer and a triaxial gyroscope.
12. The system of claim 10, comprising: a position-velocity-attitude (PVA) filter, wherein the PVA filter, in operation, generates the first estimated vehicle velocity.
13. The system of claim 10, wherein, the transformer, in operation: selects a frequency range including a frequency value equal to a ratio of the first estimated vehicle velocity to the estimated wheel size; selects a distribution function and produces a sequence of N frequency values having a spatial distribution across the selected frequency range determined by the selected distribution function; and calculates spectral power of individual signals as a function of the sequence of N frequency values, producing individual spectral power density signals.
14. The system of claim 10, wherein the transformer comprises a plurality of power detectors, each power detector comprising: a first periodic signal generator, which, in operation, generates a first periodic signal; a first integrator, which, in operation, integrates the first periodic signal; a second periodic signal generator, which, in operation, generates a second periodic signal; a second integrator, which, in operation, integrates the second periodic signal; and a power calculator coupled to the first integrator and the second integrator, wherein the power calculator, in operation, generates signals indicative of signal power.
15. The system of claim 10, wherein the size estimator comprises a Kalman filter.
16. A method, comprising: filtering motion data using a filter; transforming, using a transformer, the filtered motion data in a frequency domain based on a first estimated vehicle velocity and an estimated wheel size, the transforming generating spectral power density signals; generating, using a frequency detector, an estimated wheel angular frequency based on the generated spectral power density signals; generating, using a size estimator coupled to the frequency detector and to the transformer, the estimated wheel size based on the estimated wheel angular frequency and positioning data; and generating, using a mixer coupled to the frequency detector and the size estimator, a second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size.
17. The method of claim 16, comprising: generating the motion data using inertial sensing circuitry coupled to the filter.
18. The method of claim 16, comprising: generating the positioning data using global positioning system (GPS) circuitry coupled to the size estimator.
19. A non-transitory computer-readable medium having contents which cause a processing device to perform a method, the method comprising: filtering motion data; transforming the filtered motion data in a frequency domain based on a first estimated vehicle velocity and an estimated wheel size, the transforming generating spectral power density signals; generating an estimated wheel angular frequency based on the generated spectral power density signals; generating the estimated wheel size based on the estimated wheel angular frequency and positioning data; and generating a second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size.
20. The non-transitory computer-readable medium of claim 19, wherein the contents comprise instructions executed by the processing device.
Description
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
(1) One or more embodiments will now be described, by way of non-limiting example only, with reference to the annexed Figures, wherein:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
DETAILED DESCRIPTION
(10) In the ensuing description, one or more specific details are illustrated, aimed at providing an in-depth understanding of examples of embodiments of this description. The embodiments may be obtained without one or more of the specific details, or with other methods, components, materials, etc. In other cases, known structures, materials, or operations are not illustrated or described in detail so that certain aspects of embodiments will not be obscured.
(11) Reference to “an embodiment” or “one embodiment” in the framework of the present description is intended to indicate that a particular configuration, structure, or characteristic described in relation to the embodiment is comprised in at least one embodiment. Hence, phrases such as “in an embodiment” or “in one embodiment” that may be present in one or more points of the present description do not necessarily refer to one and the same embodiment.
(12) Moreover, particular conformations, structures, or characteristics may be combined in any adequate way in one or more embodiments.
(13) The headings/references used herein are provided merely for convenience and hence do not define the extent of protection or the scope of the embodiments.
(14) Also, throughout the figures annexed herein, like parts or elements are indicated with like references/numerals unless the context indicates otherwise, and for brevity a corresponding description will not be repeated for each and every figure.
(15)
(16) For the sake of simplicity, the following description will assume that the device 10 is mounted onboard a four-wheeled land vehicle. Such an assumption is purely exemplary and in no way limiting: one or more embodiments may be coupled to notionally any kind of wheeled vehicle V.
(17) As exemplified in
(18) For the sake of simplicity, one or more embodiments are discussed in the following with respect to a positioning device 13 comprising a GNSS (Global Navigation Satellite System) hardware receiver 13 configured to provide absolute positioning signal data SD, for instance receiving GNSS signals from one or more satellites 15 (via an antenna 13a optionally included in the device 10) and processing these signals in order to obtain measurements about the satellite distance from earth and relative motion, supplying them as satellite position data SD. It is noted that such an example is in no way limiting, as notionally any kind of (absolute) positioning device 13 may be employed as one or more embodiments. For instance, this may comprise a mobile phone configured to provide an absolute positioning data signal.
(19) As exemplified in
(20) In a conventional manner, a fusion processing stage 20A as exemplified in
(21) For instance, performing alignment processing in the alignment stage 21 may comprise: detecting, e.g., by low-pass filtering and comparing the acceleration measured by x axis and versus the one which can be derived by GNSS (differentiating vehicle speed, for instance), the angles between reference frames of the IMU sensor 11 and the navigation frame, such as pitch, roll and yaw angles where pitch and the roll represent the displacement among sensor (x,y) and vehicle horizontal plans and yaw is the angle separating the direction ax1 of a first x axis of the sensor 11 from a forward direction of the vehicle; and applying rotational mapping to the sensor frame using the detected angles (e.g., using Direction Cosine Matrix or quaternion methods known per se), obtaining the aligned signals of the aligned dataset IMD_a as a result.
(22) For instance, applying calibration processing to the aligned dataset IMD_a in the calibration stage 21 may be directed at reducing systematic errors components which may be present in data sensed by IMU sensor 11, producing the calibrated dataset IMD_c as a result, the calibration processing comprising: in order to remove biasing errors due to motion contribution from the received dataset IMD_a, applying low pass filters tuned at different cutoff frequencies to the dataset IMD_a; and in order to remove errors due to scale factors from the received dataset IMD_a, comparing the aligned IMU signals IMD_a with GNSS signals.
(23) For instance, applying PVA filtering processing in the PVA filtering stage 23 may comprise: evaluating quality of GNSS position, velocity and attitude, e.g., receiving such an evaluation from the GNSS stage 13, and/or calculating it using the calibrated dataset IMU c received from the calibration stage 22 according to INS (inertial navigation system) theory, in a way known per se.
(24) One or more embodiments may be based on the recognition that drawbacks of existing solutions can be overcome, obtaining an accurate velocity measurement from the IMU 11, by applying (direct) frequency response analysis to the signals IMD sensed by the IMU 11 and extracting therefrom a frequency component indicative of, for instance, proportional to, (wheel) angular rotation rate.
(25) Such fusion processing may comprise a processing pipeline 20B as exemplified in
(26) In comparison with pipeline 20A, the pipeline 20B as exemplified in
(27)
(28) As exemplified in
(29) As exemplified in
(30)
(31) As exemplified in
(32)
(33) As exemplified in
(34)
so that an i-th frequency point f.sub.i may be expressed as:
(35)
(36) It is noted that such a distribution of points is purely exemplary and in no way limiting, being otherwise understood that one or more embodiments may produce the set of frequency points using any other type of spatial distribution, such as a Gaussian distribution where more density points are present close to the center frequency, for instance.
(37)
(38)
(39) As exemplified in
(40) As exemplified in
(41) The integrator stage 2624 as exemplified in
(42)
(43) As exemplified in
(44) As exemplified in
P.sub.i=√{square root over ((Q.sub.i.sup.T).sup.2+(I.sub.i.sup.T).sup.2)}
(45) As exemplified in
(46)
(47) As exemplified in
(48) It is noted that such a way of processing frequencies in the first calculating stage 270 is purely exemplary and in no way limiting, being otherwise understood that other types of processing to extract a detected frequency therefrom may be used. For instance, the first calculating stage 27 may be configured to compute a weighted average, facilitating giving more importance to some axes, or a logical algorithm selecting one of the axes as a function of various parameters, such as the detected power P.sub.i, for instance.
(49) As exemplified in
(50) In one or more embodiments, the velocity signals provided by other systems may be used, such as the velocity from the (real) odometer or the estimated velocity yin from the PVA filter stage 23.
(51) As exemplified in
(52) As exemplified in
C.sub.w.sup.T=C.sub.w.sup.T−1+Kdv.sup.T
where
Ĉ.sub.w.sup.T=C.sub.w.sup.T−1
{circumflex over (v)}.sub.w=Ĉ.sub.w.sup.Tf.sub.w.sup.T
dv.sup.T=v.sub.G.sup.T−{circumflex over (v)}.sub.w
with reference velocity V.sub.G=v.sub.GNSS, for instance.
(53) It is noted that such a detection method is purely exemplary and in no way limiting, being otherwise understood that other methods may be suitable, such as a LS algorithm computed over a set of observations or a (low-pass) filter, for instance.
(54) As exemplified herein, a method comprises: receiving a motion dataset (for instance, IMD) of motion data from at least one inertial sensing unit (for instance, 11, 112, 114) in a wheeled vehicle (for instance, 100); receiving an absolute positioning dataset (for instance, SD, v.sub.GNSS) of absolute positioning data from a global navigation system (for instance, 13) in the wheeled vehicle; applying pre-processing (for instance, 21, 22, 23) to motion data in the motion dataset as a function of absolute positioning data in the absolute positioning dataset (for instance, SD) and obtaining a pre-processed motion dataset of pre-processed motion data (for instance, IMD_a, IMD_c; Ax_c, Ay_c, Az_c, Gx_c, Gy_c, Gz_c) and at least one estimated velocity value (for instance, v.sub.in, v.sub.GNSS) of the wheeled vehicle as a result; applying pipeline data processing (for instance, 24) to pre-processed motion data in the pre-processed motion dataset as a function of the at least one estimated velocity value of the wheeled vehicle and obtaining a calculated virtual vehicle velocity (for instance, v.sub.o) as a result; applying position-velocity-attitude, PVA, filtering (for instance, 23) to pre-processed motion data in the pre-processed motion dataset and to at least one of absolute positioning data in the absolute positioning dataset and the calculated virtual vehicle velocity, and obtaining a fused dataset (for instance, F) of fused data indicative of position, velocity and attitude information of the vehicle as a result; and providing to a user circuit (for instance, 16) fused data in the fused dataset indicative of position, velocity and attitude information of the wheeled vehicle, wherein said pipeline data processing (for instance, 24) for obtaining said virtual vehicle velocity (for instance, v.sub.o) as a result comprises: high-pass or low-pass filtering (for instance, 25) pre-processed motion data in the pre-processed motion dataset and obtaining a filtered dataset of filtered data (for instance, Ax_f, Ay_f, Az_f, Gx_f, Gy_f, Gz_f) as a result; applying frequency-domain transformation (for instance, 26, 260, 262) to filtered data in the filtered dataset of filtered data and obtaining as a result a frequency analyzed dataset of frequency analyzed data (for instance, P.sub.ax, P.sub.ay, P.sub.az, P.sub.gx, P.sub.gy, P.sub.gz, f.sub.ax, f.sub.ay, f.sub.az, f.sub.gx, f.sub.gy, f.sub.gz) comprising individual spectral power density signals (for instance, P.sub.ax, P.sub.ay, P.sub.az, P.sub.gx, P.sub.gy, P.sub.gz) including a set of power-maximizing frequencies (for instance, f.sub.ax, f.sub.ay, f.sub.az, f.sub.gx, f.sub.gy, f.sub.gz); calculating, as a function of said set of power-maximizing frequencies (for instance, f.sub.ax, f.sub.ay, f.sub.az, f.sub.gx, f.sub.gy, f.sub.gz) in said frequency analyzed dataset of frequency analyzed data, a wheel angular frequency signal (for instance, f.sub.w) indicative of an angular frequency of a wheel of the wheeled vehicle and a wheel size signal (for instance, C.sub.w) indicative of a radial size of said wheel of the wheeled vehicle; and calculating (for instance, 29) said virtual vehicle velocity as a function of said wheel angular frequency signal and said wheel size signal.
(55) As exemplified herein, applying said frequency domain transformation to the filtered dataset comprises: selecting (for instance, 260) a frequency range (for instance, Fr) including a frequency value equal to a ratio of said estimated velocity value to said wheel size signal; selecting a distribution function (for instance, 2602) and producing (for instance, 2600) a sequence of (for instance, N) frequency values (for instance, f.sub.1, . . . , f.sub.i, . . . , f.sub.N) having a spatial distribution across said selected frequency range (for instance, Fr) determined by said selected distribution function (for instance, 2602); and performing spectral power calculation (for instance, 262, 262a, 262b, 262c, 262d, 262e, 262f) of individual signals (for instance, yi) in said filtered dataset of filtered data as a function of said sequence of frequency values producing said individual spectral power density signals of said frequency analyzed dataset as a result.
(56) As exemplified herein, said spectral power calculation (for instance, 262, 262a, 262b, 262c, 262d, 262e, 262f) of individual signals (for instance, yi) in said filtered dataset of filtered data comprises: sequentially selecting (for instance, 2620) a frequency point value (for instance, f.sub.i) in said sequence of frequency values; generating (for instance, 2621, 2622) a first (for instance, 2621) and a second (for instance, 2622) periodic signal at said selected frequency point value, with said first and second periodic signals being in quadrature therebetween; applying mixing processing (for instance, 2623a, 2632b) between an individual signal (for instance, y.sub.i) of said filtered dataset of filtered data and said first and second generated periodic signals, obtaining a pair of mixed signals (for instance, Q.sub.i, I.sub.i) as a result; performing periodic time-integration (for instance, 2624a, 2624b) of the first (for instance, Q.sub.i) and second (for instance, mixed signals, producing a pair of integrated mixed signals, wherein said periodic time-integration (for instance, 2624a, 2624b) comprises triggering reset (for instance, R) of said time-integration as a result of reaching a pre-set (for instance, 2625) time-threshold equal proportional to a period of wheel rotation;
(57) calculating a square root of a sum of the second power (for instance, 2626) of the respective integrated mixed signals; and
(58) iterating N times (for instance, 2627) said sequentially selecting, said applying mixing processing, said performing periodic time-integration and said calculating the square root of the sum of the second power, providing an individual spectral power signal (for instance, P.sub.i) as a result.
(59) As exemplified herein, the method comprises: detecting (for instance, 2628) power-maximizing frequency values (for instance, f.sub.i) at which each individual power density signal (for instance, P.sub.i) in said individual spectral power density signals has a relative maximum spectral power value (for instance, P.sub.max); and collecting (for instance, 262a, 262b, 262c, 262d, 262e, 262f) said detected power-maximizing frequency values (f.sub.i) in said set of power-maximizing frequencies.
(60) As exemplified herein, said selecting (for instance, 2602) a distribution function comprises selecting a distribution function out of the group of distribution functions comprising uniform, weighted and gaussian distribution functions.
(61) As exemplified herein, said calculating, as a function of said set of power-maximizing frequencies in said frequency analyzed dataset of frequency analyzed data, a wheel angular frequency signal (for instance, f.sub.w) indicative of an angular frequency of a wheel of the wheeled vehicle (for instance, V), comprises: calculating (for instance, 270) an average value and a variance of said set of power-maximizing frequencies in said frequency analyzed dataset; and verifying (for instance, 272) that said calculated variance of said set of power-maximizing frequencies is within (e.g., below) a pre-set threshold, providing (for instance, SW) an angular frequency signal (for instance, f.sub.w) equal to said calculated average value of said set of power-maximizing frequencies as a result.
(62) As exemplified herein, providing said wheel size signal (for instance, C.sub.w) indicative of a radial size of a wheel of the wheeled mobile object comprises using a Kalman filter (for instance, K).
(63) As exemplified herein, applying said pre-processing (for instance, 21, 22, 23) to motion data in said motion dataset as a function of absolute positioning data in said absolute positioning, comprises: performing alignment (for instance, 21) of said motion dataset as a function of said absolute positioning dataset, obtaining an aligned motion dataset (for instance, IMD_a) as a result; and calibrating (for instance, 22) said motion dataset (for instance, IMD) as a function of said absolute positioning dataset (for instance, SD), obtaining a calibrated motion dataset (IMD_c) as a result.
(64) As exemplified herein, a position engine device (for instance, 10) is configured to be coupled to with at least one inertial sensing unit (for instance, 11, 112, 114) and at least one global navigation system transceiver (for instance, 13) configured to be equipped on a wheeled vehicle (for instance, 100), the positioning engine device comprising processing circuitry (for instance, 14, 143) configured to provide a fused dataset (for instance, F) indicative position, velocity and attitude (for instance, P,V,A) information of the wheeled vehicle to a user circuit (for instance, 16) with the method according to one or more embodiments.
(65) As exemplified herein, a wheeled vehicle (for instance, 100) is equipped with: at least one inertial sensing unit (for instance, 11, 112, 114); at least one global navigation system transceiver (for instance, 13), such as a global navigation satellite system, GNSS; and a positioning engine device (for instance, 10) according to one or more embodiments, wherein said positioning engine device is coupled to said at least one inertial sensing unit and said at least one global navigation system transceiver.
(66) As exemplified herein, said at least one inertial sensing unit comprises a triaxial accelerometer (for instance, 112) and a triaxial gyroscope (for instance, 114).
(67) As exemplified herein, a computer program product is loadable in the memory of at least one processing circuit (for instance, 14, 143) and comprises software code portions for executing the steps of the method according to one or more embodiments when the product is run on at least one processing circuit.
(68) In an embodiment, a method, comprises: generating processed motion data and a first estimated vehicle velocity based on motion data generated by inertial sensing circuitry of a wheeled vehicle and positioning data generated by global positioning circuitry of the wheeled vehicle; generating a second estimated vehicle velocity based on the processed motion data and the first estimated vehicle velocity; and generating fused datasets indicative of position, velocity and attitude of the vehicle based on the processed motion data, the positioning data and the second estimated vehicle velocity. The generating the second estimated vehicle velocity includes: filtering the processed motion data, generating filtered motion data; transforming the filtered motion data in a frequency domain based on the first estimated vehicle velocity, generating spectral power density signals; generating an estimated wheel angular frequency and an estimated wheel size based on the spectral power density signals; and generating the second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size. In an embodiment, transforming the filtered motion data in the frequency domain comprises: selecting a frequency range including a frequency value equal to a ratio of the first estimated velocity to the estimated wheel size; selecting a distribution function and producing a sequence of N frequency values having a spatial distribution across the selected frequency range determined by the selected distribution function; and calculating spectral power of individual signals as a function of the sequence of N frequency values, producing individual spectral power density signals. In an embodiment, the calculating the spectral power of the individual signals comprises: sequentially selecting a frequency point value in the sequence of N frequency values; generating a first periodic signal and a second periodic signal at the selected frequency point value, with the first and second periodic signals being in quadrature therebetween; applying mixing processing between an individual signal and the first and second generated periodic signals, obtaining first and second mixed signals as a result; performing periodic time-integration of the first and second mixed signals, producing a pair of integrated mixed signals, wherein the periodic time-integration comprises triggering reset of the time-integration as a result of reaching a determined time-threshold proportional to a period of wheel rotation; calculating a square root of a sum of the second power of the respective integrated mixed signals; and iterating N times the sequentially selecting, the applying mixing processing, the performing periodic time-integration and the calculating the square root of the sum of the second power. In an embodiment, the method comprises: detecting power-maximizing frequency values at which each individual power density signal in the individual spectral power density signals has a relative maximum spectral power value; and collecting the detected power-maximizing frequency values in a set of power-maximizing frequencies, wherein the estimated wheel angular frequency is generated based on the set of power-maximizing frequencies. In an embodiment, the generating the estimated wheel angular frequency comprises: calculating an average value and a variance of the set of power-maximizing frequencies in the frequency analyzed dataset; and verifying that the calculated variance of the set of power-maximizing frequencies is within a determined threshold, and selectively providing an angular frequency signal equal to the calculated average value of the set of power-maximizing frequencies based on the verifying. In an embodiment, the selecting a distribution function comprises selecting a distribution function out of a group of distribution functions consisting of uniform, weighted, and Gaussian distribution functions. In an embodiment, the generating the estimated wheel size comprises using a Kalman filter. In an embodiment, the generating processed motion data comprises: aligning motion data as a function of the positioning data, obtaining an aligned motion dataset; and calibrating the aligned motion dataset as a function of the positioning data, obtaining a calibrated motion dataset. In an embodiment, the inertial sensing circuitry comprises a triaxial accelerometer and a triaxial gyroscope.
(69) In an embodiment, a device comprises: a filter, which, in operation, filters motion data; a transformer coupled to the filter, wherein the transformer, in operation, transforms the filtered motion data in a frequency domain based on a first estimated vehicle velocity and an estimated wheel size, generating spectral power density signals; a frequency detector coupled to the transformer, wherein the frequency detector, in operation, generates an estimated wheel angular frequency based on the generated spectral power density signals; a size estimator coupled to the frequency detector and to the transformer, wherein the size estimator, in operation, generates the estimated wheel size based on the estimated wheel angular frequency and positioning data; and a mixer coupled to the frequency detector and the size estimator, wherein the mixer, in operation, generates a second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size. In an embodiment, the device comprises: inertial sensing circuitry coupled to the filter, wherein the inertial sensing circuitry, in operation, generates the motion data. In an embodiment, the inertial sensing circuitry comprises a triaxial accelerometer and a triaxial gyroscope. In an embodiment, the device comprises: global positioning system (GPS) circuitry coupled to the size estimator, wherein the GPS circuitry, in operation, generates the positioning data. In an embodiment, the device comprises: a position-velocity-attitude (PVA) filter coupled to the transformer and to the mixer, wherein the PVA filter, in operation, generates the first estimated vehicle velocity. In an embodiment, the transformer, in operation: selects a frequency range including a frequency value equal to a ratio of the first estimated velocity to the estimated wheel size; selects a distribution function and produces a sequence of N frequency values having a spatial distribution across the selected frequency range determined by the selected distribution function; and calculates spectral power of individual signals as a function of the sequence of N frequency values, producing individual spectral power density signals. In an embodiment, the transformer comprises a plurality of power detectors, each power detector comprising: a first periodic signal generator, which, in operation, generates a first periodic signal; a first integrator, which, in operation, integrates the first periodic signal; a second periodic signal generator, which, in operation, generates a second periodic signal; a second integrator, which, in operation, integrates the second periodic signal; and a power calculator coupled to the first integrator and the second integrator, wherein the power calculator, in operation, generates signals indicative of signal power. In an embodiment, the size estimator comprises a Kalman filter.
(70) In an embodiment, a system comprises: inertial sensing circuitry; a global navigation system transceiver; and processing circuitry coupled to the inertial sensing circuitry and to the global navigation system transceiver. The processing circuitry, in operation: generates processed motion data and a first estimated vehicle velocity based on motion data generated by the inertial sensing circuitry and positioning data generated by the global navigation system transceiver; generates a second estimated vehicle velocity based on the processed motion data and the first estimated vehicle velocity; and generates fused datasets indicative of position, velocity and attitude of a vehicle based on the processed motion data, the positioning data and the second estimated vehicle velocity. The generating the second estimated vehicle velocity includes: filtering the processed motion data, generating filtered motion data; transforming the filtered motion data in a frequency domain based on the first estimated vehicle velocity, generating spectral power density signals; generating an estimated wheel angular frequency and an estimated wheel size based on the spectral power density signals; and generating the second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size. In an embodiment, the processing circuitry comprises: a filter, which, in operation, filters motion data; a transformer coupled to the filter, wherein the transformer, in operation, transforms the filtered motion data in the frequency domain based on the first estimated vehicle velocity and the estimated wheel size, generating spectral power density signals; a frequency detector coupled to the transformer, wherein the frequency detector, in operation, generates the estimated wheel angular frequency based on the generated spectral power density signals; a size estimator coupled to the frequency detector and to the transformer, wherein the size estimator, in operation, generates the estimated wheel size based on the estimated wheel angular frequency and positioning data; and a mixer coupled to the frequency detector and the size estimator, wherein the mixer, in operation, generates the second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size. In an embodiment, the inertial sensing circuitry comprises a triaxial accelerometer and a triaxial gyroscope. In an embodiment, the system comprises: a wheeled vehicle, the wheeled vehicle including the inertial sensing circuitry, the global navigation system transceiver, and the processing circuitry.
(71) In an embodiment, a non-transitory computer-readable medium's contents configure processing circuitry of a wheeled vehicle to perform a method, the method comprising: generating processed motion data and a first estimated vehicle velocity based on motion data generated by inertial sensing circuitry of the wheeled vehicle and positioning data generated by global positioning circuitry of the wheeled vehicle; generating a second estimated vehicle velocity based on the processed motion data and the first estimated vehicle velocity; and generating fused datasets indicative of position, velocity and attitude of the vehicle based on the processed motion data, the positioning data and the second estimated vehicle velocity. The generating the second estimated vehicle velocity includes: filtering the processed motion data, generating filtered motion data; transforming the filtered motion data in a frequency domain based on the first estimated vehicle velocity, generating spectral power density signals; generating an estimated wheel angular frequency and an estimated wheel size based on the spectral power density signals; and generating the second estimated vehicle velocity as a function of the estimated wheel angular frequency and the estimated wheel size. In an embodiment, the contents comprise instructions, which, when executed by the processing circuitry, cause the processing circuitry to perform the method. In an embodiment, the transforming the filtered motion data in the frequency domain comprises: selecting a frequency range including a frequency value equal to a ratio of the first estimated velocity to the estimated wheel size; selecting a distribution function and producing a sequence of N frequency values having a spatial distribution across the selected frequency range determined by the selected distribution function; and calculating spectral power of individual signals as a function of the sequence of N frequency values, producing individual spectral power density signals.
(72) It will be otherwise understood that the various individual implementing options exemplified throughout the figures accompanying this description are not necessarily intended to be adopted in the same combinations exemplified in the figures. One or more embodiments may thus adopt these (otherwise non-mandatory) options individually and/or in different combinations with respect to the combination exemplified in the accompanying figures.
(73) Without prejudice to the underlying principles, the details and embodiments may vary, even significantly, with respect to what has been described by way of example only, without departing from the extent of protection.
(74) The various embodiments described above can be combined to provide further embodiments. Aspects of the embodiments can be modified, if necessary to employ concepts of the various patents, applications and publications to provide yet further embodiments.
(75) These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.