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

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

Info

Publication number
WO2019009083A1
WO2019009083A1 PCT/JP2018/023555 JP2018023555W WO2019009083A1 WO 2019009083 A1 WO2019009083 A1 WO 2019009083A1 JP 2018023555 W JP2018023555 W JP 2018023555W WO 2019009083 A1 WO2019009083 A1 WO 2019009083A1
Authority
WO
WIPO (PCT)
Prior art keywords
calibration
information
state
information processing
user
Prior art date
Application number
PCT/JP2018/023555
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 ソニー株式会社
Priority to US16/623,547 priority Critical patent/US11483674B2/en
Priority to CN201880043802.7A priority patent/CN110869704A/zh
Publication of WO2019009083A1 publication Critical patent/WO2019009083A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • 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
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • 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/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/026Services making use of location information using location based information parameters using orientation information, e.g. compass
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/48Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system
    • G01S19/49Determining position by combining or switching between position solutions derived from the satellite radio beacon positioning system and position solutions derived from a further system whereby the further system is an inertial position system, e.g. loosely-coupled
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/017Detecting state or type of motion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/33Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings

Definitions

  • the present technology relates to an information processing apparatus, an information processing method, and a program, and more particularly to an information processing apparatus, an information processing method, and a program suitable for use in performing positioning and the like using an inertial sensor.
  • the present technology has been made in view of such circumstances, and is intended to be able to appropriately convey the reliability of information obtained using an inertial sensor.
  • An information processing apparatus includes the state estimation unit configured to estimate a state of a predetermined object, and the object obtained using an inertial sensor based on an estimated state that is the estimated state of the object. And an output control unit configured to control an output of reliability information indicating reliability of object information which is information of an object.
  • the object obtained using an inertial sensor based on a state estimation step of estimating a state of a predetermined object, and an estimated state that is the state of the object estimated. And an output control step of controlling output of reliability information indicating reliability of object information which is information of an object.
  • a program includes a state estimation step of estimating a state of a predetermined object, and an object of the object obtained using an inertial sensor based on the estimated state that is the state of the object estimated. And causing the computer to execute processing including an output control step of controlling output of reliability information indicating reliability of object information which is information.
  • the state of a predetermined object is estimated, and the object is information of the object obtained using an inertial sensor based on the estimated state that is the estimated state of the object.
  • the output of reliability information indicating the reliability of the information is controlled.
  • the reliability of information obtained using an inertial sensor can be appropriately conveyed.
  • FIG. 1 is a block diagram illustrating an embodiment of an information processing apparatus to which the present technology is applied. It is a block diagram showing the example of composition of an information processor. It is a figure for demonstrating the difference
  • FIG. 1 is a block diagram showing an embodiment of an information processing apparatus to which the present technology is applied.
  • the information processing apparatus 10 includes, for example, a portable information terminal that can be carried or worn by a user, such as a smartphone, a mobile phone, or a wearable device.
  • the information processing apparatus 10 includes an antenna 11 to an antenna 13, a communication unit 14, an IMU (Inertial Measurement Unit) 15, an AD (analog / digital) conversion unit 16, a control unit 17, an input unit 18, an output unit 19, and an external I / F. (Interface) 20 and an input / output terminal 21 are provided.
  • the communication unit 14 includes a mobile communication unit 31, a wireless communication unit 32, and a GNSS receiver 33.
  • the IMU 15 includes an acceleration sensor 41, a gyro sensor 42, and a geomagnetic sensor 43.
  • the AD conversion unit 16 includes ADCs (analog / digital converters) 51 to ADC 53.
  • the control unit 17 includes a central processing unit (CPU) 61, a read only memory (ROM) 62, a random access memory (RAM) 63, and a non-volatile memory 64.
  • the communication unit 14, the ADC 51 to ADC 53, the CPU 61, the ROM 62, the RAM 63, the non-volatile memory 64, the input unit 18, the output unit 19, and the external I / F 20 are mutually connected via a bus 65.
  • bus 65 when each unit connected to the bus 65 performs communication via the bus 65, the description of the bus 65 is omitted as appropriate.
  • the CPU 61 and the output unit 19 communicate via the bus 65, it is simply referred to that the CPU 61 and the output unit 19 communicate.
  • the mobile communication unit 31 performs mobile communication of a predetermined scheme with a base station (not shown) of mobile communication via the antenna 11 and a mobile communication network (not shown).
  • the mobile communication unit 31 supplies the received data to the control unit 17, and acquires data to be transmitted from the control unit 17.
  • the wireless communication unit 32 performs wireless communication of a predetermined wireless communication scheme (for example, Wi-Fi) with another device, a wireless communication base station (not shown), or the like via the antenna 12.
  • the wireless communication unit 32 supplies the received data to the control unit 17, and acquires data to be transmitted from the control unit 17.
  • the GNSS receiver 33 receives a GNSS signal transmitted from a positioning satellite (not shown) of the GNSS, and supplies the received GNSS signal to the control unit 17.
  • the acceleration sensor 41 detects acceleration in three axial directions of the pitch axis (x axis), the roll axis (y axis), and the yaw axis (z axis) of the information processing apparatus 10, and outputs an acceleration signal indicating a detection result. It supplies to ADC51.
  • the gyro sensor 42 detects angular velocity around the pitch axis, around the roll axis, and around the yaw axis of the information processing apparatus 10, and supplies an angular velocity signal indicating the detection result to the ADC 52.
  • the geomagnetic sensor 43 detects geomagnetism in the direction of the pitch, roll, and yaw axes of the information processing apparatus 10, and supplies a geomagnetic signal indicating the detection result to the ADC 53.
  • the ADC 51 converts an analog acceleration signal into digital acceleration data, and supplies the acceleration data to the control unit 17.
  • the ADC 52 converts an analog angular velocity signal into digital angular velocity data, and supplies the angular velocity data to the control unit 17.
  • the ADC 53 converts analog geomagnetic signals into digital geomagnetic data, and supplies the geomagnetic data to the control unit 17.
  • the CPU 61 executes various programs, forms control signals to be supplied to the respective units, performs various calculations, and the like, and is a main body of processing and control in the control unit 17.
  • the ROM 62 stores and holds various programs executed by the CPU 61 and data necessary for processing.
  • the RAM 63 temporarily stores data necessary for various processes.
  • the non-volatile memory 64 is configured of, for example, an EEPROM, a flash memory, or the like.
  • the nonvolatile memory 64 stores and holds, for example, data (for example, set parameters, added programs, and the like) that should be held even when the power of the information processing apparatus 10 is turned off.
  • the input unit 18 includes various input devices for operating the information processing apparatus 10 and inputting data.
  • the input unit 18 includes one or more of input devices such as a button, a switch, a keyboard, a touch panel, a mouse, and a microphone.
  • the input unit 18 supplies the operation signal and the acquired data to the control unit 17.
  • the output unit 19 includes various output devices that output various data based on visual information such as an image and light, auditory information such as sound, and tactile information such as vibration.
  • the output unit 19 includes one or more of output devices such as a display, a speaker, a lamp, and a vibrator.
  • the external I / F 20 is connected to an external device such as a personal computer via the input / output terminal 21.
  • the input / output terminal 21 communicates with an external device via the external I / F 20.
  • FIG. 2 shows a configuration example of the information processing unit 101 which is a part of the function realized by the CPU 61 executing various programs.
  • the information processing unit 101 includes a detection unit 111, a state estimation unit 112, a calibration unit 113, and an output control unit 114.
  • the detection unit 111 performs detection processing of the position and the traveling direction of the user carrying or wearing the information processing apparatus 10, that is, positioning of the user. For example, the detection unit 111 detects the position and the traveling direction of the user by autonomous positioning using acceleration data and angular velocity data. For example, the detection unit 111 detects the position and the heading of the user by satellite positioning using a GNSS signal. For example, the detection unit 111 detects the traveling direction of the user based on geomagnetic data. The detection unit 111 supplies detection data indicating the result of each detection process to each unit of the information processing apparatus 10 as necessary.
  • the state estimation unit 112 estimates the state of the user based on the acceleration data, the angular velocity data, the detection result of the position and the traveling direction of the user, and the like.
  • the detection unit 111 supplies state estimation data indicating an estimation result of the state of the user to each unit of the information processing apparatus 10 as necessary.
  • the state estimation unit 112 determines whether or not the calibration unit 113 is in a state in which calibration can be performed, based on the estimated user state and the like.
  • the calibration unit 113 performs calibration of information obtained using the IMU 15 and the IMU 15. For example, the calibration unit 113 calibrates the detection result of the autonomous positioning using the acceleration sensor 41 and the gyro sensor 42. Also, for example, the calibration unit 113 performs calibration of the zero point bias of the acceleration sensor 41 and the gyro sensor 42.
  • the zero point bias is a bias value for correcting the detected value of acceleration or angular velocity, and, for example, the value of the acceleration signal or angular velocity signal of the acceleration sensor 41 or the gyro sensor 42 when the acceleration or angular velocity is zero. It is set based on.
  • the zero point bias fluctuates, for example, with the passage of time, the ambient temperature, and the like. Then, when the zero point bias fluctuates and the set value deviates from the actual value, an error occurs in various information obtained using the acceleration sensor 41 or the gyro sensor 42.
  • the direction of the arrow 152 is misrecognized as the gravity direction with respect to the true gravity direction 151, and a part of the gravity acceleration is misrecognized as the motion acceleration.
  • the horizontal motion acceleration indicated by the arrow 153 and the vertical motion acceleration indicated by the arrow 154 are misrecognized.
  • the error in the horizontal direction particularly becomes large, which causes, for example, a detection error such as speed or position using autonomous positioning such as PDR or inertial navigation.
  • the output control unit 114 controls the output of various data from the output unit 19.
  • step S1 the information processing apparatus 10 performs an initialization process.
  • the detection unit 111 sets the fluctuation amount of the position of the user and the fluctuation amount of the heading in the autonomous positioning to zero.
  • the calibration unit 113 initializes the acceleration sensor 41, the gyro sensor 42, and the geomagnetic sensor 43.
  • the calibration unit 113 sets the zero point bias of the acceleration sensor 41 and the gyro sensor 42 to a predetermined initial value.
  • step S2 the information processing apparatus 10 acquires data.
  • the acceleration sensor 41 detects accelerations in three axial directions of the pitch axis, the roll axis, and the yaw axis of the information processing device 10, and supplies an acceleration signal indicating the detection result to the ADC 51.
  • the ADC 51 converts an analog acceleration signal into digital acceleration data, and supplies the acceleration data to the CPU 61 or causes the RAM 63 to store the acceleration data.
  • the gyro sensor 42 detects angular velocity around the pitch axis, around the roll axis, and around the yaw axis of the information processing apparatus 10, and supplies an angular velocity signal indicating the detection result to the ADC 52.
  • the ADC 52 converts an analog angular velocity signal into digital angular velocity data, and supplies the angular velocity data to the CPU 61 or causes the RAM 63 to store the angular velocity data.
  • the geomagnetic sensor 43 detects geomagnetism in the directions of the pitch, roll, and yaw axes of the information processing apparatus 10, and supplies a geomagnetic signal indicating the detection result to the ADC 53.
  • the ADC 53 converts an analog geomagnetic signal into digital geomagnetic data, and supplies the geomagnetic data to the CPU 61 or causes the RAM 63 to store the geomagnetic data.
  • the GNSS receiver 33 receives the GNSS signal from the positioning satellite, supplies the GNSS signal to the CPU 61, and stores the value and strength of the GNSS signal in the RAM 63.
  • Each piece of data stored in the RAM 63 is held (buffered) at least for a period necessary for processing, and thereafter erased appropriately.
  • step S3 the information processing apparatus 10 performs data processing.
  • the detection unit 111 detects the position and the traveling direction of the user by autonomous positioning based on the acceleration data and the angular velocity data. At this time, for example, the values of the acceleration data and the acceleration data are corrected based on the set zero point bias.
  • the detection unit 111 detects the traveling direction of the user by integrating the angular velocity in the yaw direction detected by the gyro sensor 42 as a change amount of the traveling direction. Furthermore, the detection unit 111 detects the position of the user by integrating the step count-derived velocity and the change amount of the traveling direction.
  • the detection unit 111 detects the attitude angle of the information processing apparatus 10 by integrating the angular velocity detected by the gyro sensor 42.
  • the detection unit 111 also converts the acceleration detected by the acceleration sensor 41 into an acceleration in the global coordinate system based on the detected posture angle. Then, the detection unit 111 detects the velocity of the information processing apparatus 10 by integrating the acceleration converted into the global coordinate system, and further detects the position of the information processing apparatus 10 by integrating the detected velocity.
  • the position and the heading of the user are detected based on the position and the attitude angle of the information processing apparatus 10 detected in this manner.
  • inertial navigation it is possible to detect the traveling direction with high accuracy even if the information processing apparatus 10 is oriented in a direction largely different from the traveling direction of the user.
  • inertial navigation as compared with PDR, the number of integration processes required to detect the position is large, so the divergence of the integration error of the position is quicker.
  • the PDR when the position and the direction in which the information processing apparatus 10 is attached are fixed, the PDR is used.
  • inertial navigation is used.
  • the detection unit 111 detects the position of the user (the information processing apparatus 10) by satellite positioning based on the GNSS signal.
  • the detection unit 111 detects the traveling direction of the user (the information processing apparatus 10) based on geomagnetic data.
  • the position detected based on the GNSS signal, the traveled direction detected based on geomagnetic data, and acceleration data are used as initial values of the user's position and traveling direction at the start of detection.
  • the traveling direction or the like detected based on this is used.
  • the detection unit 111 stores detection data indicating the result of each detection process in the RAM 63.
  • Each detection data stored in the RAM 63 is held (buffered) at least for a period necessary for processing, and thereafter erased appropriately.
  • the state estimation unit 112 estimates the state of the user based on the acceleration data, the angular velocity data, and the detection result of the position and the traveling direction of the user. For example, the state estimation unit 112 estimates whether the user is at rest, moving, or any other unknown state.
  • the unknown state is, for example, a state in which the user can not determine whether the user is stationary or moving by rotating the information processing apparatus 10.
  • arbitrary methods can be employ
  • the state estimation unit 112 causes the RAM 63 to store state data indicating the estimation result of the user's state.
  • the state data stored in the RAM 63 is held (buffered) at least for a period necessary for processing, and thereafter erased appropriately.
  • step S4 the state estimation unit 112 determines whether the user is stationary based on the result of the process of step S3. If it is determined that the user is stationary, the process proceeds to step S5. That is, since the user is stationary, the state estimation unit 112 determines that the stationary calibration can be performed.
  • step S5 the information processing apparatus 10 executes the static calibration process, and then the process proceeds to step S13.
  • the details of the stationary calibration process will be described with reference to the flowchart of FIG. 5.
  • step S101 the calibration unit 113 performs calibration. Specifically, the calibration unit 113 determines that the current value of the acceleration data is a signal value of the acceleration sensor 41 when the acceleration is zero. Then, the calibration unit 113 corrects the zero point bias of the acceleration sensor 41 based on the current value of the acceleration data. The calibration unit 113 also considers that the current value of the angular velocity data is a signal value of the gyro sensor 42 when the angular velocity is zero. Then, the calibration unit 113 corrects the zero point bias of the gyro sensor 42 based on the current value of angular velocity data.
  • This static calibration can be applied to both PDR and inertial navigation.
  • step S102 the state estimation unit 112 determines whether the user has been stationary for a predetermined time or more. When it is determined that the user is stationary for a predetermined time or more, that is, the state in which stationary calibration can be performed continues for a predetermined time or longer, and stationary calibration is continuously performed for a predetermined time or longer. The process proceeds to step S103.
  • this predetermined time is set to a time (for example, 5 seconds) sufficient for static calibration to be accurately performed.
  • step S103 the output unit 19 notifies the completion of calibration under the control of the output control unit 114.
  • the user is notified that the calibration is completed by visual information such as an image or light, auditory information such as sound, tactile information such as vibration, or a combination thereof.
  • step S104 the output unit 19 presents a normal detection result under the control of the output control unit 114.
  • the output unit 19 displays the current position and the heading of the user while notifying that the calibration is completed or the reliability is high because the calibration is completed.
  • step S102 determines whether the user is still for a predetermined time or more, that is, if static calibration is not continuously performed for a predetermined time or more. If it is determined in step S102 that the user is not still for a predetermined time or more, that is, if static calibration is not continuously performed for a predetermined time or more, the process proceeds to step S105.
  • step S105 the output unit 19 performs notification under calibration under the control of the output control unit 114.
  • the user is notified that calibration is being performed by visual information such as an image or light, auditory information such as sound, tactile information such as vibration, or a combination thereof.
  • step S106 the output unit 19 presents the detection result during calibration under the control of the output control unit 114.
  • the output unit 19 displays the current position and the heading of the user while notifying that the calibration is in progress or that the reliability is lowered due to the calibration.
  • the output unit 19 stops updating the display of the position and the heading of the user, and notifies that the position and the heading of the user can not be updated because calibration is in progress.
  • step S4 when it is determined in step S4 that the user is not stationary, the process proceeds to step S6.
  • step S6 the state estimation unit 112 determines whether the user is moving based on the result of the process of step S3. If it is determined that the user is moving, the process proceeds to step S7.
  • step S7 the state estimation unit 112 determines whether the strength of the GNSS signal is sufficient. When the strength of the current GNSS signal is equal to or higher than the predetermined threshold, the state estimation unit 112 determines that the strength of the GNSS signal is sufficient, and the process proceeds to step S8. That is, since the user is moving and the strength of the GNSS signal is sufficient, the state estimation unit 112 determines that the GNSS calibration can be performed.
  • the threshold of the strength of the GNSS signal is set to, for example, a value (for example, 35 dB) at which the reliability of the GNSS signal is equal to or higher than a predetermined threshold.
  • step S8 the information processing apparatus 10 executes the GNSS calibration process, and then the process proceeds to step S13.
  • the details of the GNSS calibration process will be described with reference to the flowchart of FIG.
  • step S121 the calibration unit 113 performs calibration.
  • the positioning interval (for example, 1 millisecond) of autonomous positioning is shorter than the positioning interval (for example, 1 second) of satellite positioning.
  • the calibration unit 113 interpolates the detection result of the position and traveling direction by satellite positioning with a long positioning interval based on the detection result of the position and traveling direction with autonomous positioning with a short positioning interval. At this time, the calibration unit 113 corrects the detection result of the position and the heading by the autonomous positioning so that the position and the heading change smoothly.
  • the calibration unit 113 may use the acceleration sensor 41 and the gyro sensor 42 based on the difference between the position and the heading detected using satellite positioning and the position and the heading detected using autonomous positioning. Perform zero point bias correction.
  • This GNSS calibration can be applied to both PDR and inertial navigation.
  • calibration can always be performed outdoors where the intensity of the GNSS signal is strong, the effect of the GNSS calibration becomes higher in the case of the inertial navigation where the divergence of the integration error is faster as described above.
  • step S122 the state estimation unit 112 determines whether or not a state in which the GNSS signal has sufficient strength while moving is continuing for a predetermined time or more. For example, when the estimated state in which the user is moving and the state in which the strength of the GNSS signal is equal to or higher than a predetermined threshold (for example, 35 dB) continue for a predetermined time or more, the state estimation unit 112 While moving, it is determined that the state in which the strength of the GNSS signal is sufficient continues for a predetermined time or more, and the process proceeds to step S123. That is, when the state in which the GNSS calibration can be performed continues for the predetermined time or more and the GNSS calibration is performed continuously for the predetermined time or more, the process proceeds to step S123.
  • a predetermined threshold for example, 35 dB
  • this predetermined time is set to a time (for example, 10 seconds) sufficient for the GNSS calibration to be accurately performed.
  • steps S123 and S124 processing similar to that of steps S103 and S104 in FIG. 5 is executed, and the GNSS calibration processing ends.
  • step S122 if it is determined that the state during movement and the strength of the GNSS signal is not continued for a predetermined time or more, that is, the GNSS calibration is still continued for a predetermined time or more. If not, the process proceeds to step S125.
  • steps S125 and S126 processing similar to that of steps S105 and S106 in FIG. 5 is performed, and the GNSS calibration processing ends.
  • step S7 when it is determined in step S7 that the strength of the GNSS signal is not sufficient, the process proceeds to step S9.
  • step S9 the state estimation unit 112 determines whether the user is traveling straight. For example, in the state estimation unit 112, the state in which the user is estimated to be moving continues for one second or more, and the amount of change in the detection result of the user's heading during the last one second is within a predetermined threshold If it is, it is determined that the user is going straight, and the process proceeds to step S10. That is, since the user is going straight, the state estimation unit 112 determines that the straight-ahead calibration can be performed.
  • the detection result of the user's traveling direction is shown by the arrow 202.
  • the direction is straight ahead so that
  • the state estimating unit 112 changes the heading due to the change of the zero point bias. Is determined to be going straight.
  • the threshold of the amount of change in the heading is, for example, a value (for example, 5) capable of separating with high probability the case where the zero point bias fluctuates and the case where the user actually changes the heading. Degrees).
  • this threshold is set by experiment, machine learning, or the like.
  • the amount of change in the heading may be calculated based on, for example, the distribution of the detected values of the heading during the immediately preceding second, or, for example, the detected value one second ago and the current detected value It may be calculated by the difference between
  • step S10 the information processing apparatus 10 executes the straight-ahead calibration process, and then the process proceeds to step S13.
  • the straight calibration process will be described with reference to the flowchart of FIG.
  • step S141 the calibration unit 113 performs calibration.
  • the calibration unit 113 regards the value of the angular velocity data about the current yaw axis as the signal value of the gyro sensor 42 when the angular velocity about the yaw axis is zero. Then, the calibration unit 113 corrects the zero point bias about the yaw axis of the gyro sensor 42 based on the current value of the angular velocity data about the yaw axis.
  • this linear calibration can not calibrate the angular velocity around the roll axis and the pitch axis, it can be applied only to PDR and can not be applied to inertial navigation.
  • step S142 the state estimation unit 112 determines whether the user has traveled straight for a predetermined time or more. For example, in the state estimation unit 112, the state in which the user is estimated to be moving continues for a predetermined time or more, and the change amount of the detection result of the user's heading in the predetermined time immediately before is predetermined If the threshold value is within the threshold value, it is determined that the user has traveled straight for a predetermined time or more, and the process proceeds to step S143. That is, if the state where the straight calibration can be performed continues for a predetermined time or more and the straight calibration is continuously performed for a predetermined time or more, the process proceeds to step S143.
  • this predetermined time is set to a time (for example, 10 seconds) sufficient for the rectilinear calibration to be accurately performed.
  • the threshold value of the change amount of the traveling direction is set to, for example, the same value as the process of step S9. Furthermore, the amount of change in the heading is also calculated by the same method as the process of step S9.
  • steps S143 and S144 processing similar to that of steps S103 and S104 in FIG. 5 is performed, and the straight-ahead calibration processing ends.
  • step S142 determines whether the user has moved straight ahead for a predetermined time, that is, if straight calibration has not been continued for a predetermined time or more. If it is determined in step S142 that the user has not moved straight ahead for a predetermined time, that is, if straight calibration has not been continued for a predetermined time or more, the process proceeds to step S145.
  • steps S145 and S146 processing similar to that of steps S105 and S106 of FIG. 5 is executed, and the straight-ahead calibration processing ends.
  • step S9 when it is determined in step S9 that the user does not go straight, the process proceeds to step S11.
  • step S11 the state estimation unit 112 determines whether the accuracy of the geomagnetic sensor 43 is high.
  • FIG. 9 is a graph showing an example of a detected value (geomagnetic absolute value) of the geomagnetic sensor 43. As shown in FIG. The horizontal axis shows time, and the vertical axis shows magnetism (unit: ⁇ T).
  • the disturbance and deviation of the magnetic distribution around the geomagnetic sensor 43 are small, the fluctuation of the detection value of the geomagnetic sensor 43 becomes small, and the detection accuracy becomes high.
  • the disturbance or deviation of the magnetic distribution around the geomagnetic sensor 43 becomes large, the fluctuation of the detection value of the geomagnetic sensor 43 becomes large and the detection accuracy becomes low, as shown in the dotted square of FIG.
  • the state estimation unit 112 determines that the geomagnetic sensor 43 has high accuracy, and the process proceeds to step S12. . That is, since the user is moving and the accuracy of the geomagnetic sensor 43 is high, the state estimation unit 112 determines that the geomagnetic calibration can be performed.
  • the threshold value of the fluctuation amount of the detection value of the geomagnetic sensor 43 is set, for example, to a value (for example, 5 ⁇ T) at which the accuracy of the detection value of the geomagnetic sensor 43 is equal to or higher than a predetermined threshold value.
  • the fluctuation amount of the detection value of the geomagnetic sensor 43 may be calculated based on, for example, the distribution of the detection value of the last one second, or, for example, the detection value of one second ago and the current detection It may be calculated by the difference from the value.
  • step S12 the information processing apparatus 10 executes geomagnetic calibration processing, and then the processing proceeds to step S13.
  • the details of the geomagnetic calibration process will be described with reference to the flowchart of FIG.
  • step S161 the calibration unit 113 performs calibration.
  • the calibration unit 113 corrects the traveling direction detected by the autonomous positioning based on the traveling direction detected by the geomagnetic sensor 43. This improves the detection accuracy of the user's heading.
  • FIG. 11 shows an example of comparing the detection results of the traveling direction based on the presence or absence of the geomagnetic sensor 43 when the user goes straight in the direction of the arrow 222 from the start point 221.
  • the arrow 223 indicates an example of the detection result when only the gyro sensor 42 is used without using the geomagnetic sensor 43.
  • an arrow 224 indicates an example of a detection result in the case where both the gyro sensor 42 and the geomagnetic sensor 43 are used.
  • the arrow 224 is used by using the geomagnetic sensor 43. As shown in, the detection result of the user's heading is corrected in the direction of the arrow 222.
  • the calibration unit 113 sets the angular velocity around the yaw axis of the gyro sensor 42 to zero based on the difference between the traveling direction detected using the geomagnetic sensor 43 and the traveling direction detected using autonomous positioning. Perform point bias correction.
  • this linear calibration can not calibrate the angular velocity around the roll axis and the pitch axis, it can be applied only to PDR and can not be applied to inertial navigation. Further, this straight calibration can be performed regardless of whether the user is straight. Furthermore, the geomagnetic sensor 43 generally consumes less power than the GNSS receiver 33, and can perform calibration with low power consumption.
  • step S162 the state estimation unit 112 determines whether the moving high accuracy state of the geomagnetic sensor 43 continues for a predetermined time or more. For example, the state estimation unit 112 continues the estimated state in which the user is moving, and the state in which the fluctuation amount of the detection value of the geomagnetic sensor 43 is within a predetermined threshold (for example, 5 ⁇ T) for a predetermined time or more. If yes, it is determined that the moving and high accuracy state of the geomagnetic sensor 43 continues for a predetermined time or more, and the process proceeds to step S163. That is, if the state where geomagnetic calibration can be performed continues for a predetermined time or more, and geomagnetic calibration continues for a predetermined time or more, the process proceeds to step S163.
  • a predetermined threshold for example, 5 ⁇ T
  • this predetermined time is set to a time (for example, 10 seconds) sufficient for accurate geomagnetic calibration.
  • steps S163 and S164 processing similar to that of steps S103 and S104 of FIG. 5 is executed, and the geomagnetic calibration processing ends.
  • step S162 determines whether the moving and highly accurate state of the geomagnetic sensor 43 has not continued for a predetermined time or more, that is, geomagnetic calibration is still performed for a predetermined time. If not, the process proceeds to step S165.
  • steps S165 and S166 processing similar to that of steps S105 and S106 in FIG. 5 is executed, and the geomagnetic calibration processing ends.
  • step S13 the calibration unit 113 resets a calibration non-execution period. That is, the calibration unit 113 resets the length of the calibration non-execution period, which is a period in which calibration is not performed, to 0 second, and then resumes counting of the time of the calibration non-execution period.
  • step S2 Thereafter, the process returns to step S2, and the processes after step S2 are performed.
  • step S11 when it is determined in step S11 that the accuracy of the geomagnetic sensor 43 is low, the process proceeds to step S14.
  • step S6 If it is determined in step S6 that the user has not moved, the process proceeds to step S14. This is a case where it is estimated that the user is stationary or in an unknown state where it can not be determined whether it is moving, for example, when the user is rotating the information processing apparatus 10. is there. In this case, the detection accuracy of the autonomous positioning using the IMU 15 is reduced.
  • step S14 the calibration unit 113 determines whether the calibration non-execution period is equal to or longer than a predetermined time. If it is determined that the calibration non-execution period is less than the predetermined time, that is, if the calibration non-execution period has not yet reached the predetermined time after the previous calibration is performed, the process is performed. The process proceeds to step S15.
  • this predetermined time is set to, for example, a time (for example, 100 seconds) at which the detection accuracy of the autonomous positioning is equal to or higher than a predetermined threshold, even if calibration is not performed.
  • step S15 the normal detection result is presented as in the process of step S104 of FIG. 5 described above.
  • step S2 Thereafter, the process returns to step S2, and the processes after step S2 are performed.
  • step S14 determines whether the calibration non-execution period is equal to or longer than a predetermined time, that is, if calibration is not performed for a predetermined time or more after the previous calibration is performed. If it is determined in step S14 that the calibration non-execution period is equal to or longer than a predetermined time, that is, if calibration is not performed for a predetermined time or more after the previous calibration is performed, the process is The process proceeds to step S16.
  • step S ⁇ b> 16 the output unit 19 notifies that calibration has not been completed under the control of the output control unit 114.
  • any method can be adopted for this notification.
  • the user is notified that the calibration is not completed by visual information such as an image or light, auditory information such as sound, tactile information such as vibration, or a combination thereof.
  • step S17 the output unit 19 presents the detection result when calibration is not completed under the control of the output control unit 114.
  • the output unit 19 displays the current position and heading of the user while notifying that the calibration is not completed or that the reliability is reduced because the calibration is not completed.
  • the output unit 19 stops updating the display of the position and the heading of the user, and notifies that the position and the heading of the user can not be updated because the calibration is not completed.
  • step S2 Thereafter, the process returns to step S2, and the processes after step S2 are performed.
  • the detection accuracy of the position and the traveling direction of the user is improved.
  • calibration is performed not only when the user is stationary but also during movement, so that the detection accuracy of the user's position and heading can be further improved.
  • FIG. 12 is a graph comparing detection results of user's movement trajectories with and without calibration.
  • the horizontal axis of FIG. 12 indicates the x axis (pitch axis), and the vertical axis indicates the y axis (roll axis).
  • FIG. 12 shows an example of the detection result of the user's movement locus when a rectangular course of about 60 m in the x-axis direction and about 10 m in the y-axis direction is circulated.
  • a locus 241 indicated by a dotted line shows an example of a detection result of a user's movement locus when calibration is not performed.
  • a locus 242 indicated by a solid line shows an example of a detection result of a user's movement locus when calibration is performed.
  • the user is notified of the implementation status of the calibration as information indicating the reliability of the detection result of the position and the heading of the user. Furthermore, the reliability of the detection results is indicated by presenting the detection results of the position and the heading of the user in different ways depending on the implementation status of the calibration.
  • the reliability of the detection results is indicated.
  • the detection result of the position and the traveling direction of the user and the presentation (output) of the reliability of the detection result are controlled. More specifically, whether the estimated state of the user is in a state in which calibration can be performed, the length of a period in which calibration can be performed, or in a state in which calibration can not be performed. Based on the length of a certain period or the like, the detection result of the position and the heading direction of the user and the presentation (output) of the reliability of the detection result are controlled.
  • the reliability of the detection result of the position and the heading of the user obtained by using the inertial sensor can be properly notified to the user, and as a result, the user can easily trust the reliability of the presented position and the heading. And it can be grasped correctly.
  • the user can take appropriate measures such as refraining from acting in accordance with the information.
  • problems such as the user getting lost can be prevented in advance, or stress on the user can be alleviated.
  • FIGS. 13 and 14 schematically show an example in the case where the movement trajectory of the user is displayed on the output unit 19 based on the detection result of the position and the traveling direction of the user.
  • a to C in FIG. 13 illustrate an example in which the movement trajectory of the user detected by the autonomous positioning is continuously displayed even after the calibration can not be performed.
  • the reliability of the detection result is displayed in two stages.
  • the movement trajectory of the user is displayed by the arrow 271a in a section in which the calibration non-execution period is less than T1 seconds (for example, 100 seconds) and the detection result reliability (detection accuracy) is high.
  • the detection result reliability for example, 100 seconds
  • the movement trajectory of the user is displayed by the arrow 271b.
  • the arrow 271a and the arrow 271b differ in one or more of the attributes such as color, density, thickness, and line type, and are visually distinguished.
  • the example which changed the line type of arrow 271a and arrow 271b is shown.
  • the reliability of the detection result is displayed in three stages.
  • the movement locus of the user is displayed by the arrow 281a.
  • the movement trajectory of the user is an arrow in a section where the reliability (detection accuracy) of the detection result is low until T3 seconds (for example, 40 seconds) elapse. It is displayed by 281c.
  • the arrows 281 a to 281 c are visually distinguished in that one or more of the attributes such as color, density, thickness, and line type are different.
  • or arrow 281c is shown.
  • the reliability of the detection result is displayed in three stages by the error circle 292a to the error circle 292c.
  • the movement trajectory of the user is displayed by the arrow 291a.
  • an error circle 292a indicating an error range is displayed at the tip of the arrow 291a.
  • the movement trajectory of the user is displayed by the arrow 291b in a section where the reliability (detection accuracy) of the detection result is medium until T2 seconds elapse after the non-execution period of calibration reaches T1 seconds.
  • an error circle 292b indicating an error range is displayed at the tip of the arrow 291b.
  • the movement trajectory of the user is displayed by the arrow 291c in a section where the reliability (detection accuracy) of the detection result is low until T3 seconds elapse after T1 + T2 seconds until the calibration non-execution period reaches T1 + T2 seconds.
  • an error circle 292c indicating an error range is displayed at the tip of the arrow 291c.
  • the error circle 292a to the error circle 292c become larger as the calibration non-execution period becomes longer and the detection error becomes larger.
  • the user can clearly recognize not only the difference in the reliability of the presented movement trajectory but also the error range.
  • arrows 291a to 291c may or may not be distinguished visually.
  • a of FIG. 14 illustrates an example of distinguishing and displaying the movement locus detected by the autonomous positioning and the movement locus detected by another method.
  • the moving trajectory of the user detected by the autonomous positioning is displayed by the arrow 301a.
  • the movement trajectory of the user detected by another method is displayed by the arrow 301 b.
  • the arrow 301 a and the arrow 301 b differ in one or more of the attributes such as color, density, thickness, and line type, and are visually distinguished.
  • the example which changed the line type of arrow 301a and arrow 301b is shown.
  • FIG. 14 shows an example in which the reliability of the user's movement trajectory detected by another method is displayed in two steps.
  • the moving trajectory of the user detected by the autonomous positioning is displayed by the arrow 311 a.
  • the movement locus of the user is displayed by the arrow 311 b in a section from the start of display of the movement locus of the user detected by another method until T2 seconds elapse.
  • the moving track of the user is displayed by the arrow 311 c.
  • the arrows 311 a to 311 c are visually distinguished from one another in that one or more of the attributes such as color, density, thickness, and line type are different.
  • or the arrow 311c is shown.
  • the user can recognize in more detail the difference in the positioning method and reliability of the presented movement locus.
  • the reliability of the detection result is displayed by the error circle 322a to the error circle 322e.
  • the moving trajectory of the user detected by the autonomous positioning is displayed by the arrow 321a.
  • an error circle 322a indicating an error range is displayed at the tip of the arrow 321a.
  • the movement trajectory of the user detected by another method is displayed by the arrows 321 b to 321 e.
  • an error circle 322b to an error circle 322e indicating an error range are displayed at the tips of the arrows 321b to 321e, respectively.
  • the error circle 322 b to the error circle 322 e become longer as the detection period by another method becomes longer and the detection error becomes larger.
  • FIG. 15 shows an example of notifying the implementation status of calibration by a voice message.
  • a voice message 332 notifying that the user can not do so is output from the output unit 19.
  • the output unit 19 outputs a voice message 333 notifying that calibration is in progress.
  • the output unit 19 outputs a voice message 334 notifying that the detection result by the PDR can be used.
  • FIG. 16 shows an example in which the implementation status of calibration is notified by sound effect.
  • FIG. 17 illustrates an example in which the implementation status of calibration is notified by the vibration of the smartphone 351 when the information processing apparatus 10 includes the smartphone 351.
  • the smartphone 351 vibrates significantly. Do.
  • the user can easily recognize the implementation status of the calibration. Also, the user can recognize the reliability of the detection result of the position and the traveling direction by recognizing the implementation status of the calibration. Furthermore, for example, by recognizing the need for calibration, it can be expected that the user can perform an action (for example, stationary or walking) that can perform calibration.
  • an action for example, stationary or walking
  • the present technology detects the position and the heading of an object other than human using an inertial sensor.
  • an object mobile objects, such as an animal, a robot, a vehicle, a drone, etc. are assumed, for example.
  • the information on the object to be acquired using the inertial sensor is not particularly limited.
  • the present technology can be applied to detection of the velocity (including angular velocity), posture, acceleration, and the like of an object other than the position and the traveling direction described above.
  • the method of calibration is not particularly limited, and for example, methods other than those described above may be employed.
  • the state of the user (target object) serving as the condition for performing calibration is appropriately changed by the calibration method or the like.
  • the condition that the user is moving may be further limited, and calibration may be performed while the user is walking or traveling.
  • the present technology can also be applied to the case of using an inertial sensor other than the gyro sensor and the acceleration sensor. Furthermore, the present technology can be applied to the case where only one of the gyro sensor and the acceleration sensor is used.
  • the state of the object may be estimated using an image captured by a camera or the like.
  • the method of presenting information of an object for example, the position and the traveling direction of the user described above, etc.
  • reliability information indicating the reliability of the information of the object It is not limited and can be changed arbitrarily.
  • At least one of the information on the object and the reliability information may be output to the outside using an API (Application Programming Interface).
  • API Application Programming Interface
  • the return value of the API of equation (1) indicates the reliability of the detected position, and takes, for example, a value from 0 to 3. For example, since the calibration can not be performed for a long time, the return value is 0 when the use of the detection position is prohibited. When the reliability of the detected position is low, the return value is 1. If the reliability of the detected position is medium, the return value is 2. When the reliability of the detected position is high, the return value is 3.
  • APP application program
  • the information processing apparatus 10 actively prompts the user to perform an action (for example, resting or walking) that can perform calibration.
  • an action for example, resting or walking
  • This modified example is applied, for example, in a use case in which accuracy is more important than real-time property or convenience of positioning. For example, when creating a map, it is applied in a use case where the user's work cost may be added.
  • the information processing apparatus 10 prompts the user to perform an action capable of performing calibration. Good.
  • the posture of the user with respect to the ground hardly changes during walking. Therefore, when the detection result of the user's posture changes by a certain amount or more, the change is considered to be due to the fluctuation of the zero point bias of the gyro sensor 42, and the information processing apparatus 10 performs an action capable of executing calibration to the user. You may be urged to do it.
  • FIG. 18 is a block diagram showing an example of a hardware configuration of a computer that executes the series of processes described above according to a program.
  • a central processing unit (CPU) 501 a read only memory (ROM) 502, and a random access memory (RAM) 503 are mutually connected by a bus 504.
  • CPU central processing unit
  • ROM read only memory
  • RAM random access memory
  • an input / output interface 505 is connected to the bus 504.
  • An input unit 506, an output unit 507, a recording unit 508, a communication unit 509, and a drive 510 are connected to the input / output interface 505.
  • the input unit 506 includes an input switch, a button, a microphone, an imaging device, and the like.
  • the output unit 507 includes a display, a speaker, and the like.
  • the recording unit 508 includes a hard disk, a non-volatile memory, and the like.
  • the communication unit 509 is formed of a network interface or the like.
  • the drive 510 drives a removable recording medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory.
  • the CPU 501 loads, for example, the program recorded in the recording unit 508 into the RAM 503 via the input / output interface 505 and the bus 504, and executes the above-described series. Processing is performed.
  • the program executed by the computer (CPU 501) can be provided by being recorded on, for example, a removable recording medium 511 as a package medium or the like. Also, the program can be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.
  • the program can be installed in the recording unit 508 via the input / output interface 505 by attaching the removable recording medium 511 to the drive 510. Also, the program can be received by the communication unit 509 via a wired or wireless transmission medium and installed in the recording unit 508. In addition, the program can be installed in advance in the ROM 502 or the recording unit 508.
  • the program executed by the computer may be a program that performs processing in chronological order according to the order described in this specification, in parallel, or when necessary, such as when a call is made. It may be a program to be processed.
  • a system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same case. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the present technology can have a cloud computing configuration in which one function is shared and processed by a plurality of devices via a network.
  • each step described in the above-described flowchart can be executed by one device or in a shared manner by a plurality of devices.
  • the plurality of processes included in one step can be executed by being shared by a plurality of devices in addition to being executed by one device.
  • the present technology can also be configured as follows.
  • a state estimation unit for estimating the state of a predetermined object;
  • An output control unit configured to control an output of reliability information indicating reliability of target object information which is information of the target object obtained using an inertial sensor based on an estimated state which is the state of the target object estimated;
  • An information processing apparatus comprising: (2) The output control unit controls the output of the reliability information based on whether or not the estimated state is a state in which calibration of the inertial sensor or the object information can be performed. Information processing equipment. (3) The output control unit controls the output of the reliability information based on a period in which the estimated state is a state in which the calibration can be performed or a period in which the calibration can not be performed.
  • the information processing apparatus according to (2).
  • the output control unit controls the output of the object information so as to output the reliability information indicating a decrease in the reliability of the object information when the estimated state is not a state in which the calibration can be performed.
  • the state estimation unit determines that the estimated state is a state in which the calibration can be performed when it is estimated that the object is stationary or moving. Any one of (2) to (4) The information processing apparatus according to claim 1.
  • the reliability information includes an implementation status of the calibration.
  • the information processing apparatus according to any one of (1) to (11), further including: a calibration unit that performs the calibration. (13) The information processing apparatus according to (12), wherein the calibration unit executes the calibration when it is estimated that the object is stationary or moving. (14) The information processing apparatus according to any one of (1) to (13), further including: a detection unit that detects the object information based on a signal value of the inertial sensor. (15) The information processing apparatus according to any one of (1) to (14), wherein the object information includes at least one of a position, a traveling direction, an attitude, a velocity, an angular velocity, and an acceleration of the object.
  • the inertial sensor includes at least one of a gyro sensor and an acceleration sensor.
  • a state estimation step of estimating the state of a predetermined object An output control step of controlling an output of reliability information indicating reliability of target object information which is information of the target object obtained using an inertial sensor, based on an estimated state which is a state of the target object estimated;
  • Information processing method including: (18) A state estimation step of estimating the state of a predetermined object; An output control step of controlling an output of reliability information indicating reliability of target object information which is information of the target object obtained using an inertial sensor, based on an estimated state which is a state of the target object estimated;
  • a program for causing a computer to execute processing including.

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)
  • Gyroscopes (AREA)

Abstract

本技術は、慣性センサを用いて得られる情報の信頼性を適切に伝えることができるようにする情報処理装置、情報処理方法、及び、プログラムに関する。 情報処理装置は、所定の対象物の状態を推定する状態推定部と、推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御部とを備える。本技術は、例えば、スマートフォン、ウエアラブルデバイス等の携帯情報端末に適用できる。

Description

情報処理装置、情報処理方法、及び、プログラム
 本技術は、情報処理装置、情報処理方法、及び、プログラムに関し、特に、慣性センサを用いて測位等を行う場合に用いて好適な情報処理装置、情報処理方法、及び、プログラムに関する。
 従来、GNSS(Global Navigation Satellite System)を用いた衛星測位がよく利用されている。また、従来、ユーザの歩行テンポ、及び、測位用衛星からの信号に基づいて算出されるユーザの移動速度に基づいて、測位用衛星から受信する信号から算出される情報の信頼性を評価する技術が提案されている(例えば、特許文献1参照)。
 さらに、従来、測位用衛星からの信号を受信できない屋内などにおいて、ジャイロセンサや加速度センサ等の慣性センサを用いた歩行者自立航法(PDR:Pedestrian Dead Reckoning)や慣性航法(Inertial Navigation)等の自律測位が利用されている。
特開2013-210299号公報
 ところで、自律測位では、慣性センサの誤差によって生じる検出位置の誤差が累積されるため、時間が経つにつれて検出位置の誤差が大きくなる傾向がある。これに対して、例えば、ユーザの静止時に慣性センサのキャリブレーションを行い、慣性センサの誤差を小さくすることにより、検出位置の誤差を小さくする対策が取られる。
 しかしながら、例えば、ユーザが長時間静止することなく移動し続けた場合、慣性センサのキャリブレーションが行われないため、検出位置の誤差が大きくなる。そして、例えば、大きな誤差を含む検出位置に従ってユーザが行動することにより、道に迷う等のトラブルが発生するおそれがある。
 本技術は、このような状況に鑑みてなされたものであり、慣性センサを用いて得られる情報の信頼性を適切に伝えることができるようにするものである。
 本技術の一側面の情報処理装置は、所定の対象物の状態を推定する状態推定部と、推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御部とを備える。
 本技術の一側面の情報処理方法は、所定の対象物の状態を推定する状態推定ステップと、推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御ステップとを含む。
 本技術の一側面のプログラムは、所定の対象物の状態を推定する状態推定ステップと、推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御ステップとを含む処理をコンピュータに実行させる。
 本技術の一側面においては、所定の対象物の状態が推定され、推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力が制御される。
 本技術の一側面によれば、慣性センサを用いて得られる情報の信頼性を適切に伝えることができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載された何れかの効果であってもよい。
本技術を適用した情報処理装置の一実施の形態を示すブロック図である。 情報処理部の構成例を示すブロック図である。 ゼロ点バイアスのズレによる誤差について説明するための図である。 測位処理を説明するためのフローチャートである。 静止キャリブレーション処理の詳細を説明するためのフローチャートである。 GNSSキャリブレーション処理の詳細を説明するためのフローチャートである。 ゼロ点バイアスがずれた場合の進行方位の検出結果の例を示す図である。 直進キャリブレーション処理の詳細を説明するためのフローチャートである。 地磁気センサの検出値の例を示すグラフである。 地磁気キャリブレーション処理の詳細を説明するためのフローチャートである。 地磁気センサの有無による進行方位の検出結果を比較した例を示す図である。 キャリブレーションを行った場合と行わない場合のユーザの移動軌跡の検出結果を比較したグラフである。 ユーザの位置及び進行方位の検出結果の提示方法の第1の例を示す図である。 ユーザの位置及び進行方位の検出結果の提示方法の第2の例を示す図である。 キャリブレーションの実施状況の通知方法の第1の例を示す図である。 キャリブレーションの実施状況の通知方法の第2の例を示す図である。 キャリブレーションの実施状況の通知方法の第3の例を示す図である。 コンピュータの構成例を示す図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.実施の形態
 2.変形例
 3.その他
 <<1.実施の形態>>
 <情報処理装置の構成例>
 図1は、本技術を適用した情報処理装置の一実施の形態を示すブロック図である。
 情報処理装置10は、例えば、スマートフォン、携帯電話機、ウエアラブルデバイス等のユーザが携帯又は装着可能な携帯情報端末からなる。
 情報処理装置10は、アンテナ11乃至アンテナ13、通信部14、IMU(Inertial Measurement Unit)15、AD(アナログ/デジタル)変換部16、制御部17、入力部18、出力部19、外部I/F(インタフェース)20、及び、入出力端子21を備える。通信部14は、移動体通信部31、無線通信部32、および、GNSS受信機33を備える。IMU15は、加速度センサ41、ジャイロセンサ42、および、地磁気センサ43を備える。AD変換部16は、ADC(アナログ/デジタルコンバータ)51乃至ADC53を備える。制御部17は、CPU(Central Processing Unit)61、ROM(Read Only Memory)62、RAM(Random Access Memory)63、及び、不揮発性メモリ64を備える。
 通信部14、ADC51乃至ADC53、CPU61、ROM62、RAM63、不揮発性メモリ64、入力部18、出力部19、及び、外部I/F20は、バス65を介して相互に接続されている。
 なお、以下、バス65に接続されている各部が、バス65を介して通信を行う場合、バス65の記載を適宜省略する。例えば、CPU61と出力部19がバス65を介して通信を行う場合、単にCPU61と出力部19が通信を行うと称する。
 移動体通信部31は、アンテナ11及び移動体通信網(不図示)を介して、移動体通信の基地局(不図示)と所定の方式の移動体通信を行う。移動体通信部31は、受信したデータを制御部17に供給したり、送信するデータを制御部17から取得したりする。
 無線通信部32は、アンテナ12を介して、他の機器や無線通信の基地局等(不図示)と、所定の無線通信の方式(例えば、Wi-Fi)の無線通信を行う。無線通信部32は、受信したデータを制御部17に供給したり、送信するデータを制御部17から取得したりする。
 GNSS受信機33は、GNSSの測位用衛星(不図示)から送信されるGNSS信号を受信し、受信したGNSS信号を制御部17に供給する。
 加速度センサ41は、情報処理装置10のピッチ軸(x軸)、ロール軸(y軸)、及び、ヨー軸(z軸)の3軸方向の加速度の検出を行い、検出結果を示す加速度信号をADC51に供給する。
 ジャイロセンサ42は、情報処理装置10のピッチ軸回り、ロール軸回り、及び、ヨー軸回りの3軸回りの角速度の検出を行い、検出結果を示す角速度信号をADC52に供給する。
 地磁気センサ43は、情報処理装置10のピッチ軸、ロール軸、及び、ヨー軸の3軸方向の地磁気の検出を行い、検出結果を示す地磁気信号をADC53に供給する。
 ADC51は、アナログの加速度信号をデジタルの加速度データに変換し、加速度データを制御部17に供給する。
 ADC52は、アナログの角速度信号をデジタルの角速度データに変換し、角速度データを制御部17に供給する。
 ADC53は、アナログの地磁気信号をデジタルの地磁気データに変換し、地磁気データを制御部17に供給する。
 CPU61は、各種のプログラムを実行し、各部に供給する制御信号を形成したり、各種の演算を行ったりするなど、制御部17における処理や制御の主体となるものである。
 ROM62は、CPU61が実行する各種のプログラムや処理に必要になるデータを記憶保持する。
 RAM63は、各種の処理に必要なデータを一時的に記憶する。
 不揮発性メモリ64は、例えば、EEPROMやフラッシュメモリ等により構成される。不揮発性メモリ64は、例えば、情報処理装置10の電源がオフされても保持しておくべきデータ(例えば、設定されたパラメータや追加されたプログラム等)を記憶保持する。
 入力部18は、情報処理装置10を操作したり、データを入力したりするための各種の入力デバイスを備える。例えば、入力部18は、ボタン、スイッチ、キーボード、タッチパネル、マウス、マイクロホン等の入力デバイスのうち1つ以上を備える。入力部18は、操作信号や取得したデータを制御部17に供給する。
 出力部19は、画像や光等の視覚情報、音声等の聴覚情報、又は、振動等の触覚情報等により各種のデータの出力を行う各種の出力デバイスを備える。例えば、出力部19は、ディスプレイ、スピーカ、ランプ、バイブレータ等の出力デバイスのうち1つ以上を備える。
 外部I/F20は、入出力端子21を介して、パーソナルコンピュータ等の外部機器に接続される。そして、入出力端子21は、外部I/F20を介して、外部機器と通信を行う。
 <情報処理部の構成例>
 図2は、CPU61が各種のプログラムを実行することにより実現される機能の一部である情報処理部101の構成例を示している。
 情報処理部101は、検出部111、状態推定部112、キャリブレーション部113、及び、出力制御部114を備える。
 検出部111は、情報処理装置10を携帯又は装着するユーザの位置及び進行方位の検出処理、すなわち、ユーザの測位を行う。例えば、検出部111は、加速度データ及び角速度データを用いた自律測位により、ユーザの位置及び進行方位を検出する。例えば、検出部111は、GNSS信号を用いた衛星測位により、ユーザの位置及び進行方位を検出する。例えば、検出部111は、地磁気データに基づいて、ユーザの進行方位を検出する。検出部111は、各検出処理の結果を示す検出データを、必要に応じて情報処理装置10の各部に供給する。
 状態推定部112は、加速度データ、角速度データ、並びに、ユーザの位置及び進行方位の検出結果等に基づいて、ユーザの状態を推定する。検出部111は、ユーザの状態の推定結果を示す状態推定データを、必要に応じて情報処理装置10の各部に供給する。また、状態推定部112は、推定したユーザの状態等に基づいて、キャリブレーション部113によるキャリブレーションを実行可能な状態であるか否かを判定する。
 キャリブレーション部113は、IMU15及びIMU15を用いて得られる情報のキャリブレーションを行う。例えば、キャリブレーション部113は、加速度センサ41及びジャイロセンサ42を用いた自律測位の検出結果のキャリブレーションを行う。また、例えば、キャリブレーション部113は、加速度センサ41及びジャイロセンサ42のゼロ点バイアスのキャリブレーションを行う。
 ここで、ゼロ点バイアスとは、加速度又は角速度の検出値を補正するためのバイアス値であり、例えば、加速度又は角速度が0の場合の加速度センサ41又はジャイロセンサ42の加速度信号又は角速度信号の値に基づいて設定される。
 ゼロ点バイアスは、例えば、時間経過や周囲の温度等により変動する。そして、ゼロ点バイアスが変動し、設定値が実際の値からずれることにより、加速度センサ41又はジャイロセンサ42を用いて得られる各種の情報に誤差が生じる。
 例えば、ジャイロセンサ42のゼロ点バイアスの設定値にズレが生じると、ジャイロセンサ42を用いて検出される姿勢角度に誤差が生じる。特に、ピッチ軸回り及びロール軸回りの姿勢角度の検出結果に誤差が生じる。これにより、例えば、図3に示されるように、真の重力方向151に対して矢印152の方向が重力方向であると誤認識され、重力加速度の一部が運動加速度として誤認識される。例えば、矢印153で示される水平方向の運動加速度、及び、矢印154で示される垂直方向の運動加速度が誤認識される。これにより、特に水平方向の誤差が大きくなり、例えば、PDRや慣性航法等の自律測位を用いた速度や位置等の検出誤差の要因になる。
 出力制御部114は、出力部19からの各種のデータの出力を制御する。
 <測位処理>
 次に、図4のフローチャートを参照して、情報処理装置10により実行される測位処理について説明する。例えば、この処理は、情報処理装置10の電源がオンされたとき開始され、情報処理装置10の電源がオフされたとき終了する。
 ステップS1において、情報処理装置10は、初期化処理を行う。例えば、検出部111は、自律測位におけるユーザの位置の変動量及び進行方位の変動量を0に設定する。例えば、キャリブレーション部113は、加速度センサ41、ジャイロセンサ42、および、地磁気センサ43の初期化を行う。例えば、キャリブレーション部113は、加速度センサ41及びジャイロセンサ42のゼロ点バイアスを所定の初期値に設定する。
 ステップS2において、情報処理装置10は、データを取得する。
 例えば、加速度センサ41は、情報処理装置10のピッチ軸、ロール軸、及び、ヨー軸の3軸方向の加速度の検出を行い、検出結果を示す加速度信号をADC51に供給する。ADC51は、アナログの加速度信号をデジタルの加速度データに変換し、加速度データをCPU61に供給したり、RAM63に記憶させたりする。
 例えば、ジャイロセンサ42は、情報処理装置10のピッチ軸回り、ロール軸回り、及び、ヨー軸回りの3軸回りの角速度の検出を行い、検出結果を示す角速度信号をADC52に供給する。ADC52は、アナログの角速度信号をデジタルの角速度データに変換し、角速度データをCPU61に供給したり、RAM63に記憶させたりする。
 例えば、地磁気センサ43は、情報処理装置10のピッチ軸、ロール軸、及び、ヨー軸の3軸方向の地磁気の検出を行い、検出結果を示す地磁気信号をADC53に供給する。ADC53は、アナログの地磁気信号をデジタルの地磁気データに変換し、地磁気データをCPU61に供給したり、RAM63に記憶させたりする。
 例えば、GNSS受信機33は、測位用衛星からGNSS信号を受信し、GNSS信号をCPU61に供給したり、GNSS信号の値及び強度をRAM63に記憶させたりする。
 なお、RAM63に記憶された各データは、少なくとも処理に必要な期間は保持され(バッファリングされ)、その後は適宜消去される。
 ステップS3において、情報処理装置10は、データ処理を行う。
 例えば、検出部111は、加速度データ及び角速度データに基づいて、自律測位により、ユーザの位置および進行方位を検出する。なお、このとき、例えば、加速度データ及び加速度データの値が、設定されているゼロ点バイアスに基づいて補正される。
 例えば、検出部111は、PDRを用いてユーザの位置及び進行方位を検出する場合、加速度データ及び角速度データに基づいて、歩数由来速度(=歩行ピッチ×歩幅)を算出する。また、検出部111は、ジャイロセンサ42により検出されたヨー方向の角速度を、進行方位の変化量とみなして積分することにより、ユーザの進行方位を検出する。さらに、検出部111は、歩数由来速度及び進行方位の変化量を積分することにより、ユーザの位置を検出する。
 また、例えば、検出部111は、慣性航法を用いてユーザの位置及び進行方位を検出する場合、ジャイロセンサ42により検出された角速度を積分することにより、情報処理装置10の姿勢角度を検出する。また、検出部111は、検出した姿勢角度に基づいて、加速度センサ41により検出された加速度をグローバル座標系の加速度に変換する。そして、検出部111は、グローバル座標系に変換した加速度を積分することにより、情報処理装置10の速度を検出し、さらに検出した速度を積分することより、情報処理装置10の位置を検出する。このようにして検出された情報処理装置10の位置及び姿勢角度に基づいて、ユーザの位置及び進行方位が検出される。
 なお、PDRでは、慣性航法と比較して、位置の検出に必要な積分処理の回数が少ないため、位置の積分誤差の発散が遅い。一方、PDRでは、例えば、情報処理装置10がユーザの進行方位と大きく異なる方向に向けられると、進行方位の検出誤差が大きくなる。
 これに対して、慣性航法では、情報処理装置10がユーザの進行方位と大きく異なる方向に向けられても、進行方位を高精度に検出することが可能である。一方、慣性航法では、PDRと比較して、位置の検出に必要な積分処理の回数が多いため、位置の積分誤差の発散が早い。
 従って、例えば、情報処理装置10を装着する位置及び向きが固定である場合、PDRが用いられる。一方、例えば、高精度な誤差補正手段がある場合、慣性航法が用いられる。
 また、例えば、検出部111は、GNSS信号に基づいて、衛星測位によりユーザ(情報処理装置10)の位置を検出する。
 さらに、例えば、検出部111は、地磁気データに基づいて、ユーザ(情報処理装置10)の進行方位を検出する。
 なお、PDR又は慣性航法において、検出開始時のユーザの位置及び進行方位の初期値には、例えば、GNSS信号に基づいて検出された位置、地磁気データに基づいて検出された進行方位、加速度データに基づいて検出された進行方位等が用いられる。
 検出部111は、各検出処理の結果を示す検出データをRAM63に記憶させる。RAM63に記憶された各検出データは、少なくとも処理に必要な期間は保持され(バッファリングされ)、その後は適宜消去される。
 また、例えば、状態推定部112は、加速度データ、角速度データ、並びに、ユーザの位置及び進行方位の検出結果等に基づいて、ユーザの状態を推定する。例えば、状態推定部112は、ユーザが静止しているか、移動しているか、或いは、それ以外の不明な状態であるかを推定する。ここで、不明な状態とは、例えば、ユーザが情報処理装置10を回転させることにより、ユーザが静止しているとも移動しているとも判断がつかない状態等である。
 なお、ユーザの状態の推定方法には、任意の方法を採用することができる。例えば、ユーザが静止しているか又は移動しているかは、加速度及び角速度の分散が閾値以下であるか否かに基づいて判定される。また、例えば、ユーザが静止していると判定されたにも関わらず、ユーザの検出位置が移動している場合や、ユーザが移動していると判定されたにも関わらず、ユーザの検出位置が静止している場合、ユーザの状態が不明な状態であると推定される。さらに、例えば、ユーザ自身が移動せずに、ユーザが車両等の移動体に乗って移動している場合も、ユーザが移動していると判定するようにすることも可能である。この場合、ユーザが移動体内で静止していても、移動していると判定されるようになる。
 状態推定部112は、ユーザの状態の推定結果を示す状態データをRAM63に記憶させる。RAM63に記憶された状態データは、少なくとも処理に必要な期間は保持され(バッファリングされ)、その後は適宜消去される。
 ステップS4において、状態推定部112は、ステップS3の処理の結果に基づいて、ユーザが静止しているか否かを判定する。ユーザが静止していると判定された場合、処理はステップS5に進む。すなわち、状態推定部112は、ユーザが静止しているため、静止キャリブレーションを実行可能な状態であると判定する。
 ステップS5において、情報処理装置10は、静止キャリブレーション処理を実行し、その後、処理はステップS13に進む。ここで、図5のフローチャートを参照して、静止キャリブレーション処理の詳細について説明する。
 ステップS101において、キャリブレーション部113は、キャリブレーションを行う。具体的には、キャリブレーション部113は、現在の加速度データの値が、加速度が0の場合の加速度センサ41の信号値であるとみなす。そして、キャリブレーション部113は、現在の加速度データの値に基づいて、加速度センサ41のゼロ点バイアスの補正を行う。また、キャリブレーション部113は、現在の角速度データの値が、角速度が0の場合のジャイロセンサ42の信号値であるとみなす。そして、キャリブレーション部113は、現在の角速度データの値に基づいて、ジャイロセンサ42のゼロ点バイアスの補正を行う。
 この静止キャリブレーションは、PDR及び慣性航法のいずれの場合にも適用することが可能である。
 ステップS102において、状態推定部112は、ユーザが所定の時間以上静止しているか否かを判定する。ユーザが所定の時間以上静止していると判定された場合、すなわち、静止キャリブレーションを実行可能な状態が所定の時間以上継続し、静止キャリブレーションが所定の時間以上継続して行われている場合、処理はステップS103に進む。
 なお、この所定の時間は、静止キャリブレーションが正確に行われるのに十分な時間(例えば、5秒)に設定される。
 ステップS103において、出力部19は、出力制御部114の制御の下に、キャリブレーション完了の通知を行う。なお、この通知には、任意の方法を採用することができる。例えば、画像や光等の視覚情報、音声等の聴覚情報、又は、振動等の触覚情報、或いは、それらの組合せにより、キャリブレーションが完了したことがユーザに通知される。
 ステップS104において、出力部19は、出力制御部114の制御の下に、通常の検出結果の提示を行う。例えば、出力部19は、キャリブレーションが完了していること、又は、キャリブレーションが完了しているため信頼性が高いことを通知しながら、現在のユーザの位置及び進行方位の表示を行う。
 その後、静止キャリブレーション処理は終了する。
 一方、ステップS102において、ユーザがまだ所定の時間以上静止していないと判定された場合、すなわち、静止キャリブレーションがまだ所定の時間以上継続して行われていない場合、処理はステップS105に進む。
 ステップS105において、出力部19は、出力制御部114の制御の下に、キャリブレーション中の通知を行う。なお、この通知には、任意の方法を採用することができる。例えば、画像や光等の視覚情報、音声等の聴覚情報、又は、振動等の触覚情報、或いは、それらの組合せにより、キャリブレーションを実行中であることがユーザに通知される。
 ステップS106において、出力部19は、出力制御部114の制御の下に、キャリブレーション中の検出結果の提示を行う。例えば、出力部19は、キャリブレーション中であること、又は、キャリブレーション中のため信頼性が低下していることを通知しながら、現在のユーザの位置及び進行方位の表示を行う。或いは、例えば、出力部19は、ユーザの位置及び進行方位の表示の更新を停止し、キャリブレーション中のためユーザの位置及び進行方位を更新できない旨を通知する。
 その後、静止キャリブレーション処理は終了する。
 図4に戻り、一方、ステップS4において、ユーザが静止していないと判定された場合、処理はステップS6に進む。
 ステップS6において、状態推定部112は、ステップS3の処理の結果に基づいて、ユーザが移動しているか否かを判定する。ユーザが移動していると判定された場合、処理はステップS7に進む。
 ステップS7において、状態推定部112は、GNSS信号の強度が十分であるか否かを判定する。状態推定部112は、現在のGNSS信号の強度が所定の閾値以上である場合、GNSS信号の強度が十分であると判定し、処理はステップS8に進む。すなわち、状態推定部112は、ユーザが移動しており、かつ、GNSS信号の強度が十分であるため、GNSSキャリブレーションを実行可能な状態であると判定する。
 なお、このGNSS信号の強度の閾値は、例えば、GNSS信号の信頼性が所定の閾値以上となる値(例えば、35dB)に設定される。
 ステップS8において、情報処理装置10は、GNSSキャリブレーション処理を実行し、その後、処理はステップS13に進む。ここで、図6のフローチャートを参照して、GNSSキャリブレーション処理の詳細について説明する。
 ステップS121において、キャリブレーション部113は、キャリブレーションを行う。
 具体的には、GNSS信号の強度が十分である場合、一般的に衛星測位の方が自律測位より位置の検出精度が高い。また、GNSS信号の強度が十分である場合、ユーザが移動していれば、一般的に衛星測位による検出位置に基づく進行方位の検出精度の方が、自律測位による進行方位の検出精度より高くなる。さらに、一般的に自律測位の測位間隔(例えば、1ミリ秒)は、衛星測位の測位間隔(例えば、1秒)より短い。
 そこで、例えば、キャリブレーション部113は、測位間隔が長い衛星測位による位置及び進行方位の検出結果を、測位間隔が短い自律測位による位置及び進行方位の検出結果により補間する。このとき、キャリブレーション部113は、位置及び進行方位が滑らかに変化するように、自律測位による位置及び進行方位の検出結果を補正する。
 また、キャリブレーション部113は、衛星測位を用いて検出される位置及び進行方位と、自律測位を用いて検出される位置及び進行方位との差等に基づいて、加速度センサ41及びジャイロセンサ42のゼロ点バイアスの補正を行う。
 このGNSSキャリブレーションは、PDR及び慣性航法のいずれの場合にも適用することが可能である。なお、GNSS信号の強度が強い屋外において常時キャリブレーションを行うことができるので、上述したように積分誤差の発散が早い慣性航法の方が、GNSSキャリブレーションによる効果がより高くなる。
 ステップS122において、状態推定部112は、移動中かつGNSS信号の強度が十分である状態が所定の時間以上継続しているか否かを判定する。例えば、状態推定部112は、ユーザが移動している推定される状態、及び、GNSS信号の強度が所定の閾値(例えば、35dB)以上である状態が、所定の時間以上継続している場合、移動中かつGNSS信号の強度が十分である状態が所定の時間以上継続していると判定し、処理はステップS123に進む。すなわち、GNSSキャリブレーションを実行可能な状態が所定の時間以上継続し、GNSSキャリブレーションが所定の時間以上継続して行われている場合、処理はステップS123に進む。
 なお、この所定の時間は、GNSSキャリブレーションが正確に行われるのに十分な時間(例えば、10秒)に設定される。
 その後、ステップS123及びステップS124において、図5のステップS103及びステップS104と同様の処理が実行され、GNSSキャリブレーション処理は終了する。
 一方、ステップS122において、移動中かつGNSS信号の強度が十分である状態が、まだ所定の時間以上継続していないと判定された場合、すなわち、GNSSキャリブレーションがまだ所定の時間以上継続して行われていない場合、処理はステップS125に進む。
 その後、ステップS125及びステップS126において、図5のステップS105及びステップS106と同様の処理が実行され、GNSSキャリブレーション処理は終了する。
 図4に戻り、一方、ステップS7において、GNSS信号の強度が十分でないと判定された場合、処理はステップS9に進む。
 ステップS9において、状態推定部112は、ユーザが直進しているか否かを判定する。例えば、状態推定部112は、ユーザが移動していると推定される状態が1秒以上継続しており、かつ、直前の1秒間のユーザの進行方位の検出結果の変化量が所定の閾値以内である場合、ユーザが直進していると判定し、処理はステップS10に進む。すなわち、状態推定部112は、ユーザが直進しているため、直進キャリブレーションを実行可能な状態であると判定する。
 例えば、図7の矢印201で示されるように、ユーザが直進している場合、ジャイロセンサ42のゼロ点バイアスが正確に設定されていれば、ユーザの進行方位の検出結果は、矢印202で示されるように直進方向となる。
 一方、ジャイロセンサ42のゼロ点バイアスが変動し、設定値との間にズレが生じると、ユーザが直進しているにも関わらず、ユーザの進行方位の検出結果は、矢印203で示されるように少しずつ変化する。ただし、この変化量は非常に小さい値となる。
 また、主に自律測位が行われる屋内においては、ユーザが真っ直ぐな通路を通る頻度が高い。
 そこで、状態推定部112は、直前の1秒間のユーザの進行方位の検出結果の変化量が所定の閾値以内である場合、ゼロ点バイアスの変動により進行方位が変化しており、実際にはユーザは直進していると判定する。
 なお、この進行方位の変化量の閾値は、例えば、ゼロ点バイアスが変動した場合と、実際にユーザが進行方位を変えている場合とを、高い確率で切り分けることが可能な値(例えば、5度)に設定される。例えば、この閾値は、実験や機械学習等により設定される。
 また、進行方位の変化量は、例えば、直前の1秒間の進行方位の検出値の分布に基づいて算出するようにしてもよいし、或いは、例えば、1秒前の検出値と現在の検出値との差分により算出するようにしてもよい。
 ステップS10において、情報処理装置10は、直進キャリブレーション処理を実行し、その後、処理はステップS13に進む。ここで、図8のフローチャートを参照して、直進キャリブレーション処理の詳細について説明する。
 ステップS141において、キャリブレーション部113は、キャリブレーションを行う。
 具体的には、ユーザが直進している場合、ユーザのヨー軸回りの角速度は0度となる。従って、キャリブレーション部113は、現在のヨー軸回りの角速度データの値が、ヨー軸回りの角速度が0の場合のジャイロセンサ42の信号値であるとみなす。そして、キャリブレーション部113は、現在のヨー軸回りの角速度データの値に基づいて、ジャイロセンサ42のヨー軸回りのゼロ点バイアスの補正を行う。
 なお、この直進キャリブレーションは、ロール軸回り及びピッチ軸回りの角速度のキャリブレーションはできないため、PDRのみに適用可能であり、慣性航法には適用できない。
 ステップS142において、状態推定部112は、ユーザが所定の時間以上直進しているか否かを判定する。例えば、状態推定部112は、ユーザが移動していると推定される状態が所定の時間以上継続しており、かつ、直前の所定の時間内のユーザの進行方位の検出結果の変化量が所定の閾値以内である場合、ユーザが所定の時間以上直進していると判定し、処理はステップS143に進む。すなわち、直進キャリブレーションを実行可能な状態が所定の時間以上継続し、直進キャリブレーションが所定の時間以上継続して行われている場合、処理はステップS143に進む。
 なお、この所定の時間は、直進キャリブレーションが正確に行われるのに十分な時間(例えば、10秒)に設定される。
 また、この進行方位の変化量の閾値は、例えば、ステップS9の処理と同様の値に設定される。さらに、進行方位の変化量も、ステップS9の処理と同様の方法により算出される。
 その後、ステップS143及びステップS144において、図5のステップS103及びステップS104と同様の処理が実行され、直進キャリブレーション処理は終了する。
 一方、ステップS142において、ユーザがまだ所定の時間以上直進していないと判定された場合、すなわち、直進キャリブレーションがまだ所定の時間以上継続して行われていない場合、処理はステップS145に進む。
 その後、ステップS145及びステップS146において、図5のステップS105及びステップS106と同様の処理が実行され、直進キャリブレーション処理は終了する。
 図4に戻り、一方、ステップS9において、ユーザが直進していないと判定された場合、処理はステップS11に進む。
 ステップS11において、状態推定部112は、地磁気センサ43の精度が高いか否かを判定する。
 図9は、地磁気センサ43の検出値(地磁気絶対値)の例を示すグラフである。横軸は時間を示し、縦軸は磁気(単位は、μT)を示す。
 例えば、地磁気センサ43の周囲の磁気分布の乱れ及び偏りが小さいと、地磁気センサ43の検出値の変動が小さくなり、検出精度は高くなる。一方、地磁気センサ43の周囲の磁気分布の乱れ又は偏りが大きくなると、図9の点線の四角内に示されるように、地磁気センサ43の検出値の変動が大きくなり、検出精度は低くなる。
 そこで、例えば、状態推定部112は、直前の1秒間の地磁気センサ43の検出値の変動量が所定の閾値以内である場合、地磁気センサ43の精度が高いと判定し、処理はステップS12に進む。すなわち、状態推定部112は、ユーザが移動しており、かつ、地磁気センサ43の精度が高いため、地磁気キャリブレーションを実行可能な状態であると判定する。
 なお、この地磁気センサ43の検出値の変動量の閾値は、例えば、地磁気センサ43の検出値の精度が所定の閾値以上となる値(例えば、5μT)に設定される。
 また、地磁気センサ43の検出値の変動量は、例えば、直前の1秒間の検出値の分布に基づいて算出するようにしてもよいし、或いは、例えば、1秒前の検出値と現在の検出値との差分により算出するようにしてもよい。
 ステップS12において、情報処理装置10は、地磁気キャリブレーション処理を実行し、その後、処理はステップS13に進む。ここで、図10のフローチャートを参照して、地磁気キャリブレーション処理の詳細について説明する。
 ステップS161において、キャリブレーション部113は、キャリブレーションを行う。
 具体的には、地磁気センサ43の精度が高い場合、地磁気センサ43の検出値に基づいて、ヨー軸回りの進行方位が高い精度で検出される。そこで、キャリブレーション部113は、自律測位により検出される進行方位を、地磁気センサ43により検出される進行方位に基づいて補正する。これにより、ユーザの進行方位の検出精度が向上する。
 例えば、図11は、ユーザがスタート地点221から矢印222の方向に直進した場合に、地磁気センサ43の有無による進行方位の検出結果を比較した例を示している。具体的には、矢印223は、地磁気センサ43を用いずに、ジャイロセンサ42のみを用いた場合の検出結果の例を示している。一方、矢印224は、ジャイロセンサ42と地磁気センサ43の両方を用いた場合の検出結果の例を示している。
 例えば、ジャイロセンサ42のゼロ点バイアスの変動により、矢印223で示されるように、ユーザの進行方位の検出結果が矢印222の方向から離れだしたとしても、地磁気センサ43を用いることにより、矢印224で示されるように、ユーザの進行方位の検出結果が、矢印222の方向に補正される。
 また、キャリブレーション部113は、地磁気センサ43を用いて検出される進行方位と、自律測位を用いて検出される進行方位との差等に基づいて、ジャイロセンサ42のヨー軸回りの角速度のゼロ点バイアスの補正を行う。
 なお、この直進キャリブレーションは、ロール軸回り及びピッチ軸回りの角速度のキャリブレーションはできないため、PDRのみに適用可能であり、慣性航法には適用できない。また、この直進キャリブレーションは、ユーザが直進しているか否かに関わらず実行することが可能である。さらに、地磁気センサ43は、一般的にGNSS受信機33より消費電力が低く、低消費電力でキャリブレーションを行うことができる。
 ステップS162において、状態推定部112は、移動中かつ地磁気センサ43の精度が高い状態が所定の時間以上継続しているか否かを判定する。例えば、状態推定部112は、ユーザが移動している推定される状態、及び、地磁気センサ43の検出値の変動量が所定の閾値(例えば、5μT)以内である状態が、所定の時間以上継続している場合、移動中かつ地磁気センサ43の精度が高い状態が所定の時間以上継続していると判定し、処理はステップS163に進む。すなわち、地磁気キャリブレーションを実行可能な状態が所定の時間以上継続し、地磁気キャリブレーションが所定の時間以上継続して行われている場合、処理はステップS163に進む。
 なお、この所定の時間は、地磁気キャリブレーションが正確に行われるのに十分な時間(例えば、10秒)に設定される。
 その後、ステップS163及びステップS164において、図5のステップS103及びステップS104と同様の処理が実行され、地磁気キャリブレーション処理は終了する。
 一方、ステップS162において、移動中かつ地磁気センサ43の精度が高い状態が、まだ所定の時間以上継続していないと判定された場合、すなわち、地磁気キャリブレーションがまだ所定の時間継続して行われていない場合、処理はステップS165に進む。
 その後、ステップS165及びステップS166において、図5のステップS105及びステップS106と同様の処理が実行され、地磁気キャリブレーション処理は終了する。
 図4に戻り、ステップS13において、キャリブレーション部113は、キャリブレーション未実施期間をリセットする。すなわち、キャリブレーション部113は、キャリブレーションが行われていない期間であるキャリブレーション未実施期間の長さを0秒にリセットした後、キャリブレーション未実施期間の時間のカウントを再開する。
 その後、処理はステップS2に戻り、ステップS2以降の処理が実行される。
 一方、ステップS11において、地磁気センサ43の精度が低いと判定された場合、処理はステップS14に進む。
 また、ステップS6において、ユーザが移動していないと判定された場合、処理はステップS14に進む。これは、ユーザが静止しているとも移動しているとも判断がつかいない不明な状態であると推定される場合であり、例えば、ユーザが、情報処理装置10を回転させているような場合である。この場合、IMU15を用いた自律測位の検出精度は低下する。
 ステップS14において、キャリブレーション部113は、キャリブレーション未実施期間が所定の時間以上であるか否かを判定する。キャリブレーション未実施期間が所定の時間未満であると判定された場合、すなわち、前回キャリブレーションが行われた後、キャリブレーションが行われていない期間がまだ所定の時間に達していない場合、処理はステップS15に進む。
 なお、この所定の時間は、例えば、キャリブレーションが行われなくても、自律測位の検出精度が所定の閾値以上となる時間(例えば、100秒)に設定される。
 ステップS15において、上述した図5のステップS104の処理と同様に、通常の検出結果の提示が行われる。
 その後、処理はステップS2に戻り、ステップS2以降の処理が実行される。
 一方、ステップS14において、キャリブレーション未実施期間が所定の時間以上であると判定された場合、すなわち、前回キャリブレーションが行われた後、所定の時間以上キャリブレーションが行われていない場合、処理はステップS16に進む。
 ステップS16において、出力部19は、出力制御部114の制御の下に、キャリブレーション未完了の通知を行う。なお、この通知には、任意の方法を採用することができる。例えば、画像や光等の視覚情報、音声等の聴覚情報、又は、振動等の触覚情報、或いは、それらの組合せにより、キャリブレーションが完了していないことがユーザに通知される。
 ステップS17において、出力部19は、出力制御部114の制御の下に、キャリブレーション未完了時の検出結果の提示を行う。例えば、出力部19は、キャリブレーションが未完了であること、又は、キャリブレーションが未完了のため信頼性が低下していることを通知しながら、現在のユーザの位置及び進行方位の表示を行う。或いは、例えば、出力部19は、ユーザの位置及び進行方位の表示の更新を停止し、キャリブレーションが未完了のためユーザの位置及び進行方位を更新できない旨を通知する。
 その後、処理はステップS2に戻り、ステップS2以降の処理が実行される。
 以上のように、キャリブレーションを適宜実行することにより、ユーザの位置及び進行方位の検出精度が向上する。また、ユーザが静止している場合だけでなく、移動中もキャリブレーションが行われるため、ユーザの位置及び進行方位の検出精度がさらに向上する。
 例えば、図12は、キャリブレーションを行った場合と行わない場合のユーザの移動軌跡の検出結果を比較したグラフである。図12の横軸は、x軸(ピッチ軸)を示し、縦軸はy軸(ロール軸)を示す。また、図12は、x軸方向に約60m及びy軸方向に約10mの矩形のコースを周回した場合のユーザの移動軌跡の検出結果の例を示している。点線で示される軌跡241は、キャリブレーションを行わない場合のユーザの移動軌跡の検出結果の例を示している。実線で示される軌跡242は、キャリブレーションを行った場合のユーザの移動軌跡の検出結果の例を示している。
 キャリブレーションを行わない場合、ユーザの進行方位の検出結果が実際の進行方位から徐々にずれていき、検出される軌跡241とユーザの実際の移動軌跡との間の誤差が徐々に大きくなる。一方、キャリブレーションを行った場合、ユーザの進行方位の検出結果と実際の進行方位との間のズレが抑制され、検出される軌跡242とユーザの実際の移動軌跡との間の誤差が抑制される。
 また、ユーザの位置及び進行方位の検出結果の信頼性を示す情報として、キャリブレーションの実施状況がユーザに通知される。さらに、キャリブレーションの実施状況に応じて、ユーザの位置及び進行方位の検出結果が異なる方法で提示されることにより、検出結果の信頼性が示される。
 なお、上述したように、キャリブレーションは、推定されたユーザの状態に応じて実行されるため、結果的に、推定されたユーザの状態に基づいて、ユーザの位置及び進行方位の検出結果が異なる方法で提示され、検出結果の信頼性が示される。換言すれば、推定されたユーザの状態に基づいて、ユーザの位置及び進行方位の検出結果、並びに、検出結果の信頼性の提示(出力)が制御される。より具体的には、推定されたユーザの状態がキャリブレーションを実行可能な状態であるか否か、キャリブレーションを実行可能な状態である期間の長さ、又は、キャリブレーションを実行可能でない状態である期間の長さ等に基づいて、ユーザの位置及び進行方位の検出結果、並びに、検出結果の信頼性の提示(出力)が制御される。
 これにより、慣性センサを用いて得られるユーザの位置及び進行方位の検出結果の信頼性をユーザに適切に伝えることができ、その結果、ユーザは、提示される位置及び進行方位の信頼性を容易かつ正確に把握することができる。その結果、例えば、ユーザは、位置及び進行方位の検出誤差が大きい場合、その情報に従って行動することを控える等の適切な対応を行うことができる。これにより、例えば、ユーザが道に迷う等のトラブルが未然に防止されたり、ユーザのストレスが軽減されたりする。
 ここで、図13及び図14を参照して、ユーザの位置及び進行方位の検出結果の提示方法の例について説明する。
 図13及び図14は、ユーザの位置及び進行方位の検出結果に基づいて、ユーザの移動軌跡を出力部19に表示した場合の例を模式的に示している。
 なお、以下、ユーザが矢印261で示されるように直進し、その途中の領域262においてユーザが不明な動作を行い、キャリブレーションを実行できなくなった場合の例について説明する。また、矢印261及び領域262は、補助的に図示したものであり、実際には出力部19には表示されない。
 図13のA乃至図13のCは、キャリブレーションを実行できなくなった後も、自律測位により検出されるユーザの移動軌跡を継続して表示する場合の例を示している。
 図13のAの例では、検出結果の信頼性が2段階で表示されている。
 具体的には、キャリブレーションの未実施期間がT1秒(例えば、100秒)未満であり、検出結果の信頼性(検出精度)が高い区間において、ユーザの移動軌跡が矢印271aにより表示されている。一方、キャリブレーション未実施期間がT1秒以上となり、検出結果の信頼性(検出精度)が低い区間において、ユーザの移動軌跡が矢印271bにより表示されている。
 矢印271aと矢印271bとは、色、濃度、太さ、線種等の属性のうち1以上が異なり、視覚的に区別される。なお、図13のAでは、矢印271aと矢印271bの線種を変えた例が示されている。
 これにより、ユーザは、提示される移動軌跡の信頼性の違いを明確に認識することができる。
 図13のBの例では、検出結果の信頼性が3段階で表示されている。
 具体的には、キャリブレーションの未実施期間がT1秒未満であり、検出結果の信頼性(検出精度)が高い区間において、ユーザの移動軌跡が矢印281aにより表示されている。一方、キャリブレーションの未実施期間がT1秒に達した後、さらにT2秒(例えば、10秒)が経過するまでの検出結果の信頼性(検出精度)が中程度の区間において、ユーザの移動軌跡が矢印281bにより表示されている。また、キャリブレーションの未実施期間がT1+T2秒に達した後、さらにT3秒(例えば、40秒)が経過するまでの検出結果の信頼性(検出精度)が低い区間において、ユーザの移動軌跡が矢印281cにより表示されている。
 矢印281a乃至矢印281cは、色、濃度、太さ、線種等の属性のうち1以上がそれぞれ異なり、視覚的に区別される。なお、図13のBでは、矢印281a乃至矢印281cの線種を変えた例が示されている。
 これにより、ユーザは、提示される移動軌跡の信頼性の違いをさらに詳細に認識することができる。
 なお、キャリブレーションの未実施期間がT1+T2+T3秒を超えた後は、例えば、次にキャリブレーションが行われるまで、ユーザの移動軌跡の表示の更新が停止される。
 図13のCの例では、検出結果の信頼性が、誤差円292a乃至誤差円292cにより3段階で表示されている。
 具体的には、キャリブレーション未実施期間がT1秒未満であり、検出結果の信頼性(検出精度)が高い区間において、ユーザの移動軌跡が矢印291aにより表示されている。また、矢印291aの先端に誤差範囲を示す誤差円292aが表示されている。一方、キャリブレーションの未実施期間がT1秒に達した後、さらにT2秒が経過するまでの検出結果の信頼性(検出精度)が中程度の区間において、ユーザの移動軌跡が矢印291bにより表示されている。また、矢印291bの先端に誤差範囲を示す誤差円292bが表示されている。また、キャリブレーションの未実施期間がT1+T2秒に達した後、さらにT3秒が経過するまでの検出結果の信頼性(検出精度)が低い区間において、ユーザの移動軌跡が矢印291cにより表示されている。また、矢印291cの先端に誤差範囲を示す誤差円292cが表示されている。
 誤差円292a乃至誤差円292cは、キャリブレーションの未実施期間が長くなり、検出誤差が大きくなるにつれて、大きくなっている。
 これにより、ユーザは、提示される移動軌跡の信頼性の違いだけでなく、誤差範囲も明確に認識することができる。
 なお、キャリブレーションの未実施期間がT1+T2+T3秒を超えた後は、例えば、次にキャリブレーションが行われるまで、ユーザの移動軌跡の表示の更新が停止される。
 また、矢印291a乃至矢印291cは、視覚的に区別してもよいし区別しなくてよい。
 図14のA乃至図14のCは、キャリブレーションの未実施期間がT1秒以上になった後、自律測位より精度が低い他の方法(例えば、WiFi測位)により検出されたユーザの移動軌跡を表示する場合の例を示している。
 図14のAは、自律測位により検出された移動軌跡と他の方法により検出された移動軌跡を区別して表示する例を示している。
 具体的には、自律測位により検出されたユーザの移動軌跡が、矢印301aにより表示されている。一方、他の方法により検出されたユーザの移動軌跡が、矢印301bにより表示されている。
 矢印301aと矢印301bとは、色、濃度、太さ、線種等の属性のうち1以上が異なり、視覚的に区別されている。なお、図14のAでは、矢印301aと矢印301bの線種を変えた例が示されている。
 これにより、ユーザは、提示される移動軌跡の測位方法及び信頼性の違いを明確に認識することができる。
 図14のBは、他の方法により検出されたユーザの移動軌跡の信頼性を2段階で表示した例を示している。
 具体的には、自律測位により検出されたユーザの移動軌跡が、矢印311aにより表示されている。一方、他の方法により検出されたユーザの移動軌跡の表示が開始されてからT2秒が経過するまでの区間において、ユーザの移動軌跡が矢印311bにより表示されている。また、他の方法により検出されたユーザの移動軌跡の表示が開始されてからT2秒が経過した後の区間において、ユーザの移動軌跡が矢印311cにより表示されている。
 矢印311a乃至矢印311cは、色、濃度、太さ、線種等の属性のうち1以上がそれぞれ異なり、視覚的に区別されている。なお、図14のBでは、矢印311a乃至矢印311cの線種を変えた例が示されている。
 これにより、ユーザは、提示される移動軌跡の測位方法及び信頼性の違いをさらに詳細に認識することができる。
 図14のCの例では、検出結果の信頼性が、誤差円322a乃至誤差円322eにより表示されている。
 具体的には、自律測位により検出されたユーザの移動軌跡が、矢印321aにより表示されている。また、矢印321aの先端に誤差範囲を示す誤差円322aが表示されている。一方、他の方法により検出されたユーザの移動軌跡が、矢印321b乃至矢印321eにより表示されている。また、矢印321b乃至矢印321eの先端に、誤差範囲を示す誤差円322b乃至誤差円322eがそれぞれ表示されている。
 誤差円322b乃至誤差円322eは、他の方法による検出期間が長くなり、検出誤差が大きくなるにつれて大きくなっている。
 これにより、ユーザは、提示される移動軌跡の測位方法及び信頼性の違いだけでなく、誤差範囲も明確に認識することができる。
 次に、図15乃至図17を参照して、キャリブレーションの実施状況の通知方法の例について説明する。
 図15は、キャリブレーションの実施状況を音声メッセージにより通知する例を示している。
 具体的には、ユーザ331が、静止しているとも移動しているとも判断がつかない不明な状態を続け、キャリブレーションを実行できない状態が所定の時間以上継続したとき、PDRによる検出結果を利用できない旨を通知する音声メッセージ332が出力部19から出力される。
 次に、ユーザ331が歩行を開始し、キャリブレーションが再開されたとき、キャリブレーション中である旨を通知する音声メッセージ333が出力部19から出力される。
 その後、ユーザ331が歩き続け、キャリブレーションが完了したとき、PDRによる検出結果を利用できる旨を通知する音声メッセージ334が出力部19から出力される。
 図16は、キャリブレーションの実施状況を効果音により通知する例を示している。
 具体的には、ユーザ331が、静止しているとも移動しているとも判断がつかない不明な状態を続け、キャリブレーションを実行できない状態が所定の時間以上継続したとき、位置及び進行方位の検出結果の信頼性の低下を示すビープ音が、出力部19に備えられているスピーカ341から出力される。
 次に、ユーザ331が歩行を開始し、キャリブレーションが再開されたとき、キャリブレーション中である旨を示す効果音がスピーカ341から出力される。この効果音は、例えば、先の信頼性の低下を示すビープ音ほど不快ではなく、音量も小さい。
 その後、ユーザ331が歩き続け、キャリブレーションが完了したとき、通知音の出力が停止される。
 図17は、情報処理装置10がスマートフォン351からなる場合、キャリブレーションの実施状況をスマートフォン351の振動により通知する例を示している。
 具体的には、ユーザ331が、静止しているとも移動しているとも判断がつかない不明な状態を続け、キャリブレーションを実行できない状態が所定の時間以上継続されたとき、スマートフォン351が大きく振動する。
 次に、ユーザ331が歩行を開始し、キャリブレーションが再開されたとき、スマートフォン351の振動が小さくなる。
 その後、ユーザ331が歩き続け、キャリブレーションが完了したとき、スマートフォン351の振動が停止する。
 以上のいずれの方法においても、ユーザは、キャリブレーションの実施状況を容易に認識することができる。また、ユーザは、キャリブレーションの実施状況を認識することにより、位置及び進行方位の検出結果の信頼性を認識することができる。さらに、例えば、ユーザが、キャリブレーションの必要性を認識することにより、キャリブレーションを実行可能な行動(例えば、静止又は歩行)を行うことが期待できる。
 <<2.変形例>>
 以下、上述した本技術の実施の形態の変形例について説明する。
 以上の説明では、自律測位によりユーザ(人)の位置及び進行方位を検出する場合を例に挙げたが、本技術は、慣性センサを用いて人以外の対象物の位置及び進行方位を検出する場合にも適用することができる。そのような対象物とてしては、例えば、動物、ロボット、乗り物、無人機等の移動体が想定される。
 また、本技術において、慣性センサを用いて取得する対象物の情報は、特に限定されない。例えば、上述した位置及び進行方位以外にも、例えば、対象物の速度(角速度を含む)、姿勢、加速度等の検出を行う場合にも、本技術を適用することができる。
 さらに、本技術においては、キャリブレーションの方法は特に限定されず、例えば、上述した以外の方法を採用することも可能である。
 なお、キャリブレーションの方法等により、キャリブレーションを行う条件となるユーザ(対象物)の状態は、適宜変更される。例えば、ユーザの移動中という条件をさらに限定し、ユーザの歩行中や走行中にキャリブレーションを行うようにしてもよい。
 また、本技術は、ジャイロセンサ及び加速度センサ以外の慣性センサを用いる場合にも適用することができる。さらに、本技術は、ジャイロセンサ及び加速度センサの一方のみを用いる場合にも適用することができる。
 また、対象物の状態の推定に必ずしも慣性センサを用いる必要はない。例えば、カメラ等により撮影された画像を用いて、対象物の状態を推定するようにしてもよい。
 さらに、慣性センサを用いて得られる対象物の情報(例えば、上述したユーザの位置及び進行方位等)、及び、対象物の情報の信頼性を示す信頼性情報の提示方法は、上述した例に限定されるものではなく、任意に変更することが可能である。
 また、例えば、API(Application Programming Interface)を用いて、対象物の情報及び信頼性情報の少なくとも1つを外部に出力するようにしてもよい。次式(1)は、APIの一例を示している。
 Int GetValidityPosition(void);   ・・・(1)
 式(1)のAPIの戻り値は、検出位置の信頼性を示し、例えば、0から3までの値を取る。例えば、キャリブレーションを長時間実行できないため、検出位置の使用を禁止する場合、戻り値は0となる。検出位置の信頼性が低い場合、戻り値は1となる。検出位置の信頼性が中程度である場合、戻り値は2となる。検出位置の信頼性が高い場合、戻り値は3となる。
 例えば、対象物の検出位置を利用するアプリケーションプログラム(以下、APPと称する)に、このAPIにより検出位置の信頼性を通知することにより、APP側で適切な対応を行うことが可能になる。例えば、APPは、検出位置の使用を停止したり、他のデータを使用したり、信頼性の低下を通知したりすることができる。これにより、例えば、APPのパフォーマンスの低下や、APPを通じたユーザ体験の低下を抑制することができる。
 また、例えば、キャリブレーション未実施期間が所定の時間以上継続した場合、情報処理装置10が、ユーザにキャリブレーションを実行可能な行動(例えば、静止又は歩行)を行うように積極的に促すようにしてもよい。この変形例は、例えば、測位のリアルタイム性や利便性よりも、精度を重視するユースケースにおいて適用される。例えば、地図を作成する場合など、ユーザの作業コストをかけても良いユースケースにおいて適用される。
 なお、ジャイロセンサ42のゼロ点バイアスは温度により変動しやすいため、例えば、温度が一定以上変化したときに、情報処理装置10が、ユーザにキャリブレーションを実行可能な行動を行うように促してもよい。
 また、例えば、一般的に、歩行中はユーザの地面に対する姿勢はほとんど変化しない。そこで、ユーザの姿勢の検出結果が一定以上変化した場合に、その変化はジャイロセンサ42のゼロ点バイアスの変動によるものとみなして、情報処理装置10が、ユーザにキャリブレーションを実行可能な行動を行うように促してもよい。
 <<3.その他>>
 <コンピュータの構成例>
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 図18は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
 コンピュータ500において、CPU(Central Processing Unit)501,ROM(Read Only Memory)502,RAM(Random Access Memory)503は、バス504により相互に接続されている。
 バス504には、さらに、入出力インターフェース505が接続されている。入出力インターフェース505には、入力部506、出力部507、記録部508、通信部509、及びドライブ510が接続されている。
 入力部506は、入力スイッチ、ボタン、マイクロホン、撮像素子などよりなる。出力部507は、ディスプレイ、スピーカなどよりなる。記録部508は、ハードディスクや不揮発性のメモリなどよりなる。通信部509は、ネットワークインターフェースなどよりなる。ドライブ510は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブル記録媒体511を駆動する。
 以上のように構成されるコンピュータでは、CPU501が、例えば、記録部508に記録されているプログラムを、入出力インターフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU501)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブル記録媒体511に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブル記録媒体511をドライブ510に装着することにより、入出力インターフェース505を介して、記録部508にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部509で受信し、記録部508にインストールすることができる。その他、プログラムは、ROM502や記録部508に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 また、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 さらに、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 <構成の組み合わせ例>
 本技術は、以下のような構成をとることもできる。
(1)
 所定の対象物の状態を推定する状態推定部と、
 推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御部と
 を備える情報処理装置。
(2)
 前記出力制御部は、前記推定状態が前記慣性センサ又は前記対象物情報のキャリブレーションを実行可能な状態であるか否かに基づいて、前記信頼性情報の出力を制御する
 前記(1)に記載の情報処理装置。
(3)
 前記出力制御部は、前記推定状態が前記キャリブレーションを実行可能な状態である期間、又は、前記キャリブレーションを実行可能でない状態である期間の長さに基づいて、前記信頼性情報の出力を制御する
 前記(2)に記載の情報処理装置。
(4)
 前記出力制御部は、前記推定状態が前記キャリブレーションを実行可能な状態でない場合、前記対象物情報の信頼性の低下を示す前記信頼性情報を出力するように前記対象物情報の出力を制御する
 前記(2)又は(3)に記載の情報処理装置。
(5)
 前記状態推定部は、前記対象物が静止又は移動していると推定される場合、前記推定状態が前記キャリブレーションを実行可能な状態であると判定する
 前記(2)乃至(4)のいずれかに記載の情報処理装置。
(6)
 前記キャリブレーションは、前記慣性センサのゼロ点バイアスのキャリブレーションを含む
 前記(2)乃至(5)のいずれかに記載の情報処理装置。
(7)
 前記信頼性情報は、前記キャリブレーションの実施状況を含む
 前記(2)乃至(6)のいずれかに記載の情報処理装置。
(8)
 前記出力制御部は、前記推定状態に基づいて、さらに前記対象物情報の出力を制御する
 前記(1)乃至(7)のいずれかに記載の情報処理装置。
(9)
 前記出力制御部は、前記対象物情報を提示する方法により前記対象物情報の信頼性を示すように前記対象物情報及び前記信頼性情報の出力を制御する
 前記(8)に記載の情報処理装置。
(10)
 前記出力制御部は、前記推定状態が前記キャリブレーションを実行可能でない状態が所定の時間以上継続した場合、前記対象物情報の出力の更新を停止する
 前記(8)又は(9)に記載の情報処理装置。
(11)
 前記状態推定部は、前記慣性センサの信号値に基づいて、前記対象物の状態を推定する
 前記(1)乃至(10)のいずれかに記載の情報処理装置。
(12)
 前記キャリブレーションを行うキャリブレーション部を
 さらに備える前記(1)乃至(11)のいずれかに記載の情報処理装置。
(13)
 前記キャリブレーション部は、前記対象物が静止又は移動していると推定される場合、前記キャリブレーションを実行する
 前記(12)に記載の情報処理装置。
(14)
 前記慣性センサの信号値に基づいて、前記対象物情報を検出する検出部を
 さらに備える前記(1)乃至(13)のいずれかに記載の情報処理装置。
(15)
 前記対象物情報は、前記対象物の位置、進行方位、姿勢、速度、角速度、及び、加速度のうち少なくとも1つを含む
 前記(1)乃至(14)のいずれかに記載の情報処理装置。
(16)
 前記慣性センサは、ジャイロセンサ及び加速度センサのうち少なくとも1つを含む
 前記(1)乃至(15)のいずれかに記載の情報処理装置。
(17)
 所定の対象物の状態を推定する状態推定ステップと、
 推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御ステップと
 を含む情報処理方法。
(18)
 所定の対象物の状態を推定する状態推定ステップと、
 推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御ステップと
 を含む処理をコンピュータに実行させるためのプログラム。
 10 情報処理装置, 15 IMU, 17 制御部, 19 出力部, 33 GNSS受信機, 41 加速度センサ, 42 ジャイロセンサ, 61 CPU, 101 情報処理部, 111 検出部, 112 状態推定部, 113 キャリブレーション部, 114 出力制御部

Claims (18)

  1.  所定の対象物の状態を推定する状態推定部と、
     推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御部と
     を備える情報処理装置。
  2.  前記出力制御部は、前記推定状態が前記慣性センサ又は前記対象物情報のキャリブレーションを実行可能な状態であるか否かに基づいて、前記信頼性情報の出力を制御する
     請求項1に記載の情報処理装置。
  3.  前記出力制御部は、前記推定状態が前記キャリブレーションを実行可能な状態である期間、又は、前記キャリブレーションを実行可能でない状態である期間の長さに基づいて、前記信頼性情報の出力を制御する
     請求項2に記載の情報処理装置。
  4.  前記出力制御部は、前記推定状態が前記キャリブレーションを実行可能な状態でない場合、前記対象物情報の信頼性の低下を示す前記信頼性情報を出力するように前記対象物情報の出力を制御する
     請求項2に記載の情報処理装置。
  5.  前記状態推定部は、前記対象物が静止又は移動していると推定される場合、前記推定状態が前記キャリブレーションを実行可能な状態であると判定する
     請求項2に記載の情報処理装置。
  6.  前記キャリブレーションは、前記慣性センサのゼロ点バイアスのキャリブレーションを含む
     請求項2に記載の情報処理装置。
  7.  前記信頼性情報は、前記キャリブレーションの実施状況を含む
     請求項2に記載の情報処理装置。
  8.  前記出力制御部は、前記推定状態に基づいて、さらに前記対象物情報の出力を制御する
     請求項1に記載の情報処理装置。
  9.  前記出力制御部は、前記対象物情報を提示する方法により前記対象物情報の信頼性を示すように前記対象物情報及び前記信頼性情報の出力を制御する
     請求項8に記載の情報処理装置。
  10.  前記出力制御部は、前記推定状態が前記キャリブレーションを実行可能でない状態が所定の時間以上継続した場合、前記対象物情報の出力の更新を停止する
     請求項8に記載の情報処理装置。
  11.  前記状態推定部は、前記慣性センサの信号値に基づいて、前記対象物の状態を推定する
     請求項1に記載の情報処理装置。
  12.  前記キャリブレーションを行うキャリブレーション部を
     さらに備える請求項1に記載の情報処理装置。
  13.  前記キャリブレーション部は、前記対象物が静止又は移動していると推定される場合、前記キャリブレーションを実行する
     請求項12に記載の情報処理装置。
  14.  前記慣性センサの信号値に基づいて、前記対象物情報を検出する検出部を
     さらに備える請求項1に記載の情報処理装置。
  15.  前記対象物情報は、前記対象物の位置、進行方位、姿勢、速度、角速度、及び、加速度のうち少なくとも1つを含む
     請求項1に記載の情報処理装置。
  16.  前記慣性センサは、ジャイロセンサ及び加速度センサのうち少なくとも1つを含む
     請求項1に記載の情報処理装置。
  17.  所定の対象物の状態を推定する状態推定ステップと、
     推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御ステップと
     を含む情報処理方法。
  18.  所定の対象物の状態を推定する状態推定ステップと、
     推定された前記対象物の状態である推定状態に基づいて、慣性センサを用いて得られる前記対象物の情報である対象物情報の信頼性を示す信頼性情報の出力を制御する出力制御ステップと
     を含む処理をコンピュータに実行させるためのプログラム。
PCT/JP2018/023555 2017-07-05 2018-06-21 情報処理装置、情報処理方法、及び、プログラム WO2019009083A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/623,547 US11483674B2 (en) 2017-07-05 2018-06-21 Information processing apparatus and information processing method
CN201880043802.7A CN110869704A (zh) 2017-07-05 2018-06-21 信息处理装置、信息处理方法和程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017132186 2017-07-05
JP2017-132186 2017-07-05

Publications (1)

Publication Number Publication Date
WO2019009083A1 true WO2019009083A1 (ja) 2019-01-10

Family

ID=64949986

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/023555 WO2019009083A1 (ja) 2017-07-05 2018-06-21 情報処理装置、情報処理方法、及び、プログラム

Country Status (3)

Country Link
US (1) US11483674B2 (ja)
CN (1) CN110869704A (ja)
WO (1) WO2019009083A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009092666A (ja) * 2008-11-10 2009-04-30 Kyocera Corp 携帯通信端末とその地磁気センサの誤差補正方法
JP2009229295A (ja) * 2008-03-24 2009-10-08 Fujitsu Ltd 位置情報処理装置、位置情報処理プログラムおよび移動体端末
JP2009300355A (ja) * 2008-06-17 2009-12-24 Mitsubishi Electric Corp 精度予測装置、精度予測方法及び精度予測プログラム
JP2011089922A (ja) * 2009-10-23 2011-05-06 Clarion Co Ltd ナビゲーションシステム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4434818B2 (ja) * 2004-03-31 2010-03-17 京セラ株式会社 携帯通信端末とその地磁気センサの誤差補正方法
JP4635948B2 (ja) * 2006-04-18 2011-02-23 株式会社デンソー センサ装置およびそれを用いた制御システム
JP5270184B2 (ja) * 2008-02-13 2013-08-21 古野電気株式会社 衛星航法/推測航法統合測位装置
KR20110134633A (ko) * 2010-06-09 2011-12-15 엠텍비젼 주식회사 속도 측정 장치 및 측정된 속도 보정 방법
US8362949B2 (en) * 2011-06-27 2013-01-29 Google Inc. GPS and MEMS hybrid location-detection architecture
JP5870817B2 (ja) 2012-03-30 2016-03-01 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP6384194B2 (ja) * 2013-10-22 2018-09-05 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
JP2015224931A (ja) * 2014-05-27 2015-12-14 ソニー株式会社 情報処理装置、情報処理方法及びコンピュータプログラム
JP2016067409A (ja) * 2014-09-26 2016-05-09 セイコーエプソン株式会社 センサー、運動計測システム及び運動計測方法
US9939532B2 (en) * 2015-01-09 2018-04-10 Honeywell International Inc. Heading for a hybrid navigation solution based on magnetically calibrated measurements
JP6215277B2 (ja) * 2015-09-07 2017-10-18 京セラ株式会社 携帯機器、制御方法及び制御プログラム
US9843890B2 (en) * 2016-03-18 2017-12-12 Qualcomm Incorporated Reliability in mobile device positioning in a crowdsourcing system
JP6825349B2 (ja) * 2016-12-16 2021-02-03 富士ゼロックス株式会社 情報処理装置、画像処理装置及びプログラム
JP6614124B2 (ja) * 2016-12-21 2019-12-04 株式会社デンソー 緊急通報装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009229295A (ja) * 2008-03-24 2009-10-08 Fujitsu Ltd 位置情報処理装置、位置情報処理プログラムおよび移動体端末
JP2009300355A (ja) * 2008-06-17 2009-12-24 Mitsubishi Electric Corp 精度予測装置、精度予測方法及び精度予測プログラム
JP2009092666A (ja) * 2008-11-10 2009-04-30 Kyocera Corp 携帯通信端末とその地磁気センサの誤差補正方法
JP2011089922A (ja) * 2009-10-23 2011-05-06 Clarion Co Ltd ナビゲーションシステム

Also Published As

Publication number Publication date
US11483674B2 (en) 2022-10-25
CN110869704A (zh) 2020-03-06
US20200145788A1 (en) 2020-05-07

Similar Documents

Publication Publication Date Title
JP5225475B2 (ja) 移動状態推定装置、方法およびプログラム
JP5956914B2 (ja) ジャイロセンサの較正機能を備えた角速度測定装置、較正プログラム及び方法
US10627237B2 (en) Offset correction apparatus for gyro sensor, recording medium storing offset correction program, and pedestrian dead-reckoning apparatus
US9863784B2 (en) Orientation estimation utilizing a plurality of adaptive filters
JP6476925B2 (ja) 情報処理装置、位置更新方法及びプログラム
CN109141348B (zh) 电子设备、高度测定方法以及记录介质
WO2019215987A1 (ja) 情報処理装置、情報処理方法、及びプログラム
EP3415869B1 (en) Electronic device for improving dead reckoning-based positioning accuracy
US10739138B2 (en) Information processing apparatus and control method
JP6477675B2 (ja) マップマッチング装置、マップマッチング方法及びプログラム
JP6221295B2 (ja) 位置算出方法及び位置算出装置
JP2013034767A (ja) 情報処理装置、情報処理方法、プログラム、及び記録媒体
JP2014219340A (ja) オフセット補正方法及びオフセット補正装置
WO2019009083A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2016206017A (ja) 電子機器、及び移動速度算出プログラム
CN110196028B (zh) 位置测量装置、位置修正方法及位置信息取得系统
JP2015017858A (ja) 参照値生成装置及び参照値生成方法
CN112136020A (zh) 信息处理装置、信息处理方法和程序
JP2013217793A (ja) オフセット算出装置、オフセット算出方法、プログラム、及び情報処理装置
JP2021096264A (ja) 進行方向推定装置、進行方向推定方法及び進行方向推定プログラム
JP2016176863A (ja) 電子機器、位置補正方法及びプログラム
JP2016057126A (ja) 電子機器及び進行方位推定プログラム
JP7156445B1 (ja) 携帯端末、歩行ロボット、プログラム、および位置演算支援方法
JP2006125876A (ja) 移動体の位置算出装置および算出方法
US20230236034A1 (en) Information processing apparatus, information processing method, and program

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: 18829065

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: 18829065

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP