WO2019216132A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
WO2019216132A1
WO2019216132A1 PCT/JP2019/016337 JP2019016337W WO2019216132A1 WO 2019216132 A1 WO2019216132 A1 WO 2019216132A1 JP 2019016337 W JP2019016337 W JP 2019016337W WO 2019216132 A1 WO2019216132 A1 WO 2019216132A1
Authority
WO
WIPO (PCT)
Prior art keywords
moving body
information
control unit
moving
posture
Prior art date
Application number
PCT/JP2019/016337
Other languages
English (en)
French (fr)
Inventor
雅人 君島
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Publication of WO2019216132A1 publication Critical patent/WO2019216132A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C17/00Compasses; Devices for ascertaining true or magnetic north for navigation or surveying purposes
    • G01C17/38Testing, calibrating, or compensating of compasses
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects
    • G01C19/02Rotary gyroscopes
    • G01C19/34Rotary gyroscopes for indicating a direction in the horizontal plane, e.g. directional gyroscopes
    • G01C19/38Rotary gyroscopes for indicating a direction in the horizontal plane, e.g. directional gyroscopes with north-seeking action by other than magnetic means, e.g. gyrocompasses using earth's rotation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/04Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
    • G01C21/08Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means involving use of the magnetic field of the earth
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C23/00Combined instruments indicating more than one navigational value, e.g. for aircraft; Combined measuring devices for measuring two or more variables of movement, e.g. distance, speed or acceleration
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0808Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft

Definitions

  • the present disclosure relates to an information processing apparatus, an information processing method, and a program.
  • GNSS global positioning satellite system
  • Patent Document 1 discloses a technique for detecting an azimuth based on an angular velocity detected by a gyro sensor and geomagnetic data detected by a geomagnetic sensor.
  • the geomagnetic sensor used in the above technique is easily affected by magnetic noise generated from a reinforcing bar or the like, and an error due to magnetic noise occurs in the detected orientation. For this reason, the accuracy of the detected azimuth is lowered in a place where the influence of magnetic noise is large.
  • the gyrocompass is a device having a function of detecting the north direction based on the detected rotation component of the earth.
  • strict stillness is often required for detecting the direction by the gyrocompass. Since the user typically receives navigation while moving, such a request for staticity restricts the user's behavior.
  • the present disclosure proposes a new and improved information processing apparatus, information processing method, and program capable of detecting the azimuth during movement of a moving object with higher accuracy.
  • a control unit that performs a north exploration process based on at least two pieces of moving body information among moving body information about the moving body, and each of the at least two pieces of moving body information is measured by an inertial measurement device.
  • the information processing apparatus is configured such that the directions of the moving bodies are different from each other, and at least one of the at least two pieces of moving body information measured by the inertial measurement apparatus is measured while the moving body is moving. Is provided.
  • the northing process is performed based on at least two pieces of moving body information among the moving body information regarding the moving body, and each of the at least two pieces of moving body information is measured by the inertial measurement device.
  • the direction of the moving body at the time is different from each other, and at least one of the at least two moving body information measured by the inertial measurement device is measured while the moving body is moving.
  • the computer is caused to function as a control unit that performs a north exploration process based on at least two pieces of moving body information among the moving body information about the moving body, and each of the at least two moving body information
  • the directions of the moving bodies when measured by the inertial measurement device are different from each other, and at least one of the at least two pieces of moving body information measured by the inertial measurement device is measured while the moving body is moving.
  • a program is provided.
  • FIG. 3 is a block diagram illustrating a functional configuration example of an information processing device according to a first embodiment of the present disclosure.
  • FIG. It is explanatory drawing which shows the example of the statistical process which concerns on the same embodiment.
  • FIG. 1 is an explanatory diagram illustrating an overview of a comparative example according to an embodiment of the present disclosure.
  • the mobile terminal 10 such as a smartphone is equipped with a function of navigating a user's movement based on an orientation detected by an electronic compass or GNSS. For example, as shown in FIG. 1, a map is displayed on the mobile terminal 10, and an object 152 indicating the current position and orientation of the user is displayed on the map. Then, the user can navigate to the destination 154 by changing the position and orientation of the object 152 in accordance with the movement of the user.
  • the surrounding environment greatly affects the accuracy of the electronic compass and GNSS.
  • the electronic compass is easily affected by magnetic noise generated from the reinforcing bars, and the accuracy of the detected orientation is reduced.
  • urban buildings, underground malls, and station platforms are often used as shielding objects that shield GNSS satellite signals or multipaths, which is a poor environment for receiving GNSS satellite signals. For this reason, the accuracy of the position detected by the GNSS is lowered in a city street, underground mall, station platform, and the like. Therefore, as shown in FIG. 1, the orientation that the user is facing may be displayed with a deviation from the true orientation 156.
  • the gyrocompass is a device having a function of detecting the north direction based on the detected rotation component of the earth. Unlike an electronic compass that uses geomagnetism, no error due to the influence of the surrounding environment occurs in the direction detected by the gyrocompass. In addition, the accuracy of the direction detected by the gyrocompass is improved by correction based on the information detected in each direction when stationary in two directions. Further, the gyrocompass is useful in a machine that guarantees a more exacting stationary state.
  • the gyrocompass can detect the direction without being influenced by the surrounding environment, it is expected that a more accurate direction can be detected even when used by humans.
  • human beings cannot make a strict still. Therefore, when detecting the direction by the gyrocompass, a minute human movement is detected, and an error due to the minute movement occurs in the direction detected by the gyrocompass. Therefore, the gyrocompass cannot guarantee the accuracy of the direction detected when a human uses it. Even if a human can be strictly stationary, the user needs to be strictly stationary every time the gyrocompass detects the orientation, which restricts the user's behavior. End up.
  • the embodiment of the present disclosure has been conceived by paying attention to the above points, and proposes a technique capable of detecting the orientation during movement of the moving body with higher accuracy.
  • detection in the north direction during movement of the moving body is performed with higher accuracy.
  • FIG. 2 is an explanatory diagram illustrating an example of a north direction estimation process according to the embodiment of the present disclosure.
  • 2 is a diagram of the mobile terminal 10 viewed from the x-axis direction of the terminal coordinate system
  • the diagram shown on the right side is a diagram of the mobile terminal 10 viewed from the z-axis direction of the terminal coordinate system.
  • FIG. 3 is an explanatory diagram illustrating an example of the bias removal process according to the embodiment of the present disclosure.
  • the figure shown on the left side of FIG. 3 is a figure which shows the angular velocity before bias removal
  • the figure shown on the right side is a figure which shows the angular velocity after bias removal.
  • the estimation process in the north direction is performed based on the angular velocity detected by the gyro sensor.
  • the gyrocompass 18 is placed at an arbitrary position on the earth 70 in a stationary state.
  • the gyro sensor of the gyro compass 18 measures the angular velocity generated by the rotation of the earth around the earth axis (spinning axis) of the earth 70.
  • the gyro sensor does not detect an angular velocity component in a direction perpendicular to the north direction, that is, in the east-west direction (X axis).
  • the angular velocity component in the direction not perpendicular to the north direction that is, the north-south direction (Y-axis) is detected.
  • the gyrocompass 18 makes the vector direction of the maximum angular velocity component among the detected angular velocity components the north direction.
  • ⁇ ER is the rotation speed of the earth.
  • ⁇ p is the latitude at the position of the mobile terminal 10.
  • the gyro compass 18 performs the estimation process in the north direction based on the angular velocity measured by the gyro sensor.
  • the angular velocity measured by the gyro sensor may include an error component due to the bias of the gyro sensor. Therefore, the gyrocompass 18 can estimate the north direction with higher accuracy by performing the north direction estimation process based on the angular velocity from which the bias is removed (hereinafter also referred to as a rotation component).
  • the gyro compass 18 may perform the north direction estimation process based on the angular velocity (rotation component) from which the bias is not removed.
  • the bias is estimated and removed from the angular velocity based on at least two angular velocities measured when a gyro compass equipped with the gyro sensor or a device such as a mobile terminal is stationary. The Thereby, a rotation component is calculated.
  • a device such as a gyrocompass or a portable terminal is moving, a motion component is generated and an error occurs in angular velocity. Therefore, this method is based on the premise that a device such as a gyro compass or a portable terminal is stationary.
  • the angular velocity measured by the gyro sensor of the gyro compass is basically measured in the triaxial direction.
  • the bias estimated based on the measured angular velocity in the three-axis direction is estimated as a bias in a three-dimensional space.
  • the rotation component finally calculated by this method exists on the circumference of a circle centered at an arbitrary position on the plane at a constant elevation angle (latitude). Therefore, if the latitude at which the gyrocompass is located is known, it is possible to estimate the bias in a two-dimensional plane instead of a three-dimensional space.
  • the angular velocity 30A and the angular velocity 30B measured at a certain latitude are shown on the XY plane.
  • the angular velocity 30A and the angular velocity 30B are angular velocities measured in different directions.
  • the angular velocity at the center of the circle 50 where these two angular velocities exist on the circumference becomes the bias 40.
  • the center of the circle 50 can be obtained by calculating the radius of the circle 50 based on the rotation speed of the earth ⁇ ER and the latitude ⁇ p .
  • the radius is ⁇ ER ⁇ cos ⁇ p .
  • the rotational component can be calculated by removing the angular velocity 30 bias 40.
  • the diagram shown on the right side of FIG. 3 shows a state where the bias 40 is removed from the angular velocity 30B, for example.
  • the bias is estimated based on at least two angular velocities in two different directions measured at rest and the latitude, and the bias is removed from the angular velocity.
  • the general estimation process in the north direction and the bias removal process described above are based on the assumption that the gyrocompass is stationary. Therefore, for example, the above method cannot be applied as it is to a mobile body having a gyrocompass function.
  • the measured angular velocity includes an angular velocity (hereinafter also referred to as a motion component) generated by the movement in addition to the rotation component and the bias. Therefore, in the embodiment of the present disclosure, the moving component is removed from the measured angular velocity, the bias is removed by the above-described method, and the estimation process in the north direction is further performed by the above-described method. This makes it possible to detect the orientation at the position with higher accuracy.
  • FIG. 4 is an explanatory diagram showing an overview according to the embodiment of the present disclosure.
  • a mobile terminal 10 illustrated in FIG. 4 is an information processing apparatus such as a smartphone, a tablet terminal, or a wearable terminal.
  • the user 20 carries the mobile terminal 10 and moves.
  • the mobile terminal 10 moves in accordance with the movement of the user 20. Therefore, the mobile terminal 10 is also a mobile object.
  • the movement of the mobile terminal 10 indicates that the user 20 is moving.
  • the mobile terminal 10 includes a device capable of measuring inertial data (moving body information).
  • the apparatus measures inertial data related to the mobile terminal 10 when the mobile terminal 10 is moving or stationary.
  • the inertia data includes, for example, acceleration and angular velocity.
  • the inertia data is hereinafter also referred to as acceleration or angular velocity.
  • the inertial measurement device measures the first angular velocity while the mobile terminal 10 moves from position 1 to position 2.
  • the inertial measurement device measures the second angular velocity while the mobile terminal 10 moves from position 2 to position 3 while changing the direction of movement.
  • the portable terminal 10 acquires the angular velocity in each of two different directions.
  • the acquired angular velocity is composed of a motion component, a bias, and a rotation component. Therefore, the mobile terminal 10 calculates the motion component and removes it from each angular velocity. After removing the motion component, the mobile terminal 10 calculates a bias based on the two angular velocities from which the motion component has been removed, and removes the bias from the two angular velocities from which the motion component has been removed. And the portable terminal 10 performs the estimation process of the north direction based on the angular velocity from which the motion component and the bias were removed and became only the rotation component.
  • At least two angular velocities are used.
  • the directions of the mobile terminal 10 when the at least two angular velocities are measured are different from each other.
  • at least one of the at least two angular velocities is an angular velocity measured while the mobile terminal 10 is moving.
  • the other angular velocity may be an angular velocity measured while the mobile terminal 10 is moving, or may be an angular velocity measured while the mobile terminal 10 is stationary.
  • FIG. 5 is a block diagram illustrating a functional configuration example of the information processing apparatus according to the first embodiment of the present disclosure.
  • the mobile terminal 10-1 includes an inertial measurement unit 120, a communication unit 130, a control unit 140-1, an output unit 150, and a storage unit 160.
  • the inertia measurement unit 120 has a function of measuring inertia data regarding the mobile terminal 10-1.
  • the inertial measurement unit 120 includes an inertial measurement unit (IMU: Internal Measurement Unit) as a device capable of measuring inertial data.
  • the inertial measurement device includes an acceleration sensor, and measures acceleration, which is the amount of change in the moving speed of the mobile terminal 10-1, as one of the inertial data.
  • the inertial measurement device includes an angular velocity sensor, and measures an angular velocity that is a change in the attitude of the mobile terminal 10-1 as one of the inertia data.
  • Inertial measurement unit 120 outputs the inertial data measured by the inertial measurement device to control unit 140-1.
  • the communication unit 130 has a function of communicating with an external device. For example, the communication unit 130 outputs information received from the external device to the control unit 140-1 in communication with the external device. In addition, the communication unit 130 transmits information input from the control unit 140-1 to the external device in communication with the external device.
  • Control unit 140-1 has a function of controlling the entire mobile terminal 10-1.
  • the control unit 140-1 controls the measurement process in the inertial measurement unit 120.
  • control unit 140-1 controls communication processing in the communication unit 130. Specifically, the control unit 140-1 causes the external unit to transmit information output in accordance with the processing executed by the control unit 140-1 to the communication unit 130.
  • control unit 140-1 controls display processing in the output unit 150. Specifically, the control unit 140-1 causes the output unit 150 to display information according to the processing result executed by the control unit 140-1.
  • control unit 140-1 controls the storage process in the storage unit 160. Specifically, the control unit 140-1 causes the storage unit 160 to store information output according to the processing executed by the control unit 140-1.
  • control unit 140-1 has a function of executing processing based on the input information. For example, the control unit 140-1 uses, from the inertial data input from the inertial measurement unit 120 when the mobile terminal 10-1 moves, a motion component indicating the amount of change in the posture of the mobile terminal 10-1 due to movement, and the inertial measurement device. Based on the rotation component obtained by removing the bias, the estimation process in the north direction is executed. Note that at least two rotation components are used in the north direction estimation process. The at least two rotation components are calculated based on inertial data measured while the moving body is moving in each of two different directions.
  • the at least two rotation components include at least one rotation component calculated based on inertial data measured while the moving body is moving. Therefore, one of the at least two rotation components may be a rotation component calculated based on inertia data measured when the mobile terminal 10-1 is stationary. Since the inertial data measured when the mobile terminal 10-1 is stationary does not include a motion component, the control unit 140-1 only needs to remove the bias from the inertial data.
  • control unit 140-1 estimates the north direction in the same state as when the moving object is stationary by removing the motion component from the angular velocity even when the moving object is moving. It can be carried out. Further, the controller 140-1 can estimate the north direction with higher accuracy by removing the bias of the inertial measurement device from the angular velocity.
  • the control unit 140-1 has a function of evaluating the accuracy of positioning by GNSS. For example, the control unit 140-1 evaluates the accuracy of positioning by the GNSS based on a accuracy reduction rate (DOP) indicating the degree of accuracy decrease due to satellite arrangement in the sky.
  • DOP accuracy reduction rate
  • the control unit 140-1 switches from navigation using the GNSS to navigation using the gyrocompass. If it is determined that the accuracy of the GNSS is high, the control unit 140-1 continues navigation using the GNSS.
  • the control unit 140-1 calculates the amount of change in direction while the mobile terminal 10-1 is moving or stationary based on the angular velocity measured by the inertia measurement unit 120. Based on the amount of change, the control unit 140-1 determines whether the direction has changed while the mobile terminal 10-1 is moving or stationary.
  • the control unit 140-1 detects whether the mobile terminal 10-1 is moving or stationary based on the acceleration measured by the inertia measurement unit 120.
  • the control unit 140-1 causes the inertial measurement unit 120 to measure inertial data related to the mobile terminal 10-1. Specifically, the control unit 140-1 causes the inertial measurement device to measure inertial data when the mobile terminal 10-1 moves or stops in a direction within a predetermined range for a predetermined time.
  • the predetermined range is, for example, based on the orientation of the mobile terminal 10-1 at the time when the mobile terminal 10-1 is determined to be moving or stationary, and the amount of change in direction from the reference (direction The amount of change) is a range indicated by an angle.
  • the control unit 140-1 causes the mobile terminal 10-1 to move in a certain direction. It is determined that the object is moving or stationary, and the inertial measurement unit 120 is caused to measure the angular velocity in the first direction. For example, ⁇ 20 degrees is set as a specific numerical value of the predetermined range (first range).
  • the control unit 140-1 moves or stops the mobile terminal 10-1 in a certain direction. It is determined that The specific numerical value in the predetermined range (first range) is not limited to ⁇ 20 degrees, and an arbitrary numerical value may be set.
  • the control unit 140-1 After measuring the angular velocity in the first direction, the control unit 140-1 determines whether or not there is a change in the direction in which the mobile terminal 10-1 is moving or stationary based on the amount of change in the direction of the mobile terminal 10-1. To check. When the amount of change in direction while the mobile terminal 10-1 is moving or stationary is greater than or equal to a predetermined range (second range), the control unit 140-1 moves or stops the mobile terminal 10-1. The inertial direction is determined to change, and the inertial measurement unit 120 is caused to measure the angular velocity in the second direction. For example, ⁇ 45 degrees is set as a specific numerical value of the predetermined range (second range).
  • the control unit 140-1 determines whether the direction in which the mobile terminal 10-1 is moving or stationary is Judge that it has changed.
  • the specific numerical value in the predetermined range (second range) is not limited to ⁇ 45 degrees, and an arbitrary numerical value may be set.
  • the control unit 140-1 adds 1 to the calibration level indicating that the measurement of the angular velocity in one direction is completed.
  • the control unit 140-1 ends the angular velocity measurement in the direction before the change.
  • the measurement of the angular velocity in the changed direction is started.
  • the two angular velocities measured before and after the direction in which the mobile terminal 10-1 is moving or stationary change are the other angular velocities that are measured when the mobile terminal 10-1 moves.
  • the angular velocity may be an angular velocity measured when the mobile terminal 10-1 is stationary.
  • FIG. 6 is an explanatory diagram illustrating an example of statistical processing according to the first embodiment of the present disclosure.
  • Each circle shown in FIG. 6 represents an error distribution range in which angular velocities including errors are distributed, and the center of each circle is assumed to be a true value.
  • the angular velocity measured by the inertial measurement unit 120 has a variation around the true value due to the presence of noise. Therefore, the inertial measurement unit 120 repeats the measurement process for a predetermined time to measure a plurality of angular velocities (hereinafter also referred to as samples), and the control unit 140-1 averages the plurality of angular velocities. , Noise included in the angular velocity is reduced. In addition, the longer the predetermined time, the larger the number of samples to be measured, and the more noise can be reduced.
  • the moving time of the mobile terminal 10-1 is set to a predetermined time.
  • the stationary time of the portable terminal 10-1 is set as a predetermined time.
  • the inertia measuring unit 120 measures only one sample
  • the sample is distributed at any position within the circle of the two-dot chain line shown in FIG.
  • the inertial measurement unit 120 measures a sample for one second and the control unit 140-1 averages it
  • the noise becomes smaller than the case of only one sample
  • the range in which the sample is distributed is a one-dot chain line circle.
  • the size becomes smaller.
  • the inertial measurement unit 120 measures the sample for 10 seconds and the control unit 140-1 averages
  • the noise is further reduced as compared with the case of the sample for 1 second, and the range in which the samples are distributed is The size is reduced to the size of the dashed circle.
  • the inertial measurement unit 120 measures the sample for 100 seconds and the control unit 140-1 averages
  • the noise is further reduced as compared with the case of the sample for 10 seconds
  • the range in which the samples are distributed is The size is reduced to the size of the solid circle.
  • the error distribution range for 100 seconds indicated by the solid line in FIG. 6 is the allowable error range, and the angular velocity calculated by averaging the samples for 100 seconds is described later. Used for exploration processing.
  • the control unit 140-1 performs the inertia data acquisition process described above, and performs a process of removing a motion component from the acquired angular velocity (motion component removal process).
  • the control unit 140-1 may calculate the motion component by an arbitrary method.
  • control unit 140-1 acquires the first posture of the mobile terminal 10-1 calculated based on the angular velocity of the mobile terminal 10-1 measured by the inertial measurement device, and determines the moving speed of the mobile terminal 10-1.
  • an angular velocity calculated based on the second posture of the mobile terminal 10-1 obtained by correcting the first posture is acquired as a motion component.
  • the control unit 140-1 calculates the first posture of the mobile terminal 10-1 by performing an INS (Internal Navigation System) operation on the angular velocity measured by the inertial measurement device.
  • the value indicating the posture is an angle.
  • the moving speed of the mobile terminal 10-1 is calculated based on the walking feature amount of the user carrying the mobile terminal 10-1.
  • the control unit 140-1 calculates the moving speed of the user, that is, the moving speed of the mobile terminal 10-1, based on the stride and the walking pitch of the user carrying the mobile terminal 10-1.
  • the moving speed of the mobile terminal 10-1 is also calculated based on the acceleration measured by the inertial measurement device. Based on the result of comparing the moving speed of the mobile terminal 10-1 calculated based on the walking feature amount and the moving speed of the mobile terminal 10-1 calculated by the INS calculation, the control unit 140-1 And the second posture corrected as a more accurate posture is calculated. Then, control unit 140-1 uses an angular velocity obtained by differentiating the second posture as a motion component.
  • control unit 140-1 is calculated based on the third attitude of the mobile terminal 10-1 calculated based on the angular velocity of the mobile terminal 10-1 measured by the inertial measurement device, and the acceleration of the mobile terminal 10-1.
  • the mobile terminal 10-1 may be acquired with the fourth posture, and the angular velocity calculated based on the difference between the third posture and the fourth posture may be acquired as the rotation component.
  • the control unit 140-1 calculates the third posture of the mobile terminal 10-1 by integrating the angular velocity measured by the inertial measurement device.
  • the control unit 140-1 calculates the fourth posture of the mobile terminal 10-1 based on, for example, an average value of acceleration (for example, gravitational acceleration) measured when the mobile terminal 10-1 is stationary. .
  • control unit 140-1 uses the angular velocity obtained by differentiating the difference between the third posture and the fourth posture as the rotation component.
  • FIG. 7 is an explanatory diagram illustrating an example of a start condition for the north search process based on the orientation diversity evaluation value according to the first embodiment of the present disclosure.
  • FIG. 8 is an explanatory diagram illustrating an example of a start condition for the north search process when noise reduction is insufficient according to the first embodiment of the present disclosure.
  • FIG. 9 is an explanatory diagram illustrating a start condition for the north exploration process based on the error-bearing azimuth diversity evaluation value according to the first embodiment of the present disclosure.
  • the control unit 140-1 estimates the north direction based on the bias removal process that removes the bias from the angular velocity from which the motion component is removed, and the angular velocity from which the bias is removed. The north direction is estimated.
  • the control unit 140-1 checks whether or not a predetermined condition is satisfied before performing the north exploration process.
  • the predetermined condition is, for example, that information necessary for the north exploration process is acquired.
  • the control unit 140-1 determines whether or not the angular velocity when the mobile terminal 10-1 is moving or stationary for a predetermined time is measured in each of two directions different from each other by a predetermined angle or more. Check.
  • the two directions different by a predetermined angle or more are the first direction and the second direction detected by the above-described direction change detection process. That is, when the angular velocities in each of the first direction and the second direction are acquired, the control unit 140-1 starts the north exploration process.
  • the control unit 140-1 includes the difference r A, B , the difference r B, C , the difference r C, D , the difference r D, A , the difference r A, C , and the difference r B , D are calculated. Then, the control unit 140-1 calculates a total sum Eva 1 of differences using the following formula (1), and uses the calculated Eva 1 as an evaluation value.
  • the calculated evaluation value indicates that the larger the value is, the wider the angular velocity is distributed on the circle 50.
  • the control unit 140-1 can further improve the estimation accuracy of the center of the circle 50 by using the angular velocity more widely distributed on the circle 50. Therefore, the control unit 140-1 checks whether or not the calculated evaluation value is greater than or equal to a predetermined threshold value. When the calculated evaluation value is equal to or greater than a predetermined threshold, the control unit 140-1 determines that the estimation accuracy of the center of the circle 50 is ensured to be a certain level or more, and starts the search process. Good.
  • the predetermined condition is that when there are many angular velocities with insufficient noise reduction among a plurality of angular velocities from which the motion component has been removed, noise reduction at the angular velocity from which the motion component has been finally removed is sufficient. Also good. If the noise reduction of the angular velocity from which the motion component is finally removed is sufficient, the noise reduction of the angular velocity from which the other motion component is removed may be insufficient. In the example shown in FIG.
  • the angular velocity from which the motion component is finally removed is the angular velocity 34
  • the angular velocities from which the other motion components are removed are the angular velocity 60A, the angular velocity 60B, the angular velocity 60C, and the angular velocity 60D.
  • the controller 140-1 estimates the bias 40 at the center of the circle 50. Can do. However, since the four angular velocities are not sufficiently reduced in noise, the estimated bias 40 includes an error. Therefore, the control unit 140-1 estimates the bias 40 using the angular velocity 34 in which noise is sufficiently reduced, thereby estimating the bias 40 with higher accuracy than the bias 40 estimated without using the angular velocity 34. can do.
  • the control unit 140-1 determines whether or not the noise reduction of the angular velocity from which the motion component has been finally removed is sufficient. To check. When the noise reduction of the angular velocity from which the motion component is finally removed is sufficient, the control unit 140-1 may start the north exploration process.
  • the predetermined condition may be that a sum of values obtained by adding an error included in each angular velocity to a difference in each angular velocity is equal to or greater than a predetermined threshold.
  • the error ranges of the angular velocity 36A, the angular velocity 36B, the angular velocity 36C, and the angular velocity 36D are assumed to be an error range 62A, an error range 62B, an error range 62C, and an error range 62D, respectively.
  • the magnitudes of the respective errors are assumed to be err1, err2, err3, and err4. Note that the magnitude of the error increases as the noise reduction time decreases, and decreases as the noise reduction time increases.
  • the control unit 140-1 calculates an evaluation value Eva 2 in which an error of angular velocity is added to the sum of differences Eva 1 according to the following formula (2).
  • the calculated evaluation value indicates that the larger the value is, the higher the center estimation accuracy in the circle 50 is. Therefore, the control unit 140-1 checks whether or not the calculated evaluation value is equal to or greater than a predetermined threshold value. When the calculated evaluation value is equal to or greater than a predetermined threshold, the control unit 140-1 determines that the estimation accuracy of the center of the circle 50 is ensured to be a certain level or more, and starts the search process. Good.
  • FIG. 10 is an explanatory diagram illustrating an example of a constraint condition based on two angular velocities according to the first embodiment of the present disclosure.
  • FIG. 11 is an explanatory diagram illustrating an example of constraint conditions based on the three angular velocities according to the first embodiment of the present disclosure.
  • FIG. 12 is an explanatory diagram illustrating an example of a three-dimensional bias removal process according to the first embodiment of the present disclosure.
  • the control unit 140-1 acquires a bias based on at least two angular velocities from which the motion component is removed and the latitude at the position of the mobile terminal 10-1 in which the orientation of the mobile terminal 10-1 is different when measured. .
  • the control unit 140-1 uses the angular velocity obtained by removing the motion component from the angular velocity measured while the moving body is moving to estimate the bias in the same manner as when the moving body is stationary. Can do. Note that the control unit 140-1 uses ⁇ 1.1. This is the same as the method described in Overview>.
  • the control unit 140-1 can estimate two bias candidates. Therefore, a constraint condition is necessary for the control unit 140-1 to select one bias from the candidates. For example, as shown in FIG. 10, when it is assumed that the two angular velocities 30A and 30B are located on the circumference of the circle 50A, the value at the center of the circle 50A is estimated as the bias 40A. When it is assumed that the two angular velocities 30A and 30B are located on the circumference of the circle 50B, the value at the center of the circle 50B is estimated as the bias 40B.
  • the control unit 140-1 selects, for example, the constraint condition “select the bias whose amount of change in absolute azimuth between the two estimated biases is closer to the angular velocity integration”. And select an appropriate bias.
  • the control unit 140-1 can estimate the radius of the circle 50 without using the latitude.
  • the control unit 140-1 estimates the bias based on the angular velocity component in the biaxial direction.
  • an example using a head-mounted terminal can be given.
  • the control unit 140-1 may estimate the bias based on only the angular velocity component in the biaxial direction by using it together with the latitude.
  • the control unit 140-1 performs all three axis directions.
  • the bias is estimated based on the angular velocity component. Specifically, on the assumption that the three points of the angular velocity 31A, the angular velocity 31B, and the angular velocity 31C shown in FIG. 12 are located on the spherical surface of the sphere 51, the center of the sphere 51 is estimated based on the three points.
  • the value of the angular velocity is estimated as the bias 41.
  • the control unit 140-1 estimates the north direction based on the motion component and the angular velocity not including the bias. Note that the control unit 140-1 has ⁇ 1.1.
  • the north direction is estimated by the method described in Overview>.
  • the control unit 140-1 causes the output device to output azimuth information indicating the estimated north direction. For example, the control unit 140-1 displays an object indicating the north direction on the output unit 150. Also, the control unit 140-1 causes the output device to output different azimuth information depending on whether or not the north direction estimation process using at least two angular velocities has been completed. For example, the control unit 140-1 changes the color of the object indicating the north direction and displays it on the output unit 150 depending on whether the north direction estimation process is completed. Specifically, when the estimation process in the north direction is not completed, the control unit 140-1 causes the output unit 150 to display the color of the object indicating the north direction in gray.
  • control unit 140-1 changes the color of the object indicating the north direction from gray to green and causes the output unit 150 to display the color.
  • the color of the object indicating the north direction is not limited to the above example, and an arbitrary color may be set.
  • control unit 140-1 can improve the visibility of the result of the estimation process in the north direction by changing the color of the object indicating the north direction and displaying it on the output unit 150.
  • control unit 140-1 may cause the output device to output an instruction to the user regarding the change in the orientation of the mobile terminal 10-1.
  • the control unit 140-1 causes the output unit 150 to output an instruction to the user to change the moving or stationary direction.
  • the control unit 140-1 may cause the output unit 150 to output the above-described instruction when the first angular velocity of the two angular velocities necessary for the north exploration process is acquired.
  • control unit 140-1 causes the output unit 150 to output an instruction to the user to change the moving or stationary direction, so that the user can change the moving or stationary direction at an appropriate timing. Can be changed.
  • the output unit 150 has a function of outputting information input from the control unit 140-1.
  • the output unit 150 includes a display device as an output device, and has a function of displaying information according to an input from the control unit 140-1 on the display device.
  • the output unit 150 displays various display screens such as a home screen and a lock screen on a display panel which is a display device.
  • the display panel for example, a liquid crystal display panel or an organic EL (Electro-Luminescence) display panel is used.
  • the output unit 150 may function as an operation unit (not shown) by using a touch panel for the output unit 150 of the mobile terminal 10-1.
  • the touch panel detects the touched position when the surface (detection surface) of the display panel is touched with an object such as a finger or a pen.
  • the touch panel detects that a finger or a pen has touched an area or the like where the display panel displays an image or the like.
  • the touch panel may be configured in a state where it is stacked on the display panel, or may be configured integrally with the display panel.
  • the touch panel may be, for example, a capacitance type. In this case, the touch of the surface of the display panel with a finger or the like is detected from the change in capacitance.
  • the touch position data detected by the touch panel is transmitted to the control unit 140-1.
  • the control unit 140-1 executes the running application based on the supplied touch position.
  • the touch position is indicated by, for example, coordinate positions of an X axis (horizontal axis) and a Y axis (vertical axis) that are two orthogonal axes.
  • the coordinate position detected by the touch panel is not limited to one point.
  • the control unit 140-1 performs control based on the detected plurality of points.
  • the control unit 140-1 detects the entire touched range.
  • FIG. 13 is an explanatory diagram illustrating a walking example of the user according to the first embodiment of the present disclosure.
  • FIG. 14 is an explanatory diagram illustrating a display example of the azimuth according to the first embodiment of the present disclosure.
  • FIG. 15 is an explanatory diagram illustrating a display example of instructions to the user according to the first embodiment of the present disclosure.
  • FIG. 13 shows an example of walking when the user moves from the position 1 where the user gets off the train to the destination.
  • Position 1 is the position where the user got off the train. At position 1, the estimation process in the north direction has not been completed yet. Therefore, as illustrated in FIG. 14, the output unit 150 displays an arrow that is an object indicating the north direction in a color indicating that the estimation process in the north direction is not completed. At position 1, the user is stationary. Therefore, as illustrated in FIG. 15, the output unit 150 may display an instruction for the user as “The direction cannot be acquired. Please walk.”.
  • Position 2 is a position where the acquisition of the angular velocity in the first direction is completed due to the movement of the user.
  • the estimation process in the north direction has not been completed yet. Therefore, as illustrated in FIG. 14, the output unit 150 displays an arrow that is an object indicating the north direction in a color indicating that the estimation process in the north direction is not completed.
  • the output unit 150 may display an instruction for the user as “walking in a different direction to acquire a direction”.
  • Position 3 is a position where the acquisition of angular velocity in the second direction is completed due to the movement of the user.
  • the estimation process in the north direction has been completed. Therefore, as illustrated in FIG. 14, the output unit 150 displays an arrow that is an object indicating the north direction with a color indicating that the estimation process in the north direction is completed.
  • the output unit 150 may display a text indicating that the gyrocompass is available as “azimuth acquisition complete.
  • the output unit 150 may include a voice output device as an output device, and output information corresponding to the input from the control unit 140-1 as voice.
  • the output unit 150 may output the above-described instruction to the user by voice instead of text.
  • Storage unit 160 has a function of storing data acquired by processing in the information processing apparatus.
  • the storage unit 160 stores inertia data measured by the inertia measurement unit 120.
  • the storage unit 160 stores the acceleration and angular velocity of the mobile terminal 10-1 measured by the inertia measurement unit 120.
  • the storage unit 160 may store data output in the processing of the control unit 140-1, programs such as various applications, data, and the like.
  • FIG. 16 is a flowchart illustrating an operation example of the information processing apparatus according to the first embodiment of the present disclosure.
  • step S1000 the control unit 140-1 performs variable initialization processing (step S1000). After the initialization process, the control unit 140-1 performs GNSS accuracy evaluation (step S1002). A detailed processing flow of GNSS accuracy evaluation will be described later.
  • the control unit 140-1 checks the GNSS accuracy and the calibration level (step S1004). When the GNSS accuracy is equal to or lower than the predetermined accuracy and the calibration level is 2 or more (step S1004 / YES), the control unit 140-1 performs a bias removal process (step S1006). After the bias removal process, the control unit 140-1 performs a north direction estimation process based on the rotation component acquired by the bias removal process (step S1008). After the north direction estimation process, the control unit 140-1 causes the output unit 150 to output the azimuth calculated in the north direction estimation process (step S1010).
  • the control unit 140-1 When the GNSS accuracy is equal to or lower than the predetermined accuracy and the calibration level is not 2 or more (step S1004 / NO), or after the azimuth output processing in step S1010, the control unit 140-1 performs sampling of acceleration and gyro (step S1004). S1012). Based on the sampled acceleration and gyro, the controller 140-1 performs a direction change calculation (step S1014) and a movement detection calculation (step S1016).
  • the control unit 140-1 checks whether or not the mobile terminal 10-1 is moving (step S1018).
  • the control unit 140-1 performs a calibration process (step S1020). A detailed processing flow of the calibration process will be described later.
  • step S1018 / NO the control unit 140-1 checks whether the mobile terminal 10-1 is stationary (step S1022).
  • step S1022 the control unit 140-1 sets the non-movement time as a variable to 0 (step S1024) and performs a calibration process (step S1020).
  • control unit 140-1 sets the movement time as a variable to 0 (step S1026) and performs non-moving processing (step S1028). A detailed processing flow of the non-moving process will be described later.
  • control unit 140-1 repeats the above process from the GNSS accuracy evaluation in step S1002.
  • FIG. 17 is a flowchart illustrating a GNSS accuracy evaluation process according to the first embodiment of the present disclosure.
  • the control unit 140-1 acquires the GNSS accuracy (step 2000).
  • the control unit 140-1 checks whether or not the GNSS accuracy is equal to or lower than a predetermined accuracy (step S2002).
  • the control unit 140-1 determines that the GNSS accuracy is low (step S2004).
  • the control unit 140-1 invalidates the guidance display by GNSS, validates the guidance display based on the result of the calibration process (step S2006), and ends the GNSS accuracy evaluation process in step S1002.
  • step S2002 determines that the GNSS accuracy is high (step S2008). Then, the control unit 140-1 validates the guidance display by GNSS, invalidates the guidance display based on the result of the calibration process (step S2010), and ends the GNSS accuracy evaluation process in step S1002.
  • FIG. 18 is a flowchart illustrating calibration processing according to the first embodiment of the present disclosure.
  • the control unit 140-1 checks whether or not the direction change amount of the mobile terminal 10-1 is within the first range (step S3000). When the direction change amount is within the first range (step S3000 / YES), the control unit 140-1 performs a motion component removal process (step S3002). After the motion component removal process, the control unit 140-1 checks whether the moving time or the stationary time is equal to or longer than a predetermined time (step S3004). When the moving time or the stationary time is equal to or longer than the predetermined time (step S3004 / YES), the control unit 140-1 adds 1 to the calibration level (step S3006). Since the calibration in one direction is completed, the control unit 140-1 resets the movement time / or still time to 0 (step S3008).
  • the control unit 140-1 After reset, the control unit 140-1 acquires the acceleration / gyro (step S3010) and performs the direction change calculation (step S3012). If the direction change amount is not greater than or equal to the second range as a result of the direction change calculation (step S3014 / NO), the control unit 140-1 repeats the processes of steps S3010 to S3014. If the direction change amount is equal to or greater than the second range as a result of the direction change calculation (step S3014 / YES), the control unit 140-1 determines that the orientation of the mobile terminal 10-1 has changed. Then, the control unit 140-1 resets the direction change to 0 (step S3016), and ends the calibration process in step S1020.
  • step S1020 If the direction change amount is not within the first range (step S3000 / NO), the control unit 140-1 sets the moving time or the stationary time to 0 (step S3018), sets the direction change to 0 (step S3020), The calibration process in step S1020 ends.
  • step S3004 / NO If the moving time or the stationary time is not longer than the predetermined time (step S3004 / NO), the control unit 140-1 adds 1 to the moving time or the stationary time (step S3022), and performs the calibration process in step S1020. finish.
  • FIG. 19 is a flowchart illustrating a non-movement process according to the first embodiment of the present disclosure.
  • the control unit 140-1 sets the stationary time, which is a variable, to 0 (step S4000).
  • the control unit 140-1 checks whether or not the non-stationary time is equal to or longer than a predetermined time (step S4002).
  • the control unit 140-1 sets the calibration level to 0 (step S4004) and ends the non-moving process in step S1028.
  • step S4002 If the non-stationary time is not equal to or longer than the predetermined time (step S4002 / NO), the control unit 140-1 adds 1 to the non-stationary time (step S4006), and ends the non-moving process in step S1028.
  • Second Embodiment> In the first embodiment described above, the example in which the motion component is acquired based on the inertia data measured by the inertia measuring unit 120 has been described. However, the method for acquiring the motion component is not limited to this example. As an example, 2nd Embodiment demonstrates the example from which an exercise
  • FIG. 20 is a block diagram illustrating a functional configuration example of the information processing apparatus according to the second embodiment of the present disclosure.
  • the mobile terminal 10-2 includes an attitude information acquisition unit 110, an inertia measurement unit 120, a communication unit 130, a control unit 140-2, an output unit 150, and A storage unit 160 is provided.
  • the posture information acquisition unit 110 has a function of acquiring posture information of the mobile terminal 10-2.
  • the posture information acquisition unit 110 includes a posture information acquisition device that can acquire posture information.
  • the posture information acquisition device can be realized by an imaging device.
  • the posture information acquisition unit 110 acquires, as posture information, a captured image obtained by capturing an environment outside the mobile terminal 10-2 by the imaging device.
  • position information acquisition apparatus is not limited to an imaging device.
  • the posture information acquisition device may be realized by a distance measuring device such as LIDAR (Laser Imaging Detection and Ranging).
  • the posture information acquisition unit 110 acquires, for example, the time until the LIDAR receives reflected light of the laser light emitted from the target as posture information.
  • the posture information acquisition unit 110 outputs the posture information acquired by the posture information acquisition device to the control unit 140-2.
  • the posture information acquired by the posture information acquisition device is affected by the surrounding environment and the motion state of the moving body, but is not affected by the rotation of the earth. Therefore, the posture information acquisition device can acquire posture information that does not include a rotation component.
  • Inertial measurement unit 120 The function of the inertial measurement unit 120 is ⁇ 1.2.1. Since it is the same as the function described in “Function Configuration Example>, the description in this chapter is omitted.
  • the acceleration sensor included in the inertial measurement unit 120 may function as a posture information acquisition device.
  • the acceleration sensor functions as the posture information acquisition device
  • the gravity calculated based on the acceleration measured by the acceleration sensor may be used as posture information acquired by the posture information acquisition device of the posture information acquisition unit 110.
  • Communication unit 130 The function of the communication unit 130 is ⁇ 1.2.1. Since it is the same as the function described in “Function Configuration Example>, the description in this chapter is omitted.
  • Control unit 140-2 Some of the functions of the control unit 140-2 are ⁇ 1.2.1. This is different from the function described in the example of functional configuration>.
  • the control unit 140-1 of the first embodiment described above acquires the rotation component based on the inertia data.
  • the control unit 140-2 of the second embodiment acquires a rotation component based on the inertia data and the posture information.
  • the control unit 140-2 includes the first movement information related to the movement of the moving body calculated based on the inertial data measured by the inertial measurement device and the moving body acquired based on the posture information acquired by the posture information acquisition device. And second movement information related to the movement of. Then, the control unit 140-2 acquires the rotation component based on the acquired first movement information and second movement information.
  • the first movement information is the posture of the moving body calculated based on the angular velocity of the moving body (hereinafter, also referred to as “fifth posture”)
  • the second movement information is It is assumed that this is the posture of the moving body (hereinafter also referred to as “sixth posture”) acquired based on the posture information.
  • control unit 140-2 calculates a difference between the fifth posture and the sixth posture, and acquires the difference as a rotation component.
  • the acquisition method of a rotation component is not limited to this example.
  • the control unit 140-2 calculates the fifth posture of the mobile terminal 10-2 by integrating the angular velocity measured by the inertial measurement device. Further, the control unit 140-2 performs a process of VSLAM (Visual Simulaneous Localization and Mapping) on the captured image acquired by the imaging device of the orientation information acquisition device, and sets the sixth orientation of the mobile terminal 10-2. calculate. Note that when calculating the sixth posture, the control unit 140-2 calculates gravity based on the acceleration measured by the inertial measurement device, and calculates the sixth posture in consideration of the ground direction based on the gravity. .
  • VSLAM Visual Simulaneous Localization and Mapping
  • the control unit 140-2 may calculate the sixth posture of the mobile terminal 10-2 based on the time acquired by the LIDAR.
  • control unit 140-2 calculates a difference between the fifth posture and the sixth posture, and acquires the calculated difference as a rotation component.
  • FIG. 21 is an explanatory diagram illustrating a calculation example of the rotation component according to the second embodiment of the present disclosure.
  • a coordinate system of a graph composed of three axes Xdev, Ydev, and Zdev shown in FIG. 21 represents a terminal coordinate system in the posture information acquisition apparatus.
  • R gyro shown in the left diagram of FIG. 21 is a posture matrix of the fifth posture. Since R gyro is calculated based on the angular velocity measured by the inertial measurement device, R gyro can include a rotation component. Ratt shown in the left diagram of FIG. 21 is a posture matrix of the sixth posture. Since R att is calculated based on the attitude information acquired by the attitude information acquisition device, R att does not include a rotation component.
  • R er shown in the right diagram of FIG. 21 is a rotation matrix of rotation components.
  • R er is also the difference between R gyro and R att .
  • the control unit 140-2 can calculate the rotation component by calculating R er according to the following mathematical formula (3).
  • FIG. 22 is an explanatory diagram illustrating an example of coordinate conversion of a rotation component according to the second embodiment of the present disclosure.
  • the coordinate system of the graph composed of three axes Xg, Yg, and Zg shown in the right diagram of FIG. 22 represents an absolute coordinate system.
  • R er shown in the left diagram of FIG. 22 is a R er calculated by Equation (3).
  • Ratt shown in the left diagram of FIG. 22 is a posture matrix of the sixth posture.
  • R er — g shown on the right side of FIG. 22 is a rotation matrix of the rotation component converted into the absolute coordinate system.
  • the control unit 140-2 can calculate the rotation component converted into the absolute coordinate system by performing coordinate conversion of R er with R att according to the following mathematical formula (4).
  • control unit 140-2 performs coordinate conversion so that the direction in the terminal coordinate system corresponding to the gravity direction in the absolute coordinate system is the same as the direction of gravity in the absolute coordinate system.
  • FIG. 23 is an explanatory diagram illustrating an example of orientation estimation according to the second embodiment of the present disclosure.
  • the coordinate system of the graph composed of the three axes Xg, Yg, and Zg shown in FIG. 23 represents an absolute coordinate system.
  • the control unit 140-2 converts R er_g into a rotation vector.
  • the control unit 140-2 projects the converted rotation vector onto the horizon (Xg-Yg plane).
  • the z component of the rotation vector may be set to zero.
  • the horizon projection component of the rotation vector projected onto the horizon is represented by the following formula (5).
  • the direction indicated by the horizon projection component is the north direction.
  • the control unit 140-2 can calculate the absolute azimuth dir by the following formula (6).
  • the control unit 140-2 After calculating the absolute direction dir, the control unit 140-2 substitutes R att for R gyro to make the fifth posture the same as the sixth posture (hereinafter also referred to as “synchronization”). Thereby, the control unit 140-2 can reset the error caused by the rotation component included in the fifth attitude by the sixth attitude not including the error caused by the rotation component.
  • Output unit 150 The function of the output unit 150 is ⁇ 1.2.1. Since it is the same as the function described in “Function Configuration Example>, the description in this chapter is omitted.
  • Storage unit 160 The function of the storage unit 160 is ⁇ 1.2.1. Since it is the same as the function described in “Function Configuration Example>, the description in this chapter is omitted.
  • Example of operation> The operation example according to the second embodiment is partially different from the operation example according to the first embodiment.
  • an operation example of the information processing apparatus according to the second embodiment of the present disclosure will be described with reference to FIGS. 24 and 25.
  • FIG. 24 is a flowchart illustrating an operation example of the information processing apparatus according to the second embodiment of the present disclosure.
  • the main processing according to the second embodiment is that the control unit 140-2 samples a captured image (step S1013) after sampling acceleration and gyro according to the first embodiment. Different from main processing. Processing other than sampling of the captured image is described in ⁇ 1.2.2. It may be the same as the main process described in the “Operation example”. For this reason, description of processing other than sampling of the captured image is omitted.
  • GNSS accuracy evaluation process The GNSS accuracy evaluation process according to the second embodiment is described in ⁇ 1.2.2. It may be the same as the GNSS accuracy evaluation process according to the first embodiment described in the “Operation example”. Therefore, the description about the GNSS accuracy evaluation process is omitted.
  • FIG. 25 is a flowchart illustrating a motion component removal process according to the second embodiment of the present disclosure.
  • the motion component removal process according to the second embodiment is a process performed in S3002 of the calibration process shown in FIG.
  • the motion component is removed using the captured image sampled in S1013 of the main process shown in FIG.
  • the control unit 140-2 estimates the fifth posture based on the sampled gyro (step S5002).
  • the control unit 140-2 estimates gravity based on the sampled acceleration (step S5004).
  • the control unit 140-2 estimates the sixth posture based on the sampled captured image and the estimated gravity (step S5006).
  • the control unit 140-2 removes the motion component based on the estimated fifth posture and sixth posture (step S5008). After removing the motion component, the control unit 140-2 synchronizes the fifth posture estimated based on the gyro with the sixth posture estimated based on the captured image (step S5010).
  • Non-moving processing according to the second embodiment is described in ⁇ 1.2.2. This may be the same as the non-moving process according to the first embodiment described in the “Operation example”. Therefore, the description about the non-moving process is omitted.
  • FIGS. 26 and 27 are explanatory diagrams illustrating modifications according to the second embodiment of the present disclosure.
  • FIG. 26 shows the correlation between the fifth posture and the sixth posture.
  • FIG. 27 shows a flowchart of the motion component removal process.
  • the posture information acquisition device is an imaging device, and the sixth posture is calculated by VSLAM or the like.
  • the control unit 140-2 performs the motion component removal process using the posture information acquired by the posture information acquisition device.
  • the motion component removed by the motion component removal process is the relative momentum of the moving body with respect to the earth coordinate system. Therefore, the posture information acquired by the posture information acquisition device needs to be information with respect to the earth coordinate system.
  • the posture information acquisition device is an imaging device
  • information on the earth coordinate system is, for example, an image in which the ground surface is reflected, a captured image in which a building fixed on the ground is reflected, or the like.
  • the posture information acquired by the posture information acquisition device includes information corresponding to the earth such as the ground surface or a building fixed to the ground. There is a risk of not being able to.
  • the information acquired by the posture information acquisition information can be information on the coordinate system of another moving body instead of the coordinate system of the earth. Therefore, if the motion component removal process is performed using the posture information acquired when the mobile body is in another mobile body, an error may occur in the calculated motion component.
  • the control unit 140-2 determines whether or not there is a moving body in the moving closed space, in other words, whether or not the moving body is moving with another moving body. Accordingly, it may be determined whether or not the posture information acquired by the posture information acquisition device is used.
  • the example which is a vehicle which another moving body moves as an example is demonstrated.
  • the vehicle is, for example, a train, a car, an airplane, a ship or the like.
  • the posture information acquisition device can acquire information such as an object fixed on the ground surface or the ground. Therefore, the control unit 140-2 acquires the posture information acquisition device. It is determined that posture information is used. Then, the control unit 140-2 performs the motion component removal process using the posture information acquired by the posture information acquisition device. With this configuration, the control unit 140-2 can reduce an error generated in the motion component removal process. Further, the control unit 140-2 can reduce the azimuth error included in the azimuth estimated based on the result of the motion component removal process.
  • the control unit 140-2 can reduce an error generated in the motion component removal process. Further, the control unit 140-2 can reduce the azimuth error included in the azimuth estimated based on the result of the motion component removal process.
  • Whether the moving body is moving by a vehicle is determined based on the first movement information estimated based on the inertial data measured by the inertial measurement device, and the second information estimated based on the posture information acquired by the posture information acquisition device. The determination is made based on the correlation with the movement information.
  • the inertia data is a gyro
  • the first movement information is a fifth attitude
  • the second movement information is a sixth attitude.
  • the fifth posture and the sixth posture can change over time as shown in the graph of FIG.
  • the sixth posture is estimated based on the relative momentum of the moving object with respect to the earth coordinate system. Therefore, the correlation between the fifth posture and the sixth posture can be kept high over time. For example, as shown in the left diagram of FIG. 26, the correlation between the fifth posture and the sixth posture is kept high even if time passes.
  • the sixth posture is estimated based on the relative momentum of the moving body with respect to the coordinate system in the moving vehicle. Therefore, the correlation between the fifth posture and the sixth posture can be lowered with the passage of time. For example, as shown in the right diagram of FIG. 26, the correlation between the fifth posture and the sixth posture decreases with time.
  • control unit 140-2 determines whether or not the moving body is moving on the vehicle based on whether or not the correlation between the fifth posture and the sixth posture is higher than a predetermined threshold value.
  • the control unit 140-2 determines that the moving body is not moving by the vehicle. When it is determined that the moving body is not moving by the vehicle, the control unit 140-2 acquires the motion component using the posture information acquired by the posture information acquisition device. With this configuration, the control unit 140-2 can reduce an error generated in the motion component removal process. Further, the control unit 140-2 can reduce the azimuth error included in the azimuth estimated based on the result of the motion component removal process.
  • the control unit 140-2 determines that the moving body is moving by the vehicle.
  • the control unit 140-2 changes the third posture and the fourth posture of the moving body instead of the posture information acquired by the posture information acquisition device. Based on this, the rotation component is acquired.
  • the control unit 140-2 can reduce an error generated in the motion component removal process.
  • the control unit 140-2 can reduce the azimuth error included in the azimuth estimated based on the result of the motion component removal process. Further, when it is determined that the moving body is moving by a vehicle, the control unit 140-2 may stop the north exploration process.
  • the flow in the motion component removal process is partially different from the flow shown in FIG. 25 in order to determine whether or not the moving object is moving with a vehicle.
  • the control unit 140-2 determines whether or not the moving body is moving on a vehicle (step S5000). When it is determined that the moving body is not moving by the vehicle (step S5000 / NO), the control unit 140-2 performs the processing of steps S5002 to S5010, as in the example shown in FIG. On the other hand, when it is determined that the moving body is moving by a vehicle (step S5000 / YES), the control unit 140-2 estimates the posture of the moving body based on the sampled inertial data (step S5012). Then, the control unit 140-2 removes the motion component based on the estimated posture (step S5014).
  • control unit 140-2 may acquire the motion component using gravity even when the moving body is in the space in the vehicle, that is, when the moving body is moving on the vehicle.
  • FIG. 28 is an explanatory diagram illustrating a first modification example when the user is walking according to the embodiment of the present disclosure.
  • FIG. 29 is an explanatory diagram illustrating a first modification example when the user according to the embodiment of the present disclosure is moving on a train.
  • the inertial measurement unit 120 measures angular velocities in two different directions by changing the direction in which the user is moving or stationary.
  • a rotation mechanism that rotates the inertial measurement unit 120 is provided inside the mobile terminal 10 and the direction of the inertial measurement unit 120 is automatically changed by rotating the rotation mechanism will be described. .
  • the operation of the rotation mechanism is controlled by the control unit 140.
  • the control unit 140 rotates the rotation mechanism.
  • the direction of the inertial measurement unit 120 is automatically changed, the user 20 does not need to change the direction of movement or the direction of the mobile terminal 10.
  • the inertial measurement unit 120 can measure angular velocities in two different directions while the user moves in any one direction.
  • This rotation mechanism is particularly effective in situations where the amount of change in the direction of the moving body is small. For example, this is effective in a situation where the user is on a vehicle with a small amount of change in direction, such as a train, and the direction of the moving body is difficult to change.
  • the control unit 140 rotates the rotation mechanism. Thereby, since the direction of the inertial measurement unit 120 is automatically changed, the user 20 does not need to change the direction of the user 20 or the direction of the mobile terminal 10.
  • the inertial measurement unit 120 can acquire angular velocities in two different directions while the user 20 is still moving in one arbitrary direction.
  • the inertial measurement unit 120 is able to measure angular velocities in two different directions without being changed by the user by being automatically rotated by the rotation mechanism.
  • FIG. 30 is an explanatory diagram illustrating a second modification example according to the embodiment of the present disclosure.
  • the figure shown on the left side of FIG. 30 is a figure which shows an inertial measurement apparatus without a correction mechanism
  • the figure shown on the right side is a figure which shows an inertial measurement apparatus with a correction mechanism.
  • the inertia measuring unit 120 uses only the inertia measuring device 122A without the correction mechanism shown in the left diagram of FIG.
  • the inertial measurement unit 120 also uses the inertial measurement device 122B having the correction mechanism shown in the right side of FIG.
  • the posture of the moving body can be obtained from the gravity vector calculated by the average acceleration.
  • the angular velocity measured by the inertial measurement device 122 includes noise due to the acceleration, and an error occurs in the posture of the moving body.
  • the accuracy of direction detection by the control unit 140 decreases.
  • noise due to acceleration included in the angular velocity is reduced.
  • control unit 140 can detect the azimuth during the movement of the moving body with higher accuracy by reducing the noise included in the angular velocity by the correction mechanism of the inertial measurement device 122.
  • FIG. 31 is an explanatory diagram illustrating a third modification example according to the embodiment of the present disclosure.
  • 31 is a movement start position of the car 22 on which the car navigation device 14 is mounted.
  • the car 22 is in a stopped state.
  • the control unit 140 is in a state where the azimuth detection process has not yet been executed. Therefore, since the driver cannot use the navigation function, the control unit 140 causes the car navigation device 14 to display an arrow indicating the direction in gray out. At this time, the control unit 140 may cause the car navigation device 14 to display a display for instructing the driver to drive the vehicle 22 so that the driver can use the navigation function.
  • the control unit 140 can acquire the angular velocity in the first direction.
  • the control unit 140 is in a state where the azimuth detection process cannot be executed yet. Therefore, since the driver is still in a state where the navigation function cannot be used, the control unit 140 causes the car navigation device 14 to display an arrow indicating the direction in gray out. At this time, the control unit 140 may cause the car navigation device 14 to display an indication that the navigation function can be used by causing the driver to drive the vehicle 22 in a direction different from the current direction.
  • control unit 140 can acquire the angular velocity in the second direction different from the first direction, and can execute the direction detection processing. After executing the direction detection process, the control unit 140 changes the color of the arrow indicating the direction to indicate that the driver can use the navigation function.
  • FIG. 32 is an explanatory diagram illustrating a fourth modification example according to the embodiment of the present disclosure.
  • the mobile terminal 10 is placed on the desk 28 and is stationary.
  • the control unit 140 can acquire the angular velocity as the angular velocity in the first direction. It is assumed that the user moves taking the mobile terminal 10 after obtaining the angular velocity in the stationary state.
  • the control unit 140 can acquire the angular velocity in the second direction different from the first direction by acquiring the angular velocity. And the control part 140 can estimate a north direction based on two angular velocity in the acquired different direction.
  • control unit 140 can estimate the north direction based on the angular velocity measured while the mobile terminal 10 is stationary and the angular velocity measured while the mobile terminal 10 is moving. it can.
  • FIG. 33 is an explanatory diagram illustrating a fifth modification in the case where correction is performed using a gyrocompass according to an embodiment of the present disclosure.
  • FIG. 34 is an explanatory diagram illustrating a fifth modification when correction by the gyrocompass according to the embodiment of the present disclosure is not performed.
  • the mobile terminal 10 switches from navigation that presents the position of the user detected based on the orientation acquired from the GNSS to navigation that presents the orientation detected by the gyrocompass.
  • An example was explained.
  • the orientation is obtained from the GNSS based on the orientation detected by the gyrocompass. An example of correcting the orientation is described.
  • navigation that presents a user position (hereinafter, also referred to as a GNSS user position) detected based on an orientation acquired from the GNSS is used outdoors.
  • navigation that presents a position of a user (hereinafter also referred to as a PDR user position) detected by pedestrian dead reckoning (PDR) is used indoors.
  • PDR pedestrian dead reckoning
  • the user moves from position 1 to the destination through position 2, position 3A, and position 4A.
  • the trajectory when the user moves from the position 1 to the destination is indicated by a solid line as a true trajectory.
  • a trajectory (hereinafter also referred to as a GNSS trajectory) when the user position of the GNSS moves is indicated by a broken line.
  • a locus when the user position of the PDR moves (hereinafter also referred to as a PDR locus) is indicated by a one-dot chain line.
  • Position 1 is a position where calibration processing in the first direction is completed, and is a position where the user starts moving in the second direction. Therefore, the position 1 is also a position where the calibration process in the second direction is started.
  • position 2 Since position 2 is a building town, the accuracy of the orientation presented by the GNSS 26 decreases. Therefore, the position 2 is also a position where an error occurs in the user position of the GNSS, and a shift starts in the direction in which the user position of the GNSS moves as the user moves. Therefore, the GNSS trajectory is shifted from the position 2 in comparison with the true trajectory.
  • the gyro compass detects that the accuracy of the GNSS 26 has decreased.
  • the mobile terminal 10 displays an arrow, which is an object indicating the north direction, on the output unit 150 with a color indicating that the estimation process in the north direction is not completed.
  • Position 3A is an indoor position where the calibration process in the second direction is completed.
  • the user enters the room indoors from the outside while moving from position 2 to position 3A. Therefore, the navigation is switched from the navigation by GNSS to the navigation by PDR at the timing when the user enters indoors from outside.
  • navigation by PDR starts navigation based on the reference position acquired from the GNSS 26.
  • the reference position acquired from the GNSS 26 includes an error
  • the user position of the PDR also includes an error in the same manner as the user position of the GNSS. Therefore, when the user moves to position 3A, the user position of the PDR becomes position 3B.
  • the locus when the user position presented by each navigation moves is not a line connecting position 2 and position 3A, but a line connecting position 2 and position 3B.
  • the user position of the PDR when the user moves to the position 3A is the position 3B, which is shifted from the actual position. If the user continues to move, the error will become larger. However, since accurate azimuth detection by the gyrocompass has been completed at position 3B, the direction in which the user position of the PDR moves can be corrected and improved using the azimuth.
  • the user position of the PDR becomes the position 4B.
  • the user position of the PDR is deviated from the actual user position.
  • the direction in which the user position of the PDR has moved matches the direction in which the user has actually moved. The same applies when the user moves from position 4A to the destination.
  • the user position of the PDR detected based on the azimuth obtained from the GNSS is corrected by correcting the azimuth with the azimuth detected by the gyrocompass.
  • the moving direction can be corrected.
  • the position 1 is also a position where the calibration process in the second direction is started.
  • position 2 is a residential area
  • the accuracy of the orientation presented by the GNSS 26 is maintained at a certain level or higher. Therefore, in the example shown in FIG. 34, no error occurs in the GNSS user position, and no shift occurs in the direction in which the GNSS user position moves in accordance with the movement of the user. Therefore, the position of the GNSS locus is not shifted from the position 2 in comparison with the true locus.
  • the gyro compass detects that the accuracy of the GNSS 26 is maintained at a certain level of accuracy. Therefore, since the gyrocompass need not be used after the position 2, the mobile terminal 10 does not display the object indicating the north direction on the output unit 150.
  • the user position of the PDR when the user moves to position 3 is the same position 3 as the actual position of the user.
  • the trajectory when the user position presented by each navigation moves is almost the same as the true trajectory. The same applies when the user moves from position 3 to the destination via position 4.
  • FIGS. 35 and 36 are explanatory diagrams illustrating a sixth modification example according to the embodiment of the present disclosure.
  • the flowchart shown in FIG. 35 is a flowchart in which a timing at which a process related to determination of a predetermined condition is performed is added to the main process according to the above-described embodiment.
  • FIG. 36 is a flowchart showing processing including determination of a predetermined condition.
  • the north exploration process is performed based on two pieces of information measured in two different directions including at least the direction when the moving body is moving has been described.
  • the north exploration process may be performed based on one piece of information measured in one direction.
  • the predetermined condition is, for example, whether or not an azimuth error caused by a bias is acceptable. If it is acceptable, the control unit 140 need not perform the bias removal process, and can perform the north exploration process based on one piece of information measured in one direction. On the other hand, when the azimuth error caused by the bias cannot be tolerated, the control unit 140 needs to perform a bias removal process. Therefore, after performing the bias removal process based on two pieces of information measured in two different directions. Perform exploration processing.
  • the determination as to whether or not the azimuth error caused by the bias can be allowed is made, for example, based on whether or not the elapsed time from the previous bias estimation is within a predetermined time.
  • the predetermined time is one hour.
  • the predetermined time is not limited to this example.
  • the control unit 140 may perform the north exploration process based on one piece of information measured in one direction.
  • the determination as to whether or not the azimuth error caused by the bias can be allowed may be made based on, for example, whether or not the worst performance of the gyro sensor is ensured. Whether or not the worst performance of the gyro sensor is ensured is, for example, when the azimuth error is specified by atan (bias / rotation (15 dph)), the bias value at which the azimuth error is an allowable value is always after the product is shipped. Whether it is maintained or not. As an example, when the allowable value of the azimuth error is 1 degree, the bias value at which the azimuth error is an allowable value is about 0.2 dph.
  • the control unit 140 may perform the north exploration process based on one piece of information measured in one direction.
  • step S1004 / NO processing including determination of a predetermined condition.
  • the processing relating to the determination of the predetermined condition shown in FIG. 36 is performed.
  • the azimuth error caused by the bias is acceptable is determined by whether or not the elapsed time from the previous bias estimation is less than one hour.
  • the inertia data sampling interval by the inertial measurement device is assumed to be 0.01 seconds.
  • control unit 140 first adds 0.01 seconds that is the sampling interval to the elapsed time (step S1030). Next, the control unit 140 confirms whether or not the estimation of the one-direction rotation component has been completed (step S1032).
  • step S1032 / YES the control unit 140 checks whether or not the elapsed time is less than 1 hour (step S1034). When the elapsed time is less than 1 hour (step S1034 / YES), the control unit 140 performs a north direction estimation process based on the rotation component in one direction (step S1036). After the north direction estimation process, the control unit 140 causes the output unit 150 to output the azimuth calculated in the north direction estimation process (step S1010).
  • control unit 140 samples the acceleration and the gyro without performing the estimation process in the north direction (step S1012).
  • control unit 140 samples the acceleration and the gyro without performing the estimation process in the north direction (step S1012).
  • the elapsed time can be reset to 0 seconds when the calibration process in one direction is completed.
  • the control unit 140 resets the elapsed time to 0 seconds between step S3004 and step S3006 in the flowchart of the calibration process shown in FIG.
  • FIG. 37 is an explanatory diagram illustrating a seventh modification example according to the embodiment of the present disclosure.
  • the inertial measurement unit 120 measures angular velocities in two different directions by changing the direction in which the user is moving or stationary.
  • the orientation of the inertial measurement unit 120 is automatically changed by driving the eccentric motor provided inside the mobile terminal 10 to change the posture of the mobile terminal 10. In the following, it is assumed that the operation of the eccentric motor is controlled by the control unit 140.
  • the control unit 140 drives the eccentric motor to change the attitude of the mobile terminal 10.
  • the inertial measurement unit 120 can measure the angular velocity in the second direction.
  • the inertial measurement unit 120 can measure angular velocities in two different directions while the user moves in any one direction.
  • the inertial measurement unit 120 is able to measure angular velocities in two different directions without being changed by the user by being automatically rotated by the rotation mechanism.
  • FIG. 38 is a block diagram illustrating a hardware configuration example of the mobile terminal 10 according to the embodiment of the present disclosure.
  • the mobile terminal 10 includes, for example, a CPU 101, a ROM 103, a RAM 105, an input device 107, a display device 109, an audio output device 111, a storage device 113, and a communication device 115.
  • the hardware configuration shown here is an example, and some of the components may be omitted.
  • the hardware configuration may further include components other than the components shown here.
  • the CPU 101 functions as, for example, an arithmetic processing device or a control device, and controls the overall operation of each component or a part thereof based on various programs recorded in the ROM 103, the RAM 105, or the storage device 113.
  • the ROM 103 is a means for storing a program read by the CPU 101, data used for calculation, and the like.
  • the RAM 105 for example, a program read by the CPU 101, various parameters that change as appropriate when the program is executed, and the like are temporarily or permanently stored. These are connected to each other by a host bus including a CPU bus.
  • the CPU 101, the ROM 103, and the RAM 105 can realize the function of the control unit 140 described with reference to FIGS. 5 and 20 in cooperation with software.
  • the input device 107 for example, a mouse, a keyboard, a touch panel, a button, a switch, a lever, and the like are used. Furthermore, as the input device 107, a remote controller capable of transmitting a control signal using infrared rays or other radio waves may be used.
  • the input device 107 includes a voice input device such as a microphone.
  • the display device 109 includes a display device such as a CRT (Cathode Ray Tube) display device or a liquid crystal display (LCD) device.
  • the display device 109 includes a display device such as a projector device, an OLED (Organic Light Emitting Diode) device, and a lamp.
  • the audio output device 111 includes an audio output device such as a speaker and headphones. The display device 109 and the audio output device 111 can realize the function of the output unit 150 described with reference to FIGS. 5 and 20, for example.
  • the storage device 113 is a device for storing various data.
  • a magnetic storage device such as a hard disk drive (HDD), a semiconductor storage device, an optical storage device, a magneto-optical storage device, or the like is used.
  • the storage apparatus 113 can realize the function of the storage unit 160 described with reference to FIGS. 5 and 20.
  • the communication device 115 is a communication device for connecting to a network.
  • the information processing apparatus is different in two directions including at least the direction when the moving body is moving among the moving body information about the moving body measured by the inertial measurement device.
  • the north exploration process is performed based on the measured two pieces of moving body information.
  • the information processing apparatus removes an error caused by the movement of the moving body based on two pieces of moving body information measured in two different directions including at least the direction when the moving body is moving, and then moves the moving body.
  • the exploration process can be performed inside.
  • the series of processing by each device described in this specification may be realized using any of software, hardware, and a combination of software and hardware.
  • a program constituting the software is stored in advance in a recording medium (non-transitory medium) provided inside or outside each device.
  • Each program is read into a RAM when executed by a computer and executed by a processor such as a CPU.
  • a control unit that performs a north exploration process based on at least two pieces of moving body information among the moving body information about the moving body, With The directions of the moving bodies when each of the at least two moving body information is measured by the inertial measurement device are different from each other, An information processing apparatus, wherein at least one of the at least two pieces of moving body information measured by the inertial measurement apparatus is measured while the moving body is moving.
  • the control unit estimates a north direction based on a rotation component obtained by removing a motion component indicating an amount of change in the posture of the moving body due to movement from the moving body information. Processing equipment.
  • the control unit acquires a first posture of the moving body calculated based on an angular velocity of the moving body measured by the inertial measurement device, and corrects the first posture with reference to the moving speed of the moving body.
  • the information processing apparatus according to (2) wherein an angular velocity calculated based on a second posture of the moving body obtained by performing is acquired as the motion component.
  • the control unit includes a third posture of the moving body calculated based on an angular velocity of the moving body measured by the inertial measurement device, and a fourth posture of the moving body calculated based on the acceleration of the moving body. And the angular velocity calculated based on the difference between the third posture and the fourth posture is acquired as the rotation component.
  • the control unit is acquired based on first movement information about movement of the moving body calculated based on the moving body information measured by the inertial measurement device and the moving body information acquired by a posture information acquisition device.
  • the information processing apparatus according to (2) wherein second information regarding movement of the moving body is acquired, and the rotation component is acquired based on the first movement information and the second movement information.
  • the control unit acquires the rotation component based on the third posture and the fourth posture of the moving body instead of the moving body information acquired by the posture information acquisition device, or stops the search process.
  • the information processing apparatus according to (5).
  • the information processing apparatus determines that the moving body is moving with the other moving body.
  • the control unit estimates the north direction based on the rotation component obtained by further removing the bias of the inertial measurement device from the rotation component based on the at least two pieces of moving body information.
  • the information processing apparatus according to any one of 7).
  • the control unit is different in orientation of the moving body when measured by the inertial measurement device, based on at least two pieces of moving body information from which the motion component is removed, and the latitude at the position of the moving body, The information processing apparatus according to (8), wherein a bias is acquired.
  • the moving body information is measured by the inertial measurement device when the moving body moves or stops in a direction within a predetermined range for a predetermined time, and is any one of (1) to (9).
  • (11) The information processing apparatus according to (10), wherein the moving body information is calculated based on statistical processing on a plurality of moving body information measured within the predetermined time.
  • (12) The information processing apparatus according to any one of (1) to (11), wherein one of the two pieces of moving body information is the moving body information measured when the moving body is stationary.
  • the control unit starts the north exploration process when the moving body information is measured when the moving body is moving or stationary for a predetermined time in each of the two directions different by a predetermined angle or more.
  • the information processing apparatus is an information processing apparatus as described in said (13) which starts the said north search process, when the sum total of each difference of the said mobile body information is more than a predetermined threshold value.
  • the information processing apparatus according to any one of (2) to (14), wherein the control unit causes the output apparatus to output azimuth information indicating the estimated north direction.
  • the control unit causes the output device to output different azimuth information depending on whether or not the north exploration process using the at least two moving body information is completed. apparatus.
  • the information processing apparatus causes an output apparatus to output an instruction to the user regarding a change in the orientation of the moving body.
  • Computer A control unit that performs a north exploration process based on at least two pieces of moving body information among the moving body information about the moving body, Function as The directions of the moving bodies when each of the at least two moving body information is measured by the inertial measurement device are different from each other, A program in which at least one of the at least two pieces of moving body information measured by the inertial measurement device is measured while the moving body is moving.

Landscapes

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • General Life Sciences & Earth Sciences (AREA)
  • Geology (AREA)
  • Navigation (AREA)

Abstract

【課題】移動体の移動中における方位の検出をより高精度に行うことが可能な情報処理装置の提供。 【解決手段】移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行う制御部、を備え、前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なり、慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測される、情報処理装置。

Description

情報処理装置、情報処理方法、及びプログラム
 本開示は、情報処理装置、情報処理方法、及びプログラムに関する。
 現在、電子コンパス、または全球測位衛星システム(GNSS:Global Navigation Satellite System)などにより検出される方位に基づき、ユーザの移動をナビゲーションする技術が普及している。
 上述の技術に関連し、例えば、下記特許文献1には、ジャイロセンサが検出する角速度と、地磁気センサが検出する地磁気データに基づき、方位を検出する技術が開示されている。
特開2013-057601号公報
 しかしながら、上記の技術で用いられる地磁気センサは、鉄筋等から生じる磁気ノイズによる影響を受けやすく、検出される方位に磁気ノイズによる誤差が生じてしまう。そのため、磁気ノイズの影響が大きい場所では、検出される方位の精度が低下してしまう。
 このような周辺環境の影響を受けずに方位を検出する技術として、ジャイロコンパスを用いる方法がある。ジャイロコンパスとは、検出される地球の自転成分に基づき、北方向を検出する機能を有する装置である。しかし、ジャイロコンパスによる方位の検出には、厳密な静止が求められることが多い。ユーザは典型的には移動中にナビゲーションを受けるので、このような静止の要求はユーザの行動を制約することになってしまう。
 そこで、本開示では、移動体の移動中における方位の検出をより高精度に行うことが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提案する。
 本開示によれば、移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行う制御部、を備え、前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なり、前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測される、情報処理装置が提供される。
 また、本開示によれば、移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行うことと、前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なることと、前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測されることと、を含む、プロセッサにより実行される情報処理方法が提供される。
 また、本開示によれば、コンピュータを、移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行う制御部、として機能させ、前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なり、前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測される、プログラムが提供される。
 以上説明したように本開示によれば、移動体の移動中における方位の検出をより高精度に行うことが可能となる。
 なお、上記の効果は必ずしも限定的なものではなく、上記の効果とともに、または上記の効果に代えて、本明細書に示されたいずれかの効果、または本明細書から把握され得る他の効果が奏されてもよい。
本開示の実施形態に係る比較例の概要を示す説明図である。 同実施形態に係る北方向の推定処理の例を示す説明図である。 同実施形態に係るバイアス除去処理の例を示す説明図である。 同実施形態に係る概要を示す説明図である。 本開示の第1の実施形態に係る情報処理装置の機能構成例を示すブロック図である。 同実施形態に係る統計処理の例を示す説明図である。 同実施形態に係る方位多様性評価値に基づく探北処理の開始条件の例を示す説明図である。 同実施形態に係るノイズ低減が不十分な場合における探北処理の開始条件の例を示す説明図である。 同実施形態に係る誤差込み方位多様性評価値に基づく探北処理の開始条件を示す説明図である。 同実施形態に係る2つの角速度に基づく拘束条件の例を示す説明図である。 同実施形態に係る3つの角速度に基づく拘束条件の例を示す説明図である。 同実施形態に係る3次元におけるバイアス除去処理の例を示す説明図である。 同実施形態に係るユーザの歩行例を示す説明図である。 同実施形態に係る方位の表示例を示す説明図である。 同実施形態に係るユーザに対する指示の表示例を示す説明図である。 同実施形態に係る情報処理装置の動作例を示すフローチャートである。 同実施形態に係るGNSS精度評価処理を示すフローチャートである。 同実施形態に係るキャリブレーション処理を示すフローチャートである。 同実施形態に係る非移動処理を示すフローチャートである。 本開示の第2の実施形態に係る情報処理装置の機能構成例を示すブロック図である。 同実施形態に係る自転成分の算出例を示す説明図である。 同実施形態に係る自転成分の座標変換例を示す説明図である。 同実施形態に係る方位推定の例を示す説明図である。 同実施形態に係る情報処理装置の動作例を示すフローチャートである。 同実施形態に係る運動成分除去処理を示すフローチャートである。 同実施形態に係る変形例を示す説明図である。 同実施形態に係る変形例を示す説明図である。 本開示の実施形態に係る第1の変形例を示す説明図である。 同実施形態に係る第1の変形例を示す説明図である。 同実施形態に係る第2の変形例を示す説明図である。 同実施形態に係る第3の変形例を示す説明図である。 同実施形態に係る第4の変形例を示す説明図である。 同実施形態に係る第5の変形例を示す説明図である。 同実施形態に係る第5の変形例を示す説明図である。 同実施形態に係る第6の変形例を示す説明図である。 同実施形態に係る第6の変形例を示す説明図である。 同実施形態に係る第7の変形例を示す説明図である。 同実施形態に係る携帯端末10のハードウェア構成例を示すブロック図である。
 以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
 なお、説明は以下の順序で行うものとする。
 1.本開示の実施形態
  1.1.概要
  1.2.第1の実施形態
   1.2.1.機能構成例
   1.2.2.動作例
  1.3.第2の実施形態
   1.3.1.機能構成例
   1.3.2.動作例
   1.3.3.変形例
 2.変形例
 3.ハードウェア構成例
 4.まとめ
<<1.本開示の実施形態>>
 <1.1.概要>
 以下では、図1~図4を参照しながら、本開示の実施形態の概要について説明する。図1は、本開示の実施形態に係る比較例の概要を示す説明図である。
 近年、スマートフォン等の携帯端末10には、電子コンパス、またはGNSS等により検出される方位に基づき、ユーザの移動をナビゲーションする機能が搭載されている。例えば、図1に示すように、携帯端末10には、地図が表示され、当該地図上には、ユーザの現在位置と方位を示すオブジェクト152が表示される。そして、ユーザの移動に合わせて、当該オブジェクト152の位置及び向きが変化することで、ユーザを目的地154までナビゲーションすることができる。
 しかしながら、電子コンパス、及びGNSSの精度は、周囲の環境が大きく影響する。例えば、都市部のような鉄筋造の建造物が多い場所では、電子コンパスは、鉄筋から生じる磁気ノイズによる影響を受けやすく、検出される方位の精度が低下する。また、都市部のビル街、地下街、及び駅のホームなどは、GNSSの衛星信号を遮蔽する遮蔽物や、マルチパスとなるものが多く、GNSSの衛星信号の受信環境としては悪い。そのため、都市部のビル街、地下街、及び駅のホームなどでは、GNSSにより検出される位置の精度が低下する。よって、図1に示すように、ユーザが向いている方位が、真の方位156とずれて表示されてしまう場合がある。
 そこで、上述のような周辺環境の影響を受けずに方位を検出する技術として、ジャイロコンパスを用いる方法がある。ジャイロコンパスとは、検出される地球の自転成分に基づき、北方向を検出する機能を有する装置である。地磁気を用いる電子コンパスとは異なり、ジャイロコンパスにより検出される方位には周辺環境の影響による誤差が生じない。また、ジャイロコンパスにより検出される方位の精度は、2方向に静止した際の各々の方向において検出される情報に基づき補正されることで向上する。また、ジャイロコンパスは、より厳密な静止が担保される機械において有用である。
 上述のように、ジャイロコンパスは周辺環境の影響を受けずに方位を検出することができるため、人間が利用した際にもより精度の高い方位が検出されることが期待される。しかし、人間は、厳密な静止をすることができない。そのため、ジャイロコンパスによる方位の検出時、人間の微小な動きが検出されてしまい、ジャイロコンパスにより検出される方位には、当該微小な動きによる誤差が生じる。よって、ジャイロコンパスは、人間が利用した際に検出される方位の精度を担保することができない。仮に、人間が厳密な静止をすることができたとしても、ユーザは、ジャイロコンパスが方位の検出を行う度に厳密な静止をする必要があり、それは、ユーザの行動を制約することになってしまう。
 本開示の実施形態では、上記の点に着目して発想されたものであり、移動体の移動中における方位の検出をより高精度に行うことが可能な技術を提案する。特に、本開示の実施形態では、移動体の移動中における北方向の検出がより高精度に行われる。
 以下では、図2~図4を参照しながら、本開示の実施形態の概要について説明する。図2は、本開示の実施形態に係る北方向の推定処理の例を示す説明図である。なお、図2の左側に示す図は、携帯端末10を端末座標系のx軸方向から見た図であり、右側に示す図は、携帯端末10を端末座標系のz軸方向から見た図である。図3は、本開示の実施形態に係るバイアス除去処理の例を示す説明図である。なお、図3の左側に示す図は、バイアス除去前の角速度を示す図であり、右側に示す図は、バイアス除去後の角速度を示す図である。
 (北方向の推定処理)
 一般的なジャイロコンパスでは、北方向の推定処理は、ジャイロセンサにより検出される角速度に基づき行われる。例えば、図2の左側に示すように、地球70の任意の位置に、ジャイロコンパス18が静止した状態で置かれていたとする。ジャイロコンパス18のジャイロセンサにより、地球70の地軸(自転軸)周りにおける、地球の自転により生じる角速度が計測される。なお、ジャイロセンサは、北方向と垂直方向である方向、即ち、東西方向(X軸)における角速度成分は検出しない。また、北方向と垂直でない方向、即ち南北方向(Y軸)における角速度成分は検出する。そして、ジャイロコンパス18は、検出した角速度成分の内、最大となる角速度成分のベクトル方向を北方向としている。
 なお、X軸方向における角速度成分は、Ωp_X1=0、Ωp_X2=0である。また、Y軸方向における角速度成分は、Ωp_Y1=ωER×cosθ、Ωp_Y2=-ωER×cosθである。ωERは、地球の自転の速度である。また、θは、携帯端末10の位置における緯度である。また、X軸とY軸と垂直である方向(Z軸)における角速度は、Ωp_Z=ωER×sinθ(一定)である。なお、携帯端末10は、GNSSから緯度を取得する。
 上述のように、ジャイロコンパス18は、ジャイロセンサが計測した角速度に基づき、北方向の推定処理を行っている。なお、ジャイロセンサが計測する角速度は、ジャイロセンサのバイアスによる誤差成分が含まれている場合がある。そこで、ジャイロコンパス18は、バイアスが除去された角速度(以下では、自転成分とも称される)に基づき北方向の推定処理を行うことで、より高精度に北方向を推定することができる。なお、ジャイロセンサが計測する角速度に含まれるバイアスが許容される場合、ジャイロコンパス18は、バイアスを除去していない角速度(自転成分)に基づき、北方向の推定処理を行ってもよい。
 (バイアス除去処理)
 一般的なバイアスを除去する方法では、ジャイロセンサが備えられたジャイロコンパス、または携帯端末等の装置が静止している時に計測される少なくとも2つの角速度に基づき、バイアスが推定され、角速度から除去される。これにより、自転成分が算出される。なお、ジャイロコンパス、または携帯端末等の装置が動いている場合、運動成分が生じて角速度に誤差が生じてしまう。よって、当該方法では、ジャイロコンパス、または携帯端末等の装置が静止していることが前提である。
 ジャイロコンパスのジャイロセンサが計測する角速度は、基本的には3軸方向の角速度を計測する。計測された3軸方向の角速度に基づき推定されるバイアスは、3次元空間におけるバイアスとして推定される。当該方法により最終的に算出される自転成分は、一定仰角(緯度)における平面上の任意の位置を中心とする円の円周上に存在する。そのため、ジャイロコンパスが位置する緯度が分かれば、3次元空間ではなく2次元平面におけるバイアスの推定とすることができる。
 例えば、図3の左側の図には、ある緯度において計測された角速度30Aと角速度30Bが、XY平面上に示されている。なお、角速度30Aと角速度30Bは、それぞれ異なる方向において計測された角速度である。この2つの角速度が円周上に存在する円50の中心における角速度が、バイアス40となる。円50の中心は、地球の自転速度であるωERと緯度θに基づき、円50の半径を算出することで求めることができる。半径は、ωER×cosθである。
 バイアス40を算出後、角速度30バイアス40を除去することで、自転成分を算出することができる。図3の右側に示す図は、例えば、角速度30Bからバイアス40を除去した状態を示している。
 上述のように、一般的なバイアスを除去する方法では、静止時に計測される異なる2方向における少なくとも2つの角速度と、緯度に基づき、バイアスが推定され、角速度からバイアスが除去される。
 (移動体への適用)
 上述した一般的な北方向の推定処理、及びバイアス除去処理は、ジャイロコンパスが静止した状態であることが前提である。そのため、例えば、ジャイロコンパス機能を有する移動体に対して、上述の方法をそのまま適用することはできない。なぜならば、移動体が移動することにより、計測される角速度には自転成分とバイアスに加え、移動により生じる角速度(以下では、運動成分とも称される)が含まれるからである。そこで、本開示の実施形態では、計測される角速度から、運動成分を除去し、上述の方法によりバイアスを除去し、さらに上述の方法により北方向の推定処理を行うことで、移動体の移動中における方位の検出をより高精度に行うことが実現される。
 図4は、本開示の実施形態に係る概要を示す説明図である。図4に示す携帯端末10は、スマートフォン、タブレット端末、ウェアラブル端末等の情報処理装置である。ユーザ20は、携帯端末10を携帯して移動する。ユーザ20が携帯端末10を携帯して移動することで、携帯端末10は、ユーザ20の移動に合わせて移動する。そのため、携帯端末10は、移動体でもある。なお、以下では、ユーザ20は、携帯端末10を携帯していることを前提とする。そのため、ユーザ20が移動するということは、即ち、携帯端末10も移動していることを示している。また、携帯端末10が移動するということは、即ち、ユーザ20が移動していることを示している。
 携帯端末10は、慣性データ(移動体情報)を計測可能な装置を備えている。当該装置は、携帯端末10の移動時又は静止時における、携帯端末10に関する慣性データを計測する。当該慣性データには、例えば、加速度と角速度が含まれる。慣性データは、以下では、加速度、又は角速度とも称される。
 まず、慣性計測装置は、携帯端末10が位置1から位置2に移動する間に、1つ目の角速度を計測する。次に、慣性計測装置は、携帯端末10が移動の方向を変更して位置2から位置3に移動する間に、2つ目の角速度を計測する。これにより、携帯端末10は、異なる2方向の各々における角速度を取得する。
 取得された角速度は、運動成分、バイアス、及び自転成分で構成されている。そこで、携帯端末10は、運動成分を算出し、各々の角速度から除去する。運動成分の除去後、携帯端末10は、運動成分が除去された2つの角速度に基づき、バイアスを算出し、運動成分が除去された2つの角速度からバイアスを除去する。そして、携帯端末10は、運動成分とバイアスが除去されて自転成分のみとなった角速度に基づき、北方向の推定処理を行う。
 なお、本開示の実施形態に係る北方向の推定処理では、少なくとも2つの角速度が用いられる。また、当該少なくとも2つの角速度の各々が計測された時の携帯端末10の向きは、互いに異なる。また、当該少なくとも2つの角速度の少なくとも一方は、携帯端末10が移動している間に計測された角速度である。もう一方の角速度は、携帯端末10が移動している間に計測された角速度でもよいし、携帯端末10が静止している間に計測された角速度でもよい。
 以上、図1~図4を参照しながら、本開示の実施形態の概要について説明した。続いて、本開示の第1の実施形態について説明する。
 <1.2.第1の実施形態>
  <1.2.1.機能構成例>
 以下では、図5~図15を参照しながら、本開示の第1の実施形態に係る情報処理装置の機能構成例について説明する。図5は、本開示の第1の実施形態に係る情報処理装置の機能構成例を示すブロック図である。
 図5に示すように、本開示の第1の実施形態に係る携帯端末10-1は、慣性計測部120、通信部130、制御部140-1、出力部150、及び記憶部160を備える。
  (1)慣性計測部120
 慣性計測部120は、携帯端末10-1に関する慣性データを計測する機能を有する。慣性計測部120は、慣性データを計測可能な装置として、慣性計測装置(IMU:Inertial Measurement Unit)を備えている。慣性計測装置は、加速度センサを備えており、慣性データの1つとして、携帯端末10-1の移動速度の変化量である加速度を計測する。また、慣性計測装置は、角速度センサを備えており、慣性データの1つとして、携帯端末10-1の姿勢の変化量である角速度を計測する。慣性計測部120は、慣性計測装置が計測した慣性データを制御部140-1に出力する。
  (2)通信部130
 通信部130は、外部装置と通信を行う機能を有する。例えば、通信部130は、外部装置との通信において、外部装置から受信した情報を制御部140-1に出力する。また、通信部130は、外部装置との通信において、制御部140-1から入力された情報を外部装置に送信する。
  (3)制御部140-1
 制御部140-1は、携帯端末10-1の全体を制御する機能を有する。例えば、制御部140-1は、慣性計測部120における計測処理を制御する。
 また、制御部140-1は、通信部130における通信処理を制御する。具体的に、制御部140-1は、制御部140-1で実行した処理に応じて出力される情報を、外部装置に対して通信部130に送信させる。
 また、制御部140-1は、出力部150における表示処理を制御する。具体的に制御部140-1は、制御部140-1で実行した処理結果に応じた情報を出力部150に表示させる。
 また、制御部140-1は、記憶部160における記憶処理を制御する。具体的に、制御部140-1は、制御部140-1で実行した処理に応じて出力される情報を、記憶部160に記憶させる。
 また、制御部140-1は、入力された情報に基づく処理を実行する機能を有する。例えば、制御部140-1は、携帯端末10-1の移動時に慣性計測部120から入力された慣性データから、移動による携帯端末10-1の姿勢の変化量を示す運動成分、及び慣性計測装置のバイアスを除去して得られる自転成分に基づき、北方向の推定処理を実行する。なお、北方向の推定処理には、少なくとも2つの自転成分が用いられる。当該少なくとも2つの自転成分は、異なる2方向の各々にて移動体が移動している間に計測された慣性データに基づき算出される。
 また、当該少なくとも2つの自転成分には、移動体が移動している間に計測された慣性データに基づき算出された自転成分が少なくとも1つ含まれていればよい。そのため、当該少なくとも2つの自転成分の一方は、携帯端末10-1の静止時に計測された慣性データに基づき算出された自転成分であってもよい。携帯端末10-1の静止時に計測された慣性データには運動成分が含まれないため、制御部140-1は、慣性データからバイアスのみを除去すればよい。
 上述のように、制御部140-1は、移動体が移動中であっても、角速度から運動成分を除去することで移動体が静止している時と同様の状態にて北方向の推定を行うことができる。また、制御部140-1は、角速度から慣性計測装置のバイアスを除去することで、北方向の推定をより高精度に行うことができる。
 以下では、北方向が推定されるまでに制御部140-1が実行する処理について、具体的に説明する。
  (GNSS精度評価処理)
 GNSS精度評価処理では、制御部140-1は、GNSSによる測位の精度を評価する機能を有する。例えば、制御部140-1は、上空における衛星配置によって精度が低下する度合を示す精度低下率(DOP:Dilution Of Precision)に基づき、GNSSによる測位の精度を評価する。
 評価の結果、GNSSの精度が低いと判定した場合、制御部140-1は、GNSSによるナビゲーションからジャイロコンパスによるナビゲーションに切り替える。GNSSの精度が高いと判定した場合、制御部140-1は、GNSSによるナビゲーションを継続する。
  (方向変化演算処理)
 方向変化演算処理では、制御部140-1は、慣性計測部120が計測する角速度に基づき、携帯端末10-1が移動又は静止している間の方向の変化量を算出する。制御部140-1は、当該変化量に基づき、携帯端末10-1が移動又は静止している間の方向が変化したか否かを判定する。
  (移動検出処理)
 移動検出演算処理では、制御部140-1は、慣性計測部120が計測する加速度に基づき、携帯端末10-1が移動又は静止しているかを検出する。
  (方向変化検出処理、慣性データ取得処理)
 慣性データ取得処理では、制御部140-1は、慣性計測部120に携帯端末10-1に関する慣性データを計測させる。具体的に、制御部140-1は、携帯端末10-1が所定の時間、所定の範囲内の方向に移動又は静止している際に、慣性計測装置に慣性データを計測させる。
 ここで、所定の範囲とは、例えば、携帯端末10-1が移動又は静止していると判定された時点における携帯端末10-1の向きを基準とし、当該基準からの向きの変化量(方向変化量)を角度で示した範囲のことである。携帯端末10-1が移動又は静止している間の方向の変化量が所定の範囲(第1の範囲)内である場合、制御部140-1は、携帯端末10-1が一定の方向に移動又は静止していると判定し、慣性計測部120に1つ目の方向における角速度を計測させる。所定の範囲(第1の範囲)の具体的な数値として、例えば、±20度が設定される。即ち、携帯端末10-1が移動又は静止している間の方向の変化量が±20度以内である場合、制御部140-1は、携帯端末10-1が一定の方向に移動又は静止していると判定する。なお、所定の範囲(第1の範囲)の具体的な数値は±20度に限定されず、任意の数値が設定されてもよい。
 1つ目の方向における角速度を計測後、制御部140-1は、携帯端末10-1の方向の変化量に基づき、携帯端末10-1が移動又は静止しいている方向に変化があった否かを確認する。携帯端末10-1が移動又は静止している間の方向の変化量が所定の範囲(第2の範囲)以上である場合、制御部140-1は、携帯端末10-1が移動又は静止している方向が変化したと判定し、慣性計測部120に2つ目の方向における角速度を計測させる。所定の範囲(第2の範囲)の具体的な数値として、例えば、±45度が設定される。即ち、携帯端末10-1が移動又は静止している間の方向の変化量が±45度以上である場合、制御部140-1は、携帯端末10-1が移動又は静止している方向が変化したと判定する。なお、所定の範囲(第2の範囲)の具体的な数値は±45度に限定されず、任意の数値が設定されてもよい。
 慣性計測部120が1つの方向にて所定の時間だけ角速度を計測できた場合、制御部140-1は、1方向における角速度の計測が完了したことを示すキャリブレーションレベルに1を加算する。
 なお、所定の時間が経過する前に携帯端末10-1が移動又は静止している方向が変化したと判定された場合、制御部140-1は、変化前の方向における角速度の計測を終了し、変化後の方向における角速度の計測を開始する。
 なお、携帯端末10-1が移動又は静止している方向が変化する前後で計測される2つの角速度は、一方の角速度が携帯端末10-1の移動時に計測された角速度であれば、もう一方の角速度は、携帯端末10-1の静止時に計測された角速度であってもよい。
 なお、慣性計測部120は、所定の時間だけ計測処理を繰り返すため、複数の角速度を計測する。制御部140-1は、当該複数の角速度に対して統計処理を行うことで平均化された角速度を算出する。以下では、図6を参照しながら、角速度に対する統計処理について説明する。図6は、本開示の第1の実施形態に係る統計処理の例を示す説明図である。なお、図6に示す各円は、誤差を含む角速度が分布する誤差分布範囲を示しており、各円の中心が真値であるとする。
 慣性計測部120が計測する角速度は、ノイズが含まれることで真値を中心にばらつきを持っている。そこで、慣性計測部120が所定の時間だけ計測処理を繰り返すことで複数の角速度(以下では、サンプルとも称される)を計測され、当該複数の角速度を制御部140-1が平均化することで、角速度に含まれるノイズが低減される。なお、所定の時間が長くなる程、計測されるサンプル数が多くなり、よりノイズを低減することができる。また、携帯端末10-1が移動している場合には、携帯端末10-1の移動時間を所定の時間とする。また、携帯端末10-1が静止している場合には、携帯端末10-1の静止時間を所定の時間とする。
 例えば、慣性計測部120が1サンプルだけ計測した場合、図6に示す2点鎖線の円の範囲内のいずれかの位置にサンプルが分布する。慣性計測部120が1秒分のサンプルを計測し、制御部140-1が平均化すると、1サンプルだけの場合と比較してノイズが小さくなり、サンプルが分布する範囲は、1点鎖線の円の大きさまで小さくなる。また、慣性計測部120が10秒分のサンプルを計測し、制御部140-1が平均化すると、1秒分のサンプルの場合と比較してノイズがさらに小さくなり、サンプルが分布する範囲は、破線の円の大きさまで小さくなる。また、慣性計測部120が100秒分のサンプルを計測し、制御部140-1が平均化すると、10秒分のサンプルの場合と比較してノイズがさらに小さくなり、サンプルが分布する範囲は、実線の円の大きさまで小さくなる。なお、本開示の第1の実施形態では、図6に実線で示される100秒分の誤差分布範囲が許容誤差範囲であり、100秒分のサンプルを平均化することで算出される角速度が後述する探北処理に用いられる。
  (キャリブレーション処理)
 キャリブレーション処理では、制御部140-1は、上述した慣性データ取得処理を行い、取得した角速度から運動成分を除去する処理(運動成分除去処理)を行う。制御部140-1は、運動成分を任意の方法により算出してよい。
 例えば、制御部140-1は、慣性計測装置が計測する携帯端末10-1の角速度に基づき算出される携帯端末10-1の第1の姿勢を取得し、携帯端末10-1の移動速度をリファレンスとして第1の姿勢を補正することで得られる携帯端末10-1の第2の姿勢に基づき算出される角速度を運動成分として取得する。
 具体的に、制御部140-1は、慣性計測装置が計測する角速度に対してINS(Inertial Navigation System:慣性航法)演算を行うことで、携帯端末10-1の第1の姿勢を算出する。なお、姿勢を示す値は角度である。また、携帯端末10-1の移動速度は、携帯端末10-1を携帯しているユーザの歩行特徴量に基づき算出される。例えば、制御部140-1は、携帯端末10-1を携帯しているユーザの歩幅と歩行ピッチに基づき、ユーザの移動速度、即ち、携帯端末10-1の移動速度を算出する。
 上述のINS演算では、慣性計測装置が計測する加速度に基づき、携帯端末10-1の移動速度も算出される。制御部140-1は、歩行特徴量に基づき算出される携帯端末10-1の移動速度と、INS演算により算出される携帯端末10-1の移動速度を比較した結果に基づき、第1の姿勢を補正し、より正確な姿勢として補正された第2の姿勢を算出する。そして、制御部140-1は、第2の姿勢を微分することで得られる角速度を運動成分とする。
 また、制御部140-1は、慣性計測装置が計測する携帯端末10-1の角速度に基づき算出される携帯端末10-1の第3の姿勢と、携帯端末10-1の加速度に基づき算出される携帯端末10-1の第4の姿勢を取得し、第3の姿勢と第4の姿勢との差分に基づき算出される角速度を自転成分として取得してもよい。具体的に、制御部140-1は、慣性計測装置が計測する角速度を積分することで、携帯端末10-1の第3の姿勢を算出する。また、制御部140-1は、例えば、携帯端末10-1が静止している時に計測される加速度(例えば重力加速度)の平均値に基づき、携帯端末10-1の第4の姿勢を算出する。そして、制御部140-1は、第3の姿勢と第4の姿勢の差分を微分することで得られる角速度を自転成分とする。
  (探北処理)
 以下では、図7~図12を参照しながら、本開示の第1の実施形態に係る探北処理について説明する。図7は、本開示の第1の実施形態に係る方位多様性評価値に基づく探北処理の開始条件の例を示す説明図である。図8は、本開示の第1の実施形態に係るノイズ低減が不十分な場合における探北処理の開始条件の例を示す説明図である。図9は、本開示の第1の実施形態に係る誤差込み方位多様性評価値に基づく探北処理の開始条件を示す説明図である。
 本開示の第1の実施形態における探北処理では、制御部140-1は、運動成分が除去された角速度からバイアスを除去するバイアス除去処理と、バイアスが除去された角速度に基づき北方向を推定する北方向の推定処理を行う。
 まず、制御部140-1は、探北処理を行う前に、所定の条件を満たしているか否かを確認する。所定の条件を満たしている場合、制御部140-1は、探北処理を開始する。所定の条件とは、例えば、探北処理に必要な情報が取得されていることである。具体的に、制御部140-1は、携帯端末10-1が所定の時間、移動又は静止している際の角速度が、所定の角度以上異なる2つの向きの各々において計測されているか否かを確認する。所定の角度以上異なる2つの向きとは、上述の方向変化検出処理にて検出される1つ目の方向と2つ目の方向のことである。即ち、1つ目の方向と2つ目の方向の各々における角速度が取得されている場合、制御部140-1は、探北処理を開始する。
 なお、制御部140-1が探北を開始する条件は、上述の例に限定されない。例えば、所定の条件は、角速度の各々の差分の総和が所定の閾値以上であることであってもよい。具体的に、まず、制御部140-1は、図7に示す角速度32A、角速度32B、角速度32C、及び角速度32Dの各々の差分を算出する。差分は、円50上のn個の角速度32に対して、通りだけ算出される。図7に示す例の場合、円50上の角速度32は4個のため=6通りである。よって、図7に示すように、制御部140-1は、差分rA,B、差分rB,C、差分rC,D、差分rD,A、差分rA,C、及び差分rB,Dの6通りの差分を算出する。そして、制御部140-1は、以下の数式(1)により、差分の総和Evaを算出し、算出したEvaを評価値とする。
Figure JPOXMLDOC01-appb-M000001
 算出された評価値は、値が大きいほど、角速度が円50上に広く分布していることを示している。制御部140-1は、円50上により広く分布した角速度を用いることで、円50の中心の推定精度をより向上することができる。そこで、制御部140-1は、算出した評価値が所定の閾値以上であるか否かを確認する。算出した評価値が所定の閾値以上である場合、制御部140-1は、円50の中心の推定精度が一定以上であることが担保されていると判定し、探北処理を開始してもよい。
 また、所定の条件は、運動成分が除去された複数の角速度にノイズ低減が不十分な角速度が多く存在する場合、最後に運動成分が除去された角速度のノイズ低減が十分であることであってもよい。最後に運動成分が除去された角速度のノイズ低減が十分であれば、他の運動成分が除去された角速度のノイズ低減は不十分であってもよい。図8に示す例の場合、最後に運動成分が除去された角速度は角速度34であり、他の運動成分が除去された角速度は、角速度60A、角速度60B、角速度60C、及び角速度60Dである。
 仮に、角速度60A、角速度60B、角速度60C、及び角速度60Dの4つの角速度のみが円50上にある状態であっても、制御部140-1は、円50の中心にあるバイアス40を推定することができる。ただ、当該4つの角速度は、ノイズ低減が不十分であるため、推定されるバイアス40には誤差が含まれてしまう。そこで、制御部140-1は、十分にノイズが低減された角速度34も用いてバイアス40を推定することで、角速度34を用いずに推定したバイアス40よりも、より精度の高いバイアス40を推定することができる。よって、制御部140-1は、運動成分が除去された複数の角速度にノイズ低減が不十分な角速度が多く存在する場合、最後に運動成分が除去された角速度のノイズ低減が十分であるか否かを確認する。最後に運動成分が除去された角速度のノイズ低減が十分である場合、制御部140-1は、探北処理を開始してもよい。
 また、所定の条件は、角速度の各々の差分に、角速度の各々に含まれる誤差を加味した値の総和が所定の閾値以上であることであってもよい。図9に示す例の場合、角速度36A、角速度36B、角速度36C、及び角速度36Dの誤差範囲は、それぞれ誤差範囲62A、誤差範囲62B、誤差範囲62C、及び誤差範囲62Dであるとする。また、それぞれの誤差の大きさは、err1、err2、err3、及びerr4であるとする。なお、誤差の大きさは、ノイズ低減時間が短いほど大きくなり、ノイズ低減時間が長いほど小さくなる。
 制御部140-1は、以下の数式(2)により、差分の総和Evaに角速度の誤差を加味した評価値Evaを算出する。
Figure JPOXMLDOC01-appb-M000002
 算出された評価値は、その値が大きいほど、円50における中心の推定精度が高いことを示している。よって、制御部140-1は、算出した評価値が所定の閾値以上であるか否かを確認する。算出した評価値が所定の閾値以上である場合、制御部140-1は、円50の中心の推定精度が一定以上であることが担保されていると判定し、探北処理を開始してもよい。
   ・バイアス除去処理
 以下では、図10~図12を参照しながら、本開示の第1の実施形態に係るバイアス除去処理について説明する。図10は、本開示の第1の実施形態に係る2つの角速度に基づく拘束条件の例を示す説明図である。図11は、本開示の第1の実施形態に係る3つの角速度に基づく拘束条件の例を示す説明図である。図12は、本開示の第1の実施形態に係る3次元におけるバイアス除去処理の例を示す説明図である。
 制御部140-1は、計測された際の携帯端末10-1の向きが異なり、運動成分が除去された少なくとも2つの角速度と、携帯端末10-1の位置における緯度に基づき、バイアスを取得する。制御部140-1は、移動体が移動している間に計測された角速度から運動成分を除去した角速度を用いることで、移動体が静止している時と同様な方法でバイアスを推定することができる。なお、制御部140-1はバイアスを推定する方法は、<1.1.概要>にて説明した方法と同様である。
 なお、2つの角速度に基づいてバイアスが推定される場合、制御部140-1により2つのバイアスの候補が推定され得る。よって、制御部140-1が当該候補から1つのバイアスを選択するための拘束条件が必要となる。例えば、図10に示すように、2つの角速度30A、及び角速度30Bが円50Aの円周上に位置すると想定した場合、円50Aの中心における値がバイアス40Aとして推定される。また、2つの角速度30A、及び角速度30Bが円50Bの円周上に位置すると想定した場合、円50Bの中心における値がバイアス40Bとして推定される。
 上述のように、2つのバイアスが推定された場合、制御部140-1は、例えば「推定した2つのバイアス間の絶対方位の変化量が角速度積算に近い方のバイアスを選択する」という拘束条件に従い、適切なバイアスを選択する。
 なお、3つの角速度に基づいてバイアスが推定される場合、制御部140-1により1つのバイアスしか推定されないため、上述の拘束条件は不要である。例えば、図11に示すように、3つの角速度30A、角速度30B、及び角速度30Cを用いる場合、3つの角速度が同一円周上に位置する円は、円50のみである。よって、円50の中心における値がバイアス40として一意に推定される。また、3つの角速度を用いる場合、制御部140-1は、緯度を用いることなく円50の半径を推定することできる。
 なお、上述のバイアス除去処理では、制御部140-1が2軸方向の角速度成分に基づきバイアスを推定する例について説明した。2軸方向の角速度成分に基づきバイアスを推定する場合の具体的なユースケースとしては、ヘッドマウント型端末を用いる例が挙げられる。ヘッドマウント型端末の場合、ほぼ地平面内における回転、即ち、ヨー軸を回転軸とする回転による姿勢変化のみが生じる。よって、制御部140-1は、緯度と併用することで、2軸方向の角速度成分のみに基づき、バイアスを推定してもよい。
 一方、スマートフォン等の端末のように3次元に姿勢が変化し得る端末の場合、3軸方向の角速度成分に基づき、バイアスを推定する必要がある。例えば、端末のヨー軸を回転軸とする回転だけでなく、ピッチ軸又はロール軸を回転軸とする回転による姿勢の変化が端末に生じた場合、制御部140-1は、3軸方向の全ての角速度成分に基づき、バイアスを推定する。具体的に、図12に示す角速度31A、角速度31B、及び角速度31Cの3点が球51の球面上に位置することを前提に、当該3点に基づき球51の中心を推定し、当該中心における角速度の値をバイアス41として推定する。
   ・北方向の推定処理
 北方向の推定処理では、制御部140-1は、運動成分とバイアスを含まない角速度に基づき、北方向を推定する。なお、制御部140-1は、<1.1.概要>にて説明した方法により、北方向を推定する。
  (方位出力処理)
 方位出力処理では、制御部140-1は、推定した北方向を示す方位情報を出力装置に出力させる。例えば、制御部140-1は、北方向を示すオブジェクトを出力部150に表示させる。また、制御部140-1は、少なくとも2つの角速度を用いた北方向の推定処理が完了したか否かに応じて、異なる方位情報を出力装置に出力させる。例えば、制御部140-1は、北方向の推定処理が完了したか否かに応じて、北方向を示すオブジェクトの色を変化させて出力部150に表示させる。具体的に、北方向の推定処理が完了していない場合、制御部140-1は、北方向を示すオブジェクトの色を灰色で出力部150に表示させる。北方向の推定処理が完了した場合、制御部140-1は、北方向を示すオブジェクトの色を灰色から緑色に変化させて出力部150に表示させる。なお、北方向を示すオブジェクトの色は、上述の例に限定されず、任意の色が設定されてもよい。
 上述のように、制御部140-1は、北方向を示すオブジェクトの色を変化させて出力部150に表示させることで、北方向の推定処理の結果の視認性を向上することができる。
 また、方位出力処理では、制御部140-1は、携帯端末10-1の向きの変更に関するユーザに対する指示を出力装置に出力させてもよい。例えば、制御部140-1は、ユーザに対して、移動又は静止する方向を変更する旨の指示を出力部150に出力させる。なお、制御部140-1は、探北処理に必要な2つの角速度の内、1つ目の角速度が取得されたら、上述の指示を出力部150に出力させてもよい。
 上述のように、制御部140-1は、ユーザに対して移動又は静止する方向を変更する旨の指示を出力部150に出力させることで、ユーザは、適切なタイミングで移動又は静止する方向を変更することができる。
  (4)出力部150
 出力部150は、制御部140-1から入力された情報を出力する機能を有する。例えば、出力部150は、出力装置として表示装置を備え、当該表示装置に制御部140-1からの入力に応じた情報を表示する機能を有する。具体的に、出力部150は、表示装置である表示パネルにホーム画面、ロック画面等の多様な表示画面を表示する。表示パネルとしては、例えば液晶表示パネルや有機EL(Electro-Luminescence)表示パネルが使用される。
 なお、携帯端末10-1の出力部150にタッチパネルを用いることで、出力部150は操作部(図示しない)として機能してもよい。タッチパネルは、指またはペンなどの物体で表示パネルの表面(検出面)がタッチされたとき、タッチされた位置を検出する。例えば、タッチパネルは、表示パネルが画像などを表示するエリア等に、指またはペンが接触したことを検出する。なお、タッチパネルは、表示パネルに積層された状態で構成されてもよく、また表示パネルと一体的に構成されてもよい。タッチパネルは、例えば静電容量式であってもよく、この場合、指などで表示パネルの表面がタッチされたことが静電容量の変化から検出される。
 タッチパネルが検出したタッチ位置のデータは、制御部140-1に伝送される。制御部140-1は、供給されるタッチ位置に基づいて、起動中のアプリケーションを実行する。タッチ位置は、例えば直交する2つの軸であるX軸(横軸)とY軸(縦軸)の座標位置で示される。タッチパネルが検出する座標位置は、1点に限られない。複数の点が同時にタッチされた場合、制御部140-1は、検出される複数の点に基づく制御を行う。また、タッチパネルの広い範囲が同時にタッチされたとき、制御部140-1は、タッチされた範囲全体を検出する。
 以下では、図13~図15を参照しながら、出力部150が表示する情報について具体的に説明する。図13は、本開示の第1の実施形態に係るユーザの歩行例を示す説明図である。図14は、本開示の第1の実施形態に係る方位の表示例を示す説明図である。図15は、本開示の第1の実施形態に係るユーザに対する指示の表示例を示す説明図である。なお、以下では、携帯端末10-1として、ウェアラブル端末であるスマートウォッチ12を用いた例について説明する。
 図13には、ユーザが電車から降車した位置である位置1から、ユーザが目的地まで移動する際の歩行例が示されている。
 位置1は、ユーザが電車から降車した位置である。位置1では、まだ北方向の推定処理が完了していない。よって、出力部150は、図14に示すように、北方向の推定処理が完了していない旨を示す色で、北方向を示すオブジェクトである矢印を表示する。また、位置1では、ユーザが静止した状態である。よって、出力部150は、図15に示すように、「方位を取得できません。歩いてください。」とユーザに対する指示をテキストで表示してもよい。
 位置2は、ユーザが移動したことにより、1つ目の方向における角速度の取得が完了した位置である。位置2では、まだ北方向の推定処理が完了していない。よって、出力部150は、図14に示すように、北方向の推定処理が完了していない旨を示す色で、北方向を示すオブジェクトである矢印を表示する。また、位置2では、1つ目の方向における角速度の取得が完了しており、2つ目の方向における角速度の取得が完了すれば方位を表示できる状態である。よって、出力部150は、図15に示すように、「別の方向に歩くと方位を取得できます。」とユーザに対する指示をテキストで表示してもよい。
 位置3は、ユーザが移動したことにより、2つ目の方向における角速度の取得が完了した位置である。位置3では、北方向の推定処理が完了している。よって、出力部150は、図14に示すように、北方向の推定処理が完了した旨を示す色で、北方向を示すオブジェクトである矢印を表示する。また、位置3では、北方向の推定処理が完了しており、ジャイロコンパスを利用可能な状態である。よって、出力部150は、図15に示すように、「方位取得完了。利用可能です。」とジャイロコンパスが利用可能な状態である旨をテキストで表示してもよい。
 なお、出力部150は、出力装置として音声出力装置を備え、制御部140-1からの入力に応じた情報を音声として出力してもよい。例えば、出力部150は、上述のユーザに対する指示をテキストではなく音声で出力してもよい。
  (5)記憶部160
 記憶部160は、情報処理装置における処理にて取得されるデータを記憶する機能を有する。例えば、記憶部160は、慣性計測部120が計測した慣性データを記憶する。具体的に、記憶部160は、慣性計測部120が計測した携帯端末10-1の加速度と角速度を記憶する。
 なお、記憶部160が記憶する情報は、上述の慣性データに限定されない。例えば、記憶部160は、制御部140-1の処理において出力されるデータ、各種アプリケーション等のプログラム、及びデータ等を記憶してもよい。
 以上、図5~図15を参照しながら、本開示の第1の実施形態に係る情報処理装置の機能構成例について説明した。続いて、本開示の第1の実施形態に係る情報処理装置の動作例について説明する。
  <1.2.2.動作例>
 以下では、図16~図19を参照しながら、本開示の第1の実施形態に係る情報処理装置の動作例について説明する。図16は、本開示の第1の実施形態に係る情報処理装置の動作例を示すフローチャートである。
  (メイン処理)
 図16に示すように、まず、制御部140-1は、変数の初期化処理を行う(ステップS1000)。初期化処理後、制御部140-1は、GNSS精度評価を行う(ステップS1002)。GNSS精度評価の詳細処理フローについては後述する。GNSS処理後、制御部140-1は、GNSS精度とキャリブレーションレベルを確認する(ステップS1004)。GNSS精度が所定の精度以下、かつキャリブレーションレベルが2以上である場合(ステップS1004/YES)、制御部140-1は、バイアス除去処理を実施する(ステップS1006)。バイアス除去処理後、制御部140-1は、バイアス除去処理により取得される自転成分に基づき、北方向の推定処理を実施する(ステップS1008)。北方向の推定処理後、制御部140-1は、北方向の推定処理で算出した方位を出力部150に出力させる(ステップS1010)。
 GNSS精度が所定の精度以下、かつキャリブレーションレベルが2以上でない場合(ステップS1004/NO)、または、ステップS1010の方位出力処理後、制御部140-1は、加速度とジャイロのサンプリングを行う(ステップS1012)。サンプリングした加速度とジャイロに基づき、制御部140-1は、方向変化演算(ステップS1014)、及び移動検出演算(ステップS1016)を行う。
 移動検出演算の演算結果に基づき、制御部140-1は、携帯端末10-1が移動中であるか否かを確認する(ステップS1018)。携帯端末10-1が移動中である場合(ステップS1018/YES)、制御部140-1は、キャリブレーション処理を行う(ステップS1020)。キャリブレーション処理の詳細処理フローについては後述する。
 携帯端末10-1が移動中でない場合(ステップS1018/NO)、制御部140-1は、携帯端末10-1が静止しているか否かを確認する(ステップS1022)。携帯端末10-1が静止している場合(ステップS1022/YES)、制御部140-1は、変数である非移動時間を0にし(ステップS1024)、キャリブレーション処理を行う(ステップS1020)。
 携帯端末10-1が静止していない場合(ステップS1022/NO)、制御部140-1は、変数である移動時間を0にし(ステップS1026)、非移動処理を行う(ステップS1028)。非移動処理の詳細処理フローについては後述する。
 キャリブレーション処理、または非移動処理後、制御部140-1は、ステップS1002のGNSS精度評価から、上述の処理を繰り返す。
  (GNSS精度評価処理)
 以下では、図17を参照しながら、サブフローチャートにおけるGNSS精度評価処理について説明する。図17は、本開示の第1の実施形態に係るGNSS精度評価処理を示すフローチャートである。
 図17に示すように、まず、制御部140-1は、GNSS精度を取得する(ステップ2000)。制御部140-1は、GNSS精度が所定の精度以下であるか否かを確認する(ステップS2002)。GNSS精度が所定の精度以下である場合(ステップS2002/YES)、制御部140-1は、GNSS精度が低いと判定する(ステップS2004)。そして、制御部140-1は、GNSSによる案内表示を無効化し、キャリブレーション処理の結果に基づく案内表示を有効化し(ステップS2006)、ステップS1002におけるGNSS精度評価処理を終了する。
 なお、GNSS精度が所定の精度以下でない場合(ステップS2002/NO)、制御部140-1は、GNSS精度が高いと判定する(ステップS2008)。そして、制御部140-1は、GNSSによる案内表示を有効化し、キャリブレーション処理の結果に基づく案内表示を無効化し(ステップS2010)、ステップS1002におけるGNSS精度評価処理を終了する。
  (キャリブレーション処理)
 以下では、図18を参照しながら、サブフローチャートにおけるキャリブレーション処理について説明する。図18は、本開示の第1の実施形態に係るキャリブレーション処理を示すフローチャートである。
 図18に示すように、まず、制御部140-1は、携帯端末10-1の方向変化量が第1の範囲以内であるか否かを確認する(ステップS3000)。方向変化量が第1の範囲以内である場合(ステップS3000/YES)、制御部140-1は、運動成分除去処理を行う(ステップS3002)。運動成分除去処理後、制御部140-1は、移動時間または静止時間が所定の時間以上であるか否かを確認する(ステップS3004)。移動時間または静止時間が所定の時間以上である場合(ステップS3004/YES)、制御部140-1は、キャリブレーションレベルに1を加算する(ステップS3006)。1方向におけるキャリブレーションが終了したため、制御部140-1は、移動時間/または静止時間を0でリセットする(ステップS3008)。
 リセット後、制御部140-1は、加速度・ジャイロを取得し(ステップS3010)、方向変化演算を実施する(ステップS3012)。方向変化演算の結果、方向変化量が第2の範囲以上でない場合(ステップS3014/NO)、制御部140-1は、ステップS3010~ステップS3014の処理を繰り返す。方向変化演算の結果、方向変化量が第2の範囲以上である場合(ステップS3014/YES)、制御部140-1は、携帯端末10-1の向きが変化したと判定する。そして、制御部140-1は、方向変化を0でリセットし(ステップS3016)、ステップS1020におけるキャリブレーション処理を終了する。
 なお、方向変化量が第1の範囲以内でない場合(ステップS3000/NO)、制御部140-1は、移動時間または静止時間を0にし(ステップS3018)、方向変化を0にし(ステップS3020)、ステップS1020におけるキャリブレーション処理を終了する。
 また、移動時間または静止時間が所定の時間以上でない場合(ステップS3004/NO)、制御部140-1は、移動時間または静止時間に1を加算し(ステップS3022)、ステップS1020におけるキャリブレーション処理を終了する。
  (非移動処理)
 以下では、図19を参照しながら、サブフローチャートにおける非移動処理について説明する。図19は、本開示の第1の実施形態に係る非移動処理を示すフローチャートである。
 図19に示すように、まず、制御部140-1は、変数である静止時間を0にする(ステップS4000)。制御部140-1は、非静止時間が所定の時間以上であるか否かを確認する(ステップS4002)。非静止時間が所定の時間以上である場合(ステップS4002/YES)、制御部140-1は、キャリブレーションレベルを0にし(ステップS4004)、ステップS1028における非移動処理を終了する。
 なお、非静止時間が所定の時間以上でない場合(ステップS4002/NO)、制御部140-1は、非静止時間に1を加算し、(ステップS4006)、ステップS1028における非移動処理を終了する。
 以上、図16~図19を参照しながら、本開示の第1の実施形態に係る情報処理装置の動作例について説明した。
 以上、図1~図19を参照しながら、本開示の第1の実施形態について説明した。続いて、本開示の第2の実施形態について説明する。
 <1.3.第2の実施形態>
 上述した第1の実施形態では、慣性計測部120が計測する慣性データに基づき、運動成分が取得される例を説明したが、運動成分の取得方法はかかる例に限定されない。一例として、第2の実施形態では、携帯端末10の姿勢に関する情報である姿勢情報に基づき、運動成分が取得される例について説明する。なお、以下では、第1の実施形態と重複する点の説明を適宜省略する。
  <1.3.1.機能構成例>
 以下では、図20~図23を参照しながら、本開示の第2の実施形態に係る情報処理装置の機能構成例について説明する。図20は、本開示の第2の実施形態に係る情報処理装置の機能構成例を示すブロック図である。
 図20に示すように、本開示の第2の実施形態に係る携帯端末10-2は、姿勢情報取得部110、慣性計測部120、通信部130、制御部140-2、出力部150、及び記憶部160を備える。
  (1)姿勢情報取得部110
 姿勢情報取得部110は、携帯端末10-2の姿勢情報を取得する機能を有する。姿勢情報取得部110は、姿勢情報を取得可能な姿勢情報取得装置を備えている。一例として、姿勢情報取得装置は、撮像装置により実現され得る。姿勢情報取得部110は、撮像装置により携帯端末10-2の外部の環境を撮像された撮像画像を姿勢情報として取得する。なお、姿勢情報取得装置を実現する装置は、撮像装置に限定されない。例えば、姿勢情報取得装置は、LIDAR(Laser Imaging Detection and Ranging)等の測距装置により実現されてもよい。姿勢情報取得装置がLIDARである場合、姿勢情報取得部110は、例えば、LIDARが対象に対して発光したレーザ光の反射光を受光するまでの時間を姿勢情報として取得する。姿勢情報取得部110は、姿勢情報取得装置が取得した姿勢情報を制御部140-2へ出力する。
 なお、姿勢情報取得装置が取得する姿勢情報は、周囲の環境や移動体の運動状態の影響を受けるが、地球の自転の影響は受けない。そのため、姿勢情報取得装置は、自転成分を含まない姿勢情報を取得することができる。
  (2)慣性計測部120
 慣性計測部120の機能は、<1.2.1.機能構成例>にて説明した機能と同一であるため、本章での説明を省略する。なお、第2の実施形態では、慣性計測部120が備える加速度センサは、姿勢情報取得装置として機能してもよい。加速度センサが姿勢情報取得装置として機能する場合、加速度センサが計測する加速度に基づき算出される重力は、姿勢情報取得部110の姿勢情報取得装置が取得した姿勢情報として用いられてもよい。
  (3)通信部130
 通信部130の機能は、<1.2.1.機能構成例>にて説明した機能と同一であるため、本章での説明を省略する。
  (4)制御部140-2
 制御部140-2の機能は、一部機能が<1.2.1.機能構成例>にて説明した機能と異なる。上述した第1の実施形態の制御部140-1は、慣性データに基づき自転成分を取得した。これに対し、第2の実施形態の制御部140-2は、慣性データと姿勢情報とに基づき自転成分を取得する。
 例えば、制御部140-2は、慣性計測装置が計測する慣性データに基づき算出される移動体の移動に関する第1の移動情報と、姿勢情報取得装置が取得する姿勢情報に基づき取得される移動体の移動に関する第2の移動情報とを取得する。そして、制御部140-2は、取得した第1の移動情報と第2の移動情報とに基づき自転成分を取得する。以下では、一例として、第1の移動情報は、移動体の角速度に基づき算出される移動体の姿勢(以下、「第5の姿勢」とも称される)であり、第2の移動情報は、姿勢情報に基づき取得される移動体の姿勢(以下、「第6の姿勢」とも称される)であるものとする。なお、移動情報は、かかる例に限定されない。また、一例として、制御部140-2は、第5の姿勢と第6の姿勢との差分を算出し、当該差分を自転成分として取得するものとする。なお、自転成分の取得方法は、かかる例に限定されない。
 具体的に、制御部140-2は、慣性計測装置が計測する角速度を積分することで、携帯端末10-2の第5の姿勢を算出する。また、制御部140-2は、姿勢情報取得装置の撮像装置が取得した撮像画像に対して、VSLAM(Visual Simultaneous Localization and Mapping)の処理を実行し、携帯端末10-2の第6の姿勢を算出する。なお、制御部140-2は、第6の姿勢を算出する際に、慣性計測装置が計測する加速度に基づき重力を算出し、当該重力に基づき、地面方向を考慮した第6の姿勢を算出する。
 姿勢情報取得装置がLIDARである場合、制御部140-2は、LIDARが取得した時間に基づき、携帯端末10-2の第6の姿勢を算出してもよい。
 そして、制御部140-2は、第5の姿勢と第6の姿勢の差分を算出し、算出した差分を自転成分として取得する。
 ここで、図21~図23を参照しながら、第5の姿勢と第6の姿勢に基づく自転成分の算出から方位推定までの処理の詳細を説明する。
 (自転成分の算出)
 まず、図21を参照しながら、第5の姿勢と第6の姿勢に基づく自転成分の算出について説明する。図21は、本開示の第2の実施形態に係る自転成分の算出例を示す説明図である。図21に示すXdev、Ydev、Zdevの3軸からなるグラフの座標系は、姿勢情報取得装置における端末座標系を示している。
 図21の左図に示すRgyroは、第5の姿勢の姿勢行列である。Rgyroは慣性計測装置が計測する角速度に基づき算出されるため、Rgyroには自転成分が含まれ得る。図21の左図に示すRattは、第6の姿勢の姿勢行列である。Rattは姿勢情報取得装置が取得する姿勢情報に基づき算出されるため、Rattには自転成分が含まれない。
 図21の右図に示すRerは、自転成分の自転行列である。Rerは、RgyroとRattの差分でもある。制御部140-2は、例えば、以下の数式(3)によりRerを算出することで、自転成分を算出することができる。
Figure JPOXMLDOC01-appb-M000003
 (座標変換)
 次いで、図22を参照しながら、自転成分の座標変換について説明する。図22は、本開示の第2の実施形態に係る自転成分の座標変換例を示す説明図である。図22の右図に示すXg、Yg、Zgの3軸からなるグラフの座標系は、絶対座標系を示している。
 図22の左図に示すRerは、数式(3)により算出されたRerである。図22の左図に示すRattは、第6の姿勢の姿勢行列である。
 図22の右図に示すRer_gは、絶対座標系に変換された自転成分の自転行列である。制御部140-2は、例えば、以下の数式(4)によりRerをRattで座標変換することで、絶対座標系に変換された自転成分を算出することができる。
Figure JPOXMLDOC01-appb-M000004
 なお、絶対座標系における重力方向と対応する端末座標系における方向は、端末の姿勢によっては、必ずしも絶対座標系における重力方向と同じ方向を向いていない。そのため、制御部140-2は、絶対座標系における重力方向と対応する端末座標系における方向が、絶対座標系における重力方向と同じ方向を向くように、座標変換を行う。
 (方位推定)
 最後に、図23を参照しながら、方位推定について説明する。図23は、本開示の第2の実施形態に係る方位推定の例を示す説明図である。図23に示すXg、Yg、Zgの3軸からなるグラフの座標系は、絶対座標系を示している。
 絶対座標系に変換された自転成分から方位を推定するには、まず、制御部140-2は、Rer_gを回転ベクトルに変換する。次いで、制御部140-2は、変換した回転ベクトルを地平(Xg-Yg平面)へ射影する。回転ベクトルの地平への射影は、回転ベクトルのz成分を0にすればよい。例えば、地平に射影された回転ベクトルの地平射影成分は、以下の数式(5)のように示される。
Figure JPOXMLDOC01-appb-M000005
 当該地平射影成分が示す方向が北方向である。端末の絶対方位をdir、第5の姿勢の積分時間をΔtとすると、制御部140-2は、以下の数式(6)により、絶対方位dirを算出することができる。
Figure JPOXMLDOC01-appb-M000006
 絶対方位dirの算出後、制御部140-2は、RgyroにRattを代入することで、第5の姿勢を第6の姿勢と同一にする(以下、「同期」とも称される)。これにより、制御部140-2は、第5の姿勢に含まれる自転成分により生じる誤差を、自転成分により生じる誤差を含まない第6の姿勢によりリセットすることができる。
  (5)出力部150
 出力部150の機能は、<1.2.1.機能構成例>にて説明した機能と同一であるため、本章での説明を省略する。
  (6)記憶部160
 記憶部160の機能は、<1.2.1.機能構成例>にて説明した機能と同一であるため、本章での説明を省略する。
 以上、図20~図23を参照しながら、本開示の第2の実施形態に係る情報処理装置の機能構成例について説明した。続いて、本開示の第2の実施形態に係る情報処理装置の動作例について説明する。
  <1.3.2.動作例>
 第2の実施形態に係る動作例は、第1の実施形態に係る動作例と一部異なる。以下では、図24及び図25を参照しながら、本開示の第2の実施形態に係る情報処理装置の動作例について説明する。
 (メイン処理)
 まず、図24を参照しながら、第2の実施形態に係るメイン処理について説明する。図24は、本開示の第2の実施形態に係る情報処理装置の動作例を示すフローチャートである。図24に示すように、第2の実施形態に係るメイン処理は、加速度とジャイロのサンプリング後、制御部140-2が撮像画像のサンプリング(ステップS1013)を行う点が第1の実施形態に係るメイン処理と異なる。撮像画像のサンプリング以外の処理は、<1.2.2.動作例>にて説明したメイン処理と同様で有り得る。そのため、撮像画像のサンプリング以外の処理についての説明は省略する。
 (GNSS精度評価処理)
 第2の実施形態に係るGNSS精度評価処理は、<1.2.2.動作例>にて説明した第1の実施形態に係るGNSS精度評価処理と同様で有り得る。そのため、GNSS精度評価処理についての説明は省略する。
 (キャリブレーション処理)
 第2の実施形態に係るキャリブレーション処理は、<1.2.2.動作例>にて説明した第1の実施形態に係るキャリブレーション処理と同様で有り得る。そのため、キャリブレーション処理についての説明は省略する。
 (運動成分除去処理)
 ここで、図25を参照しながら、第2の実施形態に係る運動成分除去処理の詳細について説明する。図25は、本開示の第2の実施形態に係る運動成分除去処理を示すフローチャートである。第2の実施形態に係る運動成分除去処理は、図18に示すキャリブレーション処理のS3002で行われる処理である。第2の実施形態に係る運動成分除去処理では、図24に示すメイン処理のS1013にてサンプリングした撮像画像を用いた運動成分の除去が行われる。
 図25に示すように、まず、制御部140-2は、サンプリングしたジャイロに基づき、第5の姿勢を推定する(ステップS5002)。次いで、制御部140-2は、サンプリングした加速度に基づき、重力を推定する(ステップS5004)。次いで、制御部140-2は、サンプリングした撮像画像と推定した重力に基づき、第6の姿勢を推定する(ステップS5006)。次いで、制御部140-2は、推定した第5の姿勢と第6の姿勢に基づき、運動成分を除去する(ステップS5008)。運動成分の除去後、制御部140-2は、ジャイロに基づき推定された第5の姿勢を、撮像画像に基づき推定された第6の姿勢で同期する(ステップS5010)。
 (非移動処理)
 第2の実施形態に係る非移動処理は、<1.2.2.動作例>にて説明した第1の実施形態に係る非移動処理と同様で有り得る。そのため、非移動処理についての説明は省略する。
 以上、図24及び図25を参照しながら、本開示の第2の実施形態に係る情報処理装置の動作例について説明した。続いて、本開示の第2の実施形態に係る変形例について説明する。
  <1.3.3.変形例>
 以下では、図26及び図27を参照しながら、本開示の第2の実施形態に係る変形例について説明する。図26及び図27は、本開示の第2の実施形態に係る変形例を示す説明図である。図26は、第5の姿勢と第6の姿勢との相関を示している。図27は、運動成分除去処理のフローチャートを示している。本変形例では、姿勢情報取得装置が撮像装置であり、VSLAM等により第6の姿勢が算出されるものとする。
 上述の第2の実施形態では、制御部140-2は、姿勢情報取得装置が取得する姿勢情報を用いて運動成分除去処理を行う例について説明した。運動成分除去処理にて除去される運動成分は、地球の座標系に対する移動体の相対的な運動量である。そのため、姿勢情報取得装置が取得する姿勢情報は、地球の座標系に対する情報である必要がある。姿勢情報取得装置が撮像装置である場合、地球の座標系に対する情報は、例えば、地表面が写っている画像、地面に固定された建物が写っている撮像画像等である。
 しかしながら、移動する閉じた空間内(例えば他の移動体内)に移動体がいる場合、姿勢情報取得装置が取得する姿勢情報に地表面や地面に固定された建物等の地球に対応する情報が含まれない恐れがある。地球に対応する情報が含まれない場合、姿勢情報取得情報が取得する情報は、地球の座標系ではなく他の移動体の座標系に対する情報となり得る。そのため、移動体が他の移動体内にいる時に取得される姿勢情報を用いて運動成分除去処理が行われると、算出される運動成分に誤差が生じ得る。
 そこで、第2の実施形態に係る変形例では、制御部140-2は、移動する閉じた空間内に移動体がいるか否か、言い換えると、移動体が他の移動体で移動しているか否かに応じて、姿勢情報取得装置が取得する姿勢情報を用いるか否かを判定してもよい。以下では、一例として、他の移動体が移動する乗り物である例について説明する。乗り物は、例えば、電車、自動車、飛行機、船等である。
 移動体が乗り物で移動していない場合、姿勢情報取得装置が地表面または地面に固定された物体等の情報を取得することができるため、制御部140-2は、姿勢情報取得装置が取得する姿勢情報を用いると判定する。そして、制御部140-2は、姿勢情報取得装置が取得する姿勢情報を用いて運動成分除去処理を行う。かかる構成により、制御部140-2は、運動成分除去処理にて生じる誤差を軽減することができる。さらに、制御部140-2は、運動成分除去処理の結果に基づき推定される方位に含まれる方位誤差を軽減することもできる。
 一方、移動体が乗り物で移動している場合、姿勢情報取得装置が地表面または地面に固定された物体等の情報を取得することは困難であるため、制御部140-2は、姿勢情報取得装置が取得する姿勢情報を用いないと判定する。そして、姿勢情報取得装置が取得する姿勢情報を用いず、慣性計測装置が計測する慣性データを用いて運動成分除去処理を行う。かかる構成により、制御部140-2は、運動成分除去処理にて生じる誤差を軽減することができる。さらに、制御部140-2は、運動成分除去処理の結果に基づき推定される方位に含まれる方位誤差を軽減することもできる。
 移動体が乗り物で移動しているか否かは、慣性計測装置が計測する慣性データに基づき推定された第1の移動情報と、姿勢情報取得装置が取得する姿勢情報に基づき推定された第2の移動情報との相関に基づき、判定される。以下では、一例として、慣性データがジャイロであり、第1の移動情報が第5の姿勢であり、第2の移動情報が第6の姿勢であるものとする。第5の姿勢と第6の姿勢は、図26のグラフに示すように、時間経過とともに変化し得る。
 移動体が乗り物で移動していない場合、第6の姿勢は、地球の座標系に対する移動体の相対的な運動量に基づき推定される。そのため、第5の姿勢と第6の姿勢との相関は、時間が経過しても高く保たれ得る。例えば、図26の左図に示すように、第5の姿勢と第6の姿勢の相関は、時間が経過しても高く保たれる。
 一方、移動体が乗り物で移動している場合、第6の姿勢は、移動する乗り物内の座標系に対する移動体の相対的な運動量に基づき推定される。そのため、第5の姿勢と第6の姿勢との相関は、時間の経過とともに低くなり得る。例えば、図26の右図に示すように、第5の姿勢と第6の姿勢との相関は、時間の経過とともに低くなる。
 そこで、制御部140-2は、第5の姿勢と第6の姿勢との相関が所定の閾値よりも高いか否かに基づき、移動体が乗り物で移動しているか否かを判定する。
 第5の姿勢と第6の姿勢との相関が所定の閾値よりも高い場合、制御部140-2は、移動体が乗り物で移動していないと判定する。そして、移動体が乗り物で移動していないと判定された場合、制御部140-2は、姿勢情報取得装置により取得される姿勢情報を用いて、運動成分を取得する。かかる構成により、制御部140-2は、運動成分除去処理にて生じる誤差を軽減することができる。さらに、制御部140-2は、運動成分除去処理の結果に基づき推定される方位に含まれる方位誤差を軽減することもできる。
 よって、第5の姿勢と第6の姿勢との相関が所定の閾値よりも低い場合、制御部140-2は、移動体が乗り物で移動していると判定する。そして、移動体が乗り物で移動していると判定された場合、制御部140-2は、姿勢情報取得装置により取得される姿勢情報に代えて移動体の第3の姿勢と第4の姿勢に基づき、自転成分を取得する。かかる構成により、制御部140-2は、運動成分除去処理にて生じる誤差を軽減することができる。さらに、制御部140-2は、運動成分除去処理の結果に基づき推定される方位に含まれる方位誤差を軽減することもできる。また、移動体が乗り物で移動していると判定された場合、制御部140-2は、探北処理を停止してもよい。
 なお、本変形例では、移動体が乗り物で移動しているか否かの判定を行うため、運動成分除去処理におけるフローが、図25に示したフローと一部異なる。図27に示すように、本変形例に係る運動成分除去処理では、まず、制御部140-2は、移動体が乗り物で移動しているか否かを判定する(ステップS5000)。移動体が乗り物で移動していないと判定した場合(ステップS5000/NO)、制御部140-2は、図25に示した例と同様に、ステップS5002~ステップS5010の処理を行う。一方、移動体が乗り物で移動していると判定した場合(ステップS5000/YES)、制御部140-2は、サンプリングした慣性データに基づき、移動体の姿勢を推定する(ステップS5012)。そして、制御部140-2は、推定した姿勢に基づき、運動成分を除去する(ステップS5014)。
 なお、加速度センサが姿勢情報取得装置として機能する際に計測する加速度に基づき算出される重力は、移動体が移動する閉じた空間にいるか否かの影響を受けない。そのため、制御部140-2は、移動体が乗り物内の空間にいる、即ち、移動体が乗り物で移動している場合であっても、重力を用いて運動成分の取得を行ってもよい。
 以上、図20~図27を参照しながら、本開示の第2の実施形態について説明した。続いて、本開示の実施形態に係る変形例について説明する。
<<2.変形例>>
 以下では、本開示の実施形態の変形例を説明する。なお、以下に説明する変形例は、単独で本開示の実施形態に適用されてもよいし、組み合わせで本開示の実施形態に適用されてもよい。また、変形例は、本開示の実施形態で説明した構成に代えて適用されてもよいし、本開示の実施形態で説明した構成に対して追加的に適用されてもよい。
 (1)第1の変形例
 以下では、図28、図29を参照しながら、本開示の実施形態に係る第1の変形例について説明する。図28は、本開示の実施形態に係るユーザが歩行している際の第1の変形例を示す説明図である。図29は、本開示の実施形態に係るユーザが電車で移動している際の第1の変形例を示す説明図である。
 上述の実施形態では、ユーザが自ら移動または静止している方向を変更することで、慣性計測部120が異なる2方向における角速度を計測する例を説明した。第1の変形例では、携帯端末10の内部に慣性計測部120を回転させる回転機構を設け、当該回転機構が回転することで、慣性計測部120の向きが自動で変更される例について説明する。なお、以下では、回転機構の動作は、制御部140により制御されるものとする。
 図28に示すように、ユーザ20が直進している場合、例えば、ユーザ20が位置1から位置2まで移動した際に、制御部140は、回転機構を回転させる。これにより、慣性計測部120の向きが自動で変更されるため、ユーザ20は、移動する方向、または携帯端末10の向きを変更する必要がない。また、慣性計測部120は、ユーザが任意の1方向に移動したままの状態で、異なる2方向における角速度を計測することができる。
 この回転機構は、特に、移動体の方向変化量が少ない状況において有効である。例えば、ユーザが電車のような方向変化量が少ない乗り物に乗っており、移動体の向きが変化しづらい状況において有効である。図29に示すように、ユーザ20が電車24に乗って移動している場合、電車24が位置1から位置2まで移動した際に、制御部140は、回転機構を回転させる。これにより、慣性計測部120の向きが自動で変更されるため、ユーザ20は、ユーザ20自身の向き、または携帯端末10の向きを変更する必要がない。また、慣性計測部120は、ユーザ20が任意の1方向に移動したままの状態で、異なる2方向における角速度を取得することができる。
 上述のように、慣性計測部120は、回転機構により自動で回転されることで、ユーザが移動の方向を変更することなく、異なる2方向における角速度を計測することができる。
 (2)第2の変形例
 以下では、図30を参照しながら、本開示の実施形態に係る第2の変形例について説明する。図30は、本開示の実施形態に係る第2の変形例を示す説明図である。なお、図30の左側に示す図は、補正機構がない慣性計測装置を示す図であり、右側に示す図は、補正機構がある慣性計測装置を示す図である。
 上述の実施形態では、慣性計測部120が図30の左側の図に示す補正機構がない慣性計測装置122Aのみを用いる例を説明した。第2の変形例では、慣性計測部120が図30の右側の図に示す補正機構がある慣性計測装置122Bも用いる例について説明する。
 上述の実施形態で説明したように、移動体の姿勢は、加速度の平均によって算出される重力ベクトルから求めることが可能である。しかし、慣性計測装置122が計測する角速度に、当該加速度によるノイズが含まれ、移動体の姿勢に誤差が生じてしまう。その結果、制御部140による方位の検出の精度が低下する。そこで、図30の右側の図に示す慣性計測装置122Bのように、弾性体による補正機構を介してセンサ124を慣性計測装置122Bに備えることで、角速度に含まれる加速度によるノイズが低減される。
 上述のように、制御部140は、慣性計測装置122の補正機構により角速度に含まれるノイズが低減されることで、移動体の移動中における方位の検出をより高精度に行うことができる。
 (3)第3の変形例
 以下では、図31を参照しながら、本開示の実施形態に係る第3の変形例について説明する。図31は、本開示の実施形態に係る第3の変形例を示す説明図である。
 上述の実施形態では、情報処理装置として携帯端末10が用いられる場合の方位表示の例について説明した。第3の変形例では、情報処理装置としてカーナビゲーション装置14が用いられる場合の方位表示の例について説明する。
 図31に示す位置1は、カーナビゲーション装置14が搭載された車22の移動開始位置である。位置1において、車22は、停止した状態である。また、制御部140は、方位の検出処理をまだ実行していない状態とする。そのため、運転手がナビゲーション機能を利用できない状態であるため、制御部140は、カーナビゲーション装置14に方位を示す矢印をグレーアウトで表示させる。この時、制御部140は、運転手がナビゲーション機能を利用可能な状態とするために、運転手に車22を走行させるように指示する旨の表示をカーナビゲーション装置14に表示させてもよい。
 車22が位置2まで移動すると、制御部140は、1方向目における角速度を取得できる。位置2では、制御部140は、まだ方位の検出処理を実行できない状態である。そのため、まだ、運転手がナビゲーション機能を利用できない状態であるため、制御部140は、カーナビゲーション装置14に方位を示す矢印をグレーアウトで表示させる。この時、制御部140は、運転手に現在とは異なる方向に車22を走行させることで、ナビゲーション機能が利用可能になる旨の表示をカーナビゲーション装置14に表示させてもよい。
 車22が位置3まで移動すると、制御部140は、1方向目とは異なる2方向目における角速度を取得でき、方位の検出処理を実行できる。方位の検出処理の実行後、制御部140は、方位を示す矢印の色を変えることで、運転手がナビゲーション機能を利用できる状態になったことを示す。
 (4)第4の変形例
 以下では、図32を参照しながら、本開示の実施形態に係る第4の変形例について説明する。図32は、本開示の実施形態に係る第4の変形例を示す説明図である。
 上述の実施形態では、北方向の推定に用いられる2つの角速度が、いずれも携帯端末10が移動している間に計測された角速度である例について説明した。第4の変形例では、北方向の推定に用いられる2つの角速度の一方が、携帯端末10が静止している間に計測された角速度である例について説明する。
 図32に示すように、例えば、携帯端末10は、机28の上に置かれ、静止状態であるとする。この時、慣性計測部120が静止状態における携帯端末10の角速度を取得することで、制御部140は、当該角速度を1方向目における角速度として取得できる。静止状態における角速度の取得後、ユーザが携帯端末10を取って移動したとする。この時、携帯端末10の向きが変化している場合、制御部140は、角速度を取得することで、1方向目とは異なる2方向目における角速度を取得することができる。そして、制御部140は、取得した異なる方向における2つの角速度に基づき、北方向を推定することができる。
 上述のように、制御部140は、携帯端末10が静止している間に計測される角速度と、携帯端末10が移動している間に計測される角速度に基づき、北方向を推定することができる。
 (5)第5の変形例
 以下では、図33を参照しながら、本開示の実施形態に係る第5の変形例について説明する。図33は、本開示の実施形態に係るジャイロコンパスによる補正を行う場合の第5の変形例を示す説明図である。図34は、本開示の実施形態に係るジャイロコンパスによる補正を行わない場合の第5の変形例を示す説明図である。
 上述の実施形態では、GNSS精度が低い場合、携帯端末10は、GNSSから取得される方位に基づき検出されるユーザの位置を提示するナビゲーションから、ジャイロコンパスにより検出される方位を提示するナビゲーションに切り替える例を説明した。第5の変形例では、GNSSから取得される方位の精度が低下し、当該方位に基づき検出されるユーザの位置に誤差が生じた際に、ジャイロコンパスにより検出される方位に基づき、GNSSから取得される方位を補正する例について説明する。
 図33に示す例では、屋外ではGNSSから取得される方位に基づき検出されるユーザの位置(以下では、GNSSのユーザ位置とも称される)を提示するナビゲーションが用いられている。また、屋内では歩行者自立航法(PDR:Pedestrian Dead Reckoning)により検出されるユーザの位置(以下では、PDRのユーザ位置とも称される)を提示するナビゲーションが用いられている。また、ユーザは、位置1から、位置2、位置3A、及び位置4Aを通り、目的地まで移動する。また、ユーザが位置1から目的地まで移動した場合の軌跡は、真の軌跡として実線で示されている。また、GNSSのユーザ位置が移動した際の軌跡(以下では、GNSSの軌跡とも称される)は、破線で示されている。また、PDRのユーザ位置が移動した際の軌跡(以下では、PDRの軌跡とも称される)は、一点鎖線で示されている。
 位置1は、1つ目の方向におけるキャリブレーション処理が完了した位置であり、ユーザが2つ目の方向に移動を開始する位置である。そのため、位置1は、2つ目の方向におけるキャリブレーション処理が開始される位置でもある。
 位置2は、ビル街であるため、GNSS26により提示される方位の精度が低下する。そのため、位置2は、GNSSのユーザ位置に誤差が生じ、ユーザの移動に伴い、GNSSのユーザ位置が移動する方向にずれが生じ始める位置でもある。よって、位置2より先にてGNSSの軌跡は、真の軌跡と比較してずれが生じていく。また、ユーザが位置2まで移動すると、ジャイロコンパスは、GNSS26の精度が低下したことを検出する。この時、携帯端末10は、北方向の推定処理が完了していない旨を示す色で、北方向を示すオブジェクトである矢印を出力部150に表示する。
 位置3Aは、屋内であり、2つ目の方向におけるキャリブレーション処理が完了する位置である。ユーザは、位置2から位置3Aまで移動する途中で、屋外から屋内に入っている。そのため、ナビゲーションは、ユーザが屋外から屋内に入るタイミングでGNSSによるナビゲーションからPDRによるナビゲーションに切り替わっている。なお、PDRによるナビゲーションは、GNSS26から取得する基準位置に基づき、ナビゲーションを開始する。しかし、GNSS26から取得する基準位置にも誤差が含まれるため、PDRのユーザ位置も、GNSSのユーザ位置と同様に誤差が含まれる。そのため、ユーザが位置3Aまで移動した際にPDRのユーザ位置は、位置3Bとなる。また、各ナビゲーションにより提示されるユーザ位置が移動した際の軌跡は、位置2と位置3Aを結んだ線ではなく、位置2と位置3Bを結んだ線となる。
 上述のように、ユーザが位置3Aまで移動した際のPDRのユーザ位置は、位置3Bであり、実際の位置とずれが生じている。このまま、ユーザが移動を続けると、当該誤差はより大きくなってしまう。しかし、位置3Bでは、ジャイロコンパスによる正確な方位の検出が完了しているため、当該方位を用いて、PDRのユーザ位置が移動する方向を補正し、改善することができる。
 PDRのユーザ位置の移動方向の補正後、ユーザが位置3Aから位置4Aに移動すると、PDRのユーザ位置は、位置4Bとなる。PDRのユーザ位置は、実際のユーザの位置とはずれている。しかし、位置3Bから位置4Bまでの軌跡が示すように、PDRのユーザ位置が移動した方向は、ユーザが実際に移動した方向と一致している。ユーザが位置4Aから目的地まで移動した場合も同様である。
 上述のように、GNSSから取得される方位の精度が低下した際に、当該方位をジャイロコンパスが検出する方位で補正することで、GNSSから取得される方位に基づき検出されるPDRのユーザ位置が移動する方向を補正することができる。これにより、GNSSから取得する方位の精度が低下し、PDRのユーザ位置に誤差が生じても、ユーザに対して目的地までの正しい移動方向を提示することができる。
 なお、図34に示す例は、GNSSから取得される方位の精度が良い場合、ジャイロコンパスにより検出される方位に基づく補正、及びジャイロコンパスによるナビゲーションを行わず、GNSSとPDRによるナビゲーションを継続してもよい例を示している。
 図34の位置1は、図33に示した例と同様に、1つ目の方向におけるキャリブレーション処理が完了した位置であり、ユーザが2つ目の方向に移動を開始する位置である。そのため、位置1は、2つ目の方向におけるキャリブレーション処理が開始される位置でもある。
 図34の位置2は、住宅街であるため、GNSS26により提示される方位の精度は一定以上の精度を保っている。そのため、図34に示す例では、GNSSのユーザ位置に誤差が生じず、ユーザの移動に伴い、GNSSのユーザ位置が移動する方向にもずれが生じない。よって、位置2より先にてGNSSの軌跡は、真の軌跡と比較してずれが生じていない。また、ユーザが位置2まで移動すると、ジャイロコンパスは、GNSS26の精度が一定以上の精度を保っていることを検出する。そのため、位置2より先では、ジャイロコンパスを用いなくてもよいため、携帯端末10は、北方向を示すオブジェクトを出力部150に表示しない。
 GNSSによる精度が一定以上を保っているため、ユーザが屋外から屋内に移動し、
GNSSによるナビゲーションからPDRによるナビゲーションに切り替わっても、PDRのユーザ位置誤差が生じない。そのため、ユーザが位置3まで移動した時のPDRのユーザ位置は、ユーザの実際の位置と同じ位置3である。また、各ナビゲーションにより提示されるユーザ位置が移動した際の軌跡は、真の軌跡とほぼ同一である。ユーザが位置3から位置4を経由して目的地まで移動した時も同様である。
 (6)第6の変形例
 以下では、図35及び図36を参照しながら、本開示の実施形態に係る第6の変形例について説明する。図35及び図36は、本開示の実施形態に係る第6の変形例を示す説明図である。図35に示すフローチャートは、上述の実施形態に係るメイン処理に対して、所定の条件の判定に関する処理が行われるタイミングが追加されたフローチャートである。図36は、所定の条件の判定を含む処理を示すフローチャートである。
 上述の実施形態では、移動体が移動している時の方向を少なくとも含む異なる2方向において計測される2つの情報に基づき、探北処理が行われる例について説明した。所定の条件が満たされる時、1方向において計測される1つの情報に基づき、探北処理が行われてもよい。
 所定の条件とは、例えば、バイアスにより生じる方位誤差を許容できるか否かである。許容できる場合、制御部140は、バイアスの除去処理を行う必要がないため、1方向において計測される1つの情報に基づき、探北処理を行うことができる。一方、バイアスにより生じる方位誤差を許容できない場合、制御部140は、バイアスの除去処理を行う必要があるため、異なる2方向において計測される2つの情報に基づき、バイアスの除去処理を行った上で探北処理を行う。
 バイアスにより生じる方位誤差を許容できるか否かの判定は、例えば、前回バイアス推定時からの経過時間が所定の時間内であるか否かにより判定される。一例として、所定の時間は、1時間である。なお、所定の時間は、かかる例に限定されない。前回バイアス推定時からの経過時間が所定の時間内である場合、制御部140は、1方向において計測される1つの情報に基づき、探北処理を行ってもよい。
 また、バイアスにより生じる方位誤差を許容できるか否かの判定は、例えば、ジャイロセンサのワースト性能が担保されているか否かにより判定されてもよい。ジャイロセンサのワースト性能が担保されているか否かは、例えば、方位誤差がatan(バイアス/自転(15dph))で規定される場合に、方位誤差が許容値となるバイアス値が製品の出荷後にずっと維持されているか否かである。一例として、方位誤差の許容値が1度である場合、方位誤差が許容値となるバイアス値は約0.2dphである。ジャイロセンサのワースト性能が担保されている場合、制御部140は、1方向において計測される1つの情報に基づき、探北処理を行ってもよい。
 ここで、図35及び図36を参照しながら、所定の条件の判定を含む処理について説明する。図35及び図36に示すように、GNSS精度が所定の精度以下、かつキャリブレーションレベルが2以上でない場合(ステップS1004/NO)、図36に示す所定の条件の判定に関する処理が行われる。なお、図35及び図36に示す処理では、バイアスにより生じる方位誤差を許容できるか否かの判定は、前回バイアス推定時からの経過時間が1時間未満であるか否かにより行われるものとする。また、慣性計測装置による慣性データのサンプリング間隔は、0.01秒であるものとする。
 所定の条件を含む処理において、制御部140は、まず、経過時間にサンプリング間隔である0.01秒を加算する(ステップS1030)。次いで、制御部140は、1方向の自転成分の推定が完了しているか否かを確認する(ステップS1032)。
1方向の自転成分の推定が完了している場合(ステップS1032/YES)、制御部140は、経過時間が1時間未満であるか否かを確認する(ステップS1034)。経過時間が1時間未満である場合(ステップS1034/YES)、制御部140は、1方向の自転成分に基づく北方向の推定処理を行う(ステップS1036)。北方向の推定処理後、制御部140は、北方向の推定処理で算出した方位を出力部150に出力させる(ステップS1010)。
 1方向の自転成分の推定が完了していない場合(ステップS1032/NO)、制御部140は、北方向の推定処理を行うことなく加速度とジャイロのサンプリングを行う(ステップS1012)。
 経過時間が1時間未満でない場合(ステップS1034/NO)、制御部140は、北方向の推定処理を行うことなく加速度とジャイロのサンプリングを行う(ステップS1012)。
 上述のステップS1030~ステップS1036以外の処理は、<1.2.2.動作例>にて説明したメイン処理と同様で有り得る。そのため、ステップS1030~ステップS1036以外の処理についての説明は省略する。
 なお、経過時間は、1方向のキャリブレーション処理が完了したタイミングで0秒にリセットされ得る。例えば、制御部140は、図18に示すキャリブレーション処理のフローチャートにおけるステップS3004とステップS3006との間で、経過時間を0秒にリセットする。
 (7)第7の変形例
 以下では、図37を参照しながら、本開示の実施形態に係る第7の変形例について説明する。図37は、本開示の実施形態に係る第7の変形例を示す説明図である。
 上述の実施形態では、ユーザが自ら移動または静止している方向を変更することで、慣性計測部120が異なる2方向における角速度を計測する例を説明した。第7の変形例では、携帯端末10の内部に設けられた偏心モータを駆動して携帯端末10の姿勢を変化させることで、慣性計測部120の向きが自動で変更される例について説明する。なお、以下では、偏心モータの動作は、制御部140により制御されるものとする。
 図37に示すように、ユーザ20は、携帯端末10を使用しながら位置1から位置2まで移動し、位置2で静止して携帯端末10の使用をやめたとする。この時、制御部140は、偏心モータを駆動させて携帯端末10の姿勢を変化させる。携帯端末10の姿勢の変化後、ユーザ20が携帯端末10の使用と移動を再開すると、慣性計測部120は、2方向目の角速度を計測することができる。
 かかる構成により、慣性計測部120の向きが自動で変更されるため、ユーザ20は、移動する方向、または携帯端末10の向きを意図的に変更する必要がない。また、慣性計測部120は、ユーザが任意の1方向に移動したままの状態で、異なる2方向における角速度を計測することができる。
 上述のように、慣性計測部120は、回転機構により自動で回転されることで、ユーザが移動の方向を変更することなく、異なる2方向における角速度を計測することができる。
 以上、図28~図37を参照しながら、本開示の実施形態に係る変形例について説明した。続いて、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。
<<3.ハードウェア構成例>>
 以下では、図38を参照しながら、本開示の実施形態に係る情報処理装置のハードウェア構成例について説明する。図38は、本開示の実施形態に係る携帯端末10のハードウェア構成例を示すブロック図である。図38に示すように、携帯端末10は、例えば、CPU101、ROM103、RAM105、入力装置107、表示装置109、音声出力装置111、ストレージ装置113、及び通信装置115を有する。なお、ここで示すハードウェア構成は一例であり、構成要素の一部が省略されてもよい。また、ハードウェア構成は、ここで示される構成要素以外の構成要素をさらに含んでもよい。
 (CPU101、ROM103、RAM105)
 CPU101は、例えば、演算処理装置又は制御装置として機能し、ROM103、RAM105、又はストレージ装置113に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM103は、CPU101に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM105には、例えば、CPU101に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。これらはCPUバスなどから構成されるホストバスにより相互に接続されている。CPU101、ROM103およびRAM105は、例えば、ソフトウェアとの協働により、図5及び図20を参照して説明した制御部140の機能を実現し得る。
 (入力装置107)
 入力装置107には、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力装置107としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。また、入力装置107には、マイクロフォンなどの音声入力装置が含まれる。
 (表示装置109、音声出力装置111)
 表示装置109は、例えば、CRT(Cathode Ray Tube)ディスプレイ装置、液晶ディスプレイ(LCD)装置などの表示装置を含む。また、表示装置109は、プロジェクタ装置、OLED(Organic Light Emitting Diode)装置およびランプなどの表示装置を含む。また、音声出力装置111は、スピーカおよびヘッドホンなどの音声出力装置を含む。表示装置109、及び音声出力装置111は、例えば、図5及び図20を参照して説明した出力部150の機能を実現し得る。
 (ストレージ装置113)
 ストレージ装置113は、各種のデータを格納するための装置である。ストレージ装置113としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。ストレージ装置113は、例えば、図5及び図20を参照して説明した記憶部160の機能を実現し得る。
 (通信装置115)
 通信装置115は、ネットワークに接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB(Wireless USB)用の通信カード、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、又は各種通信用のモデム等である。
 以上、図38を参照しながら、本開示の実施形態に係る情報処理装置のハードウェア構成例について説明した。
<<4.まとめ>>
 以上説明したように、本開示の実施形態に係る情報処理装置は、慣性計測装置が計測する移動体に関する移動体情報の内、移動体が移動している時の方向を少なくとも含む異なる2方向において計測される2つの移動体情報に基づき、探北処理を行う。
 情報処理装置は、移動体が移動している時の方向を少なくとも含む異なる2方向において計測される2つの移動体情報に基づき、移動体の移動により生じる誤差を除去した上で、移動体の移動中に探北処理を行うことができる。
 よって、移動体の移動中における方位の検出をより高精度に行うことが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提供することが可能である。
 以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
 また、本明細書において説明した各装置による一連の処理は、ソフトウェア、ハードウェア、及びソフトウェアとハードウェアとの組合せのいずれを用いて実現されてもよい。ソフトウェアを構成するプログラムは、例えば、各装置の内部又は外部に設けられる記録媒体(非一時的な媒体:non-transitory media)に予め格納される。そして、各プログラムは、例えば、コンピュータによる実行時にRAMに読み込まれ、CPUなどのプロセッサにより実行される。
 また、本明細書においてフローチャート及びシーケンス図を用いて説明した処理は、必ずしも図示された順序で実行されなくてもよい。いくつかの処理ステップは、並列的に実行されてもよい。また、追加的な処理ステップが採用されてもよく、一部の処理ステップが省略されてもよい。
 また、本明細書に記載された効果は、あくまで説明的または例示的なものであって限定的ではない。つまり、本開示に係る技術は、上記の効果とともに、または上記の効果に代えて、本明細書の記載から当業者には明らかな他の効果を奏しうる。
 なお、以下のような構成も本開示の技術的範囲に属する。
(1)
 移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行う制御部、
を備え、
 前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なり、
 前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測される、情報処理装置。
(2)
 前記制御部は、前記移動体情報から、移動による前記移動体の姿勢の変化量を示す運動成分を除去して得られる自転成分に基づき、北方向を推定する、前記(1)に記載の情報処理装置。
(3)
 前記制御部は、前記慣性計測装置が計測する前記移動体の角速度に基づき算出される前記移動体の第1の姿勢を取得し、前記移動体の移動速度をリファレンスとして前記第1の姿勢を補正することで得られる前記移動体の第2の姿勢に基づき算出される角速度を前記運動成分として取得する、前記(2)に記載の情報処理装置。
(4)
 前記制御部は、前記慣性計測装置が計測する前記移動体の角速度に基づき算出される前記移動体の第3の姿勢と、前記移動体の加速度に基づき算出される前記移動体の第4の姿勢を取得し、前記第3の姿勢と前記第4の姿勢との差分に基づき算出される角速度を前記自転成分として取得する、前記(2)に記載の情報処理装置。
(5)
 前記制御部は、前記慣性計測装置が計測する前記移動体情報に基づき算出される前記移動体の移動に関する第1の移動情報と、姿勢情報取得装置が取得する前記移動体情報に基づき取得される前記移動体の移動に関する第2の移動情報とを取得し、前記第1の移動情報と前記第2の移動情報とに基づき前記自転成分を取得する、前記(2)に記載の情報処理装置。
(6)
 前記移動体が他の移動体で移動していると判定された場合、
 前記制御部は、前記姿勢情報取得装置により取得される前記移動体情報に代えて前記移動体の第3の姿勢と第4の姿勢に基づき前記自転成分を取得、または前記探北処理を停止する、前記(5)に記載の情報処理装置。
(7)
 前記第1の移動情報と前記第2の移動情報との相関が所定の閾値よりも低い場合、
 前記制御部は、前記移動体が前記他の移動体で移動していると判定する、前記(6)に記載の情報処理装置。
(8)
 前記制御部は、前記少なくとも2つの移動体情報に基づき、前記自転成分から、前記慣性計測装置のバイアスをさらに除去して得られる自転成分に基づき、北方向を推定する、前記(2)~(7)のいずれか一項に記載の情報処理装置。
(9)
 前記制御部は、前記慣性計測装置により計測された際の前記移動体の向きが異なり、前記運動成分が除去された少なくとも2つの前記移動体情報と、前記移動体の位置における緯度に基づき、前記バイアスを取得する、前記(8)に記載の情報処理装置。
(10)
 前記移動体情報は、前記移動体が所定の時間、所定の範囲内の方向に移動又は静止している際に前記慣性計測装置に計測される、前記(1)~(9)のいずれか一項に記載の情報処理装置。
(11)
 前記移動体情報は、前記所定の時間内に計測された複数の移動体情報に対する統計処理に基づき算出される、前記(10)に記載の情報処理装置。
(12)
 前記2つの移動体情報の一方は、前記移動体が静止している際に計測される前記移動体情報である、前記(1)~(11)のいずれか一項に記載の情報処理装置。
(13)
 前記制御部は、所定の角度以上異なる2つの前記向きの各々において、前記移動体が所定の時間、移動又は静止している際の前記移動体情報が計測されると、前記探北処理を開始する、前記(2)~(12)のいずれか一項に記載の情報処理装置。
(14)
 前記制御部は、前記移動体情報の各々の差分の総和が所定の閾値以上である場合、前記探北処理を開始する、前記(13)に記載の情報処理装置。
(15)
 前記制御部は、推定した北方向を示す方位情報を出力装置に出力させる、前記(2)~(14)のいずれか一項に記載の情報処理装置。
(16)
 前記制御部は、前記少なくとも2つの移動体情報を用いた前記探北処理が完了したか否かに応じて、異なる前記方位情報を前記出力装置に出力させる、前記(15)に記載の情報処理装置。
(17)
 前記制御部は、前記移動体の向きの変更に関するユーザに対する指示を出力装置に出力させる、前記(2)~(16)のいずれか一項に記載の情報処理装置。
(18)
 前記制御部は、前記少なくとも2つの移動体情報の内、1つ目の移動体情報が取得されたら、前記指示を前記出力装置に出力させる、前記(17)に記載の情報処理装置。
(19)
 移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行うことと、
 前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なることと、
 前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測されることと、
を含む、プロセッサにより実行される情報処理方法。
(20)
 コンピュータを、
 移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行う制御部、
として機能させ、
 前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なり、
 前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測される、プログラム。
 10  携帯端末
 110 姿勢情報取得部
 120 慣性計測部
 130 通信部
 140 制御部
 150 出力部
 160 記憶部

Claims (20)

  1.  移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行う制御部、
    を備え、
     前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なり、
     前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測される、情報処理装置。
  2.  前記制御部は、前記移動体情報から、移動による前記移動体の姿勢の変化量を示す運動成分を除去して得られる自転成分に基づき、北方向を推定する、請求項1に記載の情報処理装置。
  3.  前記制御部は、前記慣性計測装置が計測する前記移動体の角速度に基づき算出される前記移動体の第1の姿勢を取得し、前記移動体の移動速度をリファレンスとして前記第1の姿勢を補正することで得られる前記移動体の第2の姿勢に基づき算出される角速度を前記運動成分として取得する、請求項2に記載の情報処理装置。
  4.  前記制御部は、前記慣性計測装置が計測する前記移動体の角速度に基づき算出される前記移動体の第3の姿勢と、前記移動体の加速度に基づき算出される前記移動体の第4の姿勢を取得し、前記第3の姿勢と前記第4の姿勢との差分に基づき算出される角速度を前記自転成分として取得する、請求項2に記載の情報処理装置。
  5.  前記制御部は、前記慣性計測装置が計測する前記移動体情報に基づき算出される前記移動体の移動に関する第1の移動情報と、姿勢情報取得装置が取得する前記移動体情報に基づき取得される前記移動体の移動に関する第2の移動情報とを取得し、前記第1の移動情報と前記第2の移動情報とに基づき前記自転成分を取得する、請求項2に記載の情報処理装置。
  6.  前記移動体が他の移動体で移動していると判定された場合、
     前記制御部は、前記姿勢情報取得装置により取得される前記移動体情報に代えて前記移動体の第3の姿勢と第4の姿勢に基づき前記自転成分を取得、または前記探北処理を停止する、請求項5に記載の情報処理装置。
  7.  前記第1の移動情報と前記第2の移動情報との相関が所定の閾値よりも低い場合、
     前記制御部は、前記移動体が前記他の移動体で移動していると判定する、請求項6に記載の情報処理装置。
  8.  前記制御部は、前記少なくとも2つの移動体情報に基づき、前記自転成分から、前記慣性計測装置のバイアスをさらに除去して得られる自転成分に基づき、北方向を推定する、請求項2に記載の情報処理装置。
  9.  前記制御部は、前記慣性計測装置により計測された際の前記移動体の向きが異なり、前記運動成分が除去された少なくとも2つの前記移動体情報と、前記移動体の位置における緯度に基づき、前記バイアスを取得する、請求項8に記載の情報処理装置。
  10.  前記移動体情報は、前記移動体が所定の時間、所定の範囲内の方向に移動又は静止している際に前記慣性計測装置に計測される、請求項1に記載の情報処理装置。
  11.  前記移動体情報は、前記所定の時間内に計測された複数の移動体情報に対する統計処理に基づき算出される、請求項10に記載の情報処理装置。
  12.  前記2つの移動体情報の一方は、前記移動体が静止している際に計測される前記移動体情報である、請求項1に記載の情報処理装置。
  13.  前記制御部は、所定の角度以上異なる2つの前記向きの各々において、前記移動体が所定の時間、移動又は静止している際の前記移動体情報が計測されると、前記探北処理を開始する、請求項2に記載の情報処理装置。
  14.  前記制御部は、前記移動体情報の各々の差分の総和が所定の閾値以上である場合、前記探北処理を開始する、請求項13に記載の情報処理装置。
  15.  前記制御部は、推定した北方向を示す方位情報を出力装置に出力させる、請求項2に記載の情報処理装置。
  16.  前記制御部は、前記少なくとも2つの移動体情報を用いた前記探北処理が完了したか否かに応じて、異なる前記方位情報を前記出力装置に出力させる、請求項15に記載の情報処理装置。
  17.  前記制御部は、前記移動体の向きの変更に関するユーザに対する指示を出力装置に出力させる、請求項2に記載の情報処理装置。
  18.  前記制御部は、前記少なくとも2つの移動体情報の内、1つ目の移動体情報が取得されたら、前記指示を前記出力装置に出力させる、請求項17に記載の情報処理装置。
  19.  移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行うことと、
     前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なることと、
     前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測されることと、
    を含む、プロセッサにより実行される情報処理方法。
  20.  コンピュータを、
     移動体に関する移動体情報の内、少なくとも2つの移動体情報に基づき、探北処理を行う制御部、
    として機能させ、
     前記少なくとも2つの移動体情報の各々が慣性計測装置により計測された際の前記移動体の向きは互いに異なり、
     前記慣性計測装置により計測された前記少なくとも2つの移動体情報の少なくとも一方は、前記移動体が移動している間に計測される、プログラム。
PCT/JP2019/016337 2018-05-09 2019-04-16 情報処理装置、情報処理方法、及びプログラム WO2019216132A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018090917A JP2019196976A (ja) 2018-05-09 2018-05-09 情報処理装置、情報処理方法、及びプログラム
JP2018-090917 2018-05-09

Publications (1)

Publication Number Publication Date
WO2019216132A1 true WO2019216132A1 (ja) 2019-11-14

Family

ID=68467131

Family Applications (2)

Application Number Title Priority Date Filing Date
PCT/JP2019/016337 WO2019216132A1 (ja) 2018-05-09 2019-04-16 情報処理装置、情報処理方法、及びプログラム
PCT/JP2019/016338 WO2019216133A1 (ja) 2018-05-09 2019-04-16 情報処理装置、情報処理方法、及びプログラム

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/016338 WO2019216133A1 (ja) 2018-05-09 2019-04-16 情報処理装置、情報処理方法、及びプログラム

Country Status (5)

Country Link
US (1) US20210116242A1 (ja)
EP (1) EP3792594A4 (ja)
JP (1) JP2019196976A (ja)
CN (1) CN112136020A (ja)
WO (2) WO2019216132A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021206038A1 (de) * 2021-06-14 2022-12-15 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur GNSS-basierten Lokalisierung eines Fahrzeugs mit Ephemeriden-Daten-Plausibilisierung
WO2024048264A1 (ja) * 2022-08-29 2024-03-07 ソニーグループ株式会社 情報処理装置、および情報処理方法、並びにプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000249552A (ja) * 1999-02-26 2000-09-14 Japan Aviation Electronics Industry Ltd 探北方法およびこの方法を実施する装置
JP2011245285A (ja) * 2010-04-30 2011-12-08 National Institute Of Advanced Industrial Science & Technology 移動体の状態推定装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT988603B (it) * 1972-03-08 1975-04-30 Krupp Gmbh Dispositivo per determinare la posizione di un veicolo
DE2922412C2 (de) * 1979-06-01 1982-03-18 Bodenseewerk Gerätetechnik GmbH, 7770 Überlingen Selbstnordendes Kurs-Lage-Referenzgerät zur Navigation eines Fahrzeugs
IL198109A (en) * 2009-04-07 2013-01-31 Azimuth Technologies Ltd Facility, system and method for finding the north
JP2013057601A (ja) 2011-09-08 2013-03-28 Sony Corp 電子機器および撮像装置
CN104266647A (zh) * 2014-09-02 2015-01-07 北京航天发射技术研究所 一种基于转位寻北技术的抗扰动快速寻北仪及其寻北方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000249552A (ja) * 1999-02-26 2000-09-14 Japan Aviation Electronics Industry Ltd 探北方法およびこの方法を実施する装置
JP2011245285A (ja) * 2010-04-30 2011-12-08 National Institute Of Advanced Industrial Science & Technology 移動体の状態推定装置

Also Published As

Publication number Publication date
EP3792594A1 (en) 2021-03-17
CN112136020A (zh) 2020-12-25
EP3792594A4 (en) 2021-07-07
JP2019196976A (ja) 2019-11-14
WO2019216133A1 (ja) 2019-11-14
US20210116242A1 (en) 2021-04-22

Similar Documents

Publication Publication Date Title
EP2946167B1 (en) Method and apparatus for determination of misalignment between device and pedestrian
US8577595B2 (en) Location and path-map generation data acquisition and analysis systems
US9448250B2 (en) Detecting mount angle of mobile device in vehicle using motion sensors
CN110100151A (zh) 在视觉惯性测距中使用全球定位系统速度的系统及方法
US9478034B1 (en) Geoposition determination by starlight refraction measurement
US20130166198A1 (en) Method and system for locating and monitoring first responders
EP2702465B1 (en) Improved pointing device
WO2016198009A1 (zh) 一种检测航向的方法和装置
WO2013009357A2 (en) Inertial navigation common azimuth reference determination system and method
CN104634345B (zh) 一种自适应步长的室内轨迹追踪方法
JP2010078376A (ja) 方位検出方法及び装置、並びに移動履歴算出方法及び装置
US20210108923A1 (en) Information processing apparatus, information processing method, and program
WO2019216132A1 (ja) 情報処理装置、情報処理方法、及びプログラム
CN110986997A (zh) 一种提高室内惯性导航精度的方法及系统
US20140249750A1 (en) Navigational and location determination system
Löchtefeld et al. PINwI: pedestrian indoor navigation without infrastructure
Ali et al. An improved personal dead-reckoning algorithm for dynamically changing smartphone user modes
CN109099911A (zh) 一种航空系统导航定位的方法及系统
US20170248423A1 (en) Method for filtering the signals arising from a sensor assembly comprising at least one sensor for measuring a vector physical field which is substantially constant over time and in space in a reference frame
US11112243B2 (en) Electronic compass
CN105874352B (zh) 使用旋转半径确定设备与船只之间的错位的方法和装置
US10830906B2 (en) Method of adaptive weighting adjustment positioning
Wang et al. Testbed development for a novel approach towards high accuracy indoor localization with smartphones
CN105091881A (zh) 一种带有静止状态检测的无线传感网室内定位方法
JP6972761B2 (ja) 情報処理装置、およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19799091

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19799091

Country of ref document: EP

Kind code of ref document: A1