Calculation unit and program

The computing device and program convert smartphone acceleration data from a first orthogonal to a global coordinate system, addressing orientation issues and enhancing data accuracy for vehicle analysis.

JP2026052911APending Publication Date: 2026-03-25KAYABA CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-09-12
Publication Date
2026-03-25

AI Technical Summary

Technical Problem

Existing systems fail to accurately correct three-axis acceleration data measured by portable devices like smartphones when placed inside vehicles due to varying orientations.

Method used

A computing device and program that acquires, processes, and corrects acceleration data by converting it from a first orthogonal coordinate system to a global coordinate system using a rotation matrix based on average values and variance analysis.

Benefits of technology

Enables accurate correction of acceleration data, eliminating the need for frequent recalibration and improving data reliability for analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026052911000001_ABST
    Figure 2026052911000001_ABST
Patent Text Reader

Abstract

To provide a computing device and program capable of appropriately correcting acceleration. [Solution] The computing device according to this disclosure includes: an acquisition unit that acquires acceleration data of three axes in a first orthogonal coordinate system measured by a user terminal; an average value calculation unit that calculates the average value of each axis of the acceleration data of three axes over a target period; a rotation matrix calculation unit that calculates a rotation matrix that converts the acceleration in the first orthogonal coordinate system to the acceleration in a second orthogonal coordinate system based on the average value of the acceleration data of three axes; and a corrected acceleration calculation unit that calculates the acceleration of three axes in a global coordinate system in which one of the three axes is perpendicular to the Earth surface by multiplying the acceleration data of three axes in the first orthogonal coordinate system by the rotation matrix.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to a computing device and a program. [Background technology]

[0002] When collecting acceleration data from portable information processing terminals such as smartphones, the way these terminals are set up depends on the individual user, and therefore, the orientation of the terminal can influence the results, leading to diverse outcomes. For this reason, it was necessary to appropriately correct the acceleration data.

[0003] For example, Patent Document 1 below discloses an installation angle calculation device that corrects the measured values ​​of a three-axis acceleration sensor based on the ratio of the values ​​of each of the three axes of the three-axis acceleration sensor to the square root of the sum of the squares of the measured values ​​of each of the three axes. [Prior art documents] [Patent Documents]

[0004] [Patent Document 1] Japanese Patent Publication No. 2022-188571 [Overview of the Initiative] [Problems that the invention aims to solve]

[0005] However, the installation angle calculation device described in Patent Document 1 above was unable to properly correct the three-axis acceleration data measured by a portable information processing terminal, such as a smartphone, placed inside a vehicle.

[0006] In view of the above issues, this disclosure aims to provide a computing device and program that can appropriately correct acceleration. [Means for solving the problem]

[0007] To solve the above-mentioned problems and achieve the objectives, the computing device according to this disclosure comprises: an acquisition unit that acquires acceleration data of three axes in a first orthogonal coordinate system measured by a user terminal; an average value calculation unit that calculates the average value of each axis of the acceleration data of three axes over a target period; a rotation matrix calculation unit that calculates a rotation matrix that converts the acceleration in the first orthogonal coordinate system into acceleration in a global coordinate system where one of the three axes is perpendicular to the Earth surface, based on the average value of the acceleration data of three axes; and a corrected acceleration calculation unit that calculates the acceleration of three axes in the global coordinate system by multiplying the acceleration data of three axes in the first orthogonal coordinate system by the rotation matrix.

[0008] To solve the above-mentioned problems and achieve the objective, the program relating to this disclosure causes a computer to perform the following steps: acquire acceleration data of three axes in a first orthogonal coordinate system measured by a user terminal; calculate the average value of the acceleration data of three axes for each axis over a target period; obtain a rotation matrix based on the average value of the acceleration data of three axes to convert the acceleration in the first orthogonal coordinate system to the acceleration in a global coordinate system where one of the three axes is perpendicular to the Earth surface; and calculate the acceleration of three axes in the global coordinate system by multiplying the acceleration data of three axes in the first orthogonal coordinate system by the rotation matrix. [Effects of the Invention]

[0009] According to this disclosure, it is possible to provide a computing device and a program that can appropriately correct acceleration. [Brief explanation of the drawing]

[0010] [Figure 1] Figure 1 is a diagram illustrating the computing system related to this disclosure. [Figure 2] Figure 2 shows an example of the configuration of the computing device according to this disclosure. [Figure 3]FIG. 3 is a diagram showing an example of information stored in the acceleration data storage unit of the arithmetic unit according to the present disclosure. [Figure 4] FIG. 4 is a diagram for explaining the relationship between the coordinate system of the acceleration sensor according to the present disclosure and the global coordinate system. [Figure 5] FIG. 5 is a flowchart showing the flow of the arithmetic method according to the present disclosure. [Figure 6] FIG. 6 is a diagram showing a configuration example of the user terminal according to the present disclosure.

Embodiments for Carrying Out the Invention

[0011] Hereinafter, embodiments of the present disclosure will be described in detail based on the drawings. Note that the present disclosure is not limited to the embodiments described below.

[0012] (Overview of the Arithmetic System) First, the overview of the arithmetic system 1 according to the present disclosure will be described using FIG. 1. FIG. 1 is a diagram for explaining the arithmetic system according to the present disclosure. As shown in FIG. 1, the arithmetic system 1 according to the present disclosure is mounted on, for example, a vehicle C. Specifically, the arithmetic system 1 includes an arithmetic unit 100 provided inside the vehicle C and a user terminal 200 placed on a seat, dashboard, console box, etc. of the vehicle C.

[0013] The user terminal 200 is a device having an acceleration sensor, and measures the acceleration of the measurement object (in this example, the vehicle C) using the acceleration sensor. The user terminal 200 measures the acceleration while being fixed to the measurement object (in this example, the vehicle C). However, the relative position of the user terminal 200 with respect to the measurement object (the position where the user terminal 200 is fixed on the measurement object) may be changed during measurement. Further, the measurement object is not limited to the vehicle C, and may be any object such as a building.

[0014] The computing device 100 acquires acceleration data measured by the acceleration sensor from the user terminal 200 and appropriately corrects the acquired acceleration data in the computing device 100. The computing device 100 is not limited to being installed in the vehicle C (the object being measured), but may also be installed in other buildings such as offices, business premises, or data centers. Furthermore, the acceleration data corrected by the computing device 100 may be used for any analysis purpose, for example, to analyze the road surface conditions of the road on which the vehicle C travels.

[0015] In this way, the calculation system 1 acquires acceleration data from the user terminal 200 and corrects the acquired acceleration data appropriately, thereby enabling the proper use of the acceleration data measured by the user terminal 200 in the calculation device 100.

[0016] (Configuration of the computing system) Next, the configuration of the computing system 1 related to this disclosure will be described. As shown in Figure 1, the computing system 1 related to this disclosure comprises a computing device 100, a user terminal 200, and a network N. These configurations will be briefly described in order below.

[0017] The arithmetic unit 100 is an information processing device that performs various arithmetic operations. The arithmetic unit 100 may be an in-vehicle infotainment system equipped with a car navigation system or the like, in other words, an in-vehicle information processing terminal. However, the arithmetic unit 100 does not necessarily have to be installed in a vehicle and may be installed in a location other than a vehicle.

[0018] The user terminal 200 is a portable information processing device. The user terminal 200 may be implemented as, for example, a smartphone, a PDA (Personal Digital Assistant), a tablet device, a wearable device, a mobile phone, or a notebook PC (Personal Computer).

[0019] Network N connects the computing unit 100 and the user terminal 200 so that they can communicate with each other via wired or wireless connection. If Network N is wired, it may be implemented using Ethernet (registered trademark) as defined in IEEE 802.3 or a USB (Universal Serial Bus) cable. If Network N is wireless, it may be implemented using a wireless LAN (Local Area Network) as defined in IEEE 802.11 or Bluetooth (registered trademark).

[0020] As shown in Figure 1, the computing device 100 and the user terminal 200 are connected to each other via a network N, enabling them to communicate with one another. In other words, the computing device 100 and the user terminal 200 function as a single computing system 1 by exchanging information with each other via the network N.

[0021] (Configuration of the computing unit) Next, the configuration of the computing system 1 according to this disclosure will be described using Figure 2. Figure 2 is a diagram showing an example of the configuration of the computing device according to this disclosure. As shown in Figure 2, the computing device 100 according to this disclosure comprises a communication unit 110, a storage unit 120, a control unit 130, an I / F unit 140, an input unit 150, and a display unit 160. These configurations will be described in order below.

[0022] The communication unit 110 is responsible for sending and receiving information with external devices. The communication unit 110 may be implemented by, for example, a CAN (Controller Area Network) communication interface device, a wireless LAN (Local Area Network) card, a serial communication interface device, a Bluetooth® module, a Wi-Fi® module, an antenna, etc.

[0023] The memory unit 120 is a storage device that stores various information such as the calculation contents and programs of the control unit 130. The memory unit 120 comprises a main memory and an auxiliary storage device. The main memory may be implemented by semiconductor memory elements such as RAM (Random Access Memory), ROM (Read Only Memory), or flash memory. The auxiliary storage device may be implemented by a hard disk, SSD (Solid State Drive), or optical disc, for example.

[0024] As shown in Figure 2, the storage unit 120 includes an acceleration data storage unit 121. The acceleration data storage unit 121 stores information related to acceleration data. Here, an example of the information stored in the acceleration data storage unit 121 will be explained using Figure 3. Figure 3 is a diagram showing an example of the information stored in the acceleration data storage unit of the computing device according to this disclosure.

[0025] As shown in Figure 3, the acceleration data storage unit 121 stores information relating to the items "acceleration data ID," "time," "x-direction acceleration," "y-direction acceleration," and "z-direction acceleration." The x-direction refers to the x-axis direction in the first Cartesian coordinate system, the y-direction refers to the y-axis direction in the first Cartesian coordinate system, and the z-direction refers to the z-axis direction in the first Cartesian coordinate system. The first Cartesian coordinate system is a coordinate system based on the user terminal 200, and can also be said to be the Cartesian coordinate system of the acceleration sensor unit 240 of the user terminal 200. For example, a predetermined direction relative to the user terminal 200 is the x-axis direction, one direction perpendicular to the x-axis direction is the y-axis direction, and the direction perpendicular to both the x-axis direction and the y-axis direction is the z-axis direction.

[0026] The "Acceleration Data ID" is an identifier that identifies time-series acceleration data and is represented by a string or number. "Time" is information that represents the time when the acceleration data was measured and may be information that represents the time included in an interval from a predetermined time, for example, from 13:30 to 14:00. "X-direction acceleration" is information about the x-direction acceleration measured at the time represented by "Time" in the time-series acceleration data identified by the "Acceleration Data ID". "Y-direction acceleration" is information about the y-direction acceleration measured at the time represented by "Time" in the time-series acceleration data identified by the "Acceleration Data ID". "Z-direction acceleration" is information about the z-direction acceleration measured at the time represented by "Time" in the time-series acceleration data identified by the "Acceleration Data ID".

[0027] In other words, Figure 3 shows an example in which the x-direction acceleration "XACL#1", y-direction acceleration "YACL#1", and z-direction acceleration "ZACL#1", measured at time "TIME#1-1" of the time-series acceleration data identified by the acceleration data ID "ACLDTID#1", are stored.

[0028] Furthermore, the information stored in the acceleration data storage unit 121 is not limited to information relating to the items "acceleration data ID," "time," "x-direction acceleration," "y-direction acceleration," and "z-direction acceleration," but may also store any other information related to acceleration data.

[0029] Next, returning to Figure 2, the control unit 130 will be described. The control unit 130 is a controller that manages and controls the arithmetic unit 100. The control unit 130 is realized by the execution of various programs stored in the memory unit 120 using RAM as the working area by a CPU (Central Processing Unit) or MPU (Micro Processing Unit), etc. Alternatively, the control unit 130 may be realized by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).

[0030] As shown in Figure 2, the control unit 130 includes an acquisition unit 131, a determination unit 132, an average value calculation unit 133, a dimensionless conversion unit 134, a rotation matrix calculation unit 135, and a corrected acceleration calculation unit 136. The control unit 130 realizes these functions and performs these processes by reading and executing a program (software) from the storage unit 120. Note that these functions of the control unit 130 may be realized by electronic circuits. Furthermore, the control unit 130 may execute these processes with a single CPU, or it may have multiple CPUs and execute these processes in parallel with the multiple CPUs. These configurations will be described in detail below.

[0031] The acquisition unit 131 acquires three-axis acceleration data in a first Cartesian coordinate system (a coordinate system based on the user terminal 200). Here, three-axis acceleration data refers to the x-direction acceleration, y-direction acceleration, and z-direction acceleration measured by the user terminal 200. Specifically, the acquisition unit 131 acquires the three-axis acceleration data by sending a request for information on the three-axis acceleration data to an external device and receiving the three-axis acceleration data from the external device that receives the request. The external device may be, for example, the user terminal 200 equipped with the acceleration sensor unit 240, which will be described later. Once the acquisition unit 131 has acquired the three-axis acceleration data from the external device, it stores the acquired three-axis acceleration data in the acceleration data storage unit 221.

[0032] The determination unit 132 calculates the variance of the three-axis acceleration data for each axis over a predetermined period and determines whether the variance falls within a predetermined range. Specifically, the determination unit 132 calculates the variance of the x-direction acceleration measured at each timing during the predetermined period, the variance of the y-direction acceleration measured at each timing during the predetermined period, and the variance of the z-direction acceleration measured at each timing during the predetermined period. More precisely, the determination unit 132 calculates the square of the difference between the average value of the three-axis acceleration data measured at each timing during the predetermined period (the average value of the x-direction acceleration, y-direction acceleration, and z-direction acceleration measured at each timing during the predetermined period) and each acceleration data, and then calculates the average of the sum of these values. Based on this, the determination unit 132 determines whether the variance of the three-axis acceleration data over the predetermined period falls within a predetermined range. For example, the determination unit 132 determines that the variance falls within the predetermined range if the variance is less than or equal to a predetermined value, and determines that the variance does not fall within the predetermined range if the variance is greater than a predetermined value. The determination unit 132 may determine whether the variance for each axis falls within a predetermined range, or whether the average value of the variance for each axis falls within a predetermined range. When determining the variance for each axis, the determination unit 132 may determine that the variance does not fall within the predetermined range if the variance for at least one axis is outside the predetermined range, or it may determine that the variance does not fall within the predetermined range if the variance for all axes is outside the predetermined range. The determination unit 132 may, instead of determining the variance for each axis of the three-axis acceleration data over a predetermined period, calculate the standard deviation for each axis of the three-axis acceleration data over a predetermined period and determine whether the standard deviation falls within a predetermined range.

[0033] The predetermined period here can be any period. For example, the determination unit 132 may extract a period of a certain length from the total period over which acceleration is measured by the user terminal 200 as the predetermined period. Alternatively, the determination unit 132 may extract multiple predetermined periods that are shifted by at least a portion of their duration from each other by shifting the time series. In this case, the determination unit 132 calculates the variance of the three-axis acceleration data for each predetermined period and determines whether it falls within the predetermined range. The predetermined range can be set arbitrarily, but for example, it may be a range in which the ratio of acceleration data generated while the user terminal 200 is in use by the user does not exceed twice the acceleration data when the user terminal 200 is stationary. This makes it possible to appropriately exclude acceleration data from when the user terminal 200 is moving significantly relative to the vehicle C, for example, when the user is using the user terminal 200, from the data used to calculate the rotation matrix, which will be explained later. The processing of the determination unit 132 may be performed after a certain amount of three-axis acceleration data has been acquired.

[0034] The average value calculation unit 133 calculates the average value of the acceleration data for each axis over the target period. Specifically, the average value calculation unit 133 calculates the average value of the x-direction acceleration measured at each timing during the target period, the average value of the y-direction acceleration measured at each timing during the target period, and the average value of the z-direction acceleration measured at each timing during the target period.

[0035] The target period may be any period within the total period during which acceleration is measured by the user terminal 200. However, if the measurement is taken during motion, the target period may be long enough so that the subsequent averaging process can approximate that of a stationary state, or it may be short enough so as to minimize vibration. For example, the average value calculation unit 133 may treat the entire period during which acceleration is measured as the target period and calculate the averaged acceleration of the three axes (the average value of the acceleration data for each axis) by averaging the x-axis, y-axis, and z-axis acceleration data over the entire measurement period (the entire period). Alternatively, the average value calculation unit 133 may define the target period as an arbitrary period, such as 10 seconds, and calculate the averaged acceleration of the three axes by averaging over the entire period. The processing by the average value calculation unit 133 may be performed after a certain amount of three-axis acceleration data has been acquired.

[0036] However, in this embodiment, it is preferable that the average value calculation unit 133 selects a period from among predetermined periods extracted from the entire period over which acceleration was measured, during which the determination unit 132 has determined that the variance is within a predetermined range, as the target period, and calculates the averaged triaxial acceleration (the average value for each axis of the triaxial acceleration data during the target period).

[0037] The dimensionless unit 134 dimensionless the average value of the acceleration data for each axis in the three axes during the target period. Specifically, the dimensionless unit 134 calculates the dimensionless acceleration of the three axes by dividing the averaged acceleration of the three axes by a reference value (gravitational acceleration in this embodiment). That is, the dimensionless unit 134 calculates the average value of the dimensionless acceleration of the three axes by dividing the average value of the x-direction acceleration during the target period by the reference value, dividing the average value of the y-direction acceleration during the target period by the reference value, and dividing the average value of the z-direction acceleration during the target period by the reference value.

[0038] The rotation matrix calculation unit 135 calculates a rotation matrix that transforms the acceleration in the first Cartesian coordinate system into the acceleration in the second Cartesian coordinate system, based on the average value of the three-axis acceleration data after dimensionlessization (the dimensionless value obtained by dimensionlessization of the average value for each axis of the three-axis acceleration data during the target period). Before explaining the processing of the rotation matrix calculation unit 135, the relationship between the first Cartesian coordinate system and the second Cartesian coordinate system will be explained using Figure 4. Figure 4 is a diagram illustrating the relationship between the first Cartesian coordinate system and the second Cartesian coordinate system according to this disclosure. As shown in Figure 4, the first Cartesian coordinate system AX1 and the second Cartesian coordinate system AX2 have different axis directions. The first Cartesian coordinate system is, as described above, the Cartesian coordinate system of the acceleration sensor unit 240 of the user terminal 200. The second Cartesian coordinate system is, for example, a global coordinate system with the direction perpendicular to the Earth surface as the Z axis.

[0039] The vector representing the average value of each axis of the three-axis acceleration data during the target period is given by vector g(g x ,g y ,g z ) That is, g x However, this is the dimensionless value of the average x-direction acceleration during the period in question, g y However, this is the dimensionless value of the average y-direction acceleration during the period, g z However, this is the dimensionless value of the average z-axis acceleration during the period in question. Vector g can be said to be the gravity-direction component of the three-axis acceleration data during the period in question. And if we let θ be the angle between vector g and the z-axis of the first orthogonal coordinate system, then θ and g z The relationship between and is as shown in equations (1) and (2) below.

[0040]

number

[0041]

number

[0042] Also, let the matrix for converting the value of the acceleration of the z-axis in the first orthogonal coordinate system to the value of the acceleration of the Z-axis in the second orthogonal coordinate system be R z Then, R z is expressed as shown in the following equation (3).

[0043] [Number]

[0044] Also, let the matrix for converting the values of the accelerations of the x-axis and y-axis in the first orthogonal coordinate system to the values of the accelerations of the X-axis and Y-axis in the second orthogonal coordinate system be R xy Then, R xy is expressed as shown in the following equation (4).

[0045] [Number]

[0046] Therefore, assuming that the matrix of the values of the accelerations of the three axes in the first orthogonal coordinate system is C1 and the matrix of the values of the accelerations of the three axes in the second orthogonal coordinate system is C2, the relationship between C1 and C2 is expressed as shown in the following equation (5).

[0047] [Number]

[0048] As shown in the equations presented above, since the rotation matrix (R xy ·R z ) can be calculated from g x , g y , and g z , the rotation matrix calculation unit 135 can calculate the rotation matrix (R xy ·R z ) based on the average value of the dimensionless three-axis acceleration data. Therefore, the rotation matrix calculation unit 135 obtains the rotation matrix (R xy ·R z ) as the rotation matrix for converting the acceleration in the first orthogonal coordinate system to the acceleration in the second orthogonal coordinate system.

[0049] The corrected acceleration calculation unit 136 calculates the acceleration data of the three axes in the second Cartesian coordinate system by multiplying the acceleration data of the three axes in the first Cartesian coordinate system by a rotation matrix. That is, the corrected acceleration calculation unit 136 applies the rotation matrix calculated using the acceleration data of the target period to periods other than the target period, and calculates the acceleration of the three axes in the second Cartesian coordinate system for the period including the period other than the target period by multiplying the acceleration data of the three axes in the first Cartesian coordinate system by the rotation matrix. Note that the period including the period other than the target period may include both the target period and the period other than the target period, or it may be the entire period during which acceleration was measured. Specifically, using the equation (5) described above, the rotation matrix (R xy ·R z By multiplying by ), the acceleration data of the three axes in the first Cartesian coordinate system is converted to acceleration data of the three axes in the second Cartesian coordinate system.

[0050] Furthermore, the corrected acceleration calculation unit 136 does not need to perform a coordinate transformation to the second Cartesian coordinate system for the acceleration data over the entire period during which acceleration was measured. In this case, the corrected acceleration calculation unit 136 extracts the excluded acceleration data from the acceleration data over the entire period during which acceleration was measured, and does not perform a coordinate transformation to the second Cartesian coordinate system for the excluded acceleration data. That is, in this case, the corrected acceleration calculation unit 136 performs the coordinate transformation to the second Cartesian coordinate system as described above for the acceleration data other than the excluded acceleration data from the acceleration data over the entire period during which acceleration was measured. The method for extracting the excluded acceleration data will be described below.

[0051] The corrected acceleration calculation unit 136 non-dimensionalizes the three-axis acceleration data measured at each timing during a predetermined period. Specifically, the corrected acceleration calculation unit 136 non-dimensionalizes the x-direction acceleration measured at each timing during the predetermined period, the y-direction acceleration measured at each timing during the predetermined period, and the z-direction acceleration measured at each timing during the predetermined period. Hereafter, the non-dimensionalized acceleration data will be referred to as dimensionless acceleration data. The predetermined period here may be extracted in the same way as the processing used by the determination unit 132 when calculating the variance of the three-axis acceleration data. The method of non-dimensionalization may also be the same as the method used by the dimensionlessization unit 134 to non-dimensionalize the average value of the three-axis acceleration data.

[0052] The corrected acceleration calculation unit 136 calculates the variance of the three-axis dimensionless acceleration data at each timing during a predetermined period. Specifically, the corrected acceleration calculation unit 136 calculates the variance of the dimensionless acceleration data of the x-direction acceleration measured at each timing during the predetermined period, the variance of the dimensionless acceleration data of the y-direction acceleration measured at each timing during the predetermined period, and the variance of the dimensionless acceleration data of the z-direction acceleration measured at each timing during the predetermined period.

[0053] The corrected acceleration calculation unit 136 then determines whether the variance of the three-axis dimensionless acceleration data over a predetermined period falls within a predetermined range (i.e., whether the variance is less than or equal to a predetermined value). The corrected acceleration calculation unit 136 may determine whether the variance for each axis falls within a predetermined range, or it may determine whether the average value of the variance for each axis falls within a predetermined range. When determining the variance for each axis, the corrected acceleration calculation unit 136 may determine that the variance does not fall within the predetermined range if the variance of at least one axis is outside the predetermined range, or it may determine that the variance does not fall within the predetermined range if the variance of all axes is outside the predetermined range.

[0054] The corrected acceleration calculation unit 136 extracts acceleration data for a predetermined period as excluded acceleration data if the variance of the dimensionless acceleration data for that predetermined period does not fall within a predetermined range. By treating data with large variances in the dimensionless acceleration data as excluded acceleration data, acceleration data from periods when the user terminal 200 is significantly displaced relative to the vehicle C can be excluded from the data used for analysis, allowing for appropriate analysis using acceleration. Furthermore, by using dimensionless acceleration data to extract excluded acceleration data, the influence of the magnitude of the absolute value can be excluded, allowing for the appropriate extraction of periods with large displacements. However, the corrected acceleration calculation unit 136 is not limited to extracting excluded acceleration data using dimensionless acceleration data. For example, in the above explanation, the corrected acceleration calculation unit 136 may use the variance of the three-axis acceleration data itself instead of the variance of the three-axis dimensionless acceleration data. Note that gravitational acceleration changes slightly with altitude, so by using the gravitational acceleration over the averaged period, that is, by using the gravitational acceleration at the location where the acceleration data was acquired and making it dimensionless, a more accurate orientation can be corrected. This eliminates the need to calibrate the acceleration sensor unit 240 of the user terminal 200, such as a smartphone, each time. However, if the calibration is such that changes in gravitational acceleration can be ignored, it may be non-dimensionalized using g(0,0,9.8).

[0055] The I / F (Interface) section 140 acts as an interface that mediates the exchange of information with external devices and storage media. The I / F section 140 may be implemented by connection terminals conforming to any standard that enables information exchange between external devices and storage media, for example, by USB (Universal Serial Bus) terminals, Thunderbolt® terminals, IEEE1394b terminals, etc.

[0056] The input unit 150 receives various operation information from the user of the arithmetic unit 100. The input unit 150 may be implemented by various input devices such as operation switches, keyboards, joysticks, and touch panels. The user inputs operation information for calculating acceleration, and operation information for displaying a GUI (Graphical User Interface) that shows various information such as acceleration values, via the input unit 150.

[0057] The display unit 160 displays various information to the driver and passengers of the vehicle. The display unit 160 may be a display device for an in-vehicle infotainment system or a rearview mirror type display device. The display unit 160 may also be implemented using, for example, a liquid crystal display, an organic EL (Electro Luminescence) display, or a micro LED (Light Emitting Diode) display. Furthermore, the location where the display unit 160 is provided is not limited to the dashboard or center cluster, but may also be provided on the back of the front seats or on the rear window.

[0058] As explained above, the computing device 100 according to this disclosure can appropriately convert three-axis acceleration data in a first Cartesian coordinate system into acceleration data in a second Cartesian coordinate system. Therefore, it is possible to provide a computing device 100 that can appropriately correct acceleration.

[0059] (Regarding calculation methods and programs) Next, the calculation method relating to this disclosure will be explained using Figure 5. Figure 5 is a flowchart showing the flow of the calculation method relating to this disclosure. The calculation method relating to this disclosure will be explained in accordance with the flow shown in Figure 5.

[0060] First, the arithmetic unit 100 acquires acceleration data for the three axes (step S101). Next, the arithmetic unit 100 calculates the average value for each of the three axes over the target period (step S102). Next, the arithmetic unit 100 non-dimensionalizes the average values ​​for each of the three axes (step S103). Next, the arithmetic unit 100 calculates a rotation matrix based on the non-dimensionalized accelerations of the three axes (step S104). Next, the arithmetic unit 100 multiplies the accelerations of the three axes by the rotation matrix to obtain the corrected accelerations of the three axes (step S105).

[0061] According to this method, acceleration data of the three axes in the first Cartesian coordinate system can be appropriately converted into acceleration data in the second Cartesian coordinate system. Therefore, a calculation method that can appropriately correct acceleration can be provided.

[0062] (User terminal configuration) Next, the configuration of the user terminal 200 relating to this disclosure will be explained using Figure 6. Figure 6 is a diagram showing an example of the configuration of the user terminal relating to this disclosure. As shown in Figure 6, the user terminal 200 relating to this disclosure comprises a communication unit 210, a storage unit 220, a control unit 230, and an acceleration sensor unit 240. Note that the communication unit 210 and storage unit 220 of the user terminal 200 may be the same as the communication unit 110 and storage unit 120 of the arithmetic unit 100, respectively, so their explanation will be omitted. Below, the control unit 230 and the acceleration sensor unit 240, which have configurations different from those of the arithmetic unit 100, will be explained in order.

[0063] The control unit 230 is a controller that manages and controls the user terminal 200. The control unit 230 is implemented by a CPU, MPU, etc., which executes various programs stored in the memory unit 220 using RAM as the working area. Alternatively, the control unit 230 may be implemented by an integrated circuit such as an ASIC or FPGA.

[0064] As shown in Figure 6, the control unit 230 includes an acquisition unit 231, a reception unit 232, and a supply unit 233. The control unit 230 realizes these functions and performs these processes by reading and executing a program (software) from the storage unit 220. These functions of the control unit 230 may also be realized by electronic circuits. Furthermore, the control unit 230 may execute these processes with a single CPU, or it may have multiple CPUs and execute these processes in parallel with the multiple CPUs. These configurations will be described in detail below.

[0065] The acquisition unit 231 acquires the three-axis acceleration data measured by the acceleration sensor unit 240, which will be described later. Once the acquisition unit 231 has acquired the three-axis acceleration data, it stores the acquired three-axis acceleration data in the acceleration data storage unit 221. At this time, the acquisition unit 231 may associate an acceleration data ID with the acquired three-axis acceleration data and store it.

[0066] The reception unit 232 receives various information requests from external devices. For example, the reception unit 232 receives a request for information on three-axis acceleration data from the computing unit 100 via the communication unit 210. The information request may include information that identifies the acceleration data to be provided, such as the acceleration data ID of the three-axis acceleration data and the measurement date.

[0067] The providing unit 233 provides various types of information to external devices based on information requests. For example, if the receiving unit 232 receives an information request for three-axis acceleration data from the computing device 100, the providing unit 233 reads the three-axis acceleration data received in the information request from the acceleration data storage unit 221 and provides the three-axis acceleration data to the computing device 100 via the communication unit 210.

[0068] The acceleration sensor unit 240 detects acceleration in three directions along three mutually orthogonal detection axes. The three mutually orthogonal detection directions may be named, for example, the X axis, Y axis, and Z axis. The acceleration sensor unit 240 may be a capacitive acceleration sensor that, for example, uses MEMS (Micro Electro Mechanical Systems) to create a movable electrode and a fixed electrode, and measures acceleration using the relationship between the change in inter-electrode capacitance due to the movement of the movable electrode due to acceleration and the acceleration.

[0069] Furthermore, the acceleration sensor unit 240 may be a piezoresistive acceleration sensor that detects the displacement of a weight supported by a spring that fluctuates with acceleration using a piezoresistive element placed on the spring. Alternatively, the acceleration sensor unit 240 may be a thermal-sensing acceleration sensor that detects the airflow of a gas heated inside the housing, which changes with acceleration, by measuring the change in the temperature-measuring resistance value. Alternatively, the acceleration sensor unit 240 may be a piezoelectric acceleration sensor that measures acceleration from the amount of charge generated in a piezoelectric element in proportion to the applied acceleration.

[0070] As described above, the user terminal 200 can appropriately acquire three-axis acceleration data and provide the acquired three-axis acceleration data to an external device.

[0071] In the above explanation, the user terminal 200 that measures acceleration and the computing device 100 that converts the three-axis acceleration data in the first Cartesian coordinate system into three-axis acceleration data in the second Cartesian coordinate system are treated as separate devices. However, the explanation is not limited to this, and the two may be a single integrated device. That is, the user terminal 200 may function as the computing device 100, having the function of measuring acceleration and the function of converting the three-axis acceleration data in the first Cartesian coordinate system into three-axis acceleration data in the second Cartesian coordinate system.

[0072] (Structure and effect) The computing device 100 according to this disclosure includes: an acquisition unit 131 that acquires acceleration data of three axes in a first orthogonal coordinate system measured by a user terminal 200; an average value calculation unit 133 that calculates the average value of each axis of the acceleration data of three axes over a target period; a rotation matrix calculation unit 135 that calculates a rotation matrix that converts the acceleration in the first orthogonal coordinate system into acceleration in a global coordinate system where one of the three axes is perpendicular to the Earth surface, based on the average value of the acceleration data of three axes; and a corrected acceleration calculation unit 136 that calculates the acceleration of three axes in the global coordinate system by multiplying the acceleration data of three axes in the first orthogonal coordinate system by the rotation matrix.

[0073] This configuration allows for the appropriate conversion of three-axis acceleration data in a first orthogonal coordinate system to acceleration data in a second orthogonal coordinate system. Therefore, it is possible to provide a computing device 100 that can appropriately correct acceleration.

[0074] The computing device 100 according to this disclosure further comprises a dimensionless unit that dimensionlessizes the average value of the three-axis acceleration data for each axis over the target period.

[0075] This configuration allows for the dimensionless arithmetic of the average values ​​of the three-axis acceleration data for each axis over the target period. Therefore, it becomes easier to compare acceleration data acquired under various conditions. For example, when extracting excluded acceleration data, a threshold such as a predetermined percentage can be set, simplifying the process. Thus, a calculation device 100 capable of appropriately correcting acceleration can be provided.

[0076] The computing device 100 according to this disclosure further comprises a determination unit 132 that calculates the variance or standard deviation of three-axis acceleration data for a predetermined period for each axis and determines whether the variance or standard deviation falls within a predetermined range, and an average value calculation unit 133 that uses the acceleration data for the period in which the determination unit 132 has determined that the variance or standard deviation of acceleration is within a predetermined range as the acceleration data for the target period and calculates the average value for the target period.

[0077] This configuration allows for the exclusion of acceleration data whose variance does not fall within a predetermined range from the calculation of the average value. Therefore, for example, acceleration generated by the operation of the user's terminal 200 can be appropriately excluded. Furthermore, the influence of orientation on acceleration data acquired from the acceleration sensor of the user terminal 200, such as a smartphone, can be corrected more accurately. As a result, calibration of the acceleration sensor of the user terminal 200 can be eliminated. This makes it possible to provide a computing device 100 that can appropriately correct acceleration using acceleration data from periods when the user terminal 200 is not significantly displaced relative to the vehicle C.

[0078] The program relating to this disclosure causes a computer to perform the following steps: acquire acceleration data of three axes in a first orthogonal coordinate system measured by a user terminal; calculate the average value of the acceleration data of three axes for each axis over a target period; obtain a rotation matrix that converts the acceleration in the first orthogonal coordinate system to the acceleration in a global coordinate system where one of the three axes is perpendicular to the Earth's surface, based on the average value of the acceleration data of three axes; and calculate the acceleration of three axes in the global coordinate system by multiplying the acceleration data of three axes in the first orthogonal coordinate system by the rotation matrix.

[0079] This configuration allows for the appropriate conversion of three-axis acceleration data in the first Cartesian coordinate system to acceleration data in the second Cartesian coordinate system. Therefore, it is possible to provide a program that can appropriately correct acceleration.

[0080] Although embodiments of the present invention have been described above, the embodiments are not limited to those described herein. Furthermore, the aforementioned components include those that can be easily conceived by those skilled in the art, those that are substantially the same, and those that fall within the so-called equivalent range. Moreover, the aforementioned components can be combined as appropriate. Furthermore, various omissions, substitutions, or modifications of the components can be made without departing from the spirit of the embodiments described above. [Explanation of Symbols]

[0081] 1. Computational System 100 Computing equipment 110 Communications Department 120 Storage section 121 Acceleration data storage unit 130 Control Unit 131 Acquisition Department 132 Judgment section 133 Average Value Calculation Section 134 Non-dimensionalization part 135 Rotation Matrix Calculation Unit 136 Post-correction acceleration calculation section 140 I / F section 150 Input section 160 Display section 200 user terminals 210 Communications Department 220 Storage section 221 Acceleration data storage unit 230 Control Unit 231 Acquisition Department 232 Reception Department 233 Provision Department 240 Acceleration sensor section N Network

Claims

1. An acquisition unit that acquires three-axis acceleration data in a first orthogonal coordinate system measured by the user terminal, An average value calculation unit that calculates the average value of the acceleration data for each axis over the target period, A rotation matrix calculation unit calculates a rotation matrix that converts the acceleration in the first orthogonal coordinate system to the acceleration in a global coordinate system where one of the three axes is perpendicular to the Earth surface, based on the average value of the acceleration data of the three axes. The system includes a corrected acceleration calculation unit that calculates the acceleration of the three axes in the global coordinate system by multiplying the acceleration data of the three axes in the first orthogonal coordinate system by the rotation matrix, and Computing device.

2. The system further comprises a dimensionlessization unit that non-dimensions the average value calculated by the average value calculation unit, The computing device according to claim 1.

3. The system further includes a determination unit that calculates the variance or standard deviation of three-axis acceleration data for each axis over a predetermined period and determines whether the variance or standard deviation falls within a predetermined range. The average value calculation unit uses the acceleration data for the period in which the determination unit has determined that the variance or standard deviation of the acceleration is within a predetermined range as the acceleration data for the target period, and calculates the average value for the target period. The computing device according to claim 1 or 2.

4. The steps include: acquiring three-axis acceleration data in a first orthogonal coordinate system measured by the user terminal; The steps include: calculating the average value of the acceleration data for each axis over the target period; The steps include: determining a rotation matrix that transforms the acceleration in the first orthogonal coordinate system into acceleration in a global coordinate system where one of the three axes is perpendicular to the Earth surface, based on the average value of the acceleration data of the three axes; The steps include: calculating the acceleration of the three axes in the global coordinate system by multiplying the acceleration data of the three axes in the first orthogonal coordinate system by the rotation matrix; A program that causes a computer to execute something.

Citation Information

Patent Citations

  • Installation angle calculation device and installation angle calculation program

    JP2022188571A