Inertial measurement method, inertial measurement apparatus, and inertial measurement program

10816337 ยท 2020-10-27

Assignee

Inventors

Cpc classification

International classification

Abstract

Inertial measurement method and apparatus for a mobile entity perform a filtering process for an angular velocity signal, an alignment process where an approximate initial attitude angle is calculated from acceleration and angular velocity signals and then precisely adjusted, an angular velocity/acceleration bias calculation process where angular velocity bias is calculated by subtracting Earth's angular velocity from the angular velocity signal and an acceleration bias is calculated by subtracting gravitational acceleration from the acceleration signal, an attitude angle calculation process where an angular velocity is calculated by subtracting Earth's angular velocity and the angular velocity bias from the angular velocity signal, and an attitude angle is calculated by integrating the angular velocity, a location movement amount calculation process where acceleration is calculated by subtracting the gravitational acceleration and the acceleration bias from the acceleration signal, and calculate a location movement amount by second-order integration for the acceleration.

Claims

1. An inertial measurement method for obtaining an attitude angle and a location movement amount of a mobile entity on the basis of an angular velocity signal output from an angular velocity sensor installed in a body of the mobile entity and an acceleration signal output from an acceleration sensor, the method comprising: a filtering process for reducing a noise component superimposed on the angular velocity signal; an alignment process for calculating an approximate initial attitude angle from the acceleration signal and the angular velocity signal and then precisely adjusting the initial attitude angle such that an absolute value of a velocity obtained by integrating an acceleration obtained by subtracting a gravitational acceleration from the acceleration signal becomes equal to or smaller than a predetermined value, and an absolute value of an angle obtained by integrating an angular velocity obtained by subtracting an Earth's angular velocity from the angular velocity signal becomes equal to or smaller than a predetermined value; an angular velocity/acceleration bias calculation process for calculating an angular velocity bias by subtracting the Earth's angular velocity from the angular velocity signal and calculating an acceleration bias by subtracting the gravitational acceleration from the acceleration signal; an attitude angle calculation process for calculating an angular velocity by subtracting the Earth's angular velocity and the angular velocity bias from the angular velocity signal and calculating the attitude angle by integrating the calculated angular velocity; and a location movement amount calculation process for calculating an acceleration by subtracting the gravitational acceleration and the acceleration bias from the acceleration signal and calculating the location movement amount by performing second-order integration for the calculated acceleration, wherein: the filtering process, the alignment process, and the angular velocity/acceleration bias calculation process are sequentially executed in a stationary state of the mobile entity, the filtering process, the attitude angle calculation process, and the location movement amount calculation process are then executed sequentially and repeatedly, the filtering process and the alignment process in a stationary state of the mobile entity, the attitude angle calculation process in a stationary state of the mobile entity, and the location movement amount calculation process in a stationary state of the mobile entity are performed through estimation using a stationary state estimation filter capable of reducing noise superimposed on a signal, suppressing a random walk of an integral value caused by noise, and suppressing an increase of an error of an integral value caused by a bias, and the filtering process in a dynamic state of the mobile entity, the attitude angle calculation process in a dynamic state of the mobile entity, and the location movement amount calculation process in a dynamic state of the mobile entity are performed through estimation using a dynamic state estimation filter capable of reducing noise superimposed on a signal and suppressing an error of an integral value caused by noise.

2. The inertial measurement method according to claim 1, wherein: an azimuth signal output from an electronic compass installed in a body of the mobile entity is obtained, the approximate initial attitude angle is calculated from the acceleration signal, the angular velocity signal, and the azimuth signal in the alignment process, the angular velocity bias is calculated by assuming that the Earth's angular velocity is set to zero in the angular velocity/acceleration bias calculation process, and the angular velocity is calculated by assuming that the Earth's angular velocity is set to zero and the attitude angle is calculated by integrating the angular velocity in the attitude angle calculation process.

3. An inertial measurement apparatus for obtaining an attitude angle and a location movement amount of a mobile entity on the basis of an angular velocity signal output from an angular velocity sensor installed in a body of the mobile entity and an acceleration signal output from an acceleration sensor, the apparatus comprising: a filtering unit configured to perform a process for reducing a noise component superimposed on the angular velocity signal; an alignment unit configured to perform a process for calculating an approximate initial attitude angle from the acceleration signal and the angular velocity signal and then precisely adjusting the initial attitude angle such that an absolute value of a velocity obtained by integrating an acceleration obtained by subtracting a gravitational acceleration from the acceleration signal becomes equal to or smaller than a predetermined value, and an absolute value of an angle obtained by integrating an angular velocity obtained by subtracting an Earth's angular velocity from the angular velocity signal becomes equal to or smaller than a predetermined value; an angular velocity/acceleration bias calculation unit configured to perform a process for calculating an angular velocity bias by subtracting the Earth's angular velocity from the angular velocity signal and calculating an acceleration bias by subtracting the gravitational acceleration from the acceleration signal; an attitude angle calculation unit configured to perform a process for calculating an angular velocity by subtracting the Earth's angular velocity and the angular velocity bias from the angular velocity signal and calculating the attitude angle by integrating the calculated angular velocity; and a location movement amount calculation unit configured to perform a process for calculating an acceleration by subtracting the gravitational acceleration and the acceleration bias from the acceleration signal and calculating the location movement amount by performing second-order integration for the calculated acceleration, wherein: the filtering unit, the alignment unit, and the angular velocity/acceleration bias calculation unit sequentially execute each of the processes in a stationary state of the mobile entity, the filtering unit, the attitude angle calculation unit, and the location movement amount calculation unit then execute each of the processes sequentially and repeatedly, the process of the filtering unit and the process of the alignment unit in a stationary state of the mobile entity, the process of the attitude angle calculation unit in a stationary state of the mobile entity, and the process of the location movement amount calculation unit in a stationary state of the mobile entity are performed through estimation using a stationary state estimation filter capable of reducing noise superimposed on a signal, suppressing a random walk of an integral value caused by noise, and suppressing an increase of an error of an integral value caused by a bias, and the process of the filtering unit in a dynamic state of the mobile entity, the process of the attitude angle calculation unit in a dynamic state of the mobile entity, and the process of the location movement amount calculation unit in a dynamic state of the mobile entity are performed through estimation using a dynamic state estimation filter capable of reducing noise superimposed on a signal and suppressing an error of an integral value caused by noise.

4. The inertial measurement apparatus according to claim 3, wherein: the alignment unit obtains an azimuth signal output from an electronic compass installed in a body of the mobile entity, and performs a process of calculating the approximate initial attitude angle from the acceleration signal, the angular velocity signal, and the azimuth signal in the alignment process, the angular velocity/acceleration bias calculation unit performs a process of calculating the angular velocity bias by assuming that the Earth's angular velocity is set to zero, and the attitude angle calculation unit performs a process of calculating the angular velocity by assuming that the Earth's angular velocity is set to zero, and calculating the attitude angle by integrating the angular velocity.

5. A non-transitory, computer-readable medium having stored thereon an inertial measurement program for obtaining an attitude angle and a location movement amount of a mobile entity on the basis of an angular velocity signal output from an angular velocity sensor installed in a body of the mobile entity and an acceleration signal output from an acceleration sensor, the program being executable by a computer to perform processes comprising: a filtering process for reducing a noise component superimposed on the angular velocity signal; an alignment process for calculating an approximate initial attitude angle from the acceleration signal and the angular velocity signal and then precisely adjusting the initial attitude angle such that an absolute value of a velocity obtained by integrating an acceleration obtained by subtracting a gravitational acceleration from the acceleration signal becomes equal to or smaller than a predetermined value, and an absolute value of an angle obtained by integrating an angular velocity obtained by subtracting an Earth's angular velocity from the angular velocity signal becomes equal to or smaller than a predetermined value; an angular velocity/acceleration bias calculation process for calculating an angular velocity bias by subtracting the Earth's angular velocity from the angular velocity signal and calculating an acceleration bias by subtracting the gravitational acceleration from the acceleration signal; an attitude angle calculation process for calculating an angular velocity by subtracting the Earth's angular velocity and the angular velocity bias from the angular velocity signal and calculating the attitude angle by integrating the calculated angular velocity; and a location movement amount calculation process for calculating an acceleration by subtracting the gravitational acceleration and the acceleration bias from the acceleration signal and calculating the location movement amount by performing second-order integration for the calculated acceleration, wherein: the filtering process, the alignment process, and the angular velocity/acceleration bias calculation process are sequentially executed in a stationary state of the mobile entity, the filtering process, the attitude angle calculation process, and the location movement amount calculation process are then executed sequentially and repeatedly, the filtering process and the alignment process in a stationary state of the mobile entity, the attitude angle calculation process in a stationary state of the mobile entity, and the location movement amount calculation process in a stationary state of the mobile entity are performed through estimation using a stationary state estimation filter capable of reducing noise superimposed on a signal, suppressing a random walk of an integral value caused by noise, and suppressing an increase of an error of an integral value caused by a bias, and the filtering process in a dynamic state of the mobile entity, the attitude angle calculation process in a dynamic state of the mobile entity, and the location movement amount calculation process in a dynamic state of the mobile entity are performed through estimation using a dynamic state estimation filter capable of reducing noise superimposed on a signal and suppressing an error of an integral value caused by noise.

6. The non-transitory, computer-readable medium having stored thereon the inertial measurement program, according to claim 5, wherein: an azimuth signal output from an electronic compass installed in a body of the mobile entity is obtained, the approximate initial attitude angle is calculated from the acceleration signal, the angular velocity signal, and the azimuth signal in the alignment process, the angular velocity bias is calculated by assuming that the Earth's angular velocity is set to zero in the angular velocity/acceleration bias calculation process, and the angular velocity is calculated by assuming that the Earth's angular velocity is set to zero and the attitude angle is calculated by integrating the angular velocity in the attitude angle calculation process.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) FIG. 1 is a system configuration diagram of an inertial measurement apparatus according to a first embodiment of the invention.

(2) FIG. 2 is a flowchart illustrating an inertial measurement method performed by the inertial measurement apparatus according to the first embodiment (the inertial measurement method according to the first embodiment of the invention).

(3) FIG. 3 is a flowchart illustrating details of an alignment process of FIG. 2.

(4) FIG. 4 is a flowchart illustrating details of an initial attitude angle calculation step performed in the alignment process.

(5) FIG. 5 is a flowchart illustrating details of a first initial attitude angle adjustment step performed in the alignment process.

(6) FIG. 6 is a flowchart illustrating details of a second initial attitude angle adjustment step performed in the alignment process.

(7) FIG. 7 is a flowchart illustrating details of a third initial attitude angle adjustment step performed in the alignment process.

(8) FIG. 8 is a flowchart illustrating details of an angular velocity/acceleration bias calculation process of FIG. 2.

(9) FIG. 9 is a flowchart illustrating details of the attitude angle calculation process of FIG. 2, in which (a) illustrates a process performed in a stationary state, and (b) illustrates a process performed in a dynamic state.

(10) FIG. 10 is a flowchart illustrating details of a location movement amount calculation process of FIG. 2, in which (a) illustrates a process performed in a stationary state, and (b) illustrates a process performed in a dynamic state.

(11) FIG. 11, (a) and (b) are timing charts for describing differences in setting methods between a stationary state estimation filter and a dynamic state estimation filter.

(12) FIG. 12, (a) is a diagram illustrating a simulation condition performed to check effects of the stationary state estimation filter, and (b) is a diagram illustrating a simulation condition of a comparative example.

(13) FIG. 13, (a) and (b) illustrate waveforms of simulation results under the conditions of FIG. 12, (a) and (b).

(14) FIG. 14, (a) is a diagram illustrating a simulation condition performed to check effects of the stationary state estimation filter, and (b) is a diagram illustrating a simulation condition of a comparative example.

(15) FIG. 15, (a) and (b) illustrate waveforms of the simulation results under the conditions of FIGS. 14(a) and 14(b).

(16) FIG. 16, (a) is a diagram illustrating a simulation condition performed to check effects of the dynamic state estimation filter, and (b) is a diagram illustrating a simulation condition of a comparative example.

(17) FIGS. 17, (a) and 17(b) illustrate waveforms of simulation results under the conditions of FIGS. 16, (a) and (b).

(18) FIG. 18 is a system configuration diagram of an inertial measurement apparatus according to a second embodiment of the invention.

(19) FIG. 19 is a flowchart illustrating details of the alignment process performed by the inertial measurement apparatus according to the second embodiment.

(20) FIG. 20 is a flowchart illustrating details of an initial attitude angle calculation step of FIG. 19.

(21) FIG. 21 is a flowchart illustrating details of the angular velocity/acceleration bias calculation process performed by the inertial measurement apparatus according to the second embodiment.

(22) FIG. 22 is a flowchart illustrating details of the attitude angle calculation process performed by the inertial measurement apparatus according to the second embodiment, in which (a) illustrates a process performed in a stationary state, and (b) illustrates a process performed in a dynamic state.

(23) FIG. 23 is a diagram illustrating a geographic coordinate system and a body coordinate system.

(24) FIG. 24, (a) and (b) are diagrams illustrating a change of a gravitational acceleration component when the mobile entity is sloped.

MODE FOR CARRYING OUT THE INVENTION

(25) Hereinafter, an inertial measurement apparatus, an inertial measurement apparatus, and an inertial measurement program according to a first embodiment of the invention will now be described with reference to FIGS. 1 to 17. As illustrated in FIG. 1, an inertial measurement apparatus 10 according to this embodiment is an apparatus for obtaining an attitude angle (such as (roll), (pitch), and (yaw)) of a mobile entity 12 and a location movement amount r.sup.G on the basis of an angular velocity signal .sup.B output from an angular velocity sensor 14 installed in a body 12a of the mobile entity 12 and an acceleration signal a.sup.B output from an acceleration sensor 16. The inertial measurement method according to this embodiment is executed by installing the inertial measurement program including programs for executing each process of executing this inertial measurement method in the inertial measurement apparatus 10. Note that symbols .sup.B and .sup.G denote vectors, B denotes a representation of each axial component expressed in a body coordinate system, and G denotes a representation of each axial component expressed in a geographic coordinate system.

(26) The inertial measurement apparatus 10 includes a filtering unit 18, an alignment unit 20, an angular velocity/acceleration bias calculation unit 22, an attitude angle calculation unit 24, and a location movement amount calculation unit 26. First, functions of each block will be described in brief.

(27) The filtering unit 18 performs a process of reducing a noise component superimposed on the angular velocity signal .sup.B (filtering process S1s or S1u).

(28) The alignment unit 20 calculates approximate initial attitude angles 0, 0, and 0 from the acceleration signal a.sup.B and the angular velocity signal .sup.B and then performs a process of precisely adjusting the initial attitude angles 0, 0, and 0 (alignment process S2) such that an absolute value of a velocity Vh.sup.B obtained by integrating the acceleration ah.sup.B obtained by subtracting the gravitational acceleration gp.sup.B from the acceleration signal a.sup.B becomes equal to or smaller than a predetermined value, and an absolute value of an angle obtained by integrating an angular velocity h.sup.B obtained by subtracting an Earth's angular velocity p.sup.B from the angular velocity signal .sup.B becomes equal to or smaller than a predetermined value.

(29) The angular velocity/acceleration bias calculation unit 22 performs a process of calculating an angular velocity bias b.sup.B by subtracting the Earth's angular velocity p.sup.B from the angular velocity signal .sup.B and calculating an acceleration bias ab.sup.B by subtracting the gravitational acceleration gp.sup.B from the acceleration signal a.sup.B (angular velocity/acceleration bias calculation process S3).

(30) The attitude angle calculation unit 24 performs a process of calculating a correction angular velocity h.sup.B by subtracting the Earth's angular velocity p.sup.B and the angular velocity bias b.sup.B from the angular velocity signal .sup.B and calculating the attitude angles , , and by integrating the correction angular velocity h.sup.B (attitude angle calculation process S4s or S4u).

(31) The location movement amount calculation unit 26 performs a process of calculating a correction acceleration ah.sup.G by subtracting the gravitational acceleration gp.sup.B and the acceleration bias ab.sup.B from the acceleration signal a.sup.B and calculating a location movement amount r.sup.G by performing second-order integration for the correction acceleration ah.sup.G (location movement amount calculation process S5s or S5u).

(32) As illustrated in FIG. 2, when the mobile entity 12 has a stationary state, the inertial measurement apparatus 10 sequentially executes the filtering process S1s, the alignment process S2, and the angular velocity/acceleration bias calculation process S3 and then sequentially and repeatedly executes the filtering process S1s or S1u, the attitude angle calculation process S4s or S4u, and the location movement amount calculation process S5s or S5u.

(33) In the case of a multicopter as the mobile entity 12, the stationary state refers to, for example, a state in which the mobile entity 12 lands on the ground and stands by or the like. If the mobile entity 12 starts a flight, the state changes to the dynamic state. The inertial measurement apparatus 10 determines the stationary state or the dynamic state by analyzing the angular velocity signal .sup.B and the acceleration signal a.sup.B using a suitable method.

(34) Hereinafter, details of each process will now be described sequentially. As illustrated in FIG. 2, first, determination on the stationary state or the dynamic state is performed. If it is determined as the stationary state, the filtering process S1s is performed. As the filtering, a process of reducing a noise component superimposed on the angular velocity signal .sup.B is performed by estimation using a stationary state estimation filter As1. The stationary state estimation filter As1 is a filter set to reduce noise superimposed on a signal and suppress an error in the integral value caused by noise in the course of the integration, as will be described below in details.

(35) If the alignment is not terminated in the stationary state after the filtering process S1s is terminated, the alignment process S2 is performed. The alignment process S2 includes an initial attitude angle calculation step S21 and three initial attitude angle adjustment steps S22, S23, and S24. As illustrated in FIG. 3, if the alignment process S2 starts, and the initial attitude angles 0, 0, and 0 have not been calculated, the initial attitude angle calculation step S21 is performed.

(36) As illustrated in FIG. 4, in the initial attitude angle calculation step S21, first, in step S211, the acceleration signal a.sup.B and the angular velocity signal .sup.B subjected to the filtering process are obtained, and an average value and a variance of each signal for a specified time are calculated. In addition, after the specified time elapses, the operation advances to step S212, so that the initial attitude angles 0, 0, and 0 are calculated by assuming that the average value of the acceleration signal a.sup.B calculated in step S211 is equal to a true gravitational acceleration gp.sup.B, and the average value of the angular velocity signal .sup.B is equal to a true Earth's angular velocity p.sup.B (step S212). This assumption is on the basis that the alignment process S2 is performed on the basis of the acceleration signal a.sup.B and the angular velocity signal .sup.B for the stationary state. Under the aforementioned assumption, the approximate initial attitude angles 0, 0, and 0 can be simply obtained from the simple formulas described in FIG. 4.

(37) If the initial attitude angle 0 has not been adjusted after the initial attitude angles 0, 0, and 0 are calculated, the operation advances to the first initial attitude angle adjustment step S22. The first initial attitude angle adjustment step S22 is a step of precisely adjusting the initial attitude angle 0. As illustrated in FIG. 5, first, the operation advances to step S221, so that the gravitational acceleration gp.sup.G of the geographic coordinate system is transformed into the gravitational acceleration gp.sup.B of the body coordinate system using a coordinate transformation matrix C(GB) expressed in Formula (1). The coordinate transformation matrix C (G-B) is a matrix well known in the art, in which C, C, and C in the right side denote cos , cos , and cos , respectively, and S, S, and S denote sin , sin , and sin , respectively.

(38) [ Formula 1 ] C ( G - B ) = [ C C C S - S S S C - C S S S S + C C S C C S C + S S C S S - S C C C ] ( 1 )

(39) After step S221 is terminated, the operation advances to step S222, so that the correction acceleration ah(x) is calculated by subtracting an X-axis component gp(x) from the gravitational acceleration gp.sup.B from an X-axis component a(x) of the acceleration signal a.sup.B to cancel the effect of the gravitational acceleration. In addition, an X-axis direction velocity vh(x) as an integral value is estimated by applying the stationary state estimation filter As1 to the correction acceleration ah(x) (step S223). This stationary state estimation filter As1 is the same filter as that used in the filtering process S1s.

(40) If the velocity vh(x) is estimated, an average value of the velocity vh(x) for a specified time is calculated (step S224). In addition, if the absolute value of the velocity vh (x) is greater than a predetermined value, the operation advances to step S225, so that the initial attitude angle 0 is changed (incremented or decremented) from the immediately previous value. If steps S221 to S224 are repeatedly executed by changing the initial attitude angle 0, finally, the absolute value of the velocity vh(x) becomes equal to or smaller than a predetermined value (0). Then, the operation advances to step S226, so that the angle 0 at that time is set as an adjusted initial attitude angle 0. As a result, the adjustment of the angle 0 is terminated.

(41) In a case where the initial attitude angle 0 has not been adjusted after adjustment of the initial attitude angle 0 is terminated, the operation advances to the second initial attitude angle adjustment step S23 as illustrated in FIG. 3. The second initial attitude angle adjustment step S23 is a step for precisely adjusting the initial attitude angle 0. As illustrated in FIG. 6, first, the operation advances to step S231, so that the gravitational acceleration gp.sup.G of the geographic coordinate system is transformed into the gravitational acceleration gp.sup.B of the body coordinate system using the coordinate transformation matrix C(GB) expressed in Formula (1). Step S231 is the process similar to that of step S221 described above.

(42) After step S231 is terminated, the operation advances to step S232, so that the correction acceleration ah(y) is calculated by subtracting a Y-axis component gp(y) of the gravitational acceleration gp.sup.B from a Y-axis component a(y) of the acceleration signal a.sup.B to cancel the effect of the gravitational acceleration. In addition, a Y-axis direction velocity vh(y) as an integral value is estimated by applying the stationary state estimation filter As1 to the correction acceleration ah(y) (step S233). The stationary state estimation filter As1 is also the same filter as that used in the filtering process S1s.

(43) If the velocity vh(y) is estimated, an average value of the velocity vh(y) for a specified time is calculated (step S234). In addition, if an absolute value of the velocity vh (y) is equal to or greater than a predetermined value, the operation advances to step S235, so that the initial attitude angle 0 is changed (incremented or decremented) from the immediately previous value. If steps S231 to S234 are repeatedly executed by changing the initial attitude angle 0, finally, the absolute value of the velocity vh (y) becomes equal to or smaller than a predetermined value (0). Therefore, the operation advances to step S236, so that the angle 0 at that time is set as an adjusted initial attitude angle 0. As a result, adjustment of the angle 0 is terminated.

(44) If the initial attitude angle 0 has not been adjusted after the adjustment of the initial attitude angle 0 is terminated, the operation advances to the third initial attitude angle adjustment step S24 as illustrated in FIG. 3. The third initial attitude angle adjustment step S24 is a step for precisely adjusting the initial attitude angle 0. As illustrated in FIG. 7, first, the operation advances to step S241, so that the Earth's angular velocity p.sup.G of the geographic coordinate system is transformed into the Earth's angular velocity p.sup.B of the body coordinate system using a coordinate transformation matrix C(GB) expressed in Formula (1).

(45) After step S241 is terminated, the operation advances to step S242, so that the correction angular velocity h(x) is calculated by subtracting an X-axis component p(x) of the Earth's angular velocity p.sup.B from an X-axis component (x) of the angular velocity signal .sup.B to cancel the effect of the Earth's angular velocity. In addition, an X-axis direction angle h(x) as an integral value is estimated by applying the stationary state estimation filter As1 to the correction angular velocity h(x) (step S243). This stationary state estimation filter As1 is also the same filter as that used in the filtering process S1s.

(46) If the angle h(x) is estimated, an average value of the angle h(x) for a specified time is calculated (step S244). In addition, if the absolute value of the angle h (y) is equal to or greater than a predetermined value, the operation advances to step S245, so that the initial attitude angle 0 is changed (incremented or decremented) from the immediately previous value. If steps S241 to S244 are repeatedly executed by changing the initial attitude angle 0, finally, the absolute value of the angle h (x) becomes equal to or smaller than a predetermined value (0). Therefore, the operation advances to step S246, so that the angle 0 at that time is set as an adjusted initial attitude angle 0. As a result, adjustment of the angle 0 is terminated, and the alignment process S2 is terminated.

(47) If the angular velocity b.sup.B and the acceleration bias ab.sup.B in a stationary state have not been calculated after the alignment process S2 is terminated, the angular velocity/acceleration bias calculation process S3 is performed. In the angular velocity/acceleration bias calculation process S3, as illustrated in FIG. 8, if the angular velocity bias b.sup.B has not been calculated, first, the operation advances to step S31, so that the Earth's angular velocity p.sup.G of the geographic coordinate system is transformed into the Earth's angular velocity p.sup.B of the body coordinate system using a coordinate transformation matrix C(GB) expressed in Formula (1). In addition, the operation advances to step S32, so that an angular velocity error .sup.B is calculated by subtracting the Earth's angular velocity p.sup.B from the angular velocity signal .sup.B.

(48) If the angular velocity error .sup.B is calculated, an average value of the angular velocity error .sup.B for a specified time is calculated, and a result thereof is set as the angular velocity bias b.sup.B (step S34). As a result, the calculation of the angular velocity bias b.sup.B is terminated.

(49) If the acceleration bias ab.sup.B has not been calculated after the calculation of the angular velocity bias b.sup.B is terminated, the operation advances to step S35, so that the gravitational acceleration gp.sup.G of the geographic coordinate system is transformed into the gravitational acceleration gp.sup.B of the body coordinate system using a coordinate transformation matrix C(GB) expressed in Formula (1). In addition, the operation advances to step S36, so that an acceleration error a.sup.B is calculated by subtracting the gravitational acceleration p.sup.B from the acceleration signal a.sup.B.

(50) If the acceleration error a.sup.B is calculated, an average value of the acceleration error a.sup.B for a specified time is calculated, and a result thereof is set as an acceleration bias ab.sup.B (step S34). As a result, the calculation of the acceleration bias ab.sup.B is terminated, and the angular velocity/acceleration bias calculation process S3 is terminated.

(51) In the stationary state after the end of the angular velocity/acceleration bias calculation process S3, the attitude angle calculation process S4s is performed through the filtering process S1s as illustrated in FIG. 2. In the attitude angle calculation process S4s, as illustrated in FIG. 9(a), first, the operation advances to step S41s, so that the Earth's angular velocity p.sup.G of the geographic coordinate system is transformed into the Earth's angular velocity p.sup.B of the body coordinate system using a coordinate transformation matrix C(GB) expressed in Formula (1). In addition, the operation advances to step S42s, so that the correction angular velocity h.sup.B is calculated by subtracting the Earth's angular velocity p.sup.B and the angular velocity bias b.sup.B from the angular velocity signal .sup.B to cancel an error factor such as the Earth's angular velocity.

(52) If the correction angular velocity h.sup.B is calculated, the operation advances to step S43s, so that the correction angular velocity h.sup.B of the body coordinate system is transformed into attitude angular velocities (dot), (dot), and (dot) on the basis of a coordinate transformation matrix R(BA) of Formula (2). The coordinate transformation matrix R(BA) is a matrix well known in the art.

(53) [ Formula 2 ] R ( B - A ) = [ 1 sin .Math. tan cos .Math. tan 0 cos - sin 0 sin / cos cos / cos ] ( 2 )

(54) After step S43s is terminated, the operation advances to step S44s, so that the attitude angles , , and as integral values are estimated by applying the stationary state estimation filter As1 to each of the attitude angular velocities (dot), (dot), and (dot). This stationary state estimation filter As1 is the same filter as that used in the filtering process S1s. In addition, the attitude angle calculation process S4s is terminated by updating the coordinate transformation matrix C(GB) (step S45s).

(55) In the stationary state after the attitude angle calculation process S4s is terminated, as illustrated in FIG. 2, the location movement amount calculation process S5s is performed. In the location movement amount calculation process S5s, as illustrated in FIG. 10(a), first, the operation advances to step S51s, so that the gravitational acceleration gp.sup.G of the geographic coordinate system is transformed into the gravitational acceleration gp.sup.B of the body coordinate system using a coordinate transformation matrix C(GB) expressed in Formula (1). In addition, the operation advances to step S52s, so that the correction acceleration ah.sup.B is calculated by subtracting the gravitational acceleration gp.sup.B and the acceleration bias ab.sup.B from the acceleration signal a.sup.B to cancel an error factor such as the gravitational acceleration.

(56) If the correction acceleration ah.sup.B is calculated, the operation advances to step S53s, so that the correction acceleration ah.sup.B of the body coordinate system is transformed into the acceleration ah.sup.G of the geographic coordinate system using a coordinate transformation matrix C(GB) expressed in Formula (1).

(57) After step S53s is terminated, the operation advances to step S54s, so that a location movement amount r.sup.G as a second-order integral value is estimated by applying the stationary state estimation filter As2 to each axial component of the acceleration ah.sup.G. Similar to the stationary state estimation filter As1 described above, the stationary state estimation filter As2 is a filter set to reduce noise superimposed on a signal and suppress an error in the integral value caused by noise in the course of the integration, as will be described below in more details. As a result, the attitude angle calculation process S5s is terminated.

(58) In a dynamic state after the end of the angular velocity/acceleration bias calculation process S3, the attitude angle calculation process S4u is performed through the filtering process S1u as illustrated in FIG. 2. Unlike the filtering process S1s described above, in the filtering process S1u, a process of reducing a noise component superimposed on the angular velocity signal .sup.B is performed through estimation using a dynamic state estimation filter Au1. The dynamic state estimation filter Au1 is a filter set to reduce noise superimposed on a signal and suppress an error in the integral value caused by noise in the course of the integration, as will be described below in more details.

(59) In the attitude angle calculation process S4u, steps S41u to S45u are sequentially performed as illustrated in FIG. 9(b). In this process, steps S41u to S43u and S45u are similar to steps S41s to S43s and S45s of the stationary state, but step S44u (underlined) is different.

(60) In step S44u, the attitude angles , , and as integral values are estimated by applying the dynamic state estimation filter Au1 to the attitude angular velocities (dot), (dot), and (dot) as the processing result of step S43u. This dynamic state estimation filter Au1 is the same filter as that used in the filtering process S1u. In addition, the attitude angle calculation process S4u is terminated by updating the coordinate transformation matrix C(GB) (step S45u).

(61) In a dynamic state after the end of the attitude angle calculation process S4u, the location movement amount calculation process S5u is performed as illustrated in FIG. 2. In the location movement amount calculation process S5u, steps S51u to S54u are sequentially performed as illustrated in FIG. 10(b). In this process, steps S51u to S53u are similar to steps S51s to S53s of the stationary state, but step S54u (underlined) is different.

(62) In step S54u, a location movement amount r.sup.G as a second-order integral value is estimated by applying the dynamic state estimation filter Au2 to each axial component of the acceleration ahs as the processing result of step S53u. Similar to the dynamic state estimation filter Au1 described above, this dynamic state estimation filter Au2 is a filter set to reduce noise superimposed on a signal and suppress an error in the integral value caused by noise in the course of the integration, as will be described below in more details. As a result, the attitude angle calculation process S5u is terminated.

(63) In this manner, while the mobile entity 12 has a stationary state, the inertial measurement apparatus 10 sequentially executes the filtering process S1s, the alignment process S2, and the angular velocity/acceleration bias calculation process S3. Then, the attitude angles (roll), (pitch), and (yaw) of the mobile entity 12 and the location movement amount r.sup.G are obtained on the basis of the angular velocity signal .sup.B and the acceleration signal a.sup.B by sequentially and repeatedly executing the filtering process S1s or S1u, the attitude angle calculation process S4s or S4u, and the location movement amount calculation process S5s or S5u.

(64) Then, out of the four state estimation filters As1, As2, Au1, and Au2, the stationary state estimation filter As1 and the dynamic state estimation filter Au1 will be described.

(65) The stationary state estimation filter As1 is a filter used to perform first-order integration in the alignment process S2 and the attitude angle calculation process S4s for a stationary state, and is also used in the filtering process S1s for a stationary state. In the stationary state estimation filter As1, the following Formulas (3) and (4) are set as an operational formula for performing estimation.

(66) [ Formula 3 ] [ v ( k + 1 ) v ( k ) a ( k + 1 ) a ( k ) ] = [ 1 0 dt 0 0 1 dt / 4 dt / 4 1 / dt - 1 / dt 3 / 2 - 3 / 2 2 / dt - 2 / dt 0 - 1 ] [ v ( k ) v ( k - 1 ) a ( k ) a ( k - 1 ) ] + [ 0 0 1 0 ] V ( k ) ( 3 ) [ Formula 4 ] Y ( k ) = [ 0 0 1 0 ] [ v ( k ) v ( k - 1 ) a ( k ) a ( k - 1 ) ] + W ( k ) ( 4 )

(67) In Formulas (3) and (4), state variables v(k),v(k1), a(k), and a(k1) are set, and an output Y(k) is obtained by adding an observation noise W(k) to the state variable a(k). The state variable v is an integral value of a. For example, if the state variable a refers to an acceleration, the state variable v becomes a velocity. If a refers to an angular velocity, the state variable v becomes an angle. In addition, the 44 matrix of Formula (3) is set to reduce noise superimposed on a signal in a stationary state and suppress an increase of a random walk of the integral value caused by noise in the course of the integration and an increase of an error of the integral value caused by the bias in the course of the integration.

(68) The dynamic state estimation filter As1 is a filter used to perform first-order integration in the attitude angle calculation process S4u of the dynamic state and is also used in the filtering process S1u of the dynamic state. In the dynamic state estimation filter Au1, the aforementioned Formula (4) and the following Formula (5) are set as an operational formula for performing the estimation.

(69) [ Formula 5 ] [ v ( k + 1 ) v ( k ) a ( k + 1 ) a ( k ) ] = [ 1 0 dt 0 1 / 2 1 / 2 dt / 4 dt / 4 1 / dt - 1 / dt 3 / 2 - 3 / 2 2 / dt - 2 / dt 0 - 1 ] [ v ( k ) v ( k - 1 ) a ( k ) a ( k - 1 ) ] + [ 0 0 1 0 ] V ( k ) ( 5 )

(70) In Formulas (4) and (5), state variables v(k),v(k1), a(k), and a(k1) are set, and an output Y(k) is obtained by adding an observation noise W(k) to the state variable a(k). In addition, the 44 matrix of Formula (5) is set to reduce noise superimposed on a signal in a dynamic state and suppress an error of the integral value caused by noise in the course of the integration.

(71) As recognized by comparing the contents of each row and each column between Formulas (3) and (5), the second row is different. The second row of the stationary state estimation filter As1 is set by assuming that the integral value v is maintained constant for a while after the timing k1 (for example, between the timing k1 and the midpoint of the timing k) as illustrated in FIG. 11(a). Meanwhile, the second row of the dynamic state estimation filter Au1 is set by assuming that the integral value v changes at a constant inclination from the timing k1 to the timing k as illustrated in FIG. 11(b). Due to this difference of the method of setting the second row, the stationary state estimation filter As1 can perform suitable estimation in a stationary state, and the dynamic state estimation filter Au1 can perform suitable estimation in a dynamic state.

(72) The inventors conducted a simulation test for checking the operation of the stationary state estimation filter As1. In the first test, as illustrated in FIG. 12(a), the signal a was set as white noise (a signal having an average value of 0 and a variance of 1 generated by a noise generation unit statistically controlled), and the signal a and the integral value v were estimated by applying the stationary state estimation filter As1. In addition, as a comparative example, the integral value v of the signal a was calculated by using a general integrator 28 as illustrated in FIG. 12(b).

(73) A result of the first test is shown in FIGS. 13(a) and 13(b). Referring to the estimation a of the stationary state estimation filter As1, it is recognized that the white noise (=signal a) is reduced. In addition, referring to the calculation v (comparative example) of the integrator 28, it is recognized that the zero point drifts randomly with time, and a random walk of the integral value caused by noise occurs in the course of the aforementioned integration. In comparison, referring to the estimation v of the stationary state estimation filter As1, the zero point makes nearly no drift, and the random walk is effectively suppressed.

(74) A second test was performed to check the operation of the stationary state estimation filter As1. In the second test, as illustrated in FIG. 14(a), the signal a and the integral value v were estimated by assuming that the signal a is obtained by superimposing the aforementioned white noise on the bias (signal level 1) and applying the stationary state estimation filter As1. In addition, as a comparative example, as illustrated in FIG. 14(b), the integral value v of the signal a was calculated by using the general integrator 28.

(75) A result of the second test is shown in FIGS. 15(a) and 15 (b). Referring to the estimation a of the stationary state estimation filter As1, it is recognized that the white noise contained in the signal a is reduced. In addition, referring to the calculation v (comparative example) of the integrator 28, it is recognized that the zero point drifts upward with time, and an increase of the error of the integral value caused by the bias in the course of the aforementioned integration is occurred. In comparison, referring to the estimation v of the stationary state estimation filter As1, the zero point makes nearly no drift, and an increase of the error caused by the bias is effectively suppressed.

(76) A third test was performed to check the operation of the dynamic state and stationary state estimation filter Au1. In the third test, as illustrated in FIG. 16(a), the signal a and the integral value v were estimated by assuming that the signal a is obtained by superimposing the aforementioned white noise on an ideal sinusoidal wave (having an amplitude of 1 and a frequency of 4 Hz) and applying the dynamic state estimation filter Au1. In addition, as a comparative example, as illustrated in FIG. 16(b), the integral value v of the signal a was calculated by using the general integrator 28.

(77) A result of the third test is shown in FIGS. 17(a) and 17(b). Referring to the estimation a of the dynamic state estimation filter Au1, it is recognized that the white noise contained in the signal a is reduced. In addition, referring to the calculation v (comparative example) of the integrator 28, an error of the integral value caused by noise is recognized. However, referring to the estimation v of the dynamic state estimation filter Au1, the error caused by noise in the integration is effectively suppressed.

(78) Next, out of the four state estimation filters As1, As2, Au1, and Au2, the stationary state estimation filter As2 and the dynamic state estimation filter Au2 will be described.

(79) The stationary state estimation filter As2 is a filter used to perform second-order integration in the location movement amount calculation process S5s for a stationary state. In the stationary state estimation filter As2, the following Formulas (6) and (7) are set as an operational formula for performing the estimation.

(80) [ Formula 6 ] [ r ( k + 1 ) r ( k ) v ( k + 1 ) v ( k ) a ( k + 1 ) a ( k ) ] = [ 1 0 dt 0 0 0 0 1 dt / 4 dt / 4 0 0 0 0 1 0 dt 0 0 0 0 1 dt / 4 dt / 4 0 0 1 / dt - 1 / dt 3 / 2 - 3 / 2 0 0 2 / dk - 2 / dk 0 - 1 ] [ r ( k ) r ( k - 1 ) v ( k ) v ( k - 1 ) a ( k ) a ( k - 1 ) ] + [ 0 0 0 0 1 0 ] V ( k ) ( 6 ) [ Formula 7 ] Y ( k ) = [ 0 0 0 0 1 0 ] [ r ( k ) r ( k - 1 ) v ( k ) v ( k - 1 ) a ( k ) a ( k - 1 ) ] + W ( k ) ( 4 )

(81) In Formulas (6) and (7), state variables r(k), r(k1), v(k), v(k1), a(k), and a(k1) are set, and an output Y(k) is obtained by adding an observation noise W(k) to the state variable a(k). The state variable v is an integral value of a, and the state variable r is an integral value of v. That is, if the state variable a refers to an acceleration, the state variable v becomes a velocity, and the state variable r becomes a location movement amount. In addition, the 66 matrix of Formula (6) is set to reduce noise superimposed on a signal in a stationary state and suppress an increase of a random walk of the integral value caused by noise and an increase of an error of the integral value caused by the bias.

(82) The dynamic state estimation filter Au2 is a filter used to perform second-order integration in the location movement amount calculation S5u for the dynamic state. In the dynamic state estimation filter Au2, the aforementioned Formula (7) and the following Formula (8) are set as an operational formula for performing the estimation.

(83) [ Formula 8 ] [ r ( k + 1 ) r ( k ) v ( k + 1 ) v ( k ) a ( k + 1 ) a ( k ) ] = [ 1 0 dt 0 0 0 1 / 2 1 / 2 dt / 4 dt / 4 0 0 0 0 1 0 dt 0 0 0 1 / 2 1 / 2 dt / 4 dt / 4 0 0 1 / dt - 1 / dt 3 / 2 - 3 / 2 0 0 2 / dk - 2 / dk 0 - 1 ] [ r ( k ) r ( k - 1 ) v ( k ) v ( k - 1 ) a ( k ) a ( k - 1 ) ] + [ 0 0 0 0 1 0 ] V ( k ) ( 8 )

(84) In Formulas (7) and (8), state variables r(k), r(k1),v(k),v(k1), a(k), and a(k1) are set, and an output Y(k) is obtained by adding an observation noise W(k) to the state variable a(k). In addition, the 66 matrix of Formula (8) is set to reduce noise superimposed on a signal in a dynamic state and suppress an error of the integral value caused by noise in the course of the integration.

(85) As recognized by comparing the contents of each row and each column between Formulas (6) and (8), the second and fourth rows are different. The difference of the fourth row is similar to that described above in conjunction with FIGS. 11(a) and 11(b). That is, the fourth row of the stationary state estimation filter As2 is set by assuming that the integral value v is maintained constant for a while after the timing k1, and the fourth row of the dynamic state estimation filter Au2 is set by assuming that the integral value v changes at a constant inclination from the timing k1 to the timing k as illustrated in FIG. 11(b).

(86) The assumption for the second row is similar to that of the fourth row. That is, the second row of the stationary state estimation filter As2 is set by assuming that the integral value r is maintained constant for a while after the timing k1, and the second row of the dynamic state estimation filter Au2 is set by assuming that the integral value r changes at a constant inclination from the timing k1 to the timing k.

(87) Due to this difference in the method of setting the second and fourth rows, the stationary state estimation filter As2 can perform suitable estimation in a stationary state, and the dynamic state estimation filter Au2 can perform suitable estimation in a dynamic state.

(88) As described above, in the inertial measurement method and the inertial measurement apparatus 10 installed with the inertial measurement program according to this embodiment, the alignment process S2 and the angular velocity/acceleration bias calculation process S3 are performed in a stationary state, and the process of canceling the gravitational acceleration component and the Earth's angular velocity component is performed in the calculation of the attitude angle and the location movement amount. Therefore, it is possible to reduce an error caused by the gravitational acceleration and the Earth's angular velocity.

(89) When the estimation is performed in each process, the stationary state estimation filters As1 and As2 and the dynamic state estimation filters Au1 and Au2 are used in different situations. Therefore, for the problems in the inertial measurement, that is, for (a) an error caused by noise superimposed on a signal, (b) a random walk of the integral value caused by noise, (c) an increase of the error of the integral value caused by the bias, and (d) an error of the integral value caused by noise, or the like, it is possible to effectively suppress the problems (a), (b), and (c) by performing estimation using the stationary state estimation filters As1 and As2 in a stationary state, effectively suppress the problems (a) and (d) by performing estimation using the dynamic state estimation filters Au1 and Au2 in a dynamic state, and measure the attitude angles , , and and the location movement amount r.sup.G with high accuracy.

(90) The inertial measurement apparatus 10 can be easily configured using a general purpose computer. In addition, unlike the mobile entity attitude angle detecting device of Patent Document 1, it is not necessary to provide a second detection unit for suppressing the random walk. Therefore, it is possible to very simply configure the apparatus.

(91) Next, an inertial measurement apparatus and an inertial measurement method according to a second embodiment of the invention will be described with reference to FIGS. 18 to 21. An inertial measurement apparatus 30 (and the inertial measurement method) according to this embodiment is formed by changing a part of the configuration of the inertial measurement apparatus 10 (and the inertial measurement method) described above. Here, like reference numerals denote like elements as in the inertial measurement apparatus 10, and they will not be described repeatedly.

(92) In the inertial measurement apparatus 10 according to the first embodiment, the number of the necessary sensor types is small (two types of sensors including the angular velocity sensor 14 and the acceleration sensor 16). However, in order to effectively perform the aforementioned alignment, it is necessary to use the high performance angular velocity sensor 14 capable of detecting the Earth's angular velocity with high accuracy. Therefore, the cost of the apparatus may increase. In comparison, in the inertial measurement apparatus 30 according to the second embodiment, since an azimuth signal H of an electronic compass 32 is used to calculate the initial attitude angle 0 as illustrated in FIG. 18, the inexpensive angular velocity sensor 14 can be employed. Therefore, it is possible to suppress the cost of the entire apparatus.

(93) Although the flow of the inertial measurement method performed by the inertial measurement apparatus 30 is similar to the flow of the inertial measurement apparatus 10 as a whole (FIG. 2), some parts are slightly different in the contents of the alignment process S2, the angular velocity/acceleration bias calculation process S3, and the attitude angular velocity calculation process S4s or S4u. Therefore, the differences will now be described sequentially.

(94) In the alignment process S2 performed by the inertial measurement apparatus 30, the processing for the initial attitude angles 0 and 0 out of the three initial attitude angles 0, 0, and 0 is similar to that of the inertial measurement apparatus 10 as illustrated in FIG. 19. However, the initial attitude angle 0 is calculated on the basis of the azimuth signal H of the electronic compass 32 as described in step S62, and the adjustment is not performed. Therefore, in the initial attitude angle calculation step S61, as illustrated in FIG. 20, only the initial attitude angles 0 and 0 are calculated (step S611), and are adjusted (step S612). Although it is difficult to detect the minute Earth's angular velocity with high accuracy using an inexpensive angular velocity sensor, it is possible to calculate the initial attitude angle 0 and perform the alignment process by using the azimuth signal H of the electronic compass 32. Detection of the angular velocity faster than the Earth's angular velocity can also be performed using the inexpensive angular velocity sensor. Therefore, it is possible to lower the cost of the angular velocity sensor 14.

(95) In addition, in the angular velocity/acceleration bias calculation process S3, the angular velocity error .sup.B is calculated by assuming that the Earth's angular velocity p.sup.B is set to zero as illustrated in steps S71 and S72 of FIG. 21. Similarly, in the attitude angle calculation process S4s or S4u, the angular velocity error .sup.B is calculated by assuming that the Earth's angular velocity p.sup.B is set to zero as illustrated in steps S81s, S82s, S81u, and S82u of FIG. 22.

(96) Using the inertial measurement apparatus 30 and the inertial measurement method using the same, it is possible to obtain the effects similar to those of the inertial measurement apparatus 10. Although the number of necessary sensor types increases, it is possible to lower the cost of the entire apparatus.

(97) Note that the inertial measurement method, the inertial measurement apparatus, and the inertial measurement program according to the invention are not limited to the aforementioned embodiments. For example, the setting of the stationary state estimation filter is not limited to those of the stationary state estimation filter As1 (Formulas (3) and (4)) or the stationary state estimation filter As2 (Formulas (6) and (7)), and the contents of the formulas may be changed as long as the aforementioned effects can be achieved. In addition, although the stationary state estimation filter As1 is shared by a plurality of processes in the aforementioned embodiments, the setting may also change depending on individual process contents.

(98) The setting of the dynamic state estimation filter is not limited to that of the dynamic state estimation filter Au1 (Formulas (4) and (5)) or the dynamic state estimation filter Au2 (Formulas (7) and (8)), and the contents of the formulas may change as long as the aforementioned effects can be achieved. In addition, although the dynamic state estimation filter Au1 is shared by a plurality of processes in the aforementioned embodiments, the setting may change depending on individual process contents.

(99) The inertial measurement method and the inertial measurement apparatus according to the invention are suitable for inertial measurement of a multicopter or the like that makes a flight in the air. However, the inertial measurement method and the inertial measurement apparatus according to the invention may also be applied to any mobile entity other than the multicopter. In this case, it is also possible to achieve the advantageous effects described above.

REFERENCE SIGNS LIST

(100) 10, 30 Inertial measurement apparatus 12 Mobile entity 12a Body 14 Angular velocity sensor 16 Acceleration sensor 18 Filtering unit 20 Alignment unit 22 Angular velocity/acceleration bias calculation unit 24 Attitude angle calculation unit 26 Location movement amount calculation unit 28 Integrator As1, As2 Stationary state estimation filter Au1, Au2 Dynamic state estimation filter S1s, S1u Filtering process S2 Alignment process S3 Angular velocity/acceleration bias calculation process S4s, S4u Attitude angle calculation process S5s, S5u Location movement amount calculation process