WO2015152027A1 - 状態推定プロセッサおよび状態推定システム - Google Patents
状態推定プロセッサおよび状態推定システム Download PDFInfo
- Publication number
- WO2015152027A1 WO2015152027A1 PCT/JP2015/059556 JP2015059556W WO2015152027A1 WO 2015152027 A1 WO2015152027 A1 WO 2015152027A1 JP 2015059556 W JP2015059556 W JP 2015059556W WO 2015152027 A1 WO2015152027 A1 WO 2015152027A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- operation mode
- state
- state estimation
- information
- processor
- Prior art date
Links
- 238000001514 detection method Methods 0.000 claims abstract description 81
- 238000000034 method Methods 0.000 claims abstract description 31
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000008859 change Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 8
- 230000001629 suppression Effects 0.000 description 45
- 230000004913 activation Effects 0.000 description 11
- 230000001133 acceleration Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30083—Power or thermal control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Definitions
- the present invention relates to a technique for estimating the state of an object in a terminal device or the like. More specifically, the present invention relates to a technique for suppressing power consumption of a terminal device when estimating a state of an object.
- the invention of claim 1 is a state estimation processor, based on interface means for obtaining detection information obtained by an external detection device, and detection information obtained by the interface means.
- Computing means for estimating the state of the object and generating state information wherein the computing means processes a plurality of pieces of information with one instruction and includes a single precision floating point arithmetic unit.
- the interface means outputs the state information generated by the computing means to an external computer.
- the invention of claim 2 is the state estimation processor according to the invention of claim 1, wherein the calculation means estimates the state of the object using a Kalman filter for the detection information, and obtains the state information. Generate.
- the invention of claim 3 is the state estimation processor according to the invention of claim 1, wherein the calculation means processes information on six or more axes in parallel based on the detection information.
- the invention of claim 4 is the state estimation processor according to the invention of claim 3, wherein the calculation means processes information of 9 axes or more in parallel based on the detection information.
- the invention of claim 5 is a state estimation processor according to the invention of claim 4, wherein the calculation means processes information on 12 or more axes in parallel based on the detection information.
- a sixth aspect of the present invention is the state estimation processor according to the first aspect of the present invention, wherein the processor is between the first operation mode and the second operation mode with lower power consumption than the first operation mode.
- the apparatus further includes switching means for switching the operation mode of the calculation means, and the calculation means generates the state information in the first operation mode.
- the invention according to claim 7 is a state estimation system, comprising: a detection device that acquires detection information; a state estimation processor connected to the detection device; a first operation mode; and the first operation mode. And a second operation mode with low power consumption, and a main processor that generates output information based on the state information generated by the state estimation processor in the first operation mode,
- the state estimation processor Comprises: interface means for obtaining detection information obtained by the detection device; and computing means for estimating the state of the object based on the detection information obtained by the interface means and generating state information
- the arithmetic means includes SIMD type arithmetic processing means that processes a plurality of information with one instruction and includes a single-precision floating point arithmetic unit.
- the interface means outputs the state information generated by the computing means to the main processor, and the main processor performs the first operation according to the timing when the state information is input from the interface means. Enter mode.
- the invention of claim 8 is the state estimation system according to the invention of claim 7, wherein the state estimation processor is a third operation mode and a fourth power consumption is smaller than that of the third operation mode.
- the apparatus further comprises switching means for switching the operation mode of the calculation means between the operation modes.
- the invention according to claim 9 is the state estimation system according to the invention of claim 8, wherein the switching means is configured to respond to a request from the main processor in the third operation mode and the fourth operation. Switch the operation mode between modes.
- the invention of claim 10 is the state estimation system according to the invention of claim 9, wherein the state estimation processor is configured to execute the third operation mode from the fourth operation mode in response to a request from the main processor.
- the detection device is activated when the operation mode is switched.
- the invention of claim 11 is the state estimation system according to the invention of claim 8, wherein the switching means is configured to perform the third operation mode and the fourth operation according to detection information from the detection device.
- the operation mode of the computing means is switched between operation modes.
- the invention of claim 12 is the state estimation system according to the invention of claim 11, wherein the switching means continues a state in which a change in detection information from the sensor is equal to or less than a threshold value for a predetermined time. If so, switch to the fourth operating mode.
- the invention of claim 13 is the state estimation system according to the invention of claim 12, further comprising a timer for determining a timing for returning the computing means from the fourth operation mode to the third operation mode.
- the interface means has no change in the state of the object if the change in the detection information from the detection device is less than or equal to a threshold when the arithmetic means is returned to the third operation mode by the timer. Is output to the main processor, and the switching means shifts the computing means to the fourth operation mode.
- the invention of claim 14 is the state estimation system according to the invention of claim 13, wherein the interface means changes the state of the object when the main processor is in the second operation mode. It is prohibited to output to the main processor that there is nothing.
- the invention of claim 15 is the state estimation system according to the invention of claim 11, wherein the change in the detection information from the detection device is greater than a threshold value when the computing means is in the fourth operation mode.
- the switching unit sets the calculation unit to the third operation mode.
- the inventions of claims 1 to 15 comprise calculation means for estimating the state of the object based on the detection information acquired by the interface means and generating the state information.
- the calculation means obtains a plurality of information with one command.
- SIMD type arithmetic processing means including a single precision floating point arithmetic unit is provided, and the interface means outputs state information generated by the arithmetic means to an external computer. Thereby, power consumption can be suppressed.
- FIG. 1 is a diagram showing a state estimation system 1.
- the state estimation system 1 includes one or more sensors 2, an MPU (Micro-Processing Unit) 3, and a CPU 4.
- MPU Micro-Processing Unit
- the state estimation system 1 will be described as being incorporated in a mobile terminal device (for example, a smartphone, a mobile phone, or a PDA) that is carried by the user.
- a mobile terminal device for example, a smartphone, a mobile phone, or a PDA
- the sensor 2 is a detection device that generates detection information 10 by detecting information about the surrounding environment, information about movement, and the like.
- a temperature sensor, a humidity sensor, an illuminance sensor, an atmospheric pressure sensor, a contact sensor, an acceleration sensor, a gyro sensor, a magnetic sensor, or the like is assumed, but is not limited thereto. Further, the state estimation system 1 does not have to include all the sensors listed here.
- the state estimation system 1 estimates the state (action) of the user and generates the output information 12. Therefore, the sensor 2 is described as including an acceleration sensor, a gyro sensor, and a magnetic sensor in order to detect a physical quantity necessary for estimating the user's behavior.
- the estimated user behavior a walking state, a stationary state, a talking state, a browsing state, a boarding state, or the like is assumed.
- Each sensor 2 is connected to the MPU 3 as shown in FIG. And the detection information 10 acquired by each sensor 2 is output toward MPU3.
- the MPU 3 includes a DSP (Digital Signal Processor) 30, a RAM 31, a timer 32, and an interface unit 33.
- DSP Digital Signal Processor
- the DSP 30 is an arithmetic circuit that reads an instruction stored in the RAM 31 and operates according to the instruction.
- the instruction executed in the DSP 30 is expressed as 64-bit data configured to correspond to three parallel VLIWs (Very Long Instruction Word). That is, the DSP 30 can execute three real instructions in one cycle (details will be described later). It is assumed that the instruction is analyzed by a decoder (not shown) and written in the RAM 31.
- the DSP 30 reads the value of each sensor 2 in response to an interrupt signal (hereinafter referred to as “detection timing signal”) input from the timer 32. That is, the DSP 30 has a function of acquiring the detection information 10 acquired by the sensor 2 by the interface unit 33 and storing it in the RAM 31.
- detection timing signal an interrupt signal
- the DSP 30 estimates the state of the object based on the detection information 10 stored in the RAM 31 and generates the state information 11. However, details of the DSP 30 will be described later.
- the RAM 31 is a storage device used as a working area of the DSP 30, and is used for storing various information.
- the RAM 31 stores the state information 11 generated by the DSP 30.
- the RAM 31 also stores detection information 10 acquired from each sensor 2.
- the RAM 31 is illustrated as a single configuration for simplification, but the RAM 31 is generally configured by a plurality of storage devices.
- the information read from the RAM 31 is always shown through the DSP 30, but the RAM 31 includes a storage area (storage device) that can be referred to by the CPU 4, and the CPU 4 does not go through the DSP 30. Desired information can be read out from.
- the timer 32 generates a detection timing signal periodically (100 [Hz] in the example shown here) and outputs the detection timing signal to the DSP 30 via the interface unit 33.
- the DSP 30 reads the value of each sensor 2 and stores it in the RAM 31 as the detection information 10.
- the interface unit 33 is connected to each sensor 2. As shown in FIG. 1, the sensor 2 is connected to the MPU 3 in a parallel state or a serial state.
- the interface unit 33 is connected to the CPU 4. As described above, the interface unit 33 has a function of connecting the MPU 3 to each sensor 2 and the CPU 4. Thereby, the interface unit 33 has a function of acquiring the detection information 10 acquired by the sensor 2 and outputting the state information 11 generated by the DSP 30 to the CPU 4.
- the MPU 3 has a function of generating the state information 11 based on the detection information 10 acquired by the sensor 2 and outputting it to the CPU 4. That is, the MPU 3 corresponds to a state estimation processor in the present invention, and details will be described later.
- the CPU 4 functions as a main processor in the mobile terminal device. Although details are omitted, the CPU 4 communicates with a storage device, an operation unit such as keys and buttons, a display unit such as a liquid crystal display, a speaker that outputs sound, a microphone that converts sound into an electrical signal, and an external device. A communication unit or the like is connected as appropriate.
- the CPU 4 reads and executes a program stored in a storage device (not shown) to perform various data calculations and control signal generation. Thereby, CPU4 has the function which calculates and produces various data while controlling the other structure with which MPU3 and a portable terminal device are provided.
- the CPU 4 outputs a DSP activation signal to the MPU 3 in response to activation of a predetermined application (for example, a route guidance application). Conversely, a DSP suppression signal is output to the MPU 3 in accordance with the timing of ending the predetermined application. Further, the CPU 4 generates output information 12 based on the state information 11 input from the MPU 3. Further, the CPU 4 provides the output information 12 to the user by outputting the output information 12 to a display unit (not shown).
- a predetermined application for example, a route guidance application.
- a DSP suppression signal is output to the MPU 3 in accordance with the timing of ending the predetermined application.
- the CPU 4 generates output information 12 based on the state information 11 input from the MPU 3. Further, the CPU 4 provides the output information 12 to the user by outputting the output information 12 to a display unit (not shown).
- the CPU 4 has a CPU normal operation mode and a CPU suppression operation mode that consumes less power than the CPU normal operation mode.
- the CPU suppression operation mode is an operation mode called a so-called sleep mode or the like, and is an operation mode in which only some limited circuits in the CPU 4 are operating.
- the operation mode is switched from the CPU suppression operation mode to the CPU normal operation mode in accordance with the CPU activation signal output from the MPU 3.
- the operation mode is switched from the CPU normal operation mode to the CPU suppression operation mode in accordance with the CPU suppression signal output from the MPU 3.
- the CPU 4 does not enter the suppression operation mode when another application or the like is being executed.
- FIG. 2 is a schematic diagram showing the circuit configuration of the DSP 30.
- the DSP 30 includes a load / store unit 300, two registers 301 and 302, two arithmetic logic units 303 and 304, four single-precision floating-point arithmetic units 305, and a switching unit 306. Yes.
- the load / store unit 300 reads data from the RAM 31 and stores it in the registers 301 and 302. Further, the load / store unit 300 stores the data stored in the registers 301 and 302 in the RAM 31. The load / store unit 300 sets the instruction read from the RAM 31 in the arithmetic logic units 303 and 304. Further, when the value stored in the register 301 is a pointer value, the load / store unit 300 also has a function of specifying and reading data stored in the RAM 31 according to the pointer value.
- the registers 301 and 302 are storage devices that temporarily store data.
- the registers 301 and 302 store data read from the RAM 31, values obtained by the arithmetic logic units 303 and 304, and the like.
- the arithmetic logic unit 303 is an integer arithmetic unit that performs a predetermined operation on the data stored in the register 301 in accordance with an instruction input from the load / store unit 300. A value calculated by the arithmetic logic unit 303 is stored in the register 301. The arithmetic logic unit 303 is used, for example, to calculate a pointer value for reading desired data from the RAM 31.
- the arithmetic logic unit 304 is configured as a SIMD type arithmetic unit including four single precision floating point arithmetic units 305.
- the arithmetic logic unit 304 executes one instruction in parallel for one cycle with respect to data (that is, a plurality of data) set in each of the four single-precision floating-point arithmetic units 305. Can do.
- the value calculated by the arithmetic logic unit 304 is stored in the register 302 and stored in the RAM 31 by the load / store unit 300.
- the switching unit 306 has a function of switching the operation mode of the DSP 30 between the first operation mode and the second operation mode that consumes less power than the first operation mode.
- the DSP 30 has a normal operation mode and a suppression operation mode that consumes less power than the normal operation mode as operation modes.
- the switching unit 306 switches the operation mode of the DSP 30 from the normal operation mode to the suppression operation mode according to the DSP suppression signal input from the interface unit 33.
- the DSP suppression signal is input via the interface unit 33 as an interrupt signal from some or all of the sensors 2 and the CPU 4. Further, the DSP 30 may switch itself to the suppression operation mode.
- the switching unit 306 switches the operation mode of the DSP 30 from the suppression operation mode to the normal operation mode in accordance with the DSP activation signal input from the interface unit 33.
- the DSP activation signal is input via the interface unit 33 as an interrupt signal from some or all of the sensors 2 and the CPU 4.
- the detection timing signal from the timer 32 may function as a DSP activation signal.
- control unit of the switching unit 306 is illustrated as if it is only the load / store unit 300, but this is simply illustrated for convenience of illustration, and the switching unit 306 is illustrated. Performs switching control for necessary components (circuits) of the components included in the DSP 30.
- DSP30 performs the calculation process (process which calculates
- FIG. 3 is a conceptual diagram showing data processed by the DSP 30.
- “A”, “B”, “C”, and “D” shown in FIG. 3 indicate a group of data.
- “A” is the output of a triaxial acceleration sensor
- “Ax” is the value of the X-axis component of acceleration
- “Ay” is the value of the Y-axis component of acceleration
- “Az” is the acceleration Is the value of the Z-axis component.
- “B” is the output of the triaxial gyro sensor
- “Bx” is the value of the X-axis component of the angular velocity
- “By” is the value of the Y-axis component of the angular velocity
- “Bz” is the angular velocity. Is the value of the Z-axis component.
- C is the output of the 3-axis magnetic sensor
- Cx is the value of the X-axis component of the magnetic vector
- Cy is the value of the Y-axis component of the magnetic vector
- Cz Is the value of the Z-axis component of the magnetic vector.
- D is a correction value of the bias of the triaxial gyro sensor
- Dx is a correction value of the X-axis component of the angular velocity
- Dy is a correction value of the Y-axis component of the angular velocity
- Dz is a correction value of the Z-axis component of the angular velocity.
- the bias correction value of the gyro sensor is not the detection information 10 obtained directly from the sensor 2. Since various techniques conventionally proposed can be applied to the technique for obtaining the correction value of the bias of the gyro sensor, a specific description is omitted here.
- the DSP 30 processes the 12-axis information by dividing it into ⁇ 0, ⁇ 1, ⁇ 2, ⁇ 3, ⁇ 0, ⁇ 1, ⁇ 2, ⁇ 3, and ⁇ 0, ⁇ 1, ⁇ 2, ⁇ 3.
- FIG. 4 is a diagram comparing a case where 12-axis information is sequentially processed and a case where the DSP 30 processes 12-axis information. Note that in FIG. 4, detailed explanations of the detailed calculations are omitted, and the process is shown as a conceptual diagram only so that the features of the DSP 30 can be easily understood.
- the ⁇ 0 (Ax) data is loaded from the RAM 31 in the first cycle, the pointer is calculated for the next data in the second cycle, After multiplication in 3 cycles, the result is stored in the RAM 31 in the fourth cycle. Therefore, 48 cycles are required to complete the processing for all the 12-axis information.
- the instruction set corresponds to three parallel VLIWs. Therefore, the DSP 30 can execute three actual instructions in one cycle.
- the arithmetic logic unit 304 is a SIMD type arithmetic unit, and includes four single-precision floating point arithmetic units 305 as execution units. Therefore, the DSP 30 can execute one instruction (for example, multiplication instruction) for four pieces of data in one cycle in the arithmetic logic unit 304.
- ⁇ ( ⁇ 0, ⁇ 1, ⁇ 2, ⁇ 3) is read in the first cycle
- ⁇ ( ⁇ 0, ⁇ 1, ⁇ 2, ⁇ 3) is read in the second cycle.
- the pointer is calculated by the logic unit 303.
- the arithmetic logic unit 303 calculates the pointer
- the arithmetic logic unit 304 calculates ⁇ ( ⁇ 0, ⁇ 1, ⁇ 2, ⁇ 3). Perform multiplication.
- the pointer is calculated by the arithmetic logic unit 303 while ⁇ ( ⁇ 0, ⁇ 1, ⁇ 2, ⁇ 3) is written to the RAM 31, and ⁇ ( ⁇ 0, ⁇ 1, ⁇ 2, ⁇ 3) is calculated by the arithmetic logic unit 304. ) Multiplication.
- the DSP 30 can complete the process in six cycles. Therefore, the operating frequency of the MPU 3 (DSP 30) can be lowered as compared with the case where the main CPU sequentially performs processing as in the prior art.
- the DSP 30 can suppress power consumption compared to a conventional microcomputer. Note that a general microcomputer requires an operating frequency of about 80 [MHz] for such processing, but the DSP 30 can process at about 7 [MHz].
- the floating-point arithmetic unit is characterized in that the circuit scale of the arithmetic unit itself is smaller than that of the fixed-point arithmetic unit.
- general-purpose microcomputers often use fixed-point arithmetic units rather than floating-point arithmetic units. This is because in the calculation by the floating point arithmetic unit, the position of the decimal point has to be determined, the calculation depth becomes deep, and an additional circuit for this purpose is required separately. That is, as a result, there is a situation in which the circuit scale as a whole becomes smaller when the fixed-point arithmetic unit is employed.
- the DSP 30 can reduce the circuit scale by adopting the single precision floating point arithmetic unit 305 as compared with the case where the fixed point arithmetic unit is adopted.
- the Kalman filter used for sensor fusion has a characteristic that the dynamic range of parameters is wide. Therefore, in order to maintain a calculation accuracy equivalent to that of the single-precision floating-point arithmetic unit 305 (16 bits) using a fixed-point arithmetic unit, it is necessary to prepare a 64-bit arithmetic unit, which increases the circuit scale. . That is, when the DSP 30 performs an operation using the Kalman filter, the effect of employing the single precision floating point arithmetic unit 305 becomes more remarkable.
- FIG. 5 is a flowchart showing the operation of the MPU 3.
- the state estimation system 1 mobile terminal device
- the MPU 3 enters a standby state after executing predetermined initial settings.
- the standby state may be either the normal operation mode or the suppression operation mode.
- the MPU 3 has received a DSP suppression signal (step S1), has reached a detection timing (step S5), has received a DSP activation signal (step S11), and has an operation timing arrived? (Step S15) is monitored.
- the MPU 3 determines Yes in step S1, and confirms the transmission source of the DSP suppression signal (step S2).
- Step S2 When the transmission source of the DSP suppression signal is the CPU 4 (Yes in Step S2), the MPU 3 stops the sensor 2 (Step S3). Then, the switching unit 306 switches the operation mode of the DSP 30 to the DSP suppression mode (step S4).
- step S4 when step S4 is executed, the DSP 30 thereafter enters the suppression operation mode, and the power consumption is suppressed as compared to the normal operation mode. In addition, if step S4 is performed, MPU3 will return to a standby state.
- the state estimation system 1 further suppresses power consumption by stopping sensing by the sensor 2.
- step S3 when step S3 is executed, the MPU 3 (switching unit 306) may stop the timer 32 since there is no need to read the output of the sensor 2 thereafter. Further, in step S3, the state estimation system 1 (MPU 3) may be configured not to stop all the sensors 2 but to select according to the situation.
- the MPU 3 skips Step S3 and executes Step S4.
- the DSP 30 thereafter enters the suppression operation mode and returns to the standby state.
- the CPU 4 can be regarded as requiring the state information 11. Therefore, in this case, it is preferable to continue sensing by the sensor 2 without stopping the sensor 2.
- the case where the transmission source of the DSP suppression signal is not the CPU 4 may be a case where the sensor 2 is the transmission source or a case where the DSP 30 itself attempts to switch itself to the suppression operation mode.
- step S5 when the detection timing arrives (Yes in step S5), the timer 32 outputs the detection timing signal to the DSP 30 as an interrupt signal (step S6).
- step S6 the MPU 3 reads the output of each sensor 2 (step S7).
- the detection information 10 is stored in the RAM 31.
- the MPU 3 compares the output value of the sensor 2 read in step S7 with the output value of the sensor 2 read when the previous step S7 is executed, and whether or not the difference is equal to or less than a threshold value. Is determined (step S8).
- step S8 the MPU 3 further determines whether or not such a state continues for a predetermined period (step S9).
- step S9 the difference between the output value of sensor 2 read in step S7 and the output value of sensor 2 read when step S7 was executed last time is below a threshold value continues for a predetermined period. If so, the MPU 3 notifies the CPU 4 that the state has not changed (step S10). When step S10 is executed, the switching unit 306 causes the DSP 30 to shift to the suppression operation mode (step S4).
- the state estimation system 1 switches the DSP 30 to the suppression operation mode when the state in which the change is poor continues for a predetermined period, thereby reducing the power consumption. Can be suppressed.
- Each sensor 2 may determine whether or not the change in the detection information 10 is scarce and notify the MPU 3 together with the detection information 10.
- step S8 if the answer is No in either step S8 or step S9, the MPU 3 returns to the standby state without executing step S10.
- Step S11 when a DSP activation signal is received (Yes in Step S11), the switching unit 306 switches the DSP 30 to the normal operation mode (Step S12). As a result, the DSP 30 returns to the normal operation mode.
- step S12 the MPU 3 determines whether or not the sensor 2 is stopped (step S13), and when there is a stopped sensor 2, activates the sensor (step S14). As a result, the stopped sensor 2 is restored. In the case of No in step S13 or when step S14 is executed, the MPU 3 returns to the standby state.
- step S15 when the calculation timing comes (Yes in step S15), the DSP 30 executes a predetermined calculation to estimate the user's state and generates the state information 11 (step S16).
- the arrival of the operation timing may be determined periodically by providing a dedicated timer in the MPU 3, or it may be determined that the operation timing has arrived when an output request for the state information 11 is received from the CPU 4. .
- the state information 11 is stored in the RAM 31 by executing step S16.
- the switching unit 306 switches the DSP 30 to the normal operation mode before step S16 is executed.
- step S16 When step S16 is executed, the MPU 3 (interface unit 33) outputs the newly created state information 11 to the CPU 4 (step S17).
- the CPU 4 receives the state information 11 by executing step S17. Therefore, the CPU 4 that has received the state information 11 creates output information 12 based on the state information 11.
- the MPU 3 When executing step S17, if the CPU 4 is in the CPU suppression operation mode, the MPU 3 outputs a CPU activation signal to the CPU 4 before executing step S17.
- step S17 the switching unit 306 once switches the DSP 30 to the suppression operation mode (step S18).
- the switching unit 306 shifts the DSP 30 to the suppression operation mode. Thereby, power consumption can be further suppressed.
- step S18 the MPU 3 returns to the standby state.
- the MPU 3 estimates the state of the object based on the interface unit 33 that acquires the detection information 10 acquired by the external sensor 2, and the detection information 10 acquired by the interface unit 33.
- the DSP 30 processes a plurality of information with one instruction, and includes an arithmetic logic unit 304 corresponding to a SIMD type operation including a single precision floating point arithmetic unit 305.
- the status information 11 generated by the DSP 30 is output to the external CPU 4.
- the MPU 3 can lower the frequency of the DSP 30 and can reduce the circuit scale as compared with the case where a fixed-point arithmetic unit is employed. Therefore, power consumption can be suppressed.
- the DSP 30 produces a state information 11 by estimating the state of the object using the Kalman filter with respect to the detection information 10, and thus has a higher effect than a processor including a fixed point arithmetic unit.
- the DSP 30 processes information on 6 axes or more, preferably 9 axes or more, and more preferably 12 axes or more in parallel based on the detection information 10. In this way, by processing the information on the multi-axis that occurs at the same time, a higher effect can be obtained.
- the MPU 3 further includes a switching unit 306 that switches the operation mode of the DSP 30 between the normal operation mode and the suppression operation mode in which the power consumption is smaller than that of the normal operation mode.
- the DSP 30 stores the state information 11 in the normal operation mode. Generate. Thereby, for example, in a period when the state information 11 is not created, the operation mode can be switched to the suppression operation mode, and power consumption can be further suppressed.
- the switching unit 306 switches the operation mode between the normal operation mode and the suppression operation mode in response to a request from the CPU 4.
- the MPU 3 can be operated according to the activated application. Therefore, the MPU 3 can be used efficiently.
- the MPU 3 activates the sensor 2 when switching from the suppression operation mode to the normal operation mode in response to a request from the CPU 4 (DSP activation signal). Thereby, when the CPU 4 desires the state information 11, the sensor 2 can be activated and the detection information 10 can be obtained.
- the switching unit 306 switches the operation mode of the DSP 30 between the normal operation mode and the suppression operation mode according to the detection information 10 from the sensor 2.
- the switching unit 306 switches to the suppression operation mode when a state in which the change in the detection information 10 from the sensor 2 is equal to or less than a threshold continues for a predetermined time.
- the switching unit 306 causes the DSP 30 to enter the normal operation mode according to the DSP activation signal from the sensor 2. To do. Thereby, when there is a high possibility that the state of the object has changed, the DSP 30 promptly shifts to the normal operation mode and estimates the state of the object, thereby promptly changing the state of the object. Can be notified.
- step S7 when step S7 is executed and new detection information 10 is stored in the RAM 31, the state information 11 may be generated by executing step S16, and the state information 11 may be output by executing step S17.
- the single precision floating point arithmetic unit 305 is used.
- the present invention is not limited to “single precision”.
- a double precision floating point arithmetic unit may be used.
- a timer for determining the timing for returning the DSP 30 from the suppression operation mode to the normal operation mode may be further provided.
- the interface unit 33 detects the target object.
- the fact that there is no change in the state may be output to the CPU 4, and the switching unit 306 may cause the DSP 30 to shift to the suppression operation mode.
- creation of the status information 11 by the DSP 30 can be avoided, and the control mode can be shifted to the suppression operation mode in a shorter time than when the status information 11 is generated again. This is particularly effective when the CPU 4 periodically requests the status information 11 and there is no change in the status.
- the interface unit 33 indicates that there is no change in the state of the object and the state information 11. It may be prohibited to output the output. Thereby, it can suppress starting CPU4 wastefully, and also can suppress power consumption.
- the MPU 3 may be provided with a user interface, and a liquid crystal panel or the like may be connected to the MPU 3.
- the example is described in which the state of the user is estimated with the object as the user.
- the object is not limited to the user, and may be a mobile terminal device (state estimation system 1), for example.
- the estimated state is assumed to be a posture, a stationary state, or a portable state (such as hand shaking or fixation).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Executing Machine-Instructions (AREA)
Abstract
外部のセンサに接続されたMPUに、当該外部のセンサにより取得された検出情報10を取得するインターフェース部33と、インターフェース部33により取得された検出情報10に基づいて対象物の状態を推定し、状態情報11を生成するDSP30とを設ける。また、DSP30には、1の命令で複数の情報を処理するとともに、単精度浮動小数点演算器305を備えるSIMD型演算に対応した演算論理ユニット304を設ける。そして、インターフェース部33は、DSP30により生成された状態情報11を外部のメインプロセッサに向けて出力する。
Description
本発明は、端末装置などにおいて対象物の状態を推定する技術に関する。より詳細には、対象物の状態を推定するときの端末装置の消費電力を抑制する技術に関する。
従来より、人に携帯される端末装置にセンサを設けて、当該センサによって検出された値に基づいて当該端末装置を携帯する人の行動状態や当該端末装置の状態などを推定する技術が知られている。このような技術の応用分野として、例えば、PDR(Pedestrian Dead Reckoning)などが知られている。
ところが、対象物の状態を推定しつつ、何らかのアクションを起こすアプリケーションにおいては、常時、対象物を観測し続ける必要がある。したがって、状態を推定するための基礎となる観測値を検出するセンサは、常時、稼働し続けなければならないという事情がある。そして、センサによって常時取得される観測値を処理するプロセッサも、休むことなく稼働し続けなければならず、消費電力が増大するという問題があった。特に、携帯される端末装置においては、電源が充電池に限られることから、消費電力の抑制に対する要請は高いものがある。
上記の課題を解決するため、請求項1の発明は、状態推定プロセッサであって、外部の検出装置により取得された検出情報を取得するインターフェース手段と、前記インターフェース手段により取得された検出情報に基づいて対象物の状態を推定し、状態情報を生成する演算手段とを備え、前記演算手段は、1の命令で複数の情報を処理するとともに、単精度浮動小数点演算器を備えるSIMD型演算処理手段を備え、前記インターフェース手段は、前記演算手段により生成された状態情報を外部のコンピュータに向けて出力する。
また、請求項2の発明は、請求項1の発明に係る状態推定プロセッサであって、前記演算手段は、前記検出情報に対してカルマンフィルタを用いて前記対象物の状態を推定して状態情報を生成する。
また、請求項3の発明は、請求項1の発明に係る状態推定プロセッサであって、前記演算手段は、前記検出情報に基づいて6軸以上の情報を並列に処理する。
また、請求項4の発明は、請求項3の発明に係る状態推定プロセッサであって、前記演算手段は、前記検出情報に基づいて9軸以上の情報を並列に処理する。
また、請求項5の発明は、請求項4の発明に係る状態推定プロセッサであって、前記演算手段は、前記検出情報に基づいて12軸以上の情報を並列に処理する。
また、請求項6の発明は、請求項1の発明に係る状態推定プロセッサであって、第1の動作モードと前記第1の動作モードよりも消費電力の小さい第2の動作モードとの間で前記演算手段の動作モードを切り替える切替手段をさらに備え、前記演算手段は、前記第1の動作モードにおいて前記状態情報を生成する。
また、請求項7の発明は、状態推定システムであって、検出情報を取得する検出装置と、前記検出装置に接続される状態推定プロセッサと、第1の動作モードと前記第1の動作モードよりも消費電力の小さい第2の動作モードとを有し、前記第1の動作モードにおいて前記状態推定プロセッサにより生成された状態情報に基づいて出力情報を生成するメインプロセッサとを備え、前記状態推定プロセッサは、前記検出装置により取得された検出情報を取得するインターフェース手段と、前記インターフェース手段により取得された検出情報に基づいて対象物の状態を推定し、状態情報を生成する演算手段とを備え、前記演算手段は、1の命令で複数の情報を処理するとともに、単精度浮動小数点演算器を備えるSIMD型演算処理手段を備え、前記インターフェース手段は、前記演算手段により生成された状態情報を前記メインプロセッサに向けて出力し、前記メインプロセッサは、前記インターフェース手段から状態情報が入力されるタイミングに応じて、前記第1の動作モードに移行する。
また、請求項8の発明は、請求項7の発明に係る状態推定システムであって、前記状態推定プロセッサは、第3の動作モードと前記第3の動作モードよりも消費電力の小さい第4の動作モードとの間で前記演算手段の動作モードを切り替える切替手段をさらに備える。
また、請求項9の発明は、請求項8の発明に係る状態推定システムであって、前記切替手段は、前記メインプロセッサからの要求に応じて、前記第3の動作モードと前記第4の動作モードとの間で動作モードを切り替える。
また、請求項10の発明は、請求項9の発明に係る状態推定システムであって、前記状態推定プロセッサは、前記メインプロセッサからの要求に応じて、前記第4の動作モードから前記第3の動作モードに切り替わったときに前記検出装置を起動する。
また、請求項11の発明は、請求項8の発明に係る状態推定システムであって、前記切替手段は、前記検出装置からの検出情報に応じて、前記第3の動作モードと前記第4の動作モードとの間で前記演算手段の動作モードを切り替える。
また、請求項12の発明は、請求項11の発明に係る状態推定システムであって、前記切替手段は、前記センサからの検出情報における変化が閾値以下となっている状態が所定の時間継続した場合に、前記第4の動作モードに切り替える。
また、請求項13の発明は、請求項12の発明に係る状態推定システムであって、前記演算手段を前記第4の動作モードから前記第3の動作モードに復帰させるタイミングを決定するタイマをさらに備え、前記タイマにより前記演算手段が前記第3の動作モードに復帰したときに、前記検出装置からの検出情報における変化が閾値以下であれば、前記インターフェース手段は前記対象物の状態に変化がないことを前記メインプロセッサに向けて出力し、前記切替手段は演算手段を第4の動作モードに移行させる。
また、請求項14の発明は、請求項13の発明に係る状態推定システムであって、前記メインプロセッサが前記第2の動作モードのときにおいて、前記インターフェース手段は、前記対象物の状態に変化がないことを前記メインプロセッサに出力することを禁止される。
また、請求項15の発明は、請求項11の発明に係る状態推定システムであって、前記演算手段が前記第4の動作モードのときにおいて、前記検出装置からの検出情報における変化が閾値より大きい状態となった場合に、前記切替手段が前記演算手段を前記第3の動作モードとする。
請求項1ないし15の発明は、インターフェース手段により取得された検出情報に基づいて対象物の状態を推定し、状態情報を生成する演算手段を備え、演算手段は、1の命令で複数の情報を処理するとともに、単精度浮動小数点演算器を備えるSIMD型演算処理手段を備え、インターフェース手段は、演算手段により生成された状態情報を外部のコンピュータに向けて出力する。これにより、消費電力を抑制することができる。
1 状態推定システム
10 検出情報
11 状態情報
12 出力情報
2 センサ
3 MPU
30 DSP
31 RAM
32 タイマ
33 インターフェース部
300 ロード・ストアユニット
301,302 レジスタ
303 演算論理ユニット
303,304 演算論理ユニット
305 単精度浮動小数点演算器
306 スイッチング部
4 CPU
10 検出情報
11 状態情報
12 出力情報
2 センサ
3 MPU
30 DSP
31 RAM
32 タイマ
33 インターフェース部
300 ロード・ストアユニット
301,302 レジスタ
303 演算論理ユニット
303,304 演算論理ユニット
305 単精度浮動小数点演算器
306 スイッチング部
4 CPU
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。ただし、以下の説明において特に断らない限り、方向や向きに関する記述は、当該説明の便宜上、図面に対応するものであり、例えば実施品、製品または権利範囲等を限定するものではない。
また、本出願では、2014年3月31日に日本国に出願された特許出願番号2014-071782の利益を主張し、当該出願の内容は引用することによりここに組み込まれているものとする。
図1は、状態推定システム1を示す図である。状態推定システム1は、1以上のセンサ2と、MPU(Micro-Processing Unit)3と、CPU4とを備えている。
なお、以下の説明では、状態推定システム1は、ユーザによって携帯される携帯端末装置(例えば、スマートフォンや携帯電話、PDAなど)に組み込まれるものとして説明する。
センサ2は、周囲の環境に関する情報や、動きに関する情報等を検出して、検出情報10を生成する検出装置である。センサ2としては、温度センサや湿度センサ、照度センサ、気圧センサ、接触センサ、加速度センサ、ジャイロセンサ、あるいは、磁気センサ等が想定されるがこれらに限定されるものではない。また、状態推定システム1は、ここに列挙したセンサ類をすべて備えていなければならないものでもない。
なお、以下の説明では、当該携帯端末装置を携帯するユーザを対象物とし、状態推定システム1は、当該ユーザの状態(行動)を推定して出力情報12を生成するものとする。したがって、センサ2は、ユーザの行動を推定するために必要な物理量を検出するために、加速度センサ、ジャイロセンサおよび磁気センサを含むものとして説明する。推定されるユーザの行動としては、歩行状態、静止状態、通話状態、閲覧状態あるいは乗車状態などが想定される。
各センサ2は、図1に示すように、いずれもMPU3と接続されている。そして、各センサ2によって取得された検出情報10は、MPU3に向けて出力される。
MPU3は、DSP(Digital Signal Processor)30、RAM31、タイマ32およびインターフェース部33を備えている。
DSP30は、RAM31に格納された命令を読み出して、当該命令に従って動作する演算回路である。DSP30において実行される命令は、3並列のVLIW(Very Long Instruction Word)に対応するように構成された64ビットのデータとして表現されている。すなわち、DSP30は、1サイクルに3つの実命令を実行することが可能である(詳細後述。)。なお、命令は、図示しないデコーダにより解析されてRAM31に書き込まれているものとする。
DSP30は、タイマ32から入力される割り込み信号(以下、「検出タイミング信号」と称する。)に応じて、各センサ2の値を読み込む。すなわち、DSP30は、センサ2によって取得された検出情報10を、インターフェース部33により取得してRAM31に格納する機能を有している。
また、DSP30は、RAM31に格納された検出情報10に基づいて対象物の状態を推定し、状態情報11を生成する。ただし、DSP30の詳細については後述する。
RAM31は、DSP30のワーキングエリアとして使用される記憶装置であり、様々な情報を記憶するために使用される。例えば、RAM31は、DSP30により生成された状態情報11を記憶する。また、図1において図示していないが、RAM31は、各センサ2から取得された検出情報10も記憶する。
なお、図1では、簡略化してRAM31を1つの構成として図示しているが、通常、RAM31は複数の記憶装置から構成されている。また、図1では、RAM31から読み出される情報は必ずDSP30を介するように図示しているが、RAM31はCPU4から参照可能な記憶領域(記憶装置)を備えており、CPU4はDSP30を介することなくRAM31から所望の情報を読み出すことができるように構成されている。
タイマ32は、周期的(ここに示す例では100[Hz])に検出タイミング信号を生成して、インターフェース部33を介してDSP30に出力する。すでに説明したように、検出タイミング信号を受信すると、DSP30は、各センサ2の値を読み取ってRAM31に検出情報10として格納する。
インターフェース部33は、各センサ2と接続されている。図1に示すように、センサ2は並列状態または直列状態でMPU3に接続されている。また、インターフェース部33は、CPU4と接続されている。このように、インターフェース部33は、MPU3と、各センサ2やCPU4とを接続する機能を有している。これにより、インターフェース部33は、センサ2により取得された検出情報10を取得するとともに、DSP30により生成された状態情報11をCPU4に向けて出力する機能を有する。
このように、MPU3は、センサ2により取得された検出情報10に基づいて状態情報11を生成して、CPU4に向けて出力する機能を有している。すなわち、MPU3は、本発明における状態推定プロセッサに相当するが、詳細は後述する。
CPU4は、携帯端末装置におけるメインプロセッサとして機能する。詳細は省略するが、CPU4には、記憶装置、キーやボタンなどの操作部、液晶ディスプレイなどの表示部、音声を出力するスピーカ、音声を電気信号に変換するマイク、外部装置との間で通信を行う通信部などが、適宜接続されている。
CPU4は、図示しない記憶装置に格納されているプログラムを読み取りつつ実行して、各種データの演算や制御信号の生成等を行う。これにより、CPU4は、MPU3や携帯端末装置が備える他の構成を制御するとともに、各種データを演算し作成する機能を有している。
CPU4は、所定のアプリケーション(例えば、経路案内アプリケーションなど)が起動されたことに応じて、MPU3に対してDSP起動信号を出力する。逆に、所定のアプリケーションを終了するタイミングに応じて、MPU3に対してDSP抑制信号を出力する。また、CPU4は、MPU3から入力される状態情報11に基づいて出力情報12を生成する。さらに、CPU4は、出力情報12を図示しない表示部などに出力することにより、ユーザに出力情報12を提供する。
また、CPU4は、CPU通常動作モードと、CPU通常動作モードよりも消費電力の小さいCPU抑制動作モードとを有している。CPU抑制動作モードとは、いわゆるスリープモードなどと呼ばれる動作モードであって、CPU4内の制限された一部の回路のみが稼働している動作モードである。
CPU4では、MPU3から出力されるCPU起動信号に応じて、動作モードがCPU抑制動作モードからCPU通常動作モードに切り替わる。また、CPU4では、MPU3から出力されるCPU抑制信号に応じて、動作モードがCPU通常動作モードからCPU抑制動作モードに切り替わる。ただし、MPU3からCPU抑制信号を受信した場合であっても、他のアプリケーション等を実行している場合には、CPU4は抑制動作モードに移行することはない。
図2は、DSP30の回路構成を示す概略図である。図2に示すように、DSP30は、ロード・ストアユニット300、2つのレジスタ301,302、2つの演算論理ユニット303,304、4つの単精度浮動小数点演算器305、および、スイッチング部306を備えている。
ロード・ストアユニット300は、RAM31からデータを読み取ってレジスタ301,302に格納する。また、ロード・ストアユニット300は、レジスタ301,302に格納されているデータをRAM31に格納する。また、ロード・ストアユニット300は、RAM31から読み出した命令を演算論理ユニット303,304にセットする。さらに、ロード・ストアユニット300は、レジスタ301に格納されている値がポインタ値である場合には、当該ポインタ値に従ってRAM31に格納されているデータを特定し、読み出す機能も有している。
レジスタ301,302は、いずれもデータを一時的に記憶する記憶装置である。レジスタ301,302には、RAM31から読み出されたデータや、演算論理ユニット303,304によって求められた値などが格納される。
演算論理ユニット303は、ロード・ストアユニット300から入力された命令に従って、レジスタ301に格納されているデータに所定の演算を実行する整数演算器である。演算論理ユニット303により演算された値はレジスタ301に格納される。演算論理ユニット303は、例えば、所望のデータをRAM31から読み出すためのポインタ値を演算するためなどに使用される。
演算論理ユニット304は、4つの単精度浮動小数点演算器305を備えたSIMD型演算器として構成されている。演算論理ユニット304は、4つの単精度浮動小数点演算器305のそれぞれにセットされたデータ(すなわち、複数のデータ)に対して、1サイクルの間に、並列的に、1つの命令を実行することができる。演算論理ユニット304により演算された値は、レジスタ302に格納され、ロード・ストアユニット300によってRAM31に格納される。
スイッチング部306は、第1の動作モードと、前記第1の動作モードよりも消費電力の小さい第2の動作モードとの間でDSP30の動作モードを切り替える機能を有する。言い換えれば、DSP30は、動作モードとして、通常動作モードと、通常動作モードよりも消費電力の小さい抑制動作モードとを有している。
スイッチング部306は、インターフェース部33から入力されるDSP抑制信号に応じて、DSP30の動作モードを通常動作モードから抑制動作モードに切り替える。DSP抑制信号は、一部または全部のセンサ2やCPU4からの割り込み信号としてインターフェース部33を介して入力される。また、DSP30が自身を抑制動作モードに切り替える場合もある。
また、スイッチング部306は、インターフェース部33から入力されるDSP起動信号に応じて、DSP30の動作モードを抑制動作モードから通常動作モードに切り替える。DSP起動信号は、一部または全部のセンサ2やCPU4からの割り込み信号として、インターフェース部33を介して入力される。また、タイマ32からの検出タイミング信号もDSP起動信号として機能する場合がある。
なお、図1では、スイッチング部306の制御対象がロード・ストアユニット300のみであるかのように図示しているが、これは図示の都合上、簡略的に示すものであって、スイッチング部306は、DSP30が備える各構成のうちの必要な構成(回路)について切替制御を行う。
以上が状態推定システム1の構成および機能の説明である。次に、DSP30による演算の仕組み(演算アーキテクチャ)について説明する。なお、DSP30は、抑制動作モードではなく、通常動作モードにおいて、検出情報10に対する演算処理(状態情報11を求める処理)を実行する。
図3は、DSP30が処理するデータについて示す概念図である。
以下では、状態推定システム1が組み込まれた携帯端末装置の動きを観測して、当該携帯端末装置を所持するユーザの行動を推定する場合を例に説明する。
図3に示す「A」、「B」、「C」、「D」は、ひとまとまりのデータを示す。例えば、「A」が3軸の加速度センサの出力であれば、「Ax」は加速度のX軸成分の値であり、「Ay」は加速度のY軸成分の値であり、「Az」は加速度のZ軸成分の値である。また、「B」が3軸のジャイロセンサの出力であれば、「Bx」は角速度のX軸成分の値であり、「By」は角速度のY軸成分の値であり、「Bz」は角速度のZ軸成分の値である。また、「C」が3軸の磁気センサの出力であれば、「Cx」は磁気ベクトルのX軸成分の値であり、「Cy」は磁気ベクトルのY軸成分の値であり、「Cz」は磁気ベクトルのZ軸成分の値である。さらに、「D」が3軸のジャイロセンサのバイアスの補正値であれば、「Dx」は角速度のX軸成分の補正値であり、「Dy」は角速度のY軸成分の補正値であり、「Dz」は角速度のZ軸成分の補正値である。
なお、ジャイロセンサのバイアスの補正値は、直接、センサ2から得られる検出情報10ではない。ジャイロセンサのバイアスの補正値を求める手法は、従来から提案されている様々な技術を適用することができるため、ここでは具体的な説明を省略する。
このように、携帯端末装置の動きを観測して状態を推定する場合には、上記のように、12軸の情報を処理することになるのが一般的である。ただし、例えば、磁気センサの値を採用せずに状態を推定する場合などには9軸となる。すなわち、状態推定のためには、必ずしも12軸の情報を処理することが必須条件となるわけではなく、アプリケーションの要求に応じて適宜変更されるものである。
DSP30は、12軸の情報を、α0,α1,α2,α3と、β0,β1,β2,β3と、γ0,γ1,γ2,γ3とに分けて処理する。
図4は、12軸の情報を逐次処理する場合と、DSP30が12軸の情報を処理する場合とを比較した図である。なお、図4では、詳細な演算についての逐一的な説明は省略し、DSP30における特徴が理解しやすいように、あくまでも概念図として処理を示している。
逐次処理の場合、図4の左表に示すように、α0(Ax)のデータに対して、第1サイクルでRAM31からロードし、第2サイクルで次のデータのためにポインタを演算し、第3サイクルで乗算してから、第4サイクルでRAM31に結果をストア(格納)するという流れになる。したがって、12軸の情報すべてについて処理を完了するためには、48サイクルが必要となる。
これに対して、DSP30では命令セットが3並列のVLIWに対応している。したがって、DSP30は、1サイクルに3つの実命令を実行することができる。また、すでに説明したように、演算論理ユニット304はSIMD型演算器であり、実行ユニットとして4つの単精度浮動小数点演算器305を備えている。したがって、DSP30は、演算論理ユニット304において、1サイクルで4つのデータに対して1命令(例えば乗算命令)を実行可能である。
したがって、図4の右表に示すように、第1のサイクルでα(α0,α1,α2,α3)を読み込み、第2のサイクルでβ(β0,β1,β2,β3)を読み込みつつ、演算論理ユニット303によってポインタを演算する。また、第3のサイクルでは、γ(γ0,γ1,γ2,γ3)を読み込みつつ、演算論理ユニット303によってポインタを演算し、かつ、演算論理ユニット304によってα(α0,α1,α2,α3)の乗算を実行する。さらに、第4のサイクルでは、α(α0,α1,α2,α3)をRAM31に書き込みつつ、演算論理ユニット303によってポインタを演算し、かつ、演算論理ユニット304によってβ(β0,β1,β2,β3)の乗算を実行する。
このように、1回の観測により得られる検出情報10に対して、DSP30では6サイクルで処理を完了することができる。したがって、従来のように、メインCPUで逐次処理する場合に比べて、MPU3(DSP30)の動作周波数を下げることができる。
これにより、DSP30は、従来のマイコンに比べて、消費電力を抑制することができる。なお、一般的なマイコンでは、このような処理に80[MHz]程度の動作周波数が必要であるが、DSP30は、7[MHz]程度で処理可能である。
また、一般に、浮動小数点演算器は、固定小数点演算器に比べて演算器自体の回路規模が小さいという特徴がある。しかし、汎用のマイコンでは、浮動小数点演算器ではなく、固定小数点演算器が用いられることが多い。これは、浮動小数点演算器による演算では、小数点の位置を決定しなければならず、演算深度が深くなり、このための付加回路が別に必要となるからである。すなわち、結果として、固定小数点演算器を採用した場合の方が、全体としての回路規模が小さくなるという事情があった。
しかし、センサ2からの検出情報10を処理して状態を推定するという用途においては、このような付加回路は最小限で済む。したがって、DSP30は、単精度浮動小数点演算器305を採用することにより、固定小数点演算器を採用する場合に比べて、回路規模を小さくすることができる。
特に、センサフュージョンに用いられるカルマンフィルタは、パラメータのダイナミックレンジが広いという特性がある。したがって、固定小数点演算器を用いて、単精度浮動小数点演算器305(16ビット)と同程度の演算精度を維持するためには、64ビット演算器を準備する必要があり、回路規模が大きくなる。すなわち、DSP30がカルマンフィルタを用いる演算を実行することにより、単精度浮動小数点演算器305を採用する効果がより顕著となる。
次に、状態推定システム1におけるセンサ2、MPU3およびCPU4の制御方法について説明する。
図5は、MPU3の動作を示す流れ図である。状態推定システム1(携帯端末装置)に電源が投入されると、MPU3は所定の初期設定を実行した後、待機状態となる。なお、待機状態は、通常動作モードまたは抑制動作モードのいずれであってもよい。
待機状態において、MPU3は、DSP抑制信号を受信したか(ステップS1)、検出タイミングが到来したか(ステップS5)、DSP起動信号を受信したか(ステップS11)、および、演算タイミングが到来したか(ステップS15)を監視している。
待機状態において、DSP抑制信号を受信すると、MPU3は、ステップS1においてYesと判定し、当該DSP抑制信号の送信元を確認する(ステップS2)。
当該DSP抑制信号の送信元がCPU4である場合(ステップS2においてYes。)、MPU3は、センサ2を停止する(ステップS3)。そして、スイッチング部306がDSP30の動作モードをDSP抑制モードに切り替える(ステップS4)。
このように、ステップS4が実行されると、以後、DSP30は、抑制動作モードとなり、通常動作モードのときに比べて消費電力が抑制される。なお、ステップS4を実行すると、MPU3は待機状態に戻る。
DSP抑制信号がCPU4により送信されているならば、状態情報11を必要とするアプリケーションが終了されており、CPU4が、以後、状態情報11を必要としていないとみなせる。このような場合、状態推定システム1は、センサ2によるセンシングを停止させることにより、さらに消費電力を抑制する。
なお、ステップS3が実行されたときには、以後、センサ2の出力を読み込む必要はないので、MPU3(スイッチング部306)はタイマ32を停止させてもよい。また、ステップS3において、状態推定システム1(MPU3)は、すべてのセンサ2を停止させるのではなく、状況に応じて取捨選択するように構成してもよい。
一方、DSP抑制信号の送信元がCPU4ではない場合(ステップS2においてNo。)、MPU3は、ステップS3をスキップして、ステップS4を実行する。これにより、以後、DSP30は、抑制動作モードとなり、待機状態に戻る。
DSP抑制信号がCPU4により送信されていないならば、CPU4は、状態情報11を必要としているとみなせる。したがって、この場合は、センサ2を停止させることなく、センサ2によるセンシングは継続させることが好ましい。
なお、DSP抑制信号の送信元がCPU4ではない場合とは、センサ2が送信元となる場合や、DSP30自体が自らを抑制動作モードに切り替えようとする場合などが想定される。
待機状態において、検出タイミングが到来すると(ステップS5においてYes。)、タイマ32は検出タイミング信号を割り込み信号としてDSP30に向けて出力する(ステップS6)。これに応じて、MPU3は、各センサ2の出力を読み込む(ステップS7)。これによって、検出情報10がRAM31に格納される。
次に、MPU3は、ステップS7において読み込んだセンサ2の出力値と、前回ステップS7が実行されたときに読み込まれたセンサ2の出力値とを比較し、その差分が閾値以下であるか否かを判定する(ステップS8)。
当該差分が閾値以下である場合とは、状態における変化が乏しいことを意味している。そこで、ステップS8においてYesの場合、MPU3はこのような状態が所定の期間継続しているか否かをさらに判定する(ステップS9)。
ステップS9においてYesの場合(ステップS7において読み込んだセンサ2の出力値と、前回ステップS7が実行されたときに読み込まれたセンサ2の出力値との差分が閾値以下の状態が所定の期間継続している場合)、MPU3は、状態に変化がないことをCPU4に通知する(ステップS10)。そして、ステップS10が実行されると、スイッチング部306は、DSP30を抑制動作モードに移行させる(ステップS4)。
このように、状態推定システム1は、センサ2によって取得される検出情報10において、変化の乏しい状態が所定の期間継続している場合には、DSP30を抑制動作モードに切り替えることにより、消費電力を抑制することができる。なお、検出情報10において変化が乏しいか否かは、各センサ2が判断して、検出情報10とともに、MPU3に通知するように構成してもよい。
一方、ステップS8またはステップS9のうちのいずれかのステップにおいてNoである場合、MPU3は、ステップS10を実行することなく、待機状態に戻る。
待機状態において、DSP起動信号が受信されると(ステップS11においてYes。)、スイッチング部306は、DSP30を通常動作モードに切り替える(ステップS12)。これにより、DSP30は通常動作モードに復帰する。
ステップS12が実行されると、MPU3は、センサ2が停止中か否かを判定し(ステップS13)、停止中のセンサ2が存在する場合は当該センサを起動させる(ステップS14)。これにより、停止していたセンサ2が復帰する。なお、ステップS13においてNoの場合、または、ステップS14が実行されると、MPU3は待機状態に戻る。
待機状態において、演算タイミングが到来すると(ステップS15においてYes。)、DSP30は、所定の演算を実行してユーザの状態を推定し、状態情報11を生成する(ステップS16)。なお、演算タイミングの到来は、MPU3に専用のタイマを設けて周期的に決定してもよいし、CPU4から状態情報11に対する出力要求があったときに演算タイミングが到来したと判定してもよい。
ステップS16が実行されることによって、状態情報11がRAM31に格納される。なお、ステップS15においてYesの場合であって、かつ、DSP30が抑制動作モードである場合には、ステップS16が実行される前に、スイッチング部306がDSP30を通常動作モードに切り替える。
そして、ステップS16が実行されると、MPU3(インターフェース部33)は、新たに作成された状態情報11をCPU4に向けて出力する(ステップS17)。
ステップS17が実行されることにより、CPU4は、状態情報11を受け取る。したがって、状態情報11を受け取ったCPU4は、当該状態情報11に基づいて出力情報12を作成する。なお、ステップS17を実行するときに、CPU4がCPU抑制動作モードである場合には、MPU3は、ステップS17を実行する前に、CPU起動信号をCPU4に向けて出力する。
スイッチング部306は、ステップS17が実行されると、一旦、DSP30を抑制動作モードに切り替える(ステップS18)。
このように、MPU3が新たな状態情報11の出力を完了するたびに、スイッチング部306がDSP30を抑制動作モードに移行させる。これにより、さらに消費電力を抑制することができる。
ステップS18を実行すると、MPU3は、待機状態に戻る。
以上のように、MPU3は、外部のセンサ2により取得された検出情報10を取得するインターフェース部33と、インターフェース部33により取得された検出情報10に基づいて対象物の状態を推定し、状態情報11を生成するDSP30とを備え、DSP30は、1の命令で複数の情報を処理するとともに、単精度浮動小数点演算器305を備えるSIMD型演算に対応した演算論理ユニット304を備え、インターフェース部33は、DSP30により生成された状態情報11を外部のCPU4に向けて出力する。これにより、MPU3は、DSP30の周波数を下げることができるとともに、固定小数点演算器を採用する場合に比べて回路規模を小さくすることができる。したがって、消費電力を抑制することができる。
また、DSP30は、検出情報10に対してカルマンフィルタを用いて対象物の状態を推定して状態情報11を生成することにより、固定小数点演算器を備えるプロセッサに比べて、さらに高い効果を奏する。
また、DSP30は、検出情報10に基づいて6軸以上、好ましくは9軸以上、さらに好ましくは、12軸以上の情報を並列に処理する。このように、同時に発生する多軸に関する情報を処理することにより、さらに高い効果を奏する。
また、MPU3は、通常動作モードと、通常動作モードよりも消費電力の小さい抑制動作モードとの間でDSP30の動作モードを切り替えるスイッチング部306をさらに備え、DSP30は、通常動作モードにおいて状態情報11を生成する。これにより、例えば、状態情報11を作成しない期間において、動作モードを抑制動作モードに切り替えることができ、さらに消費電力を抑制することができる。
また、スイッチング部306は、CPU4からの要求に応じて、通常動作モードと抑制動作モードとの間で動作モードを切り替える。これにより、例えば、起動されているアプリケーションに応じてMPU3を働かせることができる。したがって、効率的にMPU3を使用することができる。
また、MPU3は、CPU4からの要求(DSP起動信号)に応じて、抑制動作モードから通常動作モードに切り替わったときにセンサ2を起動する。これにより、CPU4が状態情報11を所望するときには、センサ2を起動させておき、検出情報10を取得することができる状態にすることができる。
また、スイッチング部306は、センサ2からの検出情報10に応じて、通常動作モードと抑制動作モードとの間でDSP30の動作モードを切り替える。特に、スイッチング部306は、センサ2からの検出情報10における変化が閾値以下となっている状態が所定の時間継続した場合に、抑制動作モードに切り替える。これにより、対象物の状態が定常状態になった可能性が高いときには、消費電力の少ない抑制動作モードとすることにより、消費電力を抑制することができる。
また、DSP30が抑制動作モードのときにおいて、センサ2からの検出情報10における変化が閾値より大きい状態となった場合に、センサ2からのDSP起動信号により、スイッチング部306がDSP30を通常動作モードとする。これにより、対象物の状態が変化した可能性が高いときに、DSP30が速やかに通常動作モードに移行して、当該対象物の状態を推定することにより、対象物の状態の変化を速やかにCPU4に通知することができる。
以上、本発明の好適な実施の形態について説明してきたが、本発明は上記好適な実施の形態に限定されるものではなく様々な変形が可能である。
例えば、上記に示した各工程は、あくまでも例示であって、上記に示した順序や内容に限定されるものではない。すなわち、同様の効果が得られるならば、適宜、順序や内容が変更されてもよい。例えば、ステップS7が実行されて新しい検出情報10がRAM31に格納されたときに、ステップS16を実行して状態情報11を作成し、ステップS17を実行して状態情報11を出力してもよい。
また、上記好適な実施の形態では、単精度浮動小数点演算器305を採用する例で説明したが、「単精度」に限定されるものではない。例えば、倍精度浮動小数点演算器であってもよい。
また、例えば、DSP30を抑制動作モードから通常動作モードに復帰させるタイミングを決定するタイマをさらに設けてもよい。また、このようなタイマを設けた場合には、当該タイマによりDSP30が通常動作モードに復帰したときにおいて、センサ2からの検出情報10における変化が閾値以下であれば、インターフェース部33は対象物の状態に変化がないことをCPU4に向けて出力し、スイッチング部306はDSP30を抑制動作モードに移行させてもよい。これにより、DSP30による状態情報11の作成を回避することができ、改めて状態情報11を生成する場合に比べて短時間で抑制動作モードに移行できる。特に、CPU4が定期的に状態情報11を要求している場合であって、かつ、状態に変化がない場合には有効である。
また、CPU4がCPU抑制動作モードのときであって、かつ、対象物の状態に変化がないとみなせる場合には、当該対象物に状態の変化がないことや状態情報11をインターフェース部33がCPU4に対して出力をすることを禁止してもよい。これにより、無駄にCPU4を起動させることを抑制することができ、さらに消費電力を抑制することができる。
また、MPU3がユーザインターフェースを備えており、MPU3に液晶パネルなどが接続される構成であってもよい。
また、上記好ましい実施の形態では、対象物をユーザとして、ユーザの状態を推定する例で説明した。しかし、対象物はユーザに限定されるものではなく、例えば携帯端末装置(状態推定システム1)であってもよい。この場合、推定される状態とは、姿勢、静止状態あるいは携帯状態(手振りや固定など)などが想定される。
Claims (15)
- 外部の検出装置により取得された検出情報を取得するインターフェース手段と、
前記インターフェース手段により取得された検出情報に基づいて対象物の状態を推定し、状態情報を生成する演算手段と、
を備え、
前記演算手段は、1の命令で複数の情報を処理するとともに、単精度浮動小数点演算器を備えるSIMD型演算処理手段を備え、
前記インターフェース手段は、前記演算手段により生成された状態情報を外部のコンピュータに向けて出力する状態推定プロセッサ。 - 請求項1に記載の状態推定プロセッサであって、
前記演算手段は、前記検出情報に対してカルマンフィルタを用いて前記対象物の状態を推定して状態情報を生成する状態推定プロセッサ。 - 請求項1に記載の状態推定プロセッサであって、
前記演算手段は、前記検出情報に基づいて6軸以上の情報を並列に処理する状態推定プロセッサ。 - 請求項3に記載の状態推定プロセッサであって、
前記演算手段は、前記検出情報に基づいて9軸以上の情報を並列に処理する状態推定プロセッサ。 - 請求項4に記載の状態推定プロセッサであって、
前記演算手段は、前記検出情報に基づいて12軸以上の情報を並列に処理する状態推定プロセッサ。 - 請求項1に記載の状態推定プロセッサであって、
第1の動作モードと前記第1の動作モードよりも消費電力の小さい第2の動作モードとの間で前記演算手段の動作モードを切り替える切替手段をさらに備え、
前記演算手段は、前記第1の動作モードにおいて前記状態情報を生成する状態推定プロセッサ。 - 検出情報を取得する検出装置と、
前記検出装置に接続される状態推定プロセッサと、
第1の動作モードと前記第1の動作モードよりも消費電力の小さい第2の動作モードとを有し、前記第1の動作モードにおいて前記状態推定プロセッサにより生成された状態情報に基づいて出力情報を生成するメインプロセッサと、
を備え、
前記状態推定プロセッサは、
前記検出装置により取得された検出情報を取得するインターフェース手段と、
前記インターフェース手段により取得された検出情報に基づいて対象物の状態を推定し、状態情報を生成する演算手段と、
を備え、
前記演算手段は、1の命令で複数の情報を処理するとともに、単精度浮動小数点演算器を備えるSIMD型演算処理手段を備え、
前記インターフェース手段は、前記演算手段により生成された状態情報を前記メインプロセッサに向けて出力し、
前記メインプロセッサは、前記インターフェース手段から状態情報が入力されるタイミングに応じて、前記第1の動作モードに移行する状態推定システム。 - 請求項7に記載の状態推定システムであって、
前記状態推定プロセッサは、第3の動作モードと前記第3の動作モードよりも消費電力の小さい第4の動作モードとの間で前記演算手段の動作モードを切り替える切替手段をさらに備える状態推定システム。 - 請求項8に記載の状態推定システムであって、
前記切替手段は、前記メインプロセッサからの要求に応じて、前記第3の動作モードと前記第4の動作モードとの間で動作モードを切り替える状態推定システム。 - 請求項9に記載の状態推定システムであって、
前記状態推定プロセッサは、前記メインプロセッサからの要求に応じて、前記第4の動作モードから前記第3の動作モードに切り替わったときに前記検出装置を起動する状態推定システム。 - 請求項8に記載の状態推定システムであって、
前記切替手段は、前記検出装置からの検出情報に応じて、前記第3の動作モードと前記第4の動作モードとの間で前記演算手段の動作モードを切り替える状態推定システム。 - 請求項11に記載の状態推定システムであって、
前記切替手段は、前記センサからの検出情報における変化が閾値以下となっている状態が所定の時間継続した場合に、前記第4の動作モードに切り替える状態推定システム。 - 請求項12に記載の状態推定システムであって、
前記演算手段を前記第4の動作モードから前記第3の動作モードに復帰させるタイミングを決定するタイマをさらに備え、
前記タイマにより前記演算手段が前記第3の動作モードに復帰したときに、前記検出装置からの検出情報における変化が閾値以下であれば、前記インターフェース手段は前記対象物の状態に変化がないことを前記メインプロセッサに向けて出力し、前記切替手段は演算手段を第4の動作モードに移行させる状態推定システム。 - 請求項13に記載の状態推定システムであって、
前記メインプロセッサが前記第2の動作モードのときにおいて、前記インターフェース手段は、前記対象物の状態に変化がないことを前記メインプロセッサに出力することを禁止される状態推定システム。 - 請求項11に記載の状態推定システムであって、
前記演算手段が前記第4の動作モードのときにおいて、前記検出装置からの検出情報における変化が閾値より大きい状態となった場合に、前記切替手段が前記演算手段を前記第3の動作モードとする状態推定システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/273,059 US10191739B2 (en) | 2014-03-31 | 2016-09-22 | State estimation processor and state estimation system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014071782A JP6518036B2 (ja) | 2014-03-31 | 2014-03-31 | 状態推定システム |
JP2014-071782 | 2014-03-31 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/273,059 Continuation US10191739B2 (en) | 2014-03-31 | 2016-09-22 | State estimation processor and state estimation system |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015152027A1 true WO2015152027A1 (ja) | 2015-10-08 |
Family
ID=54240353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/059556 WO2015152027A1 (ja) | 2014-03-31 | 2015-03-27 | 状態推定プロセッサおよび状態推定システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US10191739B2 (ja) |
JP (1) | JP6518036B2 (ja) |
WO (1) | WO2015152027A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IL244746B (en) * | 2016-03-24 | 2021-03-25 | Pulsenmore Ltd | A complete system for linking sensors to smart devices |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006070272A2 (en) * | 2004-12-30 | 2006-07-06 | Nokia Corporation | Low power motion detector |
WO2009008411A1 (ja) * | 2007-07-09 | 2009-01-15 | Sony Corporation | 電子機器及びその制御方法 |
JP2009008680A (ja) * | 2007-06-26 | 2009-01-15 | Honeywell Internatl Inc | 低電力慣性航法処理 |
JP2010522344A (ja) * | 2007-03-23 | 2010-07-01 | クゥアルコム・インコーポレイテッド | マルチセンサデータの収集/処理 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3940542B2 (ja) * | 2000-03-13 | 2007-07-04 | 株式会社ルネサステクノロジ | データプロセッサ及びデータ処理システム |
JP4243684B2 (ja) | 2003-10-07 | 2009-03-25 | 独立行政法人産業技術総合研究所 | 歩行動作検出処理装置および歩行動作検出処理方法 |
US8694251B2 (en) * | 2010-11-25 | 2014-04-08 | Texas Instruments Incorporated | Attitude estimation for pedestrian navigation using low cost mems accelerometer in mobile applications, and processing methods, apparatus and systems |
-
2014
- 2014-03-31 JP JP2014071782A patent/JP6518036B2/ja not_active Expired - Fee Related
-
2015
- 2015-03-27 WO PCT/JP2015/059556 patent/WO2015152027A1/ja active Application Filing
-
2016
- 2016-09-22 US US15/273,059 patent/US10191739B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006070272A2 (en) * | 2004-12-30 | 2006-07-06 | Nokia Corporation | Low power motion detector |
JP2010522344A (ja) * | 2007-03-23 | 2010-07-01 | クゥアルコム・インコーポレイテッド | マルチセンサデータの収集/処理 |
JP2009008680A (ja) * | 2007-06-26 | 2009-01-15 | Honeywell Internatl Inc | 低電力慣性航法処理 |
WO2009008411A1 (ja) * | 2007-07-09 | 2009-01-15 | Sony Corporation | 電子機器及びその制御方法 |
Non-Patent Citations (1)
Title |
---|
KOICHI NISHIWAKI ET AL.: "Short Cycle Pattern Generation for Onlilne Walking Control of Humanoids", JOURNAL OF THE ROBOTICS SOCIETY OF JAPAN, vol. 25, no. 6, 15 September 2007 (2007-09-15), pages 36 - 43 * |
Also Published As
Publication number | Publication date |
---|---|
JP6518036B2 (ja) | 2019-05-22 |
US10191739B2 (en) | 2019-01-29 |
US20170010891A1 (en) | 2017-01-12 |
JP2015194842A (ja) | 2015-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106030446B (zh) | 用于调节可穿戴计算设备的电力模式的方法和*** | |
KR102354330B1 (ko) | 스마트 디바이스 및 그 동작 방법 | |
US11287972B1 (en) | Selectable element selection within a curved display edge | |
JP6648515B2 (ja) | 電子機器及びその角速度取得方法、角速度取得プログラム | |
WO2015015047A1 (en) | Distance estimation | |
EP2884483A1 (en) | Apparatus and method for controlling screen display in electronic device | |
US20160139169A1 (en) | Semiconductor device, portable terminal device, and operation detecting method | |
JP2009063563A (ja) | 加速度検出デバイスおよびそれを備えた携帯機器 | |
WO2015152027A1 (ja) | 状態推定プロセッサおよび状態推定システム | |
US11340249B2 (en) | Electronic device, calibration control method, and storage medium storing program | |
KR102225249B1 (ko) | 전자 디바이스용 센서 버스 인터페이스 | |
TWI567367B (zh) | 用於電子裝置之磁力計單元 | |
JP6311871B2 (ja) | 物理量検出用回路、物理量検出装置、物理量計測システム、電子機器、移動体及び物理量計測データ生成方法 | |
US20150355770A1 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2007108841A (ja) | データ処理装置 | |
JP2010091462A (ja) | 相対加速度検出装置、相対加速度の検出方法およびプログラム | |
JP6891891B2 (ja) | 情報処理装置 | |
JP2019164051A (ja) | 電池残量推定装置、電子機器、電池残量推定方法及びプログラム | |
JP7016101B2 (ja) | 情報処理システム、情報処理装置、プログラム、及び情報処理方法 | |
JP4525294B2 (ja) | 動作回数カウント装置及び方法 | |
US20170314923A1 (en) | Mems inertial sensor device with determination of the bias value of a gyroscope therof and corresponding method | |
JP2017069711A (ja) | 電子機器 | |
US20120166133A1 (en) | Electronic device, pedometer, and program | |
WO2018095044A1 (zh) | 音频输入输出方法和终端设备 | |
JP2019016902A (ja) | 携帯端末および携帯端末の制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15774025 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase | ||
122 | Ep: pct application non-entry in european phase |
Ref document number: 15774025 Country of ref document: EP Kind code of ref document: A1 |