WO2014125809A1 - Appareil de calcul d'attitude, procédé de calcul d'attitude, appareil portable et programme - Google Patents

Appareil de calcul d'attitude, procédé de calcul d'attitude, appareil portable et programme Download PDF

Info

Publication number
WO2014125809A1
WO2014125809A1 PCT/JP2014/000704 JP2014000704W WO2014125809A1 WO 2014125809 A1 WO2014125809 A1 WO 2014125809A1 JP 2014000704 W JP2014000704 W JP 2014000704W WO 2014125809 A1 WO2014125809 A1 WO 2014125809A1
Authority
WO
WIPO (PCT)
Prior art keywords
posture
attitude
calculation
unit
calculation unit
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/JP2014/000704
Other languages
English (en)
Japanese (ja)
Inventor
淑正 鈴木
剛志 舛田
崇弘 北浦
北村 徹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Asahi Kasei Microdevices Corp
Original Assignee
Asahi Kasei Microdevices Corp
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 Asahi Kasei Microdevices Corp filed Critical Asahi Kasei Microdevices Corp
Priority to JP2015500143A priority Critical patent/JP6209581B2/ja
Publication of WO2014125809A1 publication Critical patent/WO2014125809A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B21/00—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant
    • G01B21/22—Measuring arrangements or details thereof, where the measuring technique is not covered by the other groups of this subclass, unspecified or not relevant for measuring angles or tapers; for testing the alignment of axes
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G—PHYSICS
    • G06—COMPUTING OR CALCULATING; COUNTING
    • G06F—ELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16—Constructional details or arrangements
    • G06F1/1613—Constructional details or arrangements for portable computers
    • G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • G—PHYSICS
    • G01—MEASURING; TESTING
    • G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C19/00—Gyroscopes; Turn-sensitive devices using vibrating masses; Turn-sensitive devices without moving masses; Measuring angular rate using gyroscopic effects

Definitions

  • the present invention relates to an attitude calculation device, an attitude calculation method, a portable device, and a program.
  • a motion angle calculation device that calculates a movement angle per unit time based on an output of an angular velocity sensor
  • a static angle calculation device that calculates a static angle based on outputs of an acceleration sensor and a geomagnetic sensor
  • a discriminating device that discriminates the truth of the calculation result by the static angle calculation device
  • an attitude angle calculation that calculates an attitude angle from the calculation results of the motion angle calculation device and the static angle calculation device according to the calculation result of the discrimination device.
  • the posture angle calculation device of Patent Document 1 calculates the posture angle from the motion angle when it is estimated that the calculation result by the stationary angle calculation device is incorrect.
  • the posture angle calculation device of Patent Document 1 preliminarily calculates the motion angle obtained from the motion angle calculation device and the static angle obtained from the static angle calculation device when the calculation result by the static angle calculation device is estimated to be correct.
  • the posture angle is calculated by adding together at a predetermined ratio. That is, the posture angle calculation device of Patent Document 1 calculates a posture obtained by adding the motion angle and the stationary angle at a ratio of k: 1-k (k is a predetermined constant) as the posture angle.
  • the posture angle detection device of Patent Document 1 reduces the uncomfortable feeling given to the user of the device, and allows the posture angle to quickly follow the stationary angle when the output of the acceleration sensor or the geomagnetic sensor is estimated to be correct. There is a problem that the two cannot be made compatible. The reason will be described below.
  • the posture angle detection device of Patent Document 1 reduces the uncomfortable feeling given to the user of the device and quickly follows the posture angle when the output of the acceleration sensor or the geomagnetic sensor is estimated to be correct. There is a problem that it is impossible to achieve both of the two.
  • a first attitude calculation unit that calculates the first attitude of the device based on the output of the angular velocity detection unit that is mounted on the device and detects the angular velocity of the device, and the first attitude
  • the third posture is calculated based on the second posture calculation unit that calculates the second posture of the device by means different from the calculation unit, the first posture, the second posture, and the rotation information of the device.
  • a posture calculation device including the third posture calculation unit, and a posture calculation method according to the device.
  • a portable device provided with the posture detection device in the first aspect.
  • a program for causing a computer to function as the posture calculation device in the first aspect is provided.
  • FIG. 1 is a diagram showing an outline of a portable device 200 according to an embodiment of the present invention.
  • the portable device 200 refers to a portable device such as a mobile phone, a tablet-type terminal, a portable personal computer, a camera, a wristwatch, a head-mounted display, and a game machine.
  • the mobile device 200 includes an attitude calculation device 100.
  • the attitude calculation device 100 detects the attitude of the mobile device 200 in a reference coordinate system having orthogonal axes X, Y, and Z.
  • the posture of the device can be defined using Euler angles or quaternions.
  • the posture calculation device 100 calculates a first posture in which the rotation of the mobile device 200 from the past to the current time is accumulated and a second posture based on information on the mobile device 200 at the current time.
  • FIG. 2 is a diagram illustrating a configuration example of the posture calculation apparatus 100.
  • the posture calculation device 100 of this example includes a geomagnetism detection unit 10, an acceleration detection unit 12, an angular velocity detection unit 14, an offset removal unit 16, a stillness determination unit 18, and a posture calculation unit 20.
  • the angular velocity detection unit 14 detects the angular velocity of the mobile device 200.
  • the angular velocity detection unit 14 is provided for each of three orthogonal axes (roll, pitch, yaw), and detects the rotation of the mobile device 200 by separating it into rotation components centered on each axis.
  • the stationary determination unit 18 determines whether or not the mobile device 200 is stationary.
  • the stationary determination unit 18 determines the stationary state based on the data detected by each detection unit. For example, the stillness determination unit 18 determines that the state is still when the angular velocity detected by the angular velocity detection unit 14 is equal to or less than a predetermined threshold.
  • the offset removal unit 16 detects an offset component in the output of the angular velocity detection unit 14.
  • the offset component refers to an angular velocity component that appears in the output of the angular velocity detector 14 even though the mobile device 200 is actually stationary, for example.
  • the offset removal unit 16 may detect the offset component by averaging the outputs of the angular velocity detection unit 14 while the stationary determination unit 18 determines that the stationary state.
  • the offset removing unit 16 removes the offset component from the angular velocity data output from the angular velocity detecting unit 14.
  • the offset removal unit 16 preferably detects the offset component periodically.
  • the posture calculation unit 20 calculates the first posture of the mobile device 200 based on the angular velocity data from which the offset component has been removed.
  • the posture calculation unit 20 calculates the first posture of the mobile device 200 by accumulating posture changes according to the angular velocity data detected sequentially.
  • the posture calculation unit 20 calculates rotation information of the mobile device 200 based on the angular velocity data from which the offset component has been removed.
  • the rotation information is not particularly limited as long as it is information indicating the rotation state of the mobile device 200. Examples of the rotation information include a rotation amount of the mobile device 200 per unit time and an angular velocity of the mobile device 200 at a predetermined time.
  • the geomagnetism detection unit 10 is provided for each of three orthogonal axes (roll, pitch, yaw) and detects a magnetic component parallel to each axis. Thereby, the direction of geomagnetism with respect to the mobile device 200 is detected.
  • the acceleration detection unit 12 is provided for each of three orthogonal axes (roll, pitch, yaw) and detects an acceleration component parallel to each axis. Thereby, the direction of the gravitational acceleration with respect to the portable device 200 is detected.
  • the posture calculation unit 20 detects the second posture of the mobile device 200 based on the magnetic data and acceleration data output from the geomagnetism detection unit 10 and the acceleration detection unit 12. Since the first posture is calculated by accumulating data from the past to the present time, an error is accumulated, whereas the second posture is detected from the current data without using the past data. Errors are not accumulated.
  • the magnetic data and acceleration data include magnetic and acceleration components due to other factors of geomagnetism and gravitational acceleration.
  • the posture calculation unit 20 calculates the second posture from the magnetic data and the acceleration data only when a predetermined condition is satisfied.
  • the frequency with which the posture calculation unit 20 can calculate the second posture is less than the frequency with which the first posture is calculated.
  • the angular velocity detector 14 generally has a drift in offset due to the influence of temperature or the like. Therefore, if angular velocity data is accumulated for a long time, errors are accumulated, and the first posture is not correct.
  • the attitude calculating unit 20 calculates a new third attitude based on the first attitude, the second attitude, and the rotation information of the device obtained from the output of the angular velocity detection unit. To do.
  • the posture calculation unit 20 may use the third posture as the first posture at the present time and accumulate subsequent rotations of the mobile device 200. By regularly calculating the third posture and outputting it as the posture of the device, it is possible to prevent errors from being accumulated in the first posture.
  • FIG. 3 is a diagram illustrating a configuration example of the posture calculation unit 20 according to the embodiment of the present invention.
  • the posture calculation unit 20 of this example includes a second posture calculation unit 22, a first posture calculation unit 24, a difference calculation unit 26, a coefficient calculation unit 28, a third posture calculation unit 30, and a determination unit 32.
  • the second attitude calculation unit 22 calculates the second attitude of the mobile device 200 based on the magnetic data and acceleration data detected by the geomagnetism detection unit 10 and the acceleration detection unit 12.
  • the parameters used for calculating the second posture are not limited to the geomagnetic direction and the gravitational direction.
  • the second attitude calculation unit 22 can calculate the second attitude based on various parameters whose directions are known (for example, the direction of the sun, the direction of an external known marker, GPS, and network positioning). .
  • the second posture calculation unit 22 calculates how much the mobile device 200 is tilted with respect to the direction of gravity based on the acceleration data. And based on the said inclination and geomagnetic data, the azimuth
  • the second posture of the mobile device 200 at the current time t is determined based on the roll angle R (t), pitch angle P (t), and yaw angle Y (t ).
  • the second posture calculation unit 22 compares the magnitude of the vector obtained by combining the accelerations in the three-axis directions detected by the acceleration detection unit 12 with the magnitude corresponding to 1G that is the gravitational acceleration, and the difference is predetermined. The second posture is calculated when it is equal to or less than the threshold value.
  • the first attitude calculation unit 24 calculates the first attitude of the mobile device 200 based on the angular velocity data detected by the angular velocity detection unit 14.
  • the first posture calculation unit 24 of this example calculates the first posture based on the angular velocity data from which the offset component has been removed by the offset removal unit 16.
  • the first posture of the mobile device 200 at time t is represented by a roll angle r (t), a pitch angle p (t), and a yaw angle y (t) at time t.
  • the roll angle r (t), pitch angle p (t), and yaw angle y (t) are given by the following equations.
  • t ⁇ 1 indicates a time one unit time before the time t.
  • ⁇ r (t), ⁇ p (t), and ⁇ y (t) indicate the amount of rotation of the mobile device 200 during the period from time t ⁇ 1 to time t.
  • the rotation amount may be referred to as a current rotation amount.
  • the amount of rotation is calculated, for example, by multiplying the angular velocity at time t by one unit time.
  • One unit time may be the same as the angular velocity detection interval in the angular velocity detector 14.
  • the difference calculation unit 26 calculates the difference between the first posture and the second posture.
  • the difference calculation unit 26 of this example uses the differences r (t) ⁇ R (t), p (t) ⁇ P (t), y (t) ⁇ Y (t) for the roll angle, pitch angle, and yaw angle. Is calculated.
  • the determination unit 32 dynamically determines a ratio of combining the first posture and the second posture based on the rotation information of the mobile device 200. Dynamically determining the ratio does not mean that the ratio is always constant, but means that the ratio is changed according to the situation. For example, every time the second attitude calculation unit 22 calculates the second attitude. The operation of determining the ratio based on the rotation information of the mobile device 200 at the time point.
  • the determination unit 32 of this example dynamically calculates a proportional constant to be multiplied by the above-described difference based on the angular velocity at the time t of the mobile device 200. The determination unit 32 generates a proportional constant k that is larger as the angular velocity is larger and smaller as the angular velocity is smaller.
  • the determination unit 32 may generate a common proportionality constant k for the roll angle, the pitch angle, and the yaw angle based on the square sum of the angular velocity of the roll angle, the pitch angle, and the yaw angle.
  • the determination unit 32 may generate proportional constants kr, kp, and ky for the roll angle, the pitch angle, and the yaw angle based on the absolute values of the angular velocity of the roll angle, the pitch angle, and the yaw angle. .
  • the proportionality constant is greater than 0 and less than 1.
  • the coefficient calculation unit 28 calculates a difference coefficient obtained by multiplying the difference calculated by the difference calculation unit 26 by the proportionality constant calculated by the determination unit 32.
  • the coefficient calculation unit 28 of this example calculates the following difference coefficient.
  • the third posture calculation unit 30 calculates a new third posture based on the first posture, the second posture, and the rotation information of the mobile device 200. That is, the third posture calculation unit 30 further uses the rotation information of the mobile device 200 in addition to the rotation information used to calculate the first posture and the second posture. Further, the rotation information used may be a content partially or entirely overlapped with the rotation information used to calculate the first posture or the second posture.
  • the third posture calculation unit 30 of this example is based on at least one of the first posture and the second posture, the difference between the first posture and the second posture, and the ratio determined by the determination unit 32.
  • the third posture is calculated.
  • the third posture calculation unit 30 calculates the first posture (r (t), p (t), y (t)) calculated by the first posture calculation unit 24, and coefficient calculation.
  • a new third posture is calculated using the difference coefficient calculated by the unit 28.
  • the difference coefficient includes at least the information on the second posture and the proportionality constant according to the rotation information of the mobile device 200.
  • the third posture calculation unit 30 in this example calculates the third posture as in the following equation.
  • the coefficient calculation unit 28 may determine the difference coefficient so that the difference coefficient is equal to or smaller than the current rotation amount of the mobile device 200. For example, in the range where the calculated difference coefficient is larger than the rotation amount, the coefficient calculation unit 28 matches the magnitude of the difference coefficient with the rotation amount.
  • the attitude calculation unit 20 may divide the difference detected at time t into a plurality of timings such as times t, t + 1,... And use them for calculating the third attitude at each timing. .
  • the determination unit 32 calculates a proportionality constant at each timing according to the angular velocity of the mobile device 200 at each timing.
  • the posture calculation unit 20 may calculate, for example, the third posture at time t + 1 using the difference at time t as follows.
  • the posture calculation unit 20 newly uses the difference detected at time t until the sum of proportional constants for each axis at each timing (for example, kr (t) + kr (t + 1) +...) Is substantially equal to 1.
  • the third posture may be calculated. Accordingly, the third posture can be calculated so that the detected difference is almost eliminated.
  • the second posture is newly calculated. It is preferable to calculate the third posture by using the difference between the new second posture and the first posture. Thereby, even when the interval for calculating the second posture is long, the third posture can be calculated so that the difference between the second posture and the first posture is eliminated.
  • the third attitude calculation method that can be used in the present invention can use a method such as linear spherical interpolation using quaternions, linear interpolation, or the like in addition to the method using the Euler angle difference described above.
  • the posture calculation unit 20 of this example since the third posture is calculated based on the first posture, the second posture, and the rotation information of the mobile device 200, it is possible to reduce discomfort given to the user. it can.
  • the posture information close to the first posture is calculated to reduce a sense of incongruity when the posture changes, and when the mobile device 200 moves greatly, the second By calculating posture information close to the posture, posture tracking can be performed efficiently. That is, the posture calculation unit 20 calculates the third posture such that the difference with respect to the first posture is smaller as the amount of rotation of the mobile device 200 per unit time is smaller.
  • the third posture is calculated such that the difference with respect to the second posture becomes smaller as the amount of rotation of the portable device per unit time is larger.
  • the difference in posture may be the sum of the absolute value of the difference in the roll angle, the absolute value of the difference in the pitch angle, and the absolute value of the difference in the yaw angle.
  • FIG. 4 is a diagram for explaining the outline of the operation of the posture calculation unit 20.
  • FIG. 4 shows an example of the first posture and the second posture at time t.
  • the posture calculation unit 20 calculates a difference coefficient obtained by multiplying the difference between the first posture and the second posture by a proportional constant according to the angular velocity at time t.
  • FIG. 5 is a flowchart showing an operation example of the posture calculation apparatus 100.
  • the posture calculation apparatus 100 detects the angular velocity of the portable device 200 at a predetermined cycle by the angular velocity detector 14 (S300).
  • the first posture calculation unit 24 accumulates the posture changes according to the angular velocity data sequentially detected, and calculates the first posture of the mobile device 200 (S302).
  • the posture calculation apparatus 100 calculates the first posture at a predetermined cycle by repeating the processes of S300 and S302.
  • the second posture calculation unit 22 calculates the second posture of the mobile device 200 in parallel with the first posture calculation unit 24 (S304).
  • the second posture calculation unit 22 calculates the second posture when the detection results of the geomagnetism detection unit 10 and the acceleration detection unit 12 satisfy a predetermined condition. For example, the second posture calculation unit 22 compares the magnitude of the vector obtained by combining the accelerations in the three-axis directions detected by the acceleration detection unit 12 with the magnitude corresponding to 1G that is the gravitational acceleration, and the difference is a predetermined threshold value.
  • the second posture is calculated when:
  • the first posture calculation unit 24 calculates the first posture is shorter than the cycle in which the second posture calculation unit 22 calculates the second posture.
  • the posture calculation unit 20 calculates a third posture when the second posture calculation unit 22 calculates the second posture.
  • the difference calculation unit 26 calculates the difference between the first posture and the second posture at the current time (S306).
  • the determination unit 32 and the coefficient calculation unit 28 calculate a difference coefficient according to the current angular velocity (S308).
  • the third posture calculation unit 30 calculates the current third posture based on the difference coefficient (S310).
  • the first posture calculation unit 24 calculates the subsequent first posture using the third posture calculated by the third posture calculation unit 30.
  • the first posture calculation unit 24 adds the rotation amounts ⁇ r (t + 1), ⁇ p (t + 1), ⁇ y at the next time t + 1 to the third posture at the time t calculated by the third posture calculation unit 30.
  • (T + 1) is added to calculate the first posture at time t + 1.
  • FIG. 6 is a diagram illustrating a configuration example of the posture calculation unit 20 according to the embodiment of the present invention.
  • the posture calculation unit 20 of this example includes a second posture calculation unit 22, a rotation axis calculation unit 34, a rotation amount calculation unit 36, a first posture calculation unit 38, and a third posture calculation unit 40.
  • the second posture calculation unit 22 has the same function as the second posture calculation unit 22 described with reference to FIGS. 3 to 5.
  • the first posture calculation unit 38 calculates the first posture described with reference to FIGS. 1 to 5.
  • the third posture calculation unit 40 calculates the third posture described with reference to FIGS. 1 to 5.
  • the first posture calculation unit 38 may have the same function as the first posture calculation unit 24.
  • the rotation amount calculation unit 36 calculates the current rotation amount of the mobile device 200 based on the angular velocity data.
  • the current rotation amount may be calculated by multiplying the current angular velocity by one unit time.
  • the rotation amount calculation unit 36 of this example calculates the rotation amount for each axis.
  • the rotation axis calculation unit 34 calculates the rotation axis from the first posture one unit time before the current time to the second posture at the current time.
  • the rotation axis calculation unit 34 converts the first posture one unit time ago through the origin of the orthogonal axes X, Y, and Z into the second posture at the present time when rotating around the rotation axis. The possible rotation axis is calculated.
  • rotation between two postures can be expressed using a quaternion, a rotation matrix, or Euler angles.
  • rotation between two postures when using a quaternion is described as an example, but rotation between the two postures in the present invention uses a rotation matrix, Euler angles, etc. as described above. Methods can also be used.
  • the rotation axis calculation unit 34 of this example calculates a quaternion indicating the rotation based on the first posture one unit time ago and the second posture at the present time.
  • P R (t) qP r (t ⁇ 1) q ⁇ 1
  • P R (t) is a vector indicating the current second attitude
  • P r (t ⁇ 1) is a vector indicating the first attitude one unit time ago
  • q is a quaternion indicating rotation.
  • P R (t) and P r (t ⁇ 1) may be obtained by converting the expression of the attitude angle by the Euler angle described in relation to FIGS. 3 to 5 into the expression of the quaternion.
  • P R (t) may be a position vector indicating the position of a certain point A of the mobile device 200 in the second posture.
  • P r (t ⁇ 1) may be a position vector indicating the position of the same point A in the mobile device 200 in the first posture. If the rotation between the second posture and the first posture is calculated for one specific point, the rotation of the entire posture can be specified.
  • the third posture calculation unit 40 uses the rotation axes ( ⁇ , ⁇ , ⁇ ) calculated by the rotation axis calculation unit 34 with respect to the first posture one unit time before calculated by the first posture calculation unit 38.
  • the current rotation amount ⁇ ′ detected by the rotation amount calculation unit 36 is applied.
  • the rotation amount ⁇ ′ indicates the magnitude of rotation and does not have information on the rotation axis. That is, the first posture one unit time before is rotated around the rotation axis by the rotation amount ⁇ ′.
  • the third posture calculation unit 40 calculates the current third posture. Specifically, the current first posture P r (t) is calculated based on the following equation.
  • the first posture calculation unit 38 may use the third posture calculated by the third posture calculation unit 40 as the first posture at the current time and accumulate subsequent rotations of the mobile device 200.
  • an appropriate posture can be calculated according to the amount of rotation of the mobile device 200. For this reason, the error accumulated in the first posture can be corrected without causing the user to feel uncomfortable. Specifically, since accumulation of errors in the first posture can be prevented, for example, the calculated posture gradually changes even though the mobile device 200 is actually stationary, This can be prevented without giving the user a sense of incongruity. In addition, since the rotation axis from the first attitude to the second attitude is calculated, and the rotation amount of the mobile device 200 is applied to the calculated rotation axis, the third attitude is calculated for the first attitude. The third posture can be prevented from drifting due to the drift of the first posture. This effect is significant when stationary.
  • the rotation amount in the present invention for example, a physical quantity relating to rotation obtained by angular velocity, acceleration, geomagnetism, image data, or a combination thereof can be used.
  • acceleration when acceleration is used, the rotation amount for each axis can be obtained from the rotation amount of the pitch angle and roll angle per unit time.
  • geomagnetism when geomagnetism is used, the rotation amount for each axis can be obtained from the rotation amount of the yaw angle per unit time.
  • image data the rotation amount for each axis can be obtained from the amount of change per unit time.
  • the posture calculation unit 20 uses the rotation axis to perform the third posture when the angular velocity is equal to or less than a predetermined threshold. May be calculated. For example, the posture calculation unit 20 calculates the third posture using the rotation axis when the angular velocity is small enough to determine that the mobile device 200 is stationary by the stillness determination unit 18. In addition, when the current angular velocity is larger than the above-described threshold, the posture calculation unit 20 may calculate the third posture as described with reference to FIGS.
  • FIG. 7 is a diagram for explaining the outline of the operation of the posture calculation unit 20 shown in FIG.
  • FIG. 7 shows an example of the first posture one unit time ago and the current second posture. Since errors are accumulated in the first posture, for example, even if the mobile device 200 is stationary for a long time, a difference between the first posture one unit time ago and the current second posture is obtained. May occur.
  • the rotation axis calculation unit 34 calculates a rotation axis that changes to the current second attitude when the first attitude one unit time ago is rotated around a predetermined rotation axis. That is, a rotation axis is calculated such that any attitude obtained when the first attitude is rotated around the rotation axis coincides with the second attitude.
  • the rotation axis calculation unit 34 may calculate the rotation axis from the current first posture to the current second posture.
  • the third posture calculation unit 40 uses the rotation axis calculated by the rotation axis calculation unit 34 to rotate the first posture one unit time ago with the current rotation amount of the mobile device 200, and Calculate the posture. Thereby, the error accumulated in the first posture can be corrected according to the rotation amount of the mobile device 200.
  • FIG. 8 is a flowchart showing an operation example of the posture calculation apparatus 100 using the posture calculation unit 20 of FIG.
  • the processing from S300 to S304 is the same as the flowchart shown in FIG.
  • the rotation axis calculation unit 34 calculates the rotation axis from the first posture one unit time ago to the current second posture (S312). ).
  • the rotation amount calculation unit 36 calculates the current rotation amount of the mobile device 200 from the current angular velocity data (S314).
  • the processes of S312 and S314 may be performed in parallel.
  • the third attitude calculation unit 40 calculates the current third attitude by applying the rotation amount calculated in S314 to the rotation axis calculated in S312 (S316).
  • the first attitude calculation unit 38 calculates the subsequent first attitude using the third attitude calculated by the third attitude calculation unit 40 in S316.
  • FIG. 9 shows an example of a hardware configuration of a computer 1900 according to the present embodiment.
  • a computer 1900 according to this embodiment is connected to a CPU peripheral unit having a CPU 2000, a RAM 2020, a graphic controller 2075, and a display device 2080 that are connected to each other by a host controller 2082, and to the host controller 2082 by an input / output controller 2084.
  • Input / output unit having communication interface 2030, hard disk drive 2040, and CD-ROM drive 2060, and legacy input / output unit having ROM 2010, flexible disk drive 2050, and input / output chip 2070 connected to input / output controller 2084 With.
  • the host controller 2082 connects the RAM 2020 to the CPU 2000 and the graphic controller 2075 that access the RAM 2020 at a high transfer rate.
  • the CPU 2000 operates based on programs stored in the ROM 2010 and the RAM 2020 and controls each unit.
  • the graphic controller 2075 acquires image data generated by the CPU 2000 or the like on a frame buffer provided in the RAM 2020 and displays it on the display device 2080.
  • the graphic controller 2075 may include a frame buffer for storing image data generated by the CPU 2000 or the like.
  • the input / output controller 2084 connects the host controller 2082 to the communication interface 2030, the hard disk drive 2040, and the CD-ROM drive 2060, which are relatively high-speed input / output devices.
  • the communication interface 2030 communicates with other devices via a network.
  • the hard disk drive 2040 stores programs and data used by the CPU 2000 in the computer 1900.
  • the CD-ROM drive 2060 reads a program or data from the CD-ROM 2095 and provides it to the hard disk drive 2040 via the RAM 2020.
  • the ROM 2010, the flexible disk drive 2050, and the relatively low-speed input / output device of the input / output chip 2070 are connected to the input / output controller 2084.
  • the ROM 2010 stores a boot program that the computer 1900 executes at startup and / or a program that depends on the hardware of the computer 1900.
  • the flexible disk drive 2050 reads a program or data from the flexible disk 2090 and provides it to the hard disk drive 2040 via the RAM 2020.
  • the input / output chip 2070 connects the flexible disk drive 2050 to the input / output controller 2084 and inputs / outputs various input / output devices via, for example, a parallel port, a serial port, a keyboard port, a mouse port, and the like. Connect to controller 2084.
  • the program provided to the hard disk drive 2040 via the RAM 2020 is stored in a recording medium such as the flexible disk 2090, the CD-ROM 2095, or an IC card and provided by the user.
  • the program is read from the recording medium, installed in the hard disk drive 2040 in the computer 1900 via the RAM 2020, and executed by the CPU 2000.
  • a program installed in the computer 1900 and causing the computer 1900 to function as an attitude calculation device includes a first attitude calculation module, a second attitude calculation module, a third attitude calculation module, a determination module, a difference calculation module, and a rotation axis calculation module. And a rotation amount calculation module. These programs or modules work on the CPU 2000 or the like to cause the computer 1900 to function as an attitude calculation device.
  • the information processing described in these programs is read into the computer 1900, whereby the first posture calculation unit 24, the second posture, which are specific means in which the software and the various hardware resources described above cooperate.
  • the posture calculation unit 22, the third posture calculation unit 30, the first posture calculation unit 38, the third posture calculation unit 40, the determination unit 32, the difference calculation unit 26, the rotation axis calculation unit 34, and the rotation amount calculation unit 36 Function.
  • the calculation or processing of information according to the purpose of use of the computer 1900 in the present embodiment is realized, so that a unique stillness determination device according to the purpose of use is constructed.
  • the CPU 2000 executes a communication program loaded on the RAM 2020 and executes a communication interface based on the processing content described in the communication program.
  • a communication process is instructed to 2030.
  • the communication interface 2030 reads transmission data stored in a transmission buffer area or the like provided on a storage device such as the RAM 2020, the hard disk drive 2040, the flexible disk 2090, or the CD-ROM 2095, and sends it to the network.
  • the reception data transmitted or received from the network is written into a reception buffer area or the like provided on the storage device.
  • the communication interface 2030 may transfer transmission / reception data to / from the storage device by a DMA (direct memory access) method. Instead, the CPU 2000 transfers the storage device or the communication interface 2030 as a transfer source.
  • the transmission / reception data may be transferred by reading the data from the data and writing the data to the communication interface 2030 or the storage device of the transfer destination.
  • the CPU 2000 is all or necessary from among files or databases stored in an external storage device such as a hard disk drive 2040, a CD-ROM drive 2060 (CD-ROM 2095), and a flexible disk drive 2050 (flexible disk 2090).
  • This portion is read into the RAM 2020 by DMA transfer or the like, and various processes are performed on the data on the RAM 2020. Then, CPU 2000 writes the processed data back to the external storage device by DMA transfer or the like.
  • the RAM 2020 and the external storage device are collectively referred to as a memory, a storage unit, or a storage device.
  • the CPU 2000 can also store a part of the RAM 2020 in the cache memory and perform reading and writing on the cache memory. Even in such a form, the cache memory bears a part of the function of the RAM 2020. Therefore, in the present embodiment, the cache memory is also included in the RAM 2020, the memory, and / or the storage device unless otherwise indicated. To do.
  • the CPU 2000 performs various operations, such as various operations, information processing, condition determination, information search / replacement, etc., described in the present embodiment, specified for the data read from the RAM 2020 by the instruction sequence of the program. Is written back to the RAM 2020.
  • the CPU 2000 determines whether or not the various variables shown in the present embodiment satisfy the conditions such as large, small, above, below, equal, etc., compared to other variables or constants.
  • the program branches to a different instruction sequence or calls a subroutine.
  • the CPU 2000 can search for information stored in a file or database in the storage device. For example, in the case where a plurality of entries in which the attribute value of the second attribute is associated with the attribute value of the first attribute are stored in the storage device, the CPU 2000 displays the plurality of entries stored in the storage device. The entry that matches the condition in which the attribute value of the first attribute is specified is retrieved, and the attribute value of the second attribute that is stored in the entry is read, thereby associating with the first attribute that satisfies the predetermined condition The attribute value of the specified second attribute can be obtained.
  • the program or module shown above may be stored in an external recording medium.
  • an optical recording medium such as DVD or CD
  • a magneto-optical recording medium such as MO
  • a tape medium such as an IC card, and the like
  • a storage device such as a hard disk or RAM provided in a server system connected to a dedicated communication network or the Internet may be used as a recording medium, and the program may be provided to the computer 1900 via the network.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

L'invention porte sur un appareil de calcul d'attitude, lequel appareil comporte : une première section de calcul d'attitude, qui est montée dans un appareil et qui calcule une première attitude de l'appareil sur la base d'une sortie à partir d'une section de détection de vitesse angulaire qui détecte une vitesse angulaire de l'appareil ; une deuxième section de calcul d'attitude, qui calcule une deuxième attitude de l'appareil à l'aide de moyens différents de ceux de la première section de calcul d'attitude ; et une troisième section de calcul d'attitude, qui calcule une troisième attitude sur la base de la première attitude, de la deuxième attitude et d'une information de rotation de l'appareil.
PCT/JP2014/000704 2013-02-13 2014-02-10 Appareil de calcul d'attitude, procédé de calcul d'attitude, appareil portable et programme Ceased WO2014125809A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015500143A JP6209581B2 (ja) 2013-02-13 2014-02-10 姿勢算出装置、姿勢算出方法、携帯機器およびプログラム

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2013-025651 2013-02-13
JP2013-025661 2013-02-13
JP2013025661 2013-02-13
JP2013025651 2013-02-13

Publications (1)

Publication Number Publication Date
WO2014125809A1 true WO2014125809A1 (fr) 2014-08-21

Family

ID=51353822

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/000704 Ceased WO2014125809A1 (fr) 2013-02-13 2014-02-10 Appareil de calcul d'attitude, procédé de calcul d'attitude, appareil portable et programme

Country Status (2)

Country Link
JP (1) JP6209581B2 (fr)
WO (1) WO2014125809A1 (fr)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016211947A (ja) * 2015-05-08 2016-12-15 株式会社Nttドコモ 回転状態算出装置
JP2016211946A (ja) * 2015-05-08 2016-12-15 株式会社Nttドコモ 回転状態算出装置
JP2017513130A (ja) * 2014-12-09 2017-05-25 ベイジン ギャラクシー ライタイ テクノロジー カンパニー リミテッド ウエアラブルデバイスの着用状態の処理方法及び装置
KR20200072094A (ko) * 2018-12-12 2020-06-22 건국대학교 산학협력단 회전체의 자세각 결정 방법 및 장치
CN113100897A (zh) * 2021-04-20 2021-07-13 电子科技大学 脊椎康复状态监测的智能外固定夹具及监测方法
JP2022518779A (ja) * 2019-01-28 2022-03-16 マジック リープ, インコーポレイテッド 6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0821732A (ja) * 1994-07-05 1996-01-23 Data Tec:Kk 姿勢方位位置計測装置
JPH1185387A (ja) * 1997-09-12 1999-03-30 Ricoh Co Ltd 姿勢入力装置、姿勢入力機能を備えるペン型入力装置及びそのペン型入力装置を有するペン型入力システム
JP2008077661A (ja) * 2006-09-19 2008-04-03 Samsung Electronics Co Ltd 入力装置および前記入力装置の移動情報を提供する方法
JP2010020554A (ja) * 2008-07-10 2010-01-28 Nintendo Co Ltd 情報処理プログラムおよび情報処理装置
JP2010170327A (ja) * 2009-01-22 2010-08-05 Olympus Corp 操作入力装置
JP2010259642A (ja) * 2009-05-08 2010-11-18 Nintendo Co Ltd 姿勢算出装置および姿勢算出プログラム
JP2013015435A (ja) * 2011-07-05 2013-01-24 Aichi Micro Intelligent Corp 磁気式ジャイロ
JP2014038588A (ja) * 2012-07-20 2014-02-27 Nintendo Co Ltd 情報処理システム、情報処理装置、情報処理プログラム、および、情報処理方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2140916B1 (fr) * 2008-06-30 2018-10-31 Nintendo Co., Ltd. Appareil de calcul des coordonnées et support de stockage comportant un programme de calcul des coordonnées
JP2010169595A (ja) * 2009-01-23 2010-08-05 Toyota Motor Corp エンジンマウントの変位量計測方法
JP5463790B2 (ja) * 2009-08-18 2014-04-09 ソニー株式会社 操作入力システム、制御装置、ハンドヘルド装置及び操作入力方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0821732A (ja) * 1994-07-05 1996-01-23 Data Tec:Kk 姿勢方位位置計測装置
JPH1185387A (ja) * 1997-09-12 1999-03-30 Ricoh Co Ltd 姿勢入力装置、姿勢入力機能を備えるペン型入力装置及びそのペン型入力装置を有するペン型入力システム
JP2008077661A (ja) * 2006-09-19 2008-04-03 Samsung Electronics Co Ltd 入力装置および前記入力装置の移動情報を提供する方法
JP2010020554A (ja) * 2008-07-10 2010-01-28 Nintendo Co Ltd 情報処理プログラムおよび情報処理装置
JP2010170327A (ja) * 2009-01-22 2010-08-05 Olympus Corp 操作入力装置
JP2010259642A (ja) * 2009-05-08 2010-11-18 Nintendo Co Ltd 姿勢算出装置および姿勢算出プログラム
JP2013015435A (ja) * 2011-07-05 2013-01-24 Aichi Micro Intelligent Corp 磁気式ジャイロ
JP2014038588A (ja) * 2012-07-20 2014-02-27 Nintendo Co Ltd 情報処理システム、情報処理装置、情報処理プログラム、および、情報処理方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017513130A (ja) * 2014-12-09 2017-05-25 ベイジン ギャラクシー ライタイ テクノロジー カンパニー リミテッド ウエアラブルデバイスの着用状態の処理方法及び装置
KR101838838B1 (ko) * 2014-12-09 2018-03-14 베이징 갤럭시 레인타이 테크놀로지 씨오., 엘티디., 웨어라블 장치의 착용상태의 처리방법 및 장치
EP3232298A4 (fr) * 2014-12-09 2018-07-11 Beijing Galaxy Raintai Technology Co., Ltd. Procédé et appareil pour traiter un état de port d'un dispositif pouvant être porté
JP2016211947A (ja) * 2015-05-08 2016-12-15 株式会社Nttドコモ 回転状態算出装置
JP2016211946A (ja) * 2015-05-08 2016-12-15 株式会社Nttドコモ 回転状態算出装置
KR20200072094A (ko) * 2018-12-12 2020-06-22 건국대학교 산학협력단 회전체의 자세각 결정 방법 및 장치
KR102127052B1 (ko) * 2018-12-12 2020-06-25 건국대학교 산학협력단 회전체의 자세각 결정 방법 및 장치
JP2022518779A (ja) * 2019-01-28 2022-03-16 マジック リープ, インコーポレイテッド 6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム
US11994676B2 (en) 2019-01-28 2024-05-28 Magic Leap, Inc. Method and system for resolving hemisphere ambiguity in six degree of freedom pose measurements
JP7635130B2 (ja) 2019-01-28 2025-02-25 マジック リープ, インコーポレイテッド 6自由度の姿勢測定値における半球の曖昧性を解決するための方法およびシステム
CN113100897A (zh) * 2021-04-20 2021-07-13 电子科技大学 脊椎康复状态监测的智能外固定夹具及监测方法

Also Published As

Publication number Publication date
JPWO2014125809A1 (ja) 2017-02-02
JP6209581B2 (ja) 2017-10-04

Similar Documents

Publication Publication Date Title
JP6209581B2 (ja) 姿勢算出装置、姿勢算出方法、携帯機器およびプログラム
US20070171202A1 (en) Trajectory estimation apparatus, method, and medium for estimating two-dimensional trajectory of gesture
JP2007040763A (ja) 加速度センサの補正装置
CN109445620B (zh) 一种交互笔自动识别方法
CN110530356B (zh) 位姿信息的处理方法、装置、设备及存储介质
JP2006227008A (ja) 慣性センサー補正装置及び方法と、その方法を記録した記録媒体
JP6175127B2 (ja) 保持状態判定装置およびプログラム
US12436624B2 (en) Dynamic gravity vector estimation for memory constrained devices
CN108287607B (zh) 一种控制hmd视角的方法及头戴显示设备
CN110096134A (zh) 一种vr手柄射线抖动矫正方法、装置、终端和介质
JP2001100908A (ja) ペン先軌跡生成方法、ペン型入力装置及びペン装着ユニット
CN118999545A (zh) 一种用于3dof-ar眼镜的姿态解算方法、电子设备及存储介质
JP6154883B2 (ja) 静止判定装置、姿勢角検出装置、携帯機器、静止判定方法およびプログラム
CN115326106B (zh) 一种惯性传感器数据仿真的改进方法
US10558270B2 (en) Method for determining non-contact gesture and device for the same
US12625558B2 (en) Method and apparatus for user-defined gesture profile generation and gesture recognition, based on repeated motion of user
KR101870542B1 (ko) 모션 인식 방법 및 장치
WO2014129169A1 (fr) Dispositif de détection de changement d'état de transport, procédé de détection de changement d'état de transport, et programme associé
CN115825481A (zh) 智能眼镜的标定参数校验方法、装置、计算机设备和介质
KR102793217B1 (ko) 영상 표시 장치 및 영상 표시 방법
JP2026019672A (ja) プログラム、オフセット成分導出装置、及びオフセット成分導出方法
CN109408252A (zh) 数据传输的方法、设备及介质
CN118706150A (zh) 用于修正状态量的方法、装置、电子设备及存储介质
EP4036525B1 (fr) Dispositif de calcul de direction, procédé de calcul de direction et programme
CN107291216A (zh) 一种移动终端目标跟踪方法、装置和移动终端

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015500143

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14752064

Country of ref document: EP

Kind code of ref document: A1