Sensor device
The sensor device addresses accuracy issues in inertial sensors by prioritizing high-accuracy sensors based on temperature, ensuring consistent and improved detection through statistical calculations.
Patent Information
- Application Number
- JP2024100284
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-21
- Publication Date
- 2026-01-08
AI Technical Summary
Inertial sensors exhibit varying detection accuracy based on temperature, leading to decreased accuracy in configurations that calculate statistical values from multiple sensors due to temperature characteristics differences.
A sensor device comprising multiple inertial sensors, a temperature sensor, a memory unit, and a calculation processing unit that prioritizes output values from sensors with high detection accuracy at detected temperatures, excluding those with low accuracy to calculate statistical values.
Enhances detection accuracy by excluding sensors with low accuracy at specific temperatures, thereby maintaining or improving overall sensor performance.
Smart Images

Figure 2026002352000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a sensor device. [Background technology]
[0002] Conventionally, there is known a technique for improving the accuracy of output values by calculating statistical values based on the output values of multiple sensors. For example, Patent Document 1 discloses a technique for improving the accuracy of acceleration data by having a microcontroller calculate an average value, which is a statistical value of acceleration data from multiple acceleration sensor devices. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-163955 Summary of the Invention [Problem to be solved by the invention]
[0004] Inertial sensors have temperature characteristics, and it is possible that their detection accuracy is low at certain temperatures but high at other temperatures. Furthermore, the temperature characteristics of inertial sensors may differ from one inertial sensor to another. Therefore, it is possible that one inertial sensor has low detection accuracy at certain temperatures, while another inertial sensor has high detection accuracy at certain temperatures. For this reason, in a configuration that simply obtains statistical values based on the output values of multiple sensors, the detection accuracy decreases at certain temperatures. [Means for solving the problem]
[0005] A sensor device as one embodiment for solving the above problem comprises a plurality of inertial sensors, a temperature sensor that detects the temperatures of the plurality of inertial sensors, a memory unit that stores information regarding the temperature characteristics of each of the plurality of inertial sensors, a calculation processing unit that calculates statistical values based on the temperatures detected by the temperature sensors and the information stored in the memory unit using a calculation method that prioritizes output values of inertial sensors with relatively high detection accuracy at the temperatures detected by the temperature sensors over output values of inertial sensors with relatively low detection accuracy, and an output unit that outputs the statistical values. [Brief explanation of the drawings]
[0006] [Figure 1] An example of a sensor device configuration. [Figure 2] FIG. 10 is a diagram showing an example of measurement results obtained by measuring angular velocity in a stationary state. [Figure 3] 10 is a flowchart showing the derivation of a non-use temperature range. [Figure 4] FIG. 10 is a diagram showing an example of an approximation curve. [Figure 5] 10 is a flowchart showing statistical processing. [Figure 6] 10 is a flowchart showing the derivation of an approximation curve. [Figure 7] 10 is a flowchart showing statistical processing. [Figure 8] 10 is a flowchart showing statistical processing. DETAILED DESCRIPTION OF THE INVENTION
[0007] A preferred embodiment of the present invention will be described in detail below. Note that the present embodiment described below does not limit the content of the present invention as defined in the claims, and not all of the configurations described in the present embodiment are necessarily essential as means for solving the problems of the present invention.
[0008] (1) First embodiment 1 shows an example of the configuration of a sensor device 10 according to this embodiment. The sensor device 10 is a device that collects statistics of output values from multiple inertial sensors 11a, 11b, and 11c and outputs the statistics, and is connected to a microcontroller 20. The microcontroller 20 is connected to a host 30.
[0009] The sensor device 10 includes inertial sensors 11a, 11b, and 11c, a temperature sensor 12, a storage unit 13, an arithmetic processing unit 14, and an interface 15. In this embodiment, the sensor device 10 is a device in which an integrated circuit device including the inertial sensors 11a, 11b, and 11c, the temperature sensor 12, the storage unit 13, the arithmetic processing unit 14, and the interface 15 is housed in a package. The integrated circuit device is an IC chip realized by a semiconductor.
[0010] The inertial sensors 11a, 11b, and 11c are sensor elements that detect values related to inertia, and in this embodiment, are gyro sensors. That is, the inertial sensors 11a, 11b, and 11c output signals corresponding to the angular velocity around the axis of the measurement object. In this embodiment, the inertial sensors 11a, 11b, and 11c each output angular velocity around three orthogonal axes. That is, the inertial sensors 11a, 11b, and 11c each output angular velocity around the orthogonal X-axis, Y-axis, and Z-axis. Therefore, the inertial sensors 11a, 11b, and 11c output a total of three output values indicating the angular velocity around the X-axis, three output values indicating the angular velocity around the Y-axis, and three output values indicating the angular velocity around the Z-axis.
[0011] The temperature sensor 12 is a sensor element that detects a value indicating temperature. In this embodiment, the temperature sensor 12 is provided near the inertial sensors 11a, 11b, and 11c, and outputs a value indicating the temperatures of the inertial sensors 11a, 11b, and 11c.
[0012] The storage unit 13 is a storage medium capable of storing various types of information, and in this embodiment is a non-volatile memory such as an EEPROM (Electrically Erasable Programmable Read-Only Memory). In this embodiment, the storage unit 13 stores information related to the temperature characteristics of each of the multiple inertial sensors. The temperature characteristics are the relationship between the temperature and output value of the inertial sensor, and various types of information related to the temperature characteristics can be stored in the storage unit 13.
[0013] In this embodiment, a temperature range in which the inertial sensor cannot be used (hereinafter referred to as a non-use temperature range) is specified in advance for each of the inertial sensors 11a, 11b, and 11c, and is stored as information related to temperature characteristics in the storage unit 13. Specifically, by specifying the output value of the inertial sensor 11 at each temperature in a state in which a specific output value is expected to be output (for example, a stationary state), the detection accuracy of the inertial sensor can be specified for each temperature by the difference between the actual output value and the specific output value.
[0014] FIG. 2 is a diagram illustrating an example of measurement results obtained by measuring an angular velocity around a specific axis in a stationary state, i.e., when the output value should be zero. In FIG. 2, the horizontal axis represents temperature (°C), and the vertical axis represents output value (dps: degrees per second). Also, in FIG. 2, the output values of the inertial sensors 11a, 11b, and 11c are represented by black circles, squares, and triangles. In this example, it can be seen that the output value of the inertial sensor 11a, indicated by the black circle, significantly differs from the actual output value of zero in the temperature range from approximately −20°C to approximately 10°C. In this case, for example, at a temperature where the absolute value of the output value is equal to or greater than a threshold value Th, the detection accuracy of the inertial sensor is low, and the temperature can be considered to be within the non-operating temperature range. In this embodiment, for each of the inertial sensors 11a, 11b, and 11c, a non-operating temperature range where the absolute value of the output value is equal to or greater than the threshold value Th is identified (details will be described later), and information indicating the non-operating temperature range is associated with the identification information of the inertial sensor and stored in the storage unit 13.
[0015] The arithmetic processing unit 14 includes an analog circuit and an A / D conversion circuit that converts analog signals from the analog circuit into digital data. The analog circuit includes circuits for detecting signals from the inertial sensors 11a, 11b, and 11c and the temperature sensor 12. For example, the analog circuit may include an amplifier circuit that amplifies signals, a detection circuit such as a synchronous detection circuit, a gain adjustment circuit, an offset adjustment circuit, etc. The A / D conversion circuit is a circuit that converts the output of the analog circuit into a digital value.
[0016] The calculation processing unit 14 further includes a processor that performs predetermined processing based on the digital values, i.e., the output values of the inertial sensors 11a, 11b, and 11c. In this embodiment, the calculation processing unit 14 compiles statistics of the output values of the multiple inertial sensors 11a, 11b, and 11c based on the temperatures detected by the temperature sensor 12 and the information stored in the storage unit 13. As described above, each of the inertial sensors 11a, 11b, and 11c has its own temperature characteristics, and the temperatures at which the inertial sensors 11a, 11b, and 11c become less accurate are different. Therefore, the calculation processing unit 14 calculates the statistical values using a calculation method that prioritizes the output values of the inertial sensors 11a, 11b, and 11c with relatively high detection accuracy at the temperature detected by the temperature sensor 12 over the output values of the inertial sensors 11a, 11b, and 11c with relatively low detection accuracy.
[0017] There are various possible methods for this calculation, but in this embodiment, the calculation processing unit 14 calculates statistical values based on the output values of inertial sensors whose detection accuracy at the temperature detected by the temperature sensor 12 meets a predetermined standard. In other words, the calculation processing unit 14 excludes from the statistics any inertial sensor whose detection accuracy at the temperature detected by the temperature sensor 12 does not meet a predetermined standard.
[0018] Therefore, the calculation processing unit 14 identifies the temperature indicated by the output value of the temperature sensor 12, and identifies the inertial sensors 11a, 11b, and 11c for which the temperature, i.e., the current temperature of the inertial sensors 11a, 11b, and 11c, is in the non-operating temperature range. If any of the inertial sensors 11a, 11b, and 11c is in the non-operating temperature range, the calculation processing unit 14 excludes that inertial sensor and averages the output values of the remaining inertial sensors to obtain statistical values.
[0019] The interface 15 is a circuit for communicating with the microcontroller 20, for example, a circuit for transmitting and receiving serial data. The communication standard is not limited, and it is possible to adopt, for example, a communication standard such as SPI or I2C, or a communication standard obtained by improving or modifying a part of the SPI or I2C standard. In this embodiment, the interface 15 corresponds to an output unit that outputs statistical values.
[0020] The microcontroller 20 is a processor capable of executing various processes and is connected to the sensor device 10 and the host 30. When detection data output from the sensor device 10 is input to the microcontroller 20, the microcontroller 20 executes various processes based on the detection data. The processes executed by the microcontroller 20 may be various processes. For example, the microcontroller 20 may perform processing in response to a command from the host 30, or may perform alignment correction to correct deviations in the attitude of the sensor device 10 from an ideal attitude, or correction of scale factors and nonlinearity. In this embodiment, the microcontroller 20 is an integrated circuit device and can be implemented by a processor such as an MPU, CPU, or DSP. The microcontroller 20 may also be implemented by an ASIC that uses automatic placement and routing, such as a gate array.
[0021] The host 30 is a computer that issues various instructions to the microcontroller 20 and acquires various data output by the microcontroller 20. The host 30 issues, for example, read requests and write requests to the microcontroller 20. In this embodiment, the host 30 can use a read command to cause the sensor device 10 to output and acquire the corrected value of the output value of the inertial sensor 11.
[0022] In the above configuration, the arithmetic processing unit 14 of the sensor device 10 is Among the inertial sensors 11a, 11b, and 11c, inertial sensors within the non-operating temperature range are excluded, and statistical values are obtained using the remaining inertial sensors. Therefore, statistical values can be obtained while excluding the inertial sensors 11a, 11b, and 11c with excessively low accuracy. Therefore, even if the inertial sensors 11a, 11b, and 11c with non-operating temperature ranges are used, it is possible to prevent a decrease in detection accuracy at a specific temperature. Furthermore, by excluding inertial sensors with low detection accuracy, statistics can be performed using inertial sensors with high detection accuracy, which increases the possibility of achieving higher accuracy than using a single inertial sensor.
[0023] (1-1) Derivation of non-use temperature range In this embodiment, the non-use temperature ranges for the inertial sensors 11a, 11b, and 11c are specified in advance. The derivation of the non-use temperature ranges will be described below. FIG. 3 is a flowchart showing the derivation of the non-use temperature ranges. Note that these processes can be realized by a device for measuring the output value of the inertial sensor 11 and a computer that performs processing based on the measurement results of the measuring device.
[0024] In the flowchart shown in FIG. 3, the variable j is a variable for distinguishing between multiple inertial sensors. Therefore, if the sensor device 10 includes three inertial sensors 11a, 11b, and 11c as shown in FIG. 1, j is 1 to 3. It is predetermined which value of the variable j each of the inertial sensors 11a, 11b, and 11c corresponds to. The variable i is a variable for specifying the temperature. Specifically, in this embodiment, the temperature characteristics of the inertial sensors 11a, 11b, and 11c are divided into multiple temperature ranges, and an approximation curve showing the temperature characteristics in each temperature range is derived. The variable i is also used as a value indicating the temperature range.
[0025] When the process of deriving the non-use temperature range starts, first, a variable j is initialized to 1 (step S100). Next, the output value of the jth inertial sensor for each temperature is obtained (step S105). Specifically, the temperature of the jth inertial sensor is adjusted by a heater or the like while the jth inertial sensor is stationary. Then, the output value of the inertial sensor is obtained for each of a plurality of temperature steps.
[0026] Next, a variable i is initialized to 1 (step S110). Next, the i-th temperature is set (step S115). The i-th temperature is one of a plurality of temperatures included in the operating temperature range. The i-th temperature may be determined by various methods, and for example, it is possible to adopt a configuration in which the i-th temperature is set at regular intervals in the operating temperature range. FIG. 4 shows the same temperature characteristics as the temperature characteristics of the inertial sensor shown in FIG. 2, and the graph illustrates a first temperature T1 to an eighth temperature T8.
[0027] Next, an ith approximation curve in an ith temperature range including the ith temperature is derived (step S120). The ith temperature range is a temperature zone including the ith temperature, and is set over a predetermined range at least either before or after the ith temperature. The size of the temperature range is arbitrary, for example, a predetermined size. Here, an example is assumed in which the ith temperature range is set over both sides of the ith temperature for each ith temperature. FIG. 4 illustrates a second temperature range R2 set over both sides of the second temperature T2 and a first temperature range R1 set over both sides of the first temperature T1.
[0028] Once the i-th temperature range is set, an i-th approximation curve is derived based on the output values at each temperature within the i-th temperature range. In this embodiment, the i-th approximation curve is a curve expressed by a cubic equation. The cubic equation is defined, for example, by identifying each coefficient of the cubic equation using the least squares method using the output values for each temperature in the i-th temperature range. In Figure 4, the second approximation curve P2 in the second temperature range R2 is shown as a solid curve.
[0029] Next, a non-use temperature range is identified based on the i-th approximation curve (step S125). Specifically, once the i-th approximation curve is derived in step S120, an output value corresponding to any temperature within the i-th temperature range can be identified. Therefore, a temperature range in which the absolute value of the output value within the i-th temperature range is equal to or greater than a threshold is identified as the non-use temperature range.
[0030] Next, it is determined whether the variable i matches n, which is the maximum value of the variable i (step S130), and if it is determined that they do not match, the variable i is incremented (step S135), and the processing from step S115 onwards is repeated. If it is determined in step S130 that the variable i matches n, it is determined whether the variable j matches m, which is the maximum value of the variable j (step S140), and if it is determined that they do not match, the variable j is incremented (step S145), and the processing from step S105 onwards is repeated.
[0031] If it is determined in step S140 that the variable j matches m, which is the maximum value of the variable j, the non-operating temperature range is associated with the inertial sensor and stored (step S150). Specifically, the non-operating temperature ranges of the inertial sensors 11a, 11b, and 11c have been identified by the processing prior to step S140. Information indicating the non-operating temperature range is then associated with the identification information of each of the inertial sensors 11a, 11b, and 11c and stored in the storage unit 13. Various processing can be employed for this storage processing. For example, a configuration can be employed in which the host 30 issues a write request to the storage unit 13, the host 30 transmits information associating the non-operating temperature range with the identification information of the inertial sensors 11a, 11b, and 11c, and the information is stored in the storage unit 13.
[0032] According to the above processing, in a sensor device 10 that collects statistics on the output values of multiple inertial sensors, if there is an inertial sensor that becomes less accurate at a specific temperature, it is possible to provide a sensor device 10 that can exclude the inertial sensor from the statistical analysis.
[0033] (1-2) Statistical processing Next, a description will be given of the statistical processing performed by the sensor device 10. Fig. 5 is a flowchart showing the statistical processing. The statistical processing is performed in a state where information indicating the non-use temperature ranges of the inertial sensors 11a, 11b, and 11c is stored in the memory unit 13 of the sensor device 10.
[0034] When the sensor device 10, the microcontroller 20, and the host 30 are connected and power supply to the sensor device 10 begins, the inertial sensors 11a, 11b, and 11c begin to output output values after a predetermined startup sequence. In this state, the calculation processing unit 14 starts the statistical processing shown in FIG.
[0035] When the statistical processing starts, the arithmetic processing unit 14 initializes a variable S indicating the sum of output values and a variable C indicating the counter value to 0 (step S200). Next, the arithmetic processing unit 14 initializes a variable j for distinguishing between multiple inertial sensors to 1. Next, the arithmetic processing unit 14 acquires the output value ωj and temperature t of the j-th inertial sensor (step S210). That is, the arithmetic processing unit 14 acquires the digital value indicating the output of the j-th inertial sensor as the output value ωj, and acquires the output value of the temperature sensor 12 as the temperature t.
[0036] Next, the calculation processing unit 14 reads out the j-th inertial sensor non-use temperature range from the storage unit 13 (step S215). Next, the calculation processing unit 14 determines whether the temperature t is within the non-use temperature range (step S220). If it is determined in step S220 that the temperature t is not within the non-use temperature range, the calculation processing unit 14 assigns S+ωj to the variable S to set a new value of S, and increments the counter. That is, the calculation processing unit 14 adds the output value ωj to a variable indicating the sum so that the output value of the j-th inertial sensor is included in the statistics, and increments the counter to average.
[0037] On the other hand, if it is determined in step S220 that the temperature t is within the non-operating temperature range, the calculation processing unit 14 skips step S225. In other words, if it is determined that the temperature t is within the non-operating temperature range, the calculation processing unit 14 skips step S225 so as not to reflect the output value of the j-th inertial sensor in the statistics.
[0038] When step S225 is executed, or when it is determined in step S220 that the temperature t is within the non-use temperature range, the calculation processing unit 14 determines whether the variable j matches m, which is the maximum value of the variable j (step S230), and if it is determined that they do not match, it increments the variable j (step S235) and repeats the processing from step S210 onwards.
[0039] If it is determined in step S230 that the variable j matches m, which is the maximum value of the variable j, the arithmetic processing unit 14 divides the variable S by the counter C and sets the value as the statistical value (step S240). Then, the arithmetic processing unit 14 outputs the statistical value (step S245). That is, the arithmetic processing unit 14 causes the statistical value to be output to the microcontroller 20 via the interface 15. The microcontroller 20 performs various processes based on the statistical value, and the host 30 acquires the processed value.
[0040] According to the above process, in the sensor device 10 that collects statistics on the output values of multiple inertial sensors, if there is an inertial sensor that has low accuracy at a specific temperature, it is possible to exclude that sensor from the statistical calculation. This makes it possible to prevent a decrease in the detection accuracy of the inertial sensor at a specific temperature. Furthermore, by excluding inertial sensors with low detection accuracy from the statistical calculation, the possibility of high-accuracy detection can be increased compared to a configuration that performs detection using a single inertial sensor.
[0041] (2) Second embodiment The statistics in the calculation processing unit 14 may be calculated using a method that prioritizes output values of inertial sensors with relatively high detection accuracy over output values of inertial sensors with relatively low detection accuracy. Such a calculation method is not limited to a method that excludes inertial sensors with relatively low detection accuracy. For example, a weighted average may be calculated by weighting output values of inertial sensors with relatively low detection accuracy with a heavier weighting coefficient than output values of inertial sensors with relatively high detection accuracy.
[0042] The weighting coefficient can be defined by various methods, but in this embodiment, it is defined as shown in the following equation (1).
number
[0043] When the weighting coefficients are defined in this way, when the output value of the jth inertial sensor at temperature t is the angular velocity ωj(t), the statistical value S can be calculated by weighted averaging as shown in equation (2).
number
[0044] Note that k'j(t) can be defined in various ways as long as it is defined so that it becomes smaller as the detection accuracy of the j-th inertial sensor at temperature t decreases. The following equation (3) is an example of k'j(t).
number
[0045] Here, w is a predetermined constant and can take various values (e.g., 4096). Pj(t) is the approximate value obtained from the approximate curve of the jth inertial sensor at temperature t. Here, the approximate curve is an estimate of the output value measured at each temperature in a situation where the output of the inertial sensor is 0. Therefore, the closer the approximate value is to 0, the more accurate the output value can be estimated, and the larger the approximate value, the lower the detection accuracy can be estimated. Therefore, in equation (3), the constant w is raised to the power of the square of the approximate value, so that k'j(t) becomes extremely small when the detection accuracy is low. Of course, such a function can be defined using various other methods.
[0046] A configuration for performing weighted averaging using the weighting coefficients described above can be realized, for example, by changing the information stored in the storage unit 13 and the processing content by the arithmetic processing unit 14 in the configuration shown in Fig. 1. The following describes a configuration in which an approximation curve indicating the temperature characteristics of the inertial sensors 11a, 11b, and 11c is derived before the sensor device 10 starts operating, and weighting coefficients are derived and corrected based on the approximation curve.
[0047] (2-1) Deriving the approximate curve The approximation curve can be derived by a process that is a partial modification of the process shown in Fig. 3 described above. Fig. 6 is a flowchart showing the process of deriving the approximation curve. The flowchart shown in Fig. 6 differs from the flowchart shown in Fig. 3 in that step S127 is executed instead of step S125, and step S150 is not executed. The other steps are the same as those in Figs. 3 and 6.
[0048] In step S127, the coefficients of the ith approximation curve derived in step S120 are stored in the storage unit 13 in association with the jth inertial sensor. Specifically, the approximation curve derived in step S120 is defined by the coefficients of each degree of a polynomial. The coefficients are then associated with the identification information of the jth inertial sensor and stored in the storage unit 13. Various processes can be employed for the storage process, and for example, a configuration can be employed in which the host 30 issues a write request to the storage unit 13, and the host 30 transmits information in which the coefficients of the ith approximation curve are associated with the identification information of the jth inertial sensor, and the information is stored in the storage unit 13.
[0049] According to the above process, it is possible to provide a sensor device 10 that collects statistics of output values of a plurality of inertial sensors and that can specify the detection accuracy of the inertial sensors at any temperature.
[0050] (2-2) Statistical processing Next, the statistical processing in the second embodiment will be described. The statistical processing can also be realized by partially modifying the processing shown in FIG. 5 described above. FIG. 7 is a flowchart showing the statistical processing in the second embodiment. In the statistical processing shown in FIG. 7, steps S215, S220, and S225 shown in FIG. 5 are replaced with steps S217, S219, and S221 shown in FIG. 7. Also, steps S200 and S240 are replaced with steps S201, S241, and S242. The other steps are the same as those in FIGS. 5 and 7.
[0051] 7, in step S210, after acquiring the output value ωj of the j-th inertial sensor and the temperature t, the calculation processing unit 14 reads out the coefficients of the approximation curve at the temperature t (step S217). That is, the calculation processing unit 14 reads out the coefficients of the approximation curve for the temperature range that includes the temperature t from the coefficients of the approximation curve stored in the storage unit 13.
[0052] Next, the calculation processing unit 14 derives an approximate value Pj(t) (step S219). That is, the calculation processing unit 14 performs a polynomial calculation using the coefficient values acquired in step S217 to derive an approximate value of the output value of the j-th inertial sensor at temperature t. In this embodiment, since the polynomial is a cubic expression, the calculation processing unit 14 regards the coefficients acquired in step S217 as each coefficient in the cubic expression and derives the approximate value Pj(t) at temperature t.
[0053] Next, the calculation processing unit 14 derives the coefficient k'j(t) (step S221). That is, the calculation processing unit 14 derives the coefficient k'j(t) by equation (3) based on the predetermined constant w and the approximate value Pj(t) acquired in step S219.
[0054] Next, the calculation processing unit 14 determines whether the variable j matches m, which is the maximum value of the variable j (step S230), and if it is determined that they do not match, it increments the variable j (step S235) and repeats the processing from step S210 onwards.
[0055] If it is determined in step S230 that the variable j matches m, which is the maximum value of the variable j, the calculation processing unit 14 derives the coefficient kj(t) (step S241). That is, the calculation processing unit 14 derives the coefficient kj(t) by equation (1) using the m coefficients k'j(t) derived in step S221. The calculation processing unit 14 also derives m coefficients kj(t). That is, the coefficients kj(t) corresponding to all the inertial sensors are derived.
[0056] Next, the calculation processing unit 14 derives a statistical value S(t) by weighted averaging (step S242). That is, the calculation processing unit 14 derives the statistical value S(t) by equation (2) using the m coefficients kj(t) derived in step S241. Then, the calculation processing unit 14 outputs the statistical value (step S245). That is, the calculation processing unit 14 outputs the statistical value S(t) to the microcontroller 20 via the interface 15. The microcontroller 20 performs various processes based on the statistical value, and the host 30 acquires the processed value.
[0057] According to the above process, in the sensor device 10 that collects statistics on the output values of multiple inertial sensors, if there is an inertial sensor that has low accuracy at a specific temperature, the statistics can be calculated while minimizing its influence on the statistics. This prevents the detection accuracy of the inertial sensors from decreasing at a specific temperature. Furthermore, by minimizing the influence of inertial sensors with low detection accuracy on the statistics and increasing the influence of inertial sensors with high detection accuracy on the statistics, the possibility of highly accurate detection can be increased compared to a configuration in which detection is performed using a single inertial sensor. While the above configuration stores information indicating the coefficients of the approximation curve in advance in the storage unit 13 by the process shown in FIG. 6, it is also possible to configure the storage unit 13 to store the coefficients kj(t) shown in FIG. 7 in advance for each temperature and derive the information on the coefficients kj(t).
[0058] (3) Other embodiments The above-described embodiment is an example for implementing the present invention, and various other embodiments are also possible. For example, the sensor device 10 is not limited to the configuration shown in FIG. 1, and various modifications are possible, such as omitting some of its components or adding other components. For example, in FIG. 1, the microcontroller 20 controls one sensor device 10, but multiple sensor devices may be connected to the microcontroller 20, and the microcontroller 20 may perform processing based on the output of each sensor device. In this case, the microcontroller 20 may be configured to collect statistics on the output values of each of the multiple sensor devices.
[0059] Furthermore, the calculation processing unit that calculates the statistical values may be a microcontroller 20. Furthermore, the approximation curve is not limited to a cubic curve, but may be a quadratic curve or a curve of higher order. Furthermore, the sensor device may be used for various purposes. For example, it may be used in various electronic devices and in-vehicle devices. Examples of in-vehicle devices include various navigation devices and autonomous driving control devices. It may also be used in positioning devices that measure the position of a vehicle.
[0060] Furthermore, various corrections may be made to the output values before the statistical values are calculated. The corrections are not limited to, but may include, for example, correction of temperature characteristics. For example, statistics may be collected for output values after correction so that the temperature characteristics specified by the above-described approximate curve become zero. Such a configuration can be realized by storing information indicating the relationship between the temperatures and output values of the inertial sensors 11a, 11b, and 11c in each of a plurality of temperature ranges in the storage unit 13 in the configuration shown in FIG. 1.
[0061] 3 is executed in advance before starting operation of the sensor device 10, omitting step S125, and in step S150, the coefficients of the first to n-th approximate curves corresponding to the first to n-th temperature ranges, respectively, are stored in the storage unit 13 in association with the inertial sensor.
[0062] This configuration enables the arithmetic processing unit 14 of the sensor device 10 to identify the temperature characteristics of each of the inertial sensors 11a, 11b, and 11c. The arithmetic processing unit 14 corrects each of the output values of the multiple inertial sensors 11a, 11b, and 11c based on the temperature characteristics of the temperature range that includes the temperature detected by the temperature sensor 12, and calculates statistical values based on the corrected values.
[0063] Fig. 8 is a flowchart showing statistical processing executed by the arithmetic processing unit 14. When power supply to the sensor device 10 starts, the arithmetic processing unit 14 periodically starts the processing shown in Fig. 8. In this processing, the arithmetic processing unit 14 initializes a variable j for identifying the inertial sensors 11a, 11b, and 11c to 1 (step S300). Next, the arithmetic processing unit 14 acquires the detection value of the temperature sensor 12 (step S305). That is, the arithmetic processing unit 14 identifies the current temperature of the inertial sensor 11 based on the detection value of the temperature sensor 12, and regards it as the temperature of the j-th inertial sensor.
[0064] Next, the calculation processing unit 14 identifies a temperature range that includes the detected temperature (step S310). That is, the calculation processing unit 14 refers to the storage unit 13 and identifies a temperature range that includes the temperature detected in step S305 from among the plurality of temperature ranges for which the temperature characteristics of the j-th inertial sensor are defined.
[0065] Next, the calculation processing unit 14 acquires the coefficients of the approximation curve corresponding to the specified temperature range (step S315). That is, the calculation processing unit 14 refers to the storage unit 13 and acquires the coefficients of the approximation curve associated with the temperature range specified in step S310.
[0066] Next, the calculation processing unit 14 acquires a correction value for the temperature detected in step S305 (step S320). That is, the calculation processing unit 14 performs a polynomial calculation using the coefficient values acquired in step S315 to derive an approximation value for the output value of the jth inertial sensor at the detected temperature. Since this approximation value corresponds to the output value that is output when the output value of the jth inertial sensor is 0, subtracting this approximation value from the actual output value can eliminate the output error due to the temperature characteristics of the jth inertial sensor. Therefore, the calculation processing unit 14 regards this approximation value as a correction value to be used to correct the actual output value from the jth inertial sensor.
[0067] Next, the calculation processing unit 14 corrects the output value of the j-th inertial sensor based on the correction value (step S325). That is, the calculation processing unit 14 corrects the output value of the j-th inertial sensor by subtracting the correction value from the output value of the j-th inertial sensor (if the correction value is negative, the negative sign of the correction value is deleted and the correction value is added).
[0068] Next, the calculation processing unit 14 determines whether the variable j matches m, which is the maximum value of the variable j (step S330), and if it is determined that they do not match, it increments the variable j (step S335) and repeats the processing from step S305 onwards.
[0069] If it is determined in step S330 that the variable j matches m, which is the maximum value of the variable j, the calculation processing unit 14 obtains statistical values based on the corrected output values (step S340). Once the statistical values are obtained, the calculation processing unit 14 outputs the statistical values via the interface 15 (step S345). That is, the calculation processing unit 14 performs statistics based on the output values corrected so that the influence of the temperature characteristics specified in advance for each of the inertial sensors 11a, 11b, and 11c becomes zero.
[0070] The statistics may be calculated so that output values of inertial sensors with relatively high detection accuracy are prioritized over output values of inertial sensors with relatively low detection accuracy. For example, as in the first embodiment described above, inertial sensors 11a, 11b, and 11c whose absolute values of corrected output values are equal to or greater than a threshold may be excluded from the statistics. Furthermore, as in the second embodiment described above, weighting may be performed. The higher the detection accuracy of the inertial sensor, the larger the weighting coefficient should be. For example, as shown in FIG. 7, the coefficient may be set to be smaller as the magnitude of the approximated value obtained from the approximation curve increases.
[0071] Furthermore, the temperature characteristic correction may be performed after the statistics are collected. Such a configuration can be realized by storing information indicating the relationship between the temperatures of the inertial sensors 11a, 11b, and 11c and the statistical values of the output values in each of a plurality of temperature ranges in the storage unit 13 in the configuration shown in FIG.
[0072] An example of such information is information indicating the coefficients of an approximation curve showing the relationship between temperature and statistical values. Specifically, before the sensor device 10 starts operating, the output values of the inertial sensors 11a, 11b, and 11c are measured at a plurality of temperatures, and statistics of the output values for each temperature are compiled. The statistics may be performed using various methods. For example, as in the first embodiment described above, inertial sensors whose absolute values of output values measured under conditions in which the ideal output value is 0 are equal to or greater than a threshold value may be excluded from the statistics.
[0073] Furthermore, weighting may be performed as in the second embodiment described above. The higher the detection accuracy of the inertial sensor, the larger the weighting coefficient should be. For example, as shown in Fig. 7, the weighting coefficient may be defined so that it decreases as the absolute value of the output value measured in a situation where the ideal output value is 0 increases.
[0074] When statistics are collected at each temperature, the temperature characteristics of the statistical values of the inertial sensors 11a, 11b, and 11c are identified. In this example, information indicating the temperature characteristics of the statistical values is defined for each of a plurality of temperature ranges and stored in the storage unit 13. This information may be defined, for example, by a method similar to that used to derive the approximation curve shown in FIG. 3.
[0075] This configuration enables the arithmetic processing unit 14 of the sensor device 10 to identify the temperature characteristics of the statistical values of each of the inertial sensors 11a, 11b, and 11c. That is, the arithmetic processing unit 14 can compile statistics of the output values of the multiple inertial sensors 11a, 11b, and 11c based on the temperature characteristics of the temperature range that includes the temperature detected by the temperature sensor 12, and correct the temperature characteristics of the statistical values.
[0076] Specifically, the calculation processing unit 14 calculates statistical values based on the output values of the multiple inertial sensors 11a, 11b, and 11c, and after calculating the statistical values, corrects the statistical values based on the temperature characteristics of the temperature range that includes the temperature detected by the temperature sensor 12. Specifically, the calculation processing unit 14 acquires the output values of the multiple inertial sensors 11a, 11b, and 11c, and calculates statistics of these output values. The statistics are performed using the same calculation method as the calculation method used when deriving the temperature characteristics of the statistical values stored in the storage unit 13.
[0077] According to this configuration, the obtained statistical value has characteristics equivalent to the temperature characteristics stored in the memory unit 13. Therefore, the calculation processing unit 14 refers to the memory unit 13 and specifies the correction value at the temperature measured by the temperature sensor 12. Then, the calculation processing unit 14 corrects the output value of the j-th inertial sensor by subtracting the correction value from the statistical value of the output values of the multiple inertial sensors 11a, 11b, and 11c (if the correction value is negative, the negative sign of the correction value is deleted and the correction value is added). The calculation processing unit 14 then outputs the corrected statistical value via the interface 15. According to the above configuration, the output value, which has been made highly accurate by the statistics, can be further corrected to reduce the influence of the temperature characteristics, thereby enabling even greater accuracy.
[0078] Furthermore, the approximation curve used in the various embodiments described above may be a spline curve. A spline curve is a polynomial defined for each of a plurality of temperature ranges, and in the case of a spline curve, it is possible to make the function continuous at the boundaries of the temperature ranges. More specifically, a spline curve can be obtained by dividing the operating temperature zone of the inertial sensors 11a, 11b, and 11c into a plurality of temperature ranges, defining (l+1) temperatures P1 to P1 (l is an integer equal to or greater than 1) belonging to each temperature range, defining l cubic equations, and determining the coefficients of each cubic equation so as to satisfy the following condition: Condition 1: The spline curve passes through all l points P1 to Pl Condition 2: The first derivative is continuous from point P2 to point P1-1 Condition 3: The second derivative is continuous from point P2 to point P1-1 Condition 4: The second derivative is 0 at points P1 and Pl
[0079] The derivation of a spline curve is known, and once the coefficients are specified by solving simultaneous equations based on a known method, all of the l cubic equations are defined, thereby defining the spline curve.
[0080] The inertial sensor may be any sensor that detects a value for evaluating inertia, such as an acceleration sensor, an angular acceleration sensor, or a velocity sensor. The multiple inertial sensors are sensors that detect physical quantities that are the subject of statistics, and are sensors that detect the same physical quantity, for example, a physical quantity related to the same axis. The inertial sensor may be capable of detecting physical quantities related to multiple axes, or may be capable of detecting a physical quantity related to a single axis.
[0081] The temperature sensor may be capable of detecting the temperatures of multiple inertial sensors, and may include one temperature sensor that detects the temperatures of multiple inertial sensors, or multiple temperature sensors corresponding to the multiple inertial sensors. In this case, it is preferable to use the output value of a temperature sensor located near the inertial sensor being calculated.
[0082] The storage unit may store information about the temperature characteristics of each of the multiple inertial sensors. The temperature characteristics may be a relationship between temperature and the output of the inertial sensor, or information determined from the relationship. For example, the temperature characteristics may be determined by determining the output for each temperature when the output value should be a default value. The temperature characteristics may also be determined by determining a temperature range in which the detection accuracy of the inertial sensor is relatively low and a temperature range in which the detection accuracy is relatively high. Furthermore, as in the second embodiment described above, a weighting coefficient defined so that an inertial sensor with relatively low detection accuracy is weighted lightly and an inertial sensor with relatively high detection accuracy is weighted heavily can also be considered information about the temperature characteristics. Because different inertial sensors may have different temperature characteristics, information about the temperature characteristics of each inertial sensor is stored in the storage unit.
[0083] The calculation processing unit is only required to be able to calculate statistical values based on the temperature detected by the temperature sensor and the information stored in the storage unit using a calculation method that prioritizes output values of inertial sensors with relatively high detection accuracy at the temperature detected by the temperature sensor over output values of inertial sensors with relatively low detection accuracy. In other words, it is only required that output values of inertial sensors with low detection accuracy are not used in the statistics, or that their influence on the statistics is relatively small.
[0084] Whether the detection accuracy of an inertial sensor is relatively high or not is determined based on the temperature characteristics of each inertial sensor. That is, by referring to the temperature characteristics, it is possible to identify which inertial sensors should be prioritized and which should not be prioritized when performing statistics based on the temperatures detected by the temperature sensors.
[0085] The output unit may output the statistical values to any device as long as it can output the statistical values. For example, the output unit may be configured by a device that outputs the statistical values to a host. [Explanation of symbols]
[0086] 10...sensor device, 11...inertial sensor, 12...temperature sensor, 13...memory unit, 14...arithmetic processing unit, 15...interface, 20...microcontroller, 30...host
Claims
1. a plurality of inertial sensors; a temperature sensor for detecting temperatures of the plurality of inertial sensors; a storage unit that stores information about temperature characteristics of each of the plurality of inertial sensors; a calculation processing unit that calculates statistical values based on the temperature detected by the temperature sensor and the information stored in the storage unit using a calculation method that prioritizes output values of the inertial sensors with relatively high detection accuracy at the temperature detected by the temperature sensor over output values of the inertial sensors with relatively low detection accuracy; an output unit that outputs the statistical value; A sensor device comprising:
2. The arithmetic processing unit calculating the statistical value based on the output value of the inertial sensor whose detection accuracy at the temperature detected by the temperature sensor satisfies a predetermined standard; The sensor device of claim 1 .
3. The arithmetic processing unit the statistical value is calculated by weighting the output value of the inertial sensor having a relatively high detection accuracy at the temperature detected by the temperature sensor more heavily than the output value of the inertial sensor having a relatively low detection accuracy. The sensor device of claim 1 .
4. The information about the temperature characteristics includes: the information includes information indicating a relationship between the temperature and the output value of the inertial sensor in each of a plurality of temperature ranges; The arithmetic processing unit correcting each of the output values of the plurality of inertial sensors based on the temperature characteristics of the temperature range that includes the temperature detected by the temperature sensor, and calculating the statistical value based on the corrected values. The sensor device according to any one of claims 1 to 3.
5. The information about the temperature characteristics includes: information indicating a relationship between the temperature of the inertial sensor and the statistical value of the output value in each of a plurality of temperature ranges; The arithmetic processing unit After calculating the statistical value, correcting the statistical value based on the temperature characteristics of the temperature range that includes the temperature detected by the temperature sensor; The output unit outputs the corrected statistical value. The sensor device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Sensor module, measurement system, electronic device, and mobile object
JP2019163955A