US20190336826A1 - Analysis Device and Analysis System - Google Patents

Analysis Device and Analysis System Download PDF

Info

Publication number
US20190336826A1
US20190336826A1 US16/184,302 US201816184302A US2019336826A1 US 20190336826 A1 US20190336826 A1 US 20190336826A1 US 201816184302 A US201816184302 A US 201816184302A US 2019336826 A1 US2019336826 A1 US 2019336826A1
Authority
US
United States
Prior art keywords
ball
analysis device
calculation unit
data
acceleration
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.)
Abandoned
Application number
US16/184,302
Inventor
Shohei Shibata
Takeshi Naruo
Yuto Kase
Kiyoshi Hirose
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.)
Mizuno Corp
Original Assignee
Mizuno 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
Priority claimed from JP2018204326A external-priority patent/JP7123750B2/en
Application filed by Mizuno Corp filed Critical Mizuno Corp
Assigned to MIZUNO CORPORATION reassignment MIZUNO CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: NARUO, TAKESHI, SHIBATA, Shohei, KASE, YUTO, HIROSE, KIYOSHI
Publication of US20190336826A1 publication Critical patent/US20190336826A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/0002Training appliances or apparatus for special sports for baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0021Tracking a path or terminating locations
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B43/00Balls with special arrangements
    • A63B43/004Balls with special arrangements electrically conductive, e.g. for automatic arbitration
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0021Tracking a path or terminating locations
    • A63B2024/0028Tracking the path of an object, e.g. a ball inside a soccer pitch
    • A63B2024/0034Tracking the path of an object, e.g. a ball inside a soccer pitch during flight
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/0002Training appliances or apparatus for special sports for baseball
    • A63B2069/0004Training appliances or apparatus for special sports for baseball specially adapted for particular training aspects
    • A63B2069/0006Training appliances or apparatus for special sports for baseball specially adapted for particular training aspects for pitching
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • A63B2071/0625Emitting sound, noise or music
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/18Baseball, rounders or similar games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/18Baseball, rounders or similar games
    • A63B2102/182Softball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2209/00Characteristics of used materials
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/10Positions
    • A63B2220/16Angular positions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/30Speed
    • A63B2220/34Angular speed
    • A63B2220/35Spin
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/40Acceleration
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/62Time or time measurement used for time reference, time stamp, master time or clock signal
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/803Motion sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/808Microphones
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/83Special sensors, transducers or devices therefor characterised by the position of the sensor
    • A63B2220/833Sensors arranged on the exercise apparatus or sports implement
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/89Field sensors, e.g. radar systems
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/02Testing, calibrating or measuring of equipment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/50Wireless data transmission, e.g. by radio transmitters or telemetry
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user

Definitions

  • the present disclosure relates to a technique for analyzing the spin axis of a ball.
  • the throw analysis system includes a ball having a sensor unit and a transmitting unit that are built in the ball, and an analysis device to receive the detection value of the sensor unit transmitted from the transmitting unit and analyze the detection value.
  • the sensor unit includes a substrate; and an acceleration sensor, a geomagnetic sensor, and a gyroscope sensor mounted on the substrate.
  • the analysis device identifies and stores the initial direction of the substrate in the global coordinate system, calculates the successively changing direction of the substrate in the global coordinate system, calculates the successively changing acceleration of the ball in the global coordinate system, and calculates the movement locus of the ball in the global coordinate system.
  • Japanese Patent Laying-Open No. 2018-134153 discloses calculating the spin axis direction using a gyroscope sensor.
  • a gyroscope sensor is generally large in size, a gyroscope sensor that is small enough to be built in a ball can measure only a limited range. Accordingly, when a thrown ball rotates at a high speed, such as in baseball, the angle of the spin axis of the ball may not be calculated accurately with a gyroscope sensor due to saturation.
  • An object of the present disclosure in one aspect is to provide an analysis device and an analysis system that can calculate the angle of the spin axis of a ball more accurately.
  • an analysis device for analyzing a spin axis of a ball.
  • the analysis device includes: an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by a sensor device built in the ball; an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data; a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the attitude information, the spin rate, the geomagnetic data, and a first-order differential value and a second-order differential value of the geomagnetic data.
  • the spin axis calculation unit is configured to calculate the angle of the spin axis of the ball in a predetermined period around a timing at which the ball was released.
  • the spin axis calculation unit is configured to, based on the attitude information, the spin rate, the geomagnetic data, the first-order differential value, and the second-order differential value, calculate the angle of the spin axis of the ball by applying the predetermined filter to an observation equation where the geomagnetic data, the first-order differential value, and the second-order differential value are observation values.
  • the analysis device further includes a direction calculation unit configured to calculate a traveling direction of the ball released from the subject, using the predetermined filter and based on the acceleration data.
  • the predetermined direction is the traveling direction calculated by the direction calculation unit.
  • the direction calculation unit is configured to calculate a rotation matrix that defines the traveling direction, by applying the predetermined filter to a state equation where the rotation matrix that defines the traveling direction is a state value, and to an observation equation where a maximum value of the acceleration data in a predetermined period is an observation value, the predetermined period being a period around a timing at which the ball was released.
  • the sensor device includes a low acceleration sensor configured to detect a low acceleration, and a high acceleration sensor configured to detect a high acceleration.
  • the acceleration data includes low acceleration data detected by the low acceleration sensor, and high acceleration data detected by the high acceleration sensor.
  • the attitude calculation unit is configured to, when calculating initial attitude information of the ball, adopt the low acceleration data as the acceleration data.
  • the predetermined filter is an extended Kalman filter.
  • an analysis device for analyzing a spin axis of a ball.
  • the analysis device includes: an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by a sensor device built in the ball; an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data; a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the attitude information, the spin rate, the acceleration data, and a first-order differential value and a second-order differential value of the acceleration data.
  • the spin axis calculation unit is configured to, based on the attitude information, the spin rate, the acceleration data, the first-order differential value, and the second-order differential value, calculate the angle of the spin axis of the ball by applying the predetermined filter to an observation equation where the acceleration data, the first-order differential value, and the second-order differential value are observation values.
  • An analysis system includes: an analysis device for analyzing a spin axis of a ball; and a sensor device built in the ball.
  • the analysis device includes: an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by the sensor device; an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data; a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the geomagnetic data, the attitude information, the spin rate, and a first-order differential value and a second-order differential value of the geomagnetic data.
  • FIG. 1 is a view for explaining a general configuration of an analysis system according to embodiment 1.
  • FIG. 2A is a view for explaining a schematic configuration of a ball according to embodiment 1.
  • FIG. 2B is a view for explaining a schematic configuration of a ball according to embodiment 1.
  • FIG. 3 is a block diagram showing a hardware configuration of an analysis device according to embodiment 1.
  • FIG. 4 is a block diagram showing a hardware configuration of a sensor device according to embodiment 1.
  • FIG. 5 is a flowchart for explaining the operation of an analysis device according to embodiment 1.
  • FIG. 6 is a view for explaining a method for calculating the spin rate of a ball according to embodiment 1.
  • FIG. 7 shows example display of the angle of the spin axis of a ball according to embodiment 1.
  • FIG. 8 is a block diagram of an example functional configuration of an analysis device according to embodiment 1.
  • FIG. 9 is a flowchart for explaining the operation of an analysis device according to embodiment 2.
  • FIG. 10 is a block diagram showing an example functional configuration of an analysis device according to embodiment 2.
  • FIG. 1 is a view for explaining a general configuration of an analysis system 1000 according to embodiment 1.
  • analysis system 1000 is a system for analyzing the spin axis of a baseball thrown by a subject 5 (pitcher), and displaying the results of the analysis.
  • Analysis system 1000 includes an analysis device 10 , and a ball 2 including a built-in sensor device 20 .
  • three axes orthogonal to one another in the sensor coordinate system are represented by an x-axis, a y-axis, and a z-axis; and three axes orthogonal to one another in the absolute coordinate system are represented by an X-axis, a Y-axis, and a Z-axis.
  • Analysis device 10 is a smartphone. However, analysis device 10 may be implemented as any type of device. For example, analysis device 10 may be a laptop personal computer (PC), a tablet-type device, a desktop PC, or the like.
  • PC personal computer
  • tablet-type device a desktop PC, or the like.
  • Analysis device 10 communicates with sensor device 20 by a wireless communication system.
  • a wireless communication system Bluetooth (registered trademark) low energy (BLE) is adopted, for example.
  • analysis device 10 may adopt other wireless communication systems, such as Bluetooth (registered trademark), wireless local area network (LAN), or the like.
  • FIG. 2A and FIG. 2B are views for explaining a schematic configuration of ball 2 according to embodiment 1.
  • FIG. 2A shows an external appearance of ball 2 .
  • FIG. 2B shows a schematic configuration of the inside of ball 2 .
  • ball 2 With reference to FIG. 2A , the external appearance of ball 2 is equivalent to that of a typical regulation ball. Ball 2 has a leather outer skin with seams showing. With reference to FIG. 2B , ball 2 includes built-in sensor device 20 in its center for detecting the behavior of ball 2 . Sensor device 20 is fixed with a polycarbonate capsule 62 and a silicone gel 64 and thus has a good shock resistance.
  • sensor device 20 detects accelerations and magnetic fields (magnetic flux densities) in the sensor coordinate system (local coordinate system).
  • sensor device 20 includes two acceleration sensors (a low acceleration sensor and a high acceleration sensor) and a geomagnetic sensor.
  • the acceleration sensors detect acceleration data representing the accelerations in the directions of three axes (the x-axis, the y-axis, and the z-axis) orthogonal to one another.
  • the geomagnetic sensor detects geomagnetic data representing the magnetic fields (magnetic flux densities) in the directions of three axes orthogonal to one another.
  • a magneto-resistive (MR) element a magneto-impedance (MI) element, a Hall element, or the like is used as the geomagnetic sensor.
  • MI magneto-impedance
  • FIG. 3 is a block diagram showing a hardware configuration of analysis device 10 according to embodiment 1.
  • analysis device 10 includes a central processing unit (CPU) 102 , a memory 104 , a touch panel 106 , a button 108 , a display 110 , a wireless communication unit 112 , a communication antenna 113 , a memory interface (I/F) 114 , a speaker 116 , a microphone 118 , and a communication interface (I/F) 120 , as main components.
  • a storage medium 115 is an external storage medium.
  • CPU 102 controls the operation of each unit in analysis device 10 by reading a program stored in memory 104 and executing the program. Specifically, CPU 102 implements the later-described processes (steps) in analysis device 10 by executing the program.
  • Memory 104 is implemented as a random access memory (RAM), a read-only memory (ROM), a flash memory or the like. Memory 104 stores a program to be executed by CPU 102 , data to be used by CPU 102 , and the like.
  • RAM random access memory
  • ROM read-only memory
  • flash memory or the like.
  • Memory 104 stores a program to be executed by CPU 102 , data to be used by CPU 102 , and the like.
  • Touch panel 106 is provided on display 110 which serves as a display unit. Touch panel 106 may be of any type, such as a resistive type and a capacitive type. Button 108 is arranged on the surface of analysis device 10 . Button 108 receives user instructions and inputs the instructions to CPU 102 .
  • Wireless communication unit 112 connects with a mobile communication network via communication antenna 113 , and sends and receives a signal for wireless communication.
  • analysis device 10 can communicate with a predetermined external device via a mobile communication network, such as long term evolution (LTE).
  • LTE long term evolution
  • Memory interface (I/F) 114 reads data from external storage medium 115 .
  • CPU 102 reads data stored in external storage medium 115 via memory interface 114 and stores the data in memory 104 .
  • CPU 102 reads data from memory 104 and stores the data in external storage medium 115 via memory interface 114 .
  • Examples of storage medium 115 include a medium having stored thereon a program in a nonvolatile manner, such as a compact disc (CD), a digital versatile disk (DVD), a Blu-ray (registered trademark) Disc (BD), a universal serial bus (USB) memory, a memory card, a flexible disk (FD), or a hard disk.
  • a compact disc CD
  • DVD digital versatile disk
  • BD Blu-ray (registered trademark) Disc
  • USB universal serial bus
  • Speaker 116 outputs a voice based on instructions from CPU 102 .
  • Microphone 118 receives an utterance for analysis device 10 .
  • Communication interface (I/F) 120 is a communication interface for exchanging data between, for example, analysis device 10 and sensor device 20 .
  • Communication interface (I/F) 120 is implemented as an adapter, a connector, or the like.
  • the communication system may be wireless communication, such as BLE, wireless LAN, or the like.
  • FIG. 4 is a block diagram showing a hardware configuration of sensor device 20 according to embodiment 1.
  • sensor device 20 includes a CPU 202 for executing various types of processes; a memory 204 for storing a program to be executed by CPU 202 , data, and the like; an acceleration sensor 220 ; a geomagnetic sensor 208 to detect magnetic fields in the three axis directions orthogonal to one another; a communication interface (I/F) 210 for communicating with analysis device 10 ; and a storage battery 212 to supply power to the components of sensor device 20 , as a main components.
  • I/F communication interface
  • Acceleration sensor 220 includes a low acceleration sensor 205 and a high acceleration sensor 206 .
  • Low acceleration sensor 205 which is an acceleration sensor for detecting a low acceleration range (e.g. less than 24 G), detects accelerations in the three axis directions orthogonal to one another.
  • High acceleration sensor 206 which is an acceleration sensor for detecting a high acceleration range that is not detectable by the low acceleration sensor (e.g. 24 G or more), detects accelerations in the three axis directions orthogonal to one another.
  • the detection accuracy is higher with low acceleration sensor 205 than with high acceleration sensor 206 , though still detectable by high acceleration sensor 206 .
  • FIG. 5 is a flowchart for explaining the operation of analysis device 10 according to embodiment 1. The steps below are implemented typically by CPU 102 of analysis device 10 executing the program stored in memory 104 .
  • Analysis device 10 is operated by, for example, a shop clerk. Analysis device 10 may be operated also by subject 5 him/herself. Here, analysis device 10 always acquires the acceleration data detected by each of low acceleration sensor 205 and high acceleration sensor 206 , and the geomagnetic data detected by geomagnetic sensor 208 .
  • analysis device 10 executes calibration of geomagnetic sensor 208 (step S 10 ). Specifically, subject 5 spins ball 2 (e.g. throws ball 2 ) in accordance with a clerk's instruction. Analysis device 10 successively plots the magnetic fields in the three axis directions detected by geomagnetic sensor 208 . Analysis device 10 approximates the plotted data (e.g. 18-point data) by the equation of an ellipse and calculates the central point and the radius of the ellipse. Next, analysis device 10 calibrates the geomagnetic data so that the approximated ellipse will be a perfect circle around the origin. Thus, the offset error and the sensitivity error of the geomagnetic sensor are corrected. Analysis device 10 may use other known methods to perform calibration of geomagnetic sensor 208 .
  • Analysis device 10 executes calibration of low acceleration sensor 205 and high acceleration sensor 206 (step S 12 ). Specifically, subject 5 brings ball 2 into a stationary state (e.g. puts ball 2 on the ground) in accordance with a clerk's instruction. When ball 2 is in a stationary state, analysis device 10 acquires the acceleration data detected by each of low acceleration sensor 205 and high acceleration sensor 206 .
  • a stationary state e.g. puts ball 2 on the ground
  • Analysis device 10 calculates the average acceleration in a predetermined period of time (e.g. one second) for each of the accelerations in the three axis directions detected by low acceleration sensor 205 .
  • Analysis device 10 calculates a synthetic acceleration As by synthesizing average accelerations a cx , a cy , a cz of the three axes, the x-axis, the y-axis, and the z-axis, using the following formula (1).
  • Analysis device 10 performs bias correction of low acceleration sensor 205 (i.e., performs calibration of low acceleration sensor 205 ) by subtracting a value obtained by dividing synthetic acceleration As by 1000 from the accelerations in the three axis directions detected by low acceleration sensor 205 .
  • Calibration for high acceleration sensor 206 is performed in the same manner. Specifically, analysis device 10 calculates the average value in a predetermined period of time (e.g. one second) for each of the accelerations in the three axis directions detected by high acceleration sensor 206 . Analysis device 10 then calculates the synthetic acceleration of the three axes using the above-described formula (1). Analysis device 10 performs offset correction of high acceleration sensor 206 (i.e., performs calibration of high acceleration sensor 206 ) by subtracting a value obtained by dividing the synthetic acceleration by 1000 from the accelerations in the three axis directions detected by high acceleration sensor 206 .
  • offset correction of high acceleration sensor 206 i.e., performs calibration of high acceleration sensor 206
  • analysis device 10 gives notification that urges subject 5 to throw (step S 14 ).
  • analysis device 10 may output a voice of “Throw the ball” or may display the words on display 110 .
  • Subject 5 throws ball 2 in accordance with the notification.
  • Analysis device 10 determines whether or not the acceleration data detected by low acceleration sensor 205 is less than threshold value J1 (step S 16 ). Specifically, analysis device 10 determines, for the acceleration in each axis direction detected by low acceleration sensor 205 , whether or not the acceleration in the axis direction is less than threshold value J1.
  • analysis device 10 adopts the acceleration in the axis direction detected by low acceleration sensor 205 as the acceleration to be used in the subsequent steps (step S 18 ). If the acceleration in the axis direction is equal to or more than threshold value J1 (NO in step S 16 ), analysis device 10 adopts the acceleration in the axis direction detected by high acceleration sensor 206 as the acceleration to be used in the subsequent steps (step S 20 ).
  • steps S 16 to S 20 are described with a specific example.
  • the accelerations in the x-axis direction and the y-axis direction detected by low acceleration sensor 205 are less than threshold value J1, and the acceleration in the z-axis direction is equal to or more than threshold value J1.
  • analysis device 10 adopts the accelerations detected by low acceleration sensor 205 , as the accelerations in the x-axis direction and the y-axis direction to be used in the processes after step S 20 ; and adopts the acceleration detected by high acceleration sensor 206 as the acceleration in the z-axis direction.
  • the acceleration detected by low acceleration sensor 205 which has a high detection accuracy for a low acceleration range, is used for the acceleration less than threshold value J1.
  • analysis device 10 calculates the attitude of ball 2 of when ball 2 is in a stationary state (i.e., the initial attitude of ball 2 ) (step S 22 ). Specifically, analysis device 10 calculates a roll angle ⁇ that represents the spin angle around the x-axis and a pitch angle ⁇ that represents the spin angle around the y-axis, based on the acceleration data detected by sensor device 20 . Roll angle ⁇ is expressed by the following formula (2) using average accelerations a cy , a cz of when ball 2 is in a stationary state.
  • Pitch angle ⁇ is expressed by the following formula (3) using average accelerations a cx , a cy , a cz of when ball 2 is in a stationary state.
  • the acceleration data detected by low acceleration sensor 205 is used to calculate roll angle ⁇ and pitch angle ⁇ .
  • Analysis device 10 calculates a yaw angle ⁇ that represents the spin angle around the z-axis, based on the geomagnetic data detected by sensor device 20 (geomagnetic sensor 208 ), roll angle ⁇ calculated using formula (2), and pitch angle ⁇ calculated using formula (3).
  • analysis device 10 corrects a tilt error in the geomagnetic data of geomagnetic sensor 208 using a rotation matrix composed of roll angle ⁇ and pitch angle ⁇ .
  • M xi , M yi , M zi the magnetic fields in the x-axis, y-axis, and z-axis directions after the correction.
  • [ M xi M yi M zi ] [ cos ⁇ ⁇ ⁇ sin ⁇ ⁇ ⁇ ⁇ ⁇ sin ⁇ ⁇ ⁇ cos ⁇ ⁇ ⁇ ⁇ ⁇ sin ⁇ ⁇ ⁇ 0 cos ⁇ ⁇ ⁇ - sin ⁇ ⁇ ⁇ - sin ⁇ ⁇ ⁇ sin ⁇ ⁇ ⁇ ⁇ sin ⁇ ⁇ ⁇ ⁇ cos ⁇ ⁇ ⁇ ⁇ cos ⁇ ⁇ ⁇ ⁇ ] ⁇ [ M x M y M z ] ( 4 )
  • yaw angle ⁇ is expressed by the following formula (5).
  • the information i.e., roll angle ⁇ , pitch angle ⁇ , and yaw angle ⁇ representing the initial attitude of ball 2 in a stationary state is calculated.
  • Analysis device 10 calculates the rotation matrix from the sensor coordinate system to the absolute coordinate system using roll angle ⁇ , pitch angle ⁇ , and yaw angle ⁇ (step S 24 ). Specifically, analysis device 10 calculates rotation matrix 0 R i from the sensor coordinate system to the absolute coordinate system of when ball 2 is in a stationary state, using the following formula (6).
  • R i 0 [ cos ⁇ ⁇ ⁇ - sin ⁇ ⁇ ⁇ 0 sin ⁇ ⁇ ⁇ cos ⁇ ⁇ ⁇ 0 0 1 ] ⁇ [ cos ⁇ ⁇ ⁇ 0 sin ⁇ ⁇ ⁇ 0 1 0 - sin ⁇ ⁇ ⁇ 0 cos ⁇ ⁇ ⁇ ] ⁇ [ 1 0 0 0 cos ⁇ ⁇ ⁇ - sin ⁇ ⁇ ⁇ 0 sin ⁇ ⁇ ⁇ cos ⁇ ⁇ ⁇ ] ( 6 )
  • analysis device 10 detects the timing at which subject 5 released ball 2 (i.e., at which subject 5 released ball 2 from his/her hand) (step S 26 ). Specifically, analysis device 10 calculates an inexact differential value D of the geomagnetic data using the following formula (7).
  • the character of s denotes the Laplace operator, and the character of n denotes a differential coefficient. Inexact differential value D is calculated for each of the magnetic fields in the three axis directions.
  • Analysis device 10 detects, as the release timing, the point of time at which inexact differential value D becomes 0. For example, analysis device 10 detects, as the release timing, the point of time at which any one of three inexact differential values D corresponding to the respective magnetic fields in the three axis directions becomes 0.
  • Analysis device 10 may detect the release timing using the acceleration data. In this case, analysis device 10 detects, as the release timing, the point of time at which the differential value of the acceleration data detected by high acceleration sensor 206 becomes more than threshold value J2. For example, analysis device 10 detects, as the release timing, the point of time at which any one of the three differential values corresponding to the respective accelerations in the three axis directions becomes more than threshold value J2.
  • analysis device 10 sets a target period (hereinafter also referred to as an “analysis period”) during which the spin axis of ball 2 is to be analyzed (step S 28 ). Specifically, analysis device 10 sets a certain period around the timing at which ball 2 was released, as the analysis period to analyze the spin axis of ball 2 . More specifically, analysis device 10 sets a specified period of time (e.g. 100 ms) before the release timing, as the analysis start timing (i.e., the point of time at which the analysis period starts); and sets a specified period of time (e.g. 60 ms) after the release timing, as the analysis end timing (i.e., the point of time at which the analysis period ends).
  • a specified period of time e.g. 100 ms
  • the analysis start timing i.e., the point of time at which the analysis period starts
  • a specified period of time e.g. 60 ms
  • Analysis device 10 applies the extended Kalman filter to the acceleration data detected by high acceleration sensor 206 and estimates the traveling direction of ball 2 in the analysis period (step S 30 ). Specifically, analysis device 10 executes the following computation.
  • Analysis device 10 calculates the rotation matrices around the x-axis, the y-axis, and the z-axis by solving the following formula (8) that expresses a non-linear state equation and the following formula (9) that expresses a non-linear observation equation, with the input of the maximum values of the accelerations in the x-axis, y-axis, and z-axis directions (sensor coordinate system) in the analysis period detected by high acceleration sensor 206 .
  • the character oft denotes a step as a discrete time.
  • the characters of x t , F(x t ), and w t respectively denote the state value at step t (time t), the linear model related to the time transition in the system, and the system noise.
  • the characters of y t , H(x t ), and v t respectively denote the observation value at time t, the observation model obtained by linearly mapping the state space into the observation space, and the observation noise.
  • the characters of x t , F(x t ), y t , and H(x t ) in formula (8) are respectively expressed by formulae (10), (11), (12), and (13).
  • the characters of X rot , Y rot , Z rot respectively denote the rotation matrices around the x-axis, the y-axis, and the z-axis.
  • rotation matrices X rot , Y rot , Z rot at step (t+1) are obtained by adding the system noise to rotation matrices X rot , Y rot , Z rot at step t.
  • the acceleration of ball 2 is maximum at around a release (i.e., the acceleration is maximum in the analysis period), and the direction defined by the rotation matrices of when the acceleration is maximum generally shows the traveling direction of ball 2 . Therefore, the direction defined by rotation matrices X rot , Y rot , Z rot , with the input of the maximum values of the accelerations in the respective axis directions, is determined as the traveling direction of ball 2 .
  • the characters of Ax max , Ay max , Az max respectively denote the maximum values of the accelerations in the x-axis, y-axis, and z-axis directions (sensor coordinate system).
  • the character of A t denotes the synthetic acceleration of accelerations Ax t , Ay t , Az t in the x-axis, y-axis, and z-axis directions (sensor coordinate system) at time t in the analysis period detected by high acceleration sensor 206 .
  • Synthetic acceleration A t is the square root of the sum of squares of the components of accelerations Ax t , Ay t , Az t .
  • f(x t ) obtained by partially differentiating F(x t ) with respect to x t is defined by formula (14)
  • h(x t ) obtained by partially differentiating H(x t ) with respect to x t is defined by formula (15).
  • the character of I denotes a unit matrix.
  • the extended Kalman filter algorithm using f(x t ) and h(x t ) defined as described above are given by the following formulae (16), (17), (18), and (19).
  • P t and P t ⁇ denote the error covariance matrix
  • K t denotes the Kalman gain
  • Q t denotes the covariance matrix of the system noise
  • R t denotes the covariance matrix of the observation noise
  • the above-described algorithm consists of two parts: a part to predict an estimated value in the next step, and a part to update the estimated value using an obtained observation value.
  • Formula (16) falls under the former, and formulae (17) to (19) fall under the latter.
  • state value x t converges on an optimal value.
  • analysis device 10 calculates the spin rate of ball 2 based on the geomagnetic data in the analysis period detected by geomagnetic sensor 208 (step S 32 ).
  • FIG. 6 is a view for explaining a method for calculating the spin rate of ball 2 according to embodiment 1.
  • graph 602 shows the output value of the geomagnetic data.
  • the output value is the magnetic field in the x-axis direction.
  • Graph 604 shows the difference value for the output value of the geomagnetic data.
  • the difference value is the value that represents the difference between the current output value and the last output value.
  • Analysis device 10 counts the points (zero cross points) at which the difference value crosses 0, and counts a predetermined number of counts (e.g. three counts) as one rotation. With reference to graph 604 , the first, second, and third zero cross points are counted at times p 1 , p 2 , and p 3 , respectively. Analysis device 10 calculates the spin rate (rpm) of ball 2 from the number of zero cross points counted in a unit period (e.g. 0.5 seconds).
  • analysis device 10 calculates the angle of the spin axis of ball 2 by applying the extended Kalman filter to the geomagnetic data in the analysis period detected by geomagnetic sensor 208 (step S 34 ). Specifically, analysis device 10 executes the following computation.
  • Analysis device 10 calculates the angle of the spin axis of ball 2 by solving the above-described non-linear state equation (8) and non-linear observation equation (9), with the input of the magnetic field component of each of the x-axis, y-axis, and z-axis directions (sensor coordinate system) in the analysis period detected by geomagnetic sensor 208 ; the first-order differential value of each magnetic field component; and the second-order differential value of each magnetic field component.
  • the characters of x t and F(x t ) in formula (8) are respectively expressed by the following formulae (20) and (21).
  • the character of ⁇ denotes the spin rate of ball 2 which corresponds to the spin rate calculated in step S 32 .
  • the characters of ⁇ a and ⁇ a respectively denote the roll angle and the pitch angle at time t in the absolute coordinate system.
  • the characters of ⁇ s , ⁇ s , and ⁇ s respectively denote the roll angle, the pitch angle, and the yaw angle at time t in the sensor coordinate system.
  • the characters of y t and H(x t ) in formula (9) are respectively expressed by formulae (22) and (23).
  • m denotes the matrix representing the magnetic field components (m x , m y , m z ) in the three axes at time t in the sensor coordinate system
  • ⁇ dot over (m) ⁇ denotes the first-order differential value of m
  • ⁇ umlaut over (m) ⁇ denotes the second-order differential value of m
  • 0 m denotes the matrix representing the magnetic field components in the three axes at time t in the absolute coordinate system.
  • the character of 0 R s which denotes the rotation matrix from the sensor coordinate system to the absolute coordinate system is expressed by the following formula (24).
  • the initial value of rotation matrix s R s corresponds to i R s which denotes the rotation matrix from the sensor coordinate system to the absolute coordinate system of when ball 2 is in a stationary state. That is, the initial values of roll angle ⁇ s , pitch angle ⁇ s , and yaw angle ⁇ s in the sensor coordinate system correspond to roll angle ⁇ , pitch angle ⁇ , and yaw angle ⁇ of when ball 2 is in a stationary state.
  • R a s [ cos ⁇ ⁇ ⁇ a 0 sin ⁇ ⁇ ⁇ a 0 1 0 - sin ⁇ ⁇ ⁇ a 0 cos ⁇ ⁇ ⁇ a ] ⁇ [ 1 0 0 0 cos ⁇ ⁇ ⁇ a - sin ⁇ ⁇ ⁇ a 0 sin ⁇ ⁇ ⁇ a cos ⁇ ⁇ ⁇ a ] ( 25 )
  • the most probable estimated value of state value x t at time tin the analysis period can be calculated. That is, roll angle ⁇ a and pitch angle ⁇ a of the spin axis of ball 2 in the absolute coordinate system; and roll angle ⁇ s , pitch angle ⁇ s , and yaw angle ⁇ s of the spin axis of the ball in the sensor coordinate system are estimated.
  • the spin rate ⁇ is included as the estimated value in formula (20)
  • the spin rate calculated in step S 32 may be used as the spin rate ⁇ , as describe above. Thus, the spin rate ⁇ may not be adopted as the estimated value.
  • analysis device 10 calculates angle ⁇ h of the spin axis of ball 2 relative to a horizontal plane (i.e., a plane orthogonal to the gravity direction) using the estimated roll angle ⁇ a and pitch angle ⁇ a . Specifically, analysis device 10 calculates 0 R a which denotes the rotation matrix from the spin axis coordinate system to the absolute coordinate system, using the following formula (26).
  • angle ⁇ h is expressed by formula (28).
  • ⁇ h tan - 1 ( p z p x 2 + p y 2 ) ( 28 )
  • Analysis device 10 displays, on display 110 , angle ⁇ h of the spin axis of ball 2 calculated in step S 36 (step S 36 ).
  • FIG. 7 shows example display of the angle of the spin axis of ball 2 according to embodiment 1.
  • analysis device 10 displays, on display 110 , a screen 502 showing the angle of the spin axis.
  • screen 502 shows that the angle of the spin axis of ball 2 is 23 degrees and that the spin rate of ball 2 is 1673.4 rpm.
  • the angle of 23 degrees is the average value of ⁇ h calculated in the analysis period.
  • Analysis device 10 may calculate angle ⁇ h of the spin axis relative to the traveling direction using the traveling direction of ball 2 calculated in step S 30 (i.e., the rotation matrix in each axis direction), and using rotation matrix 0 R a from the spin axis coordinate system to the absolute coordinate system shown in formula (26).
  • rotation matrix 0 R tr from the traveling direction coordinate system to the absolute coordinate system is expressed by the following formula (29).
  • R tr 0 [ ⁇ cos ⁇ ⁇ Z rot - sin ⁇ ⁇ Z rot 0 sin ⁇ ⁇ Z rot cos ⁇ ⁇ Z rot 0 0 1 ] ⁇ [ ⁇ cos ⁇ ⁇ Y rot 0 sin ⁇ ⁇ Y rot 0 1 0 - sin ⁇ ⁇ Y rot 0 cos ⁇ ⁇ Y rot ] ⁇ [ ⁇ 1 0 0 0 cos ⁇ ⁇ X rot - sin ⁇ ⁇ X rot 0 sin ⁇ ⁇ X rot cos ⁇ ⁇ X rot ] ( 29 )
  • rotation matrix tr R a from the spin axis coordinate system to the traveling direction coordinate system is expressed by the following formula (30), using transposed matrix 0 R tr T of rotation matrix 0 R tr and using rotation matrix 0 R a .
  • angle ⁇ h which is the azimuth of the spin axis as seen from the traveling direction coordinate system, is expressed by formula (31).
  • Analysis device 10 may display angle tr P h of the spin axis of ball 2 on display 110 .
  • FIG. 8 is a block diagram of an example functional configuration of analysis device 10 according to embodiment 1.
  • analysis device 10 includes an information input unit 302 , an attitude calculation unit 304 , an analysis period setting unit 306 , a direction calculation unit 308 , a spin rate calculation unit 310 , a spin axis calculation unit 312 , and a display control unit 314 .
  • the functional configuration is implemented basically by CPU 102 of analysis device 10 executing a program stored in memory 104 and giving instructions to the components of analysis device 10 .
  • Information input unit 302 receives an input of the acceleration data and the geomagnetic data detected on a time-series basis by sensor device 20 .
  • sensor device 20 is built in the center of ball 2 . Accordingly, information input unit 302 receives an input of the acceleration data and the geomagnetic data of ball 2 .
  • information input unit 302 receives the acceleration data and the geomagnetic data transmitted from sensor device 20 via communication interface 120 .
  • Attitude calculation unit 304 calculates the attitude information of ball 2 based on the acceleration data and the geomagnetic data. Typically, attitude calculation unit 304 calculates, as the initial attitude information of ball 2 , rotation matrix 0 R s from the sensor coordinate system to the absolute coordinate system of when ball 2 is in a stationary state. In this case, when calculating the initial attitude information of ball 2 , attitude calculation unit 304 adopts, as the acceleration data to be used for the process, the acceleration data detected by low acceleration sensor 205 .
  • attitude calculation unit 304 calculates roll angle ⁇ and pitch angle ⁇ in the sensor coordinate system, using the acceleration data of when ball 2 is in a stationary state.
  • Attitude calculation unit 304 calculates yaw angle ⁇ (sensor coordinate system), using the calculated roll angle ⁇ and pitch angle ⁇ , and using the geomagnetic data of when ball 2 is in a stationary state.
  • Attitude calculation unit 304 calculates rotation matrix 0 R s from the sensor coordinate system to the absolute coordinate system, using the calculated roll angle ⁇ , pitch angle ⁇ , and yaw angle ⁇ , and using formula (6).
  • Analysis period setting unit 306 sets, as the analysis period, a predetermined period around the timing at which the ball was released. Specifically, analysis period setting unit 306 detects the timing (release timing) at which ball 2 was released from subject 5 , based on the amount of change in geomagnetic data or the amount of change in acceleration data. For example, analysis period setting unit 306 uses formula (7) to detect, as the release timing, the point of time at which inexact differential value D, indicating the amount of change in geomagnetic data, becomes 0. Alternatively, analysis period setting unit 306 detects, as the release timing, the point of time at which the differential value of the acceleration data detected by high acceleration sensor 206 becomes more than threshold value J2.
  • analysis period setting unit 306 sets a specified period of time (e.g. 100 ms) before the release timing, as the analysis start timing (i.e., the point of time at which the analysis period starts); and sets a specified period of time (e.g. 60 ms) after the release timing, as the analysis end timing (i.e., the point of time at which the analysis period ends).
  • a specified period of time e.g. 100 ms
  • the analysis start timing i.e., the point of time at which the analysis period starts
  • a specified period of time e.g. 60 ms
  • Direction calculation unit 308 calculates the traveling direction of ball 2 released from subject 5 , using the extended Kalman filter and based on the acceleration data. Specifically, direction calculation unit 308 calculates the rotation matrix that defines the traveling direction of ball 2 , by applying the extended Kalman filter to a state equation where the rotation matrix that defines the traveling direction of ball 2 is a state value, and to an observation equation where the maximum value of the acceleration data in the analysis period is an observation value. More specifically, direction calculation unit 308 calculates rotation matrices X rot , Y rot , Z rot around the respective axes that define the traveling direction of ball 2 by executing the computation using the above-described formulae (8) to (19).
  • Spin rate calculation unit 310 calculates the spin rate of ball 2 based on the geomagnetic data in the analysis period. Specifically, spin rate calculation unit 310 counts the number of times at which the difference value of the output value of the geomagnetic data becomes zero (the number of zero cross points) as described with reference to FIG. 6 , and calculates the spin rate of ball 2 based on the number of counts of the zero cross points in a unit period.
  • Spin axis calculation unit 312 calculates (estimates) the angle of the spin axis of ball 2 relative to a predetermined direction using the extended Kalman filter, based on the attitude information calculated by attitude calculation unit 304 , the spin rate of ball 2 calculated by spin rate calculation unit 310 , the geomagnetic data (i.e., the magnetic fields in the x-axis, y-axis, and z-axis directions) in the analysis period detected by geomagnetic sensor 208 , the first-order differential value of the geomagnetic data, and the second-order differential value of the geomagnetic data.
  • the geomagnetic data i.e., the magnetic fields in the x-axis, y-axis, and z-axis directions
  • spin axis calculation unit 312 calculates angle ⁇ h of the spin axis of ball 2 relative to a horizontal plane, by applying the extended Kalman filter to a state equation where the angle of the spin axis of ball 2 (e.g. roll ⁇ a , pitch angle ⁇ a ) is a state value, and to an observation equation where the geomagnetic data and the first-order and second-order differential values of the geomagnetic data are observation values. More specifically, spin axis calculation unit 312 calculates angle ⁇ h by executing the computation using the above-described formulae (8), (9), and (14) to (28).
  • spin axis calculation unit 312 calculates angle ⁇ h of the spin axis of ball 2 relative to the traveling direction, based on rotation matrices X rot , Y rot , Z rot around the respective axes and based on rotation matrix 0 R a from the spin axis coordinate system to the absolute coordinate system. More specifically, spin axis calculation unit 312 calculates angle ⁇ h representing the azimuth of the spin axis of ball 2 relative to the traveling direction, by executing the computation using the above-described formulae (8), (9), (14) to (26), and (29) to (31).
  • Display control unit 314 displays, on display 110 , the angle of the spin axis of ball 2 (e.g. angles ⁇ h , ⁇ h ) calculated by spin axis calculation unit 312 .
  • Display control unit 314 may display, on display 110 , the spin rate of ball 2 calculated by spin rate calculation unit 310 .
  • display control unit 314 displays screen 502 as shown in FIG. 7 .
  • the acceleration data and the geomagnetic data can be used to calculate the angle of the spin axis of the ball. Therefore, the angle of the spin axis of the ball can be calculated more accurately with no saturation that would occur in a gyroscope sensor.
  • Measurement with a sensor device and a terminal device (e.g. a smartphone) each having a built-in geomagnetic sensor is also known.
  • geomagnetic sensors have individual differences in performance and thus require, for example, calibration. If a terminal device and a ball each have a built-in geomagnetic sensor, the geomagnetic sensors have different sensitivities, leading to decrease in performance. For example, if a geomagnetic sensor having a low sensitivity and a geomagnetic sensor having a high sensitivity are combined, the performance depends on the lower one. If they are used at different places (e.g. places close to each other but not the same), they have different error factors in detection (e.g. magnetic fields in the absolute coordinate system, such as magnetic dip and sensitivity), leading to reduction in accuracy.
  • error factors in detection e.g. magnetic fields in the absolute coordinate system, such as magnetic dip and sensitivity
  • the magnetic field information in the absolute coordinate system be calculated using only the geomagnetic sensor built in the ball for calculation of the spin axis, as in the present embodiment.
  • Embodiment 1 describes a configuration in which the angle of the spin axis is calculated using geomagnetic data.
  • Embodiment 2 describes a configuration in which the angle of the spin axis is calculated using acceleration data.
  • the ⁇ General Configuration> and ⁇ Hardware Configuration> of embodiment 2 are the same as those of embodiment 1, and thus the detailed explanation thereof is not repeated.
  • FIG. 9 is a flowchart for explaining the operation of analysis device 10 according to embodiment 2. The steps below are implemented typically by CPU 102 of analysis device 10 according to embodiment 2 executing a program stored in memory 104 .
  • step S 12 to step S 32 are as described with reference to FIG. 5 .
  • FIG. 9 does not include step S 10 of FIG. 5 .
  • acceleration data is used to calculate the angle of the spin axis and thus no calibration of geomagnetic sensor 208 will not significantly affect the accuracy of the angle of the spin axis.
  • calibration of geomagnetic sensor 208 may be executed in the same manner as embodiment 1.
  • Analysis device 10 calculates the angle of the spin axis of ball 2 by applying the extended Kalman filter to the acceleration data in the analysis period detected by acceleration sensor 220 (step S 52 ). Specifically, analysis device 10 executes the following computation.
  • Analysis device 10 calculates the angle of the spin axis of ball 2 by solving the above-described non-linear state equation (8) and non-linear observation equation (9), with the input of the respective acceleration components in the x-axis, y-axis, and z-axis directions in the analysis period detected by high acceleration sensor 206 , the first-order differential value of each acceleration component, and the second-order differential value of each acceleration component.
  • the characters of x t and F(x t ) in formula (8) are expressed by the above-described formulae (20) and (21).
  • the characters of y t and H(x t ) in formula (9) are expressed by the following formulae (32) and (33).
  • A denotes a matrix showing the acceleration components (A x , A y , A z ) of the three axes at time t in the sensor coordinate system; ⁇ dot over (A) ⁇ denotes the first-order differential value of A; ⁇ denotes the second-order differential value of A; and 0
  • A denotes a matrix showing the acceleration components of the three axes at time t in the absolute coordinate system.
  • step S 30 by repeatedly calculating formulae (14) to (19) using x t and F(x t ) expressed by formulae (20) and (21) and using y t and H(x t ) expressed by formulae (32) and (33), the most probable estimated value of state value x t at time t can be calculated. That is, roll angle ⁇ a and pitch angle ⁇ a of the spin axis of ball 2 in the absolute coordinate system, and roll angle ⁇ s , pitch angle ⁇ s , and yaw angle of the spin axis of the ball in the sensor coordinate system are estimated.
  • analysis device 10 calculates angle ⁇ h of the spin axis of ball 2 relative to a horizontal plane (a plane orthogonal to the gravity direction) using the estimated roll angle ⁇ a and pitch angle ⁇ a . Specifically, analysis device 10 executes the computation using the above-described formulae (26) to (28). Also, analysis device 10 can calculate angle ⁇ h of the spin axis relative to the traveling direction, using the traveling direction of ball 2 calculated in step S 30 (i.e., the rotation matrix in each axis direction), and using rotation matrix 0 R a from the spin axis coordinate system to the absolute coordinate system shown in formula (26). In this case, analysis device 10 executes the computation using the above-described formulae (29) to (31).
  • Analysis device 10 displays, on display 110 , the angle of the spin axis of ball 2 (e.g. angles ⁇ h , ⁇ h ) calculated in step S 52 (step S 54 ), and ends the process.
  • the angle of the spin axis of ball 2 e.g. angles ⁇ h , ⁇ h ) calculated in step S 52 (step S 54 ), and ends the process.
  • FIG. 10 is a block diagram showing an example functional configuration of an analysis device 10 A according to embodiment 2.
  • analysis device 10 A includes a spin axis calculation unit 312 A, instead of spin axis calculation unit 312 in analysis device 10 in FIG. 8 .
  • the other functional configuration is the same as that of analysis device 10 , and thus the detailed explanation thereof is not repeated.
  • Spin axis calculation unit 312 A calculates (estimates) the angle of the spin axis of ball 2 relative to a predetermined direction using the extended Kalman filter, based on the attitude information calculated by attitude calculation unit 304 , the spin rate of ball 2 calculated by spin rate calculation unit 310 , the accelerations in the x-axis, y-axis, and z-axis directions (sensor coordinate system) in the analysis period detected by acceleration sensor 220 , the first-order differential value of the acceleration, and the second-order differential value of the acceleration.
  • spin axis calculation unit 312 A calculates angle ⁇ h of the spin axis of ball 2 relative to a horizontal plane and angle ⁇ h of the spin axis relative to the traveling direction, by applying the extended Kalman filter to a state equation where the angle of the spin axis of ball 2 (e.g. roll ⁇ a , pitch angle ⁇ a ) is a state value, and to an observation equation where the acceleration data and the first-order and second-order differential values of the acceleration data are observation values. More specifically, spin axis calculation unit 312 A calculates angle ⁇ h and angle ⁇ h by executing the computation using the above-described formulae (8), (9), (14) to (21), and (24) to (33).
  • the angle of the spin axis of ball 2 is calculated using acceleration data but without geomagnetic data. Accordingly, the angle of the spin axis of ball 2 can be calculated accurately even at a place vulnerable to magnetic field.
  • ball 2 is a baseball, by way of example but without limitation.
  • analysis system 1000 is applicable to a softball as well.
  • a computer may be used to provide a program to execute control as described above in the flowcharts.
  • a program may be provided as a program product by being stored in a non-transitory computer-readable storage medium, such as a flexible disk, a compact disk read only memory (CD-ROM), a ROM, a RAM, and a memory card for the computer.
  • the program may be provided by being stored in a storage medium built in a computer, such as a hard disk. Further, the program may be provided through download via a network.
  • the program may be the one that calls a necessary module among program modules provided as a part of an operating system (OS) of the computer at a predetermined timing and executes the process.
  • OS operating system
  • the program itself does not include the above-described module but cooperates with the OS to execute the process.
  • Such a program that does not include a module may also be included in a program according to the present embodiment.
  • a program according to the present embodiment may be provided by being incorporated in a part of another program.
  • the program itself does not include a module included in the other program but cooperates with the other program to execute the process.
  • Such a program incorporated in another program may also be included in a program according to the present embodiment.

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

An analysis device for analyzing a spin axis of a ball receives an input of acceleration data and geomagnetic data detected on a time-series basis by a sensor device built in the ball; calculates attitude information of the ball, based on the acceleration data and the geomagnetic data; calculates the spin rate of the ball released from a subject, based on the geomagnetic data; and calculates an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the attitude information, the spin rate, the geomagnetic data, and a first-order differential value and a second-order differential value of the geomagnetic data.

Description

    BACKGROUND OF THE INVENTION Field of the Invention
  • The present disclosure relates to a technique for analyzing the spin axis of a ball.
  • Description of the Background Art
  • In recent years, a method has been known by which to measure spin parameters of a thrown baseball, such as the movement locus, the spin rate, and the spin axis direction, by using information from a sensor built in the ball. For example, Japanese Patent Laying-Open No. 2018-134153 discloses a throw analysis system.
  • The throw analysis system according to Japanese Patent Laying-Open No. 2018-134153 includes a ball having a sensor unit and a transmitting unit that are built in the ball, and an analysis device to receive the detection value of the sensor unit transmitted from the transmitting unit and analyze the detection value. The sensor unit includes a substrate; and an acceleration sensor, a geomagnetic sensor, and a gyroscope sensor mounted on the substrate. The analysis device identifies and stores the initial direction of the substrate in the global coordinate system, calculates the successively changing direction of the substrate in the global coordinate system, calculates the successively changing acceleration of the ball in the global coordinate system, and calculates the movement locus of the ball in the global coordinate system.
  • Japanese Patent Laying-Open No. 2018-134153 discloses calculating the spin axis direction using a gyroscope sensor. However, since a gyroscope sensor is generally large in size, a gyroscope sensor that is small enough to be built in a ball can measure only a limited range. Accordingly, when a thrown ball rotates at a high speed, such as in baseball, the angle of the spin axis of the ball may not be calculated accurately with a gyroscope sensor due to saturation.
  • SUMMARY OF THE INVENTION
  • An object of the present disclosure in one aspect is to provide an analysis device and an analysis system that can calculate the angle of the spin axis of a ball more accurately.
  • According to an embodiment, an analysis device for analyzing a spin axis of a ball is provided. The analysis device includes: an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by a sensor device built in the ball; an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data; a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the attitude information, the spin rate, the geomagnetic data, and a first-order differential value and a second-order differential value of the geomagnetic data.
  • Preferably, the spin axis calculation unit is configured to calculate the angle of the spin axis of the ball in a predetermined period around a timing at which the ball was released.
  • Preferably, the spin axis calculation unit is configured to, based on the attitude information, the spin rate, the geomagnetic data, the first-order differential value, and the second-order differential value, calculate the angle of the spin axis of the ball by applying the predetermined filter to an observation equation where the geomagnetic data, the first-order differential value, and the second-order differential value are observation values.
  • Preferably, the analysis device further includes a direction calculation unit configured to calculate a traveling direction of the ball released from the subject, using the predetermined filter and based on the acceleration data. The predetermined direction is the traveling direction calculated by the direction calculation unit.
  • Preferably, the direction calculation unit is configured to calculate a rotation matrix that defines the traveling direction, by applying the predetermined filter to a state equation where the rotation matrix that defines the traveling direction is a state value, and to an observation equation where a maximum value of the acceleration data in a predetermined period is an observation value, the predetermined period being a period around a timing at which the ball was released.
  • Preferably, the sensor device includes a low acceleration sensor configured to detect a low acceleration, and a high acceleration sensor configured to detect a high acceleration. The acceleration data includes low acceleration data detected by the low acceleration sensor, and high acceleration data detected by the high acceleration sensor. The attitude calculation unit is configured to, when calculating initial attitude information of the ball, adopt the low acceleration data as the acceleration data.
  • Preferably, the predetermined filter is an extended Kalman filter.
  • According to another embodiment, an analysis device for analyzing a spin axis of a ball is provided. The analysis device includes: an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by a sensor device built in the ball; an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data; a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the attitude information, the spin rate, the acceleration data, and a first-order differential value and a second-order differential value of the acceleration data.
  • Preferably, the spin axis calculation unit is configured to, based on the attitude information, the spin rate, the acceleration data, the first-order differential value, and the second-order differential value, calculate the angle of the spin axis of the ball by applying the predetermined filter to an observation equation where the acceleration data, the first-order differential value, and the second-order differential value are observation values.
  • An analysis system according to still another embodiment includes: an analysis device for analyzing a spin axis of a ball; and a sensor device built in the ball. The analysis device includes: an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by the sensor device; an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data; a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the geomagnetic data, the attitude information, the spin rate, and a first-order differential value and a second-order differential value of the geomagnetic data.
  • The foregoing and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a view for explaining a general configuration of an analysis system according to embodiment 1.
  • FIG. 2A is a view for explaining a schematic configuration of a ball according to embodiment 1.
  • FIG. 2B is a view for explaining a schematic configuration of a ball according to embodiment 1.
  • FIG. 3 is a block diagram showing a hardware configuration of an analysis device according to embodiment 1.
  • FIG. 4 is a block diagram showing a hardware configuration of a sensor device according to embodiment 1.
  • FIG. 5 is a flowchart for explaining the operation of an analysis device according to embodiment 1.
  • FIG. 6 is a view for explaining a method for calculating the spin rate of a ball according to embodiment 1.
  • FIG. 7 shows example display of the angle of the spin axis of a ball according to embodiment 1.
  • FIG. 8 is a block diagram of an example functional configuration of an analysis device according to embodiment 1.
  • FIG. 9 is a flowchart for explaining the operation of an analysis device according to embodiment 2.
  • FIG. 10 is a block diagram showing an example functional configuration of an analysis device according to embodiment 2.
  • DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Embodiments of the present invention are described hereinafter with reference to the drawings. In the description hereinafter, identical parts are identically denoted.
  • They have the same names and functions. The detailed explanation of such parts is not repeated.
  • Embodiment 1 <General Configuration of System>
  • FIG. 1 is a view for explaining a general configuration of an analysis system 1000 according to embodiment 1. With reference to FIG. 1, analysis system 1000 is a system for analyzing the spin axis of a baseball thrown by a subject 5 (pitcher), and displaying the results of the analysis. Analysis system 1000 includes an analysis device 10, and a ball 2 including a built-in sensor device 20. In FIG. 1, three axes orthogonal to one another in the sensor coordinate system are represented by an x-axis, a y-axis, and a z-axis; and three axes orthogonal to one another in the absolute coordinate system are represented by an X-axis, a Y-axis, and a Z-axis.
  • Analysis device 10 is a smartphone. However, analysis device 10 may be implemented as any type of device. For example, analysis device 10 may be a laptop personal computer (PC), a tablet-type device, a desktop PC, or the like.
  • Analysis device 10 communicates with sensor device 20 by a wireless communication system. As the wireless communication system, Bluetooth (registered trademark) low energy (BLE) is adopted, for example. However, analysis device 10 may adopt other wireless communication systems, such as Bluetooth (registered trademark), wireless local area network (LAN), or the like.
  • FIG. 2A and FIG. 2B are views for explaining a schematic configuration of ball 2 according to embodiment 1. FIG. 2A shows an external appearance of ball 2. FIG. 2B shows a schematic configuration of the inside of ball 2.
  • With reference to FIG. 2A, the external appearance of ball 2 is equivalent to that of a typical regulation ball. Ball 2 has a leather outer skin with seams showing. With reference to FIG. 2B, ball 2 includes built-in sensor device 20 in its center for detecting the behavior of ball 2. Sensor device 20 is fixed with a polycarbonate capsule 62 and a silicone gel 64 and thus has a good shock resistance.
  • Referring back to FIG. 1, sensor device 20 detects accelerations and magnetic fields (magnetic flux densities) in the sensor coordinate system (local coordinate system). Specifically, sensor device 20 includes two acceleration sensors (a low acceleration sensor and a high acceleration sensor) and a geomagnetic sensor. The acceleration sensors detect acceleration data representing the accelerations in the directions of three axes (the x-axis, the y-axis, and the z-axis) orthogonal to one another.
  • The geomagnetic sensor detects geomagnetic data representing the magnetic fields (magnetic flux densities) in the directions of three axes orthogonal to one another. For example, a magneto-resistive (MR) element, a magneto-impedance (MI) element, a Hall element, or the like is used as the geomagnetic sensor.
  • <Hardware Configuration> (Analysis Device 10)
  • FIG. 3 is a block diagram showing a hardware configuration of analysis device 10 according to embodiment 1. With reference to FIG. 3, analysis device 10 includes a central processing unit (CPU) 102, a memory 104, a touch panel 106, a button 108, a display 110, a wireless communication unit 112, a communication antenna 113, a memory interface (I/F) 114, a speaker 116, a microphone 118, and a communication interface (I/F) 120, as main components. A storage medium 115 is an external storage medium.
  • CPU 102 controls the operation of each unit in analysis device 10 by reading a program stored in memory 104 and executing the program. Specifically, CPU 102 implements the later-described processes (steps) in analysis device 10 by executing the program.
  • Memory 104 is implemented as a random access memory (RAM), a read-only memory (ROM), a flash memory or the like. Memory 104 stores a program to be executed by CPU 102, data to be used by CPU 102, and the like.
  • Touch panel 106 is provided on display 110 which serves as a display unit. Touch panel 106 may be of any type, such as a resistive type and a capacitive type. Button 108 is arranged on the surface of analysis device 10. Button 108 receives user instructions and inputs the instructions to CPU 102.
  • Wireless communication unit 112 connects with a mobile communication network via communication antenna 113, and sends and receives a signal for wireless communication. Thus, analysis device 10 can communicate with a predetermined external device via a mobile communication network, such as long term evolution (LTE).
  • Memory interface (I/F) 114 reads data from external storage medium 115. CPU 102 reads data stored in external storage medium 115 via memory interface 114 and stores the data in memory 104. CPU 102 reads data from memory 104 and stores the data in external storage medium 115 via memory interface 114.
  • Examples of storage medium 115 include a medium having stored thereon a program in a nonvolatile manner, such as a compact disc (CD), a digital versatile disk (DVD), a Blu-ray (registered trademark) Disc (BD), a universal serial bus (USB) memory, a memory card, a flexible disk (FD), or a hard disk.
  • Speaker 116 outputs a voice based on instructions from CPU 102. Microphone 118 receives an utterance for analysis device 10.
  • Communication interface (I/F) 120 is a communication interface for exchanging data between, for example, analysis device 10 and sensor device 20. Communication interface (I/F) 120 is implemented as an adapter, a connector, or the like. The communication system may be wireless communication, such as BLE, wireless LAN, or the like.
  • (Sensor Device 20)
  • FIG. 4 is a block diagram showing a hardware configuration of sensor device 20 according to embodiment 1. With reference to FIG. 4, sensor device 20 includes a CPU 202 for executing various types of processes; a memory 204 for storing a program to be executed by CPU 202, data, and the like; an acceleration sensor 220; a geomagnetic sensor 208 to detect magnetic fields in the three axis directions orthogonal to one another; a communication interface (I/F) 210 for communicating with analysis device 10; and a storage battery 212 to supply power to the components of sensor device 20, as a main components.
  • Acceleration sensor 220 includes a low acceleration sensor 205 and a high acceleration sensor 206. Low acceleration sensor 205, which is an acceleration sensor for detecting a low acceleration range (e.g. less than 24 G), detects accelerations in the three axis directions orthogonal to one another. High acceleration sensor 206, which is an acceleration sensor for detecting a high acceleration range that is not detectable by the low acceleration sensor (e.g. 24 G or more), detects accelerations in the three axis directions orthogonal to one another. For the low acceleration range, the detection accuracy is higher with low acceleration sensor 205 than with high acceleration sensor 206, though still detectable by high acceleration sensor 206.
  • <Operation>
  • FIG. 5 is a flowchart for explaining the operation of analysis device 10 according to embodiment 1. The steps below are implemented typically by CPU 102 of analysis device 10 executing the program stored in memory 104.
  • Analysis device 10 is operated by, for example, a shop clerk. Analysis device 10 may be operated also by subject 5 him/herself. Here, analysis device 10 always acquires the acceleration data detected by each of low acceleration sensor 205 and high acceleration sensor 206, and the geomagnetic data detected by geomagnetic sensor 208.
  • With reference to FIG. 5, analysis device 10 executes calibration of geomagnetic sensor 208 (step S10). Specifically, subject 5 spins ball 2 (e.g. throws ball 2) in accordance with a clerk's instruction. Analysis device 10 successively plots the magnetic fields in the three axis directions detected by geomagnetic sensor 208. Analysis device 10 approximates the plotted data (e.g. 18-point data) by the equation of an ellipse and calculates the central point and the radius of the ellipse. Next, analysis device 10 calibrates the geomagnetic data so that the approximated ellipse will be a perfect circle around the origin. Thus, the offset error and the sensitivity error of the geomagnetic sensor are corrected. Analysis device 10 may use other known methods to perform calibration of geomagnetic sensor 208.
  • Analysis device 10 executes calibration of low acceleration sensor 205 and high acceleration sensor 206 (step S12). Specifically, subject 5 brings ball 2 into a stationary state (e.g. puts ball 2 on the ground) in accordance with a clerk's instruction. When ball 2 is in a stationary state, analysis device 10 acquires the acceleration data detected by each of low acceleration sensor 205 and high acceleration sensor 206.
  • Analysis device 10 calculates the average acceleration in a predetermined period of time (e.g. one second) for each of the accelerations in the three axis directions detected by low acceleration sensor 205. Analysis device 10 calculates a synthetic acceleration As by synthesizing average accelerations acx, acy, acz of the three axes, the x-axis, the y-axis, and the z-axis, using the following formula (1).

  • As=√{square root over (a cx 2 +a cy 2 +a cz 2)}  (1)
  • Analysis device 10 performs bias correction of low acceleration sensor 205 (i.e., performs calibration of low acceleration sensor 205) by subtracting a value obtained by dividing synthetic acceleration As by 1000 from the accelerations in the three axis directions detected by low acceleration sensor 205.
  • Calibration for high acceleration sensor 206 is performed in the same manner. Specifically, analysis device 10 calculates the average value in a predetermined period of time (e.g. one second) for each of the accelerations in the three axis directions detected by high acceleration sensor 206. Analysis device 10 then calculates the synthetic acceleration of the three axes using the above-described formula (1). Analysis device 10 performs offset correction of high acceleration sensor 206 (i.e., performs calibration of high acceleration sensor 206) by subtracting a value obtained by dividing the synthetic acceleration by 1000 from the accelerations in the three axis directions detected by high acceleration sensor 206.
  • When the calibration of low acceleration sensor 205 and high acceleration sensor 206 is completed, analysis device 10 gives notification that urges subject 5 to throw (step S14). For example, analysis device 10 may output a voice of “Throw the ball” or may display the words on display 110. Subject 5 throws ball 2 in accordance with the notification.
  • Analysis device 10 determines whether or not the acceleration data detected by low acceleration sensor 205 is less than threshold value J1 (step S16). Specifically, analysis device 10 determines, for the acceleration in each axis direction detected by low acceleration sensor 205, whether or not the acceleration in the axis direction is less than threshold value J1.
  • If the acceleration in the axis direction is less than threshold value J1 (YES in step S16), analysis device 10 adopts the acceleration in the axis direction detected by low acceleration sensor 205 as the acceleration to be used in the subsequent steps (step S18). If the acceleration in the axis direction is equal to or more than threshold value J1 (NO in step S16), analysis device 10 adopts the acceleration in the axis direction detected by high acceleration sensor 206 as the acceleration to be used in the subsequent steps (step S20).
  • The processes in steps S16 to S20 are described with a specific example. For example, suppose the accelerations in the x-axis direction and the y-axis direction detected by low acceleration sensor 205 are less than threshold value J1, and the acceleration in the z-axis direction is equal to or more than threshold value J1. In this case, analysis device 10 adopts the accelerations detected by low acceleration sensor 205, as the accelerations in the x-axis direction and the y-axis direction to be used in the processes after step S20; and adopts the acceleration detected by high acceleration sensor 206 as the acceleration in the z-axis direction. Thus, the acceleration detected by low acceleration sensor 205, which has a high detection accuracy for a low acceleration range, is used for the acceleration less than threshold value J1.
  • Next, analysis device 10 calculates the attitude of ball 2 of when ball 2 is in a stationary state (i.e., the initial attitude of ball 2) (step S22). Specifically, analysis device 10 calculates a roll angle φ that represents the spin angle around the x-axis and a pitch angle θ that represents the spin angle around the y-axis, based on the acceleration data detected by sensor device 20. Roll angle φ is expressed by the following formula (2) using average accelerations acy, acz of when ball 2 is in a stationary state.
  • ϕ = tan - 1 ( a cz a cy ) ( 2 )
  • Pitch angle θ is expressed by the following formula (3) using average accelerations acx, acy, acz of when ball 2 is in a stationary state.
  • θ = tan - 1 ( - a cy 2 + a cz 2 a cx ) ( 3 )
  • At this time, since ball 2 is in a stationary state, the acceleration data detected by low acceleration sensor 205 is used to calculate roll angle φ and pitch angle θ.
  • Analysis device 10 calculates a yaw angle Ψ that represents the spin angle around the z-axis, based on the geomagnetic data detected by sensor device 20 (geomagnetic sensor 208), roll angle φ calculated using formula (2), and pitch angle θ calculated using formula (3).
  • Specifically, analysis device 10 corrects a tilt error in the geomagnetic data of geomagnetic sensor 208 using a rotation matrix composed of roll angle φ and pitch angle θ. When the magnetic fields in the x-axis, y-axis, and z-axis directions after the correction are denoted by Mxi, Myi, Mzi, respectively, they are expressed by the following formula (4), using Mx, My, Mz that represent the magnetic fields before the correction in the x-axis, y-axis, and z-axis directions, respectively, and using the rotation matrix.
  • [ M xi M yi M zi ] = [ cos θ sin ϕ sin θ cos ϕ sin θ 0 cos ϕ - sin ϕ - sin θ sin ϕ cos θ cos ϕ cos θ ] [ M x M y M z ] ( 4 )
  • Using magnetic fields Mxi, Myi, Mzi with the tilt error being corrected, yaw angle Ψ is expressed by the following formula (5).
  • ψ = tan - 1 - M yi M xi ( 5 )
  • As described above, the information (i.e., roll angle φ, pitch angle θ, and yaw angle Ψ) representing the initial attitude of ball 2 in a stationary state is calculated.
  • Analysis device 10 calculates the rotation matrix from the sensor coordinate system to the absolute coordinate system using roll angle φ, pitch angle θ, and yaw angle Ψ (step S24). Specifically, analysis device 10 calculates rotation matrix 0Ri from the sensor coordinate system to the absolute coordinate system of when ball 2 is in a stationary state, using the following formula (6).
  • R i 0 = [ cos ψ - sin ψ 0 sin ψ cos ψ 0 0 0 1 ] · [ cos θ 0 sin θ 0 1 0 - sin θ 0 cos θ ] · [ 1 0 0 0 cos ϕ - sin ϕ 0 sin ϕ cos ϕ ] ( 6 )
  • Next, analysis device 10 detects the timing at which subject 5 released ball 2 (i.e., at which subject 5 released ball 2 from his/her hand) (step S26). Specifically, analysis device 10 calculates an inexact differential value D of the geomagnetic data using the following formula (7). The character of s denotes the Laplace operator, and the character of n denotes a differential coefficient. Inexact differential value D is calculated for each of the magnetic fields in the three axis directions.
  • D = s 1 + n s ( 7 )
  • Analysis device 10 detects, as the release timing, the point of time at which inexact differential value D becomes 0. For example, analysis device 10 detects, as the release timing, the point of time at which any one of three inexact differential values D corresponding to the respective magnetic fields in the three axis directions becomes 0.
  • Analysis device 10 may detect the release timing using the acceleration data. In this case, analysis device 10 detects, as the release timing, the point of time at which the differential value of the acceleration data detected by high acceleration sensor 206 becomes more than threshold value J2. For example, analysis device 10 detects, as the release timing, the point of time at which any one of the three differential values corresponding to the respective accelerations in the three axis directions becomes more than threshold value J2.
  • Next, analysis device 10 sets a target period (hereinafter also referred to as an “analysis period”) during which the spin axis of ball 2 is to be analyzed (step S28). Specifically, analysis device 10 sets a certain period around the timing at which ball 2 was released, as the analysis period to analyze the spin axis of ball 2. More specifically, analysis device 10 sets a specified period of time (e.g. 100 ms) before the release timing, as the analysis start timing (i.e., the point of time at which the analysis period starts); and sets a specified period of time (e.g. 60 ms) after the release timing, as the analysis end timing (i.e., the point of time at which the analysis period ends).
  • Analysis device 10 applies the extended Kalman filter to the acceleration data detected by high acceleration sensor 206 and estimates the traveling direction of ball 2 in the analysis period (step S30). Specifically, analysis device 10 executes the following computation.
  • Analysis device 10 calculates the rotation matrices around the x-axis, the y-axis, and the z-axis by solving the following formula (8) that expresses a non-linear state equation and the following formula (9) that expresses a non-linear observation equation, with the input of the maximum values of the accelerations in the x-axis, y-axis, and z-axis directions (sensor coordinate system) in the analysis period detected by high acceleration sensor 206.

  • x t+1 =F(x t)+w t  (8)

  • y t =H(x t)+v t  (9)
  • The character oft denotes a step as a discrete time. In formula (8), the characters of xt, F(xt), and wt respectively denote the state value at step t (time t), the linear model related to the time transition in the system, and the system noise. In formula (9), the characters of yt, H(xt), and vt respectively denote the observation value at time t, the observation model obtained by linearly mapping the state space into the observation space, and the observation noise. The characters of xt, F(xt), yt, and H(xt) in formula (8) are respectively expressed by formulae (10), (11), (12), and (13).
  • x t = [ X rot Y rot Z rot ] ( 10 ) F ( x t ) = [ X rot Y rot Z rot ] ( 11 ) y t = [ Ax ma x Ay ma x Az ma x ] ( 12 ) H ( x t ) = [ cos ( Z rot ) · cos ( Y rot ) · A t - sin ( Y rot ) · g ( - sin ( Z rot ) · cos ( X rot ) + cos ( Z rot ) · sin ( Y rot ) · sin ( X rot ) ) · A t + cos ( Y rot ) · sin ( X rot ) · g sin ( Z rot ) · cos ( X rot ) + cos ( Z rot ) · sin ( Y rot ) · sin ( X rot ) · A t + cos ( Y rot ) · cos ( X rot ) · g ] ( 13 )
  • In formulae (10) and (11), the characters of Xrot, Yrot, Zrot respectively denote the rotation matrices around the x-axis, the y-axis, and the z-axis. From formulae (8), (10), and (11), rotation matrices Xrot, Yrot, Zrot at step (t+1) are obtained by adding the system noise to rotation matrices Xrot, Yrot, Zrot at step t. The acceleration of ball 2 is maximum at around a release (i.e., the acceleration is maximum in the analysis period), and the direction defined by the rotation matrices of when the acceleration is maximum generally shows the traveling direction of ball 2. Therefore, the direction defined by rotation matrices Xrot, Yrot, Zrot, with the input of the maximum values of the accelerations in the respective axis directions, is determined as the traveling direction of ball 2.
  • In formula (12), the characters of Axmax, Aymax, Azmax respectively denote the maximum values of the accelerations in the x-axis, y-axis, and z-axis directions (sensor coordinate system). In formula (13), the character of At denotes the synthetic acceleration of accelerations Axt, Ayt, Azt in the x-axis, y-axis, and z-axis directions (sensor coordinate system) at time t in the analysis period detected by high acceleration sensor 206. Synthetic acceleration At is the square root of the sum of squares of the components of accelerations Axt, Ayt, Azt.
  • Here, f(xt) obtained by partially differentiating F(xt) with respect to xt is defined by formula (14), and h(xt) obtained by partially differentiating H(xt) with respect to xt is defined by formula (15).
  • f ( x t ) = F ( x t ) x t I ( 14 ) h ( x t ) = H ( x t ) x t ( 15 )
  • The character of I denotes a unit matrix. The extended Kalman filter algorithm using f(xt) and h(xt) defined as described above are given by the following formulae (16), (17), (18), and (19).

  • P t =f t−1 P t−1 f t−1T +Q t  (16)

  • K t =P t h t T(h t P t h t T +R t)−1  (17)

  • P t=(I−K t h t)P t   (18)

  • x t =x t +K t(y t −H t x t )  (19)
  • where Pt and Pt denote the error covariance matrix, Kt denotes the Kalman gain, Qt denotes the covariance matrix of the system noise, and Rt denotes the covariance matrix of the observation noise.
  • The above-described algorithm consists of two parts: a part to predict an estimated value in the next step, and a part to update the estimated value using an obtained observation value. Formula (16) falls under the former, and formulae (17) to (19) fall under the latter. By repeatedly calculating formulae (16) to (19), given as described above, using a value at a certain moment (here, the maximum value of the accelerations in each axis direction), state value xt converges on an optimal value. That is, by applying the extended Kalman filter to f(xt) expressed by formula (14) and h(xt) expressed by formula (15), the most probable estimated value of state value xt at time t (here, the traveling direction of ball 2 defined by the rotation matrix around each axis) can be calculated.
  • Next, analysis device 10 calculates the spin rate of ball 2 based on the geomagnetic data in the analysis period detected by geomagnetic sensor 208 (step S32).
  • FIG. 6 is a view for explaining a method for calculating the spin rate of ball 2 according to embodiment 1. With reference to FIG. 6, graph 602 shows the output value of the geomagnetic data. For example, the output value is the magnetic field in the x-axis direction. Graph 604 shows the difference value for the output value of the geomagnetic data. For example, the difference value is the value that represents the difference between the current output value and the last output value.
  • Analysis device 10 counts the points (zero cross points) at which the difference value crosses 0, and counts a predetermined number of counts (e.g. three counts) as one rotation. With reference to graph 604, the first, second, and third zero cross points are counted at times p1, p2, and p3, respectively. Analysis device 10 calculates the spin rate (rpm) of ball 2 from the number of zero cross points counted in a unit period (e.g. 0.5 seconds).
  • Referring back to FIG. 5, analysis device 10 calculates the angle of the spin axis of ball 2 by applying the extended Kalman filter to the geomagnetic data in the analysis period detected by geomagnetic sensor 208 (step S34). Specifically, analysis device 10 executes the following computation.
  • Analysis device 10 calculates the angle of the spin axis of ball 2 by solving the above-described non-linear state equation (8) and non-linear observation equation (9), with the input of the magnetic field component of each of the x-axis, y-axis, and z-axis directions (sensor coordinate system) in the analysis period detected by geomagnetic sensor 208; the first-order differential value of each magnetic field component; and the second-order differential value of each magnetic field component. The characters of xt and F(xt) in formula (8) are respectively expressed by the following formulae (20) and (21).
  • x t = [ ω ϕ a θ a ϕ s θ s ψ s ] ( 20 ) F ( x t ) = [ ω ϕ a θ a ϕ s θ s ψ s ] ( 21 )
  • The character of ω denotes the spin rate of ball 2 which corresponds to the spin rate calculated in step S32. The characters of φa and θa respectively denote the roll angle and the pitch angle at time t in the absolute coordinate system. The characters of φs, θs, and Ψs respectively denote the roll angle, the pitch angle, and the yaw angle at time t in the sensor coordinate system. The characters of yt and H(xt) in formula (9) are respectively expressed by formulae (22) and (23).
  • y t = [ m m . m ¨ ] ( 22 ) H ( x t ) = [ R s 0 0 m m × R a s ω m . × R a s ω ] ( 23 )
  • where m denotes the matrix representing the magnetic field components (mx, my, mz) in the three axes at time t in the sensor coordinate system; {dot over (m)} denotes the first-order differential value of m; {umlaut over (m)} denotes the second-order differential value of m; and 0m denotes the matrix representing the magnetic field components in the three axes at time t in the absolute coordinate system.
  • The character of 0Rs which denotes the rotation matrix from the sensor coordinate system to the absolute coordinate system is expressed by the following formula (24). The initial value of rotation matrix sRs corresponds to iRs which denotes the rotation matrix from the sensor coordinate system to the absolute coordinate system of when ball 2 is in a stationary state. That is, the initial values of roll angle φs, pitch angle θs, and yaw angle Ψs in the sensor coordinate system correspond to roll angle φ, pitch angle θ, and yaw angle Ψ of when ball 2 is in a stationary state.
  • 0 R s = [ cos ψ s - sin ψ s 0 sin ψ s cos ψ s 0 0 0 1 ] · [ cos θ s 0 sin θ s 0 1 0 - sin θ s 0 cos θ s ] · [ 1 0 0 0 cos ϕ s - sin ϕ s 0 sin ϕ s cos ϕ s ] ( 24 )
  • The character of SRa which denotes the rotation matrix from the spin axis coordinate system to the sensor coordinate system is expressed by the following formula (25).
  • R a s = [ cos θ a 0 sin θ a 0 1 0 - sin θ a 0 cos θ a ] · [ 1 0 0 0 cos ϕ a - sin ϕ a 0 sin ϕ a cos ϕ a ] ( 25 )
  • As in the calculation of the traveling direction in step S30, by repeatedly calculating formulae (14) to (19) using xt, F(xt), yt, H(xt) expressed by formulae (20) to (23), the most probable estimated value of state value xt at time tin the analysis period can be calculated. That is, roll angle φa and pitch angle θa of the spin axis of ball 2 in the absolute coordinate system; and roll angle φs, pitch angle θs, and yaw angle Ψs of the spin axis of the ball in the sensor coordinate system are estimated. Although the spin rate ω is included as the estimated value in formula (20), the spin rate calculated in step S32 may be used as the spin rate ω, as describe above. Thus, the spin rate ω may not be adopted as the estimated value.
  • Then, analysis device 10 calculates angle θh of the spin axis of ball 2 relative to a horizontal plane (i.e., a plane orthogonal to the gravity direction) using the estimated roll angle φa and pitch angle θa. Specifically, analysis device 10 calculates 0Ra which denotes the rotation matrix from the spin axis coordinate system to the absolute coordinate system, using the following formula (26).

  • 0 R a=0 R s×s R a  (26)
  • Next, when the vector representing the direction of the spin axis of ball 2 is defined as (px, py, pz), formula (27) is satisfied, where p denotes a constant, and 0Ra T is a transposed matrix of 0Ra.
  • [ p x p y p z ] = R a T 0 [ 0 0 p ] ( 27 )
  • Using vector (px, py, pz) obtained by formula (27), angle θh is expressed by formula (28).
  • θ h = tan - 1 ( p z p x 2 + p y 2 ) ( 28 )
  • Analysis device 10 displays, on display 110, angle θh of the spin axis of ball 2 calculated in step S36 (step S36).
  • FIG. 7 shows example display of the angle of the spin axis of ball 2 according to embodiment 1. With reference to FIG. 7, analysis device 10 displays, on display 110, a screen 502 showing the angle of the spin axis. For example, screen 502 shows that the angle of the spin axis of ball 2 is 23 degrees and that the spin rate of ball 2 is 1673.4 rpm. The angle of 23 degrees is the average value of θh calculated in the analysis period.
  • Analysis device 10 may calculate angle Ψh of the spin axis relative to the traveling direction using the traveling direction of ball 2 calculated in step S30 (i.e., the rotation matrix in each axis direction), and using rotation matrix 0Ra from the spin axis coordinate system to the absolute coordinate system shown in formula (26). First, using rotation matrices Xrot, Yrot, Zrot that define the traveling direction of ball 2, rotation matrix 0Rtr from the traveling direction coordinate system to the absolute coordinate system is expressed by the following formula (29).
  • R tr 0 = [ cos Z rot - sin Z rot 0 sin Z rot cos Z rot 0 0 0 1 ] · [ cos Y rot 0 sin Y rot 0 1 0 - sin Y rot 0 cos Y rot ] · [ 1 0 0 0 cos X rot - sin X rot 0 sin X rot cos X rot ] ( 29 )
  • Next, rotation matrix trRa from the spin axis coordinate system to the traveling direction coordinate system is expressed by the following formula (30), using transposed matrix 0Rtr T of rotation matrix 0Rtr and using rotation matrix 0Ra.
  • R a tr = R tr T 0 × R a 0 = [ R 11 R 12 R 13 R 21 R 22 R 23 R 31 R 32 R 33 ] ( 30 )
  • Using components of rotation matrix trRa obtained by formula (30), angle Ψh, which is the azimuth of the spin axis as seen from the traveling direction coordinate system, is expressed by formula (31).
  • ψ h = tan - 1 ( R 21 R 11 ) ( 31 )
  • Analysis device 10 may display angle trPh of the spin axis of ball 2 on display 110.
  • <Functional Configuration>
  • FIG. 8 is a block diagram of an example functional configuration of analysis device 10 according to embodiment 1. With reference to FIG. 8, analysis device 10 includes an information input unit 302, an attitude calculation unit 304, an analysis period setting unit 306, a direction calculation unit 308, a spin rate calculation unit 310, a spin axis calculation unit 312, and a display control unit 314. The functional configuration is implemented basically by CPU 102 of analysis device 10 executing a program stored in memory 104 and giving instructions to the components of analysis device 10.
  • Information input unit 302 receives an input of the acceleration data and the geomagnetic data detected on a time-series basis by sensor device 20. In the present embodiment, sensor device 20 is built in the center of ball 2. Accordingly, information input unit 302 receives an input of the acceleration data and the geomagnetic data of ball 2. Typically, information input unit 302 receives the acceleration data and the geomagnetic data transmitted from sensor device 20 via communication interface 120.
  • Attitude calculation unit 304 calculates the attitude information of ball 2 based on the acceleration data and the geomagnetic data. Typically, attitude calculation unit 304 calculates, as the initial attitude information of ball 2, rotation matrix 0Rs from the sensor coordinate system to the absolute coordinate system of when ball 2 is in a stationary state. In this case, when calculating the initial attitude information of ball 2, attitude calculation unit 304 adopts, as the acceleration data to be used for the process, the acceleration data detected by low acceleration sensor 205.
  • Specifically, attitude calculation unit 304 calculates roll angle φ and pitch angle θ in the sensor coordinate system, using the acceleration data of when ball 2 is in a stationary state. Attitude calculation unit 304 calculates yaw angle Ψ (sensor coordinate system), using the calculated roll angle φ and pitch angle θ, and using the geomagnetic data of when ball 2 is in a stationary state. Attitude calculation unit 304 calculates rotation matrix 0Rs from the sensor coordinate system to the absolute coordinate system, using the calculated roll angle φ, pitch angle θ, and yaw angle Ψ, and using formula (6).
  • Analysis period setting unit 306 sets, as the analysis period, a predetermined period around the timing at which the ball was released. Specifically, analysis period setting unit 306 detects the timing (release timing) at which ball 2 was released from subject 5, based on the amount of change in geomagnetic data or the amount of change in acceleration data. For example, analysis period setting unit 306 uses formula (7) to detect, as the release timing, the point of time at which inexact differential value D, indicating the amount of change in geomagnetic data, becomes 0. Alternatively, analysis period setting unit 306 detects, as the release timing, the point of time at which the differential value of the acceleration data detected by high acceleration sensor 206 becomes more than threshold value J2.
  • Then, analysis period setting unit 306 sets a specified period of time (e.g. 100 ms) before the release timing, as the analysis start timing (i.e., the point of time at which the analysis period starts); and sets a specified period of time (e.g. 60 ms) after the release timing, as the analysis end timing (i.e., the point of time at which the analysis period ends).
  • Direction calculation unit 308 calculates the traveling direction of ball 2 released from subject 5, using the extended Kalman filter and based on the acceleration data. Specifically, direction calculation unit 308 calculates the rotation matrix that defines the traveling direction of ball 2, by applying the extended Kalman filter to a state equation where the rotation matrix that defines the traveling direction of ball 2 is a state value, and to an observation equation where the maximum value of the acceleration data in the analysis period is an observation value. More specifically, direction calculation unit 308 calculates rotation matrices Xrot, Yrot, Zrot around the respective axes that define the traveling direction of ball 2 by executing the computation using the above-described formulae (8) to (19).
  • Spin rate calculation unit 310 calculates the spin rate of ball 2 based on the geomagnetic data in the analysis period. Specifically, spin rate calculation unit 310 counts the number of times at which the difference value of the output value of the geomagnetic data becomes zero (the number of zero cross points) as described with reference to FIG. 6, and calculates the spin rate of ball 2 based on the number of counts of the zero cross points in a unit period.
  • Spin axis calculation unit 312 calculates (estimates) the angle of the spin axis of ball 2 relative to a predetermined direction using the extended Kalman filter, based on the attitude information calculated by attitude calculation unit 304, the spin rate of ball 2 calculated by spin rate calculation unit 310, the geomagnetic data (i.e., the magnetic fields in the x-axis, y-axis, and z-axis directions) in the analysis period detected by geomagnetic sensor 208, the first-order differential value of the geomagnetic data, and the second-order differential value of the geomagnetic data.
  • Specifically, based on the attitude information, the spin rate, the geomagnetic data, and the first-order and second-order differential values of the geomagnetic data, spin axis calculation unit 312 calculates angle θh of the spin axis of ball 2 relative to a horizontal plane, by applying the extended Kalman filter to a state equation where the angle of the spin axis of ball 2 (e.g. roll φa, pitch angle θa) is a state value, and to an observation equation where the geomagnetic data and the first-order and second-order differential values of the geomagnetic data are observation values. More specifically, spin axis calculation unit 312 calculates angle θh by executing the computation using the above-described formulae (8), (9), and (14) to (28).
  • In another aspect, spin axis calculation unit 312 calculates angle Ψh of the spin axis of ball 2 relative to the traveling direction, based on rotation matrices Xrot, Yrot, Zrot around the respective axes and based on rotation matrix 0Ra from the spin axis coordinate system to the absolute coordinate system. More specifically, spin axis calculation unit 312 calculates angle Ψh representing the azimuth of the spin axis of ball 2 relative to the traveling direction, by executing the computation using the above-described formulae (8), (9), (14) to (26), and (29) to (31).
  • Display control unit 314 displays, on display 110, the angle of the spin axis of ball 2 (e.g. angles θh, Ψh) calculated by spin axis calculation unit 312. Display control unit 314 may display, on display 110, the spin rate of ball 2 calculated by spin rate calculation unit 310. For example, display control unit 314 displays screen 502 as shown in FIG. 7.
  • <Advantages>
  • According to embodiment 1, the acceleration data and the geomagnetic data can be used to calculate the angle of the spin axis of the ball. Therefore, the angle of the spin axis of the ball can be calculated more accurately with no saturation that would occur in a gyroscope sensor.
  • Measurement with a sensor device and a terminal device (e.g. a smartphone) each having a built-in geomagnetic sensor is also known. Generally, geomagnetic sensors have individual differences in performance and thus require, for example, calibration. If a terminal device and a ball each have a built-in geomagnetic sensor, the geomagnetic sensors have different sensitivities, leading to decrease in performance. For example, if a geomagnetic sensor having a low sensitivity and a geomagnetic sensor having a high sensitivity are combined, the performance depends on the lower one. If they are used at different places (e.g. places close to each other but not the same), they have different error factors in detection (e.g. magnetic fields in the absolute coordinate system, such as magnetic dip and sensitivity), leading to reduction in accuracy.
  • Therefore, in order to maximize the performance of the geomagnetic sensor built in a ball, it is preferable that calibration be preformed and then the magnetic field information in the absolute coordinate system be calculated using only the geomagnetic sensor built in the ball for calculation of the spin axis, as in the present embodiment.
  • Embodiment 2
  • Embodiment 1 describes a configuration in which the angle of the spin axis is calculated using geomagnetic data. Embodiment 2 describes a configuration in which the angle of the spin axis is calculated using acceleration data. The <General Configuration> and <Hardware Configuration> of embodiment 2 are the same as those of embodiment 1, and thus the detailed explanation thereof is not repeated.
  • <Operation>
  • FIG. 9 is a flowchart for explaining the operation of analysis device 10 according to embodiment 2. The steps below are implemented typically by CPU 102 of analysis device 10 according to embodiment 2 executing a program stored in memory 104.
  • With reference to FIG. 9, the processes in step S12 to step S32 are as described with reference to FIG. 5. However, FIG. 9 does not include step S10 of FIG. 5. This is because, in embodiment 2, acceleration data is used to calculate the angle of the spin axis and thus no calibration of geomagnetic sensor 208 will not significantly affect the accuracy of the angle of the spin axis. However, in embodiment 2, calibration of geomagnetic sensor 208 may be executed in the same manner as embodiment 1.
  • Analysis device 10 according to embodiment 2 calculates the angle of the spin axis of ball 2 by applying the extended Kalman filter to the acceleration data in the analysis period detected by acceleration sensor 220 (step S52). Specifically, analysis device 10 executes the following computation.
  • Analysis device 10 calculates the angle of the spin axis of ball 2 by solving the above-described non-linear state equation (8) and non-linear observation equation (9), with the input of the respective acceleration components in the x-axis, y-axis, and z-axis directions in the analysis period detected by high acceleration sensor 206, the first-order differential value of each acceleration component, and the second-order differential value of each acceleration component. Here, the characters of xt and F(xt) in formula (8) are expressed by the above-described formulae (20) and (21). The characters of yt and H(xt) in formula (9) are expressed by the following formulae (32) and (33).
  • y t = [ A A . A ¨ ] ( 32 ) H ( x t ) = [ R s 0 0 A A × R a s ω A . × R a s ω ] ( 33 )
  • where A denotes a matrix showing the acceleration components (Ax, Ay, Az) of the three axes at time t in the sensor coordinate system; {dot over (A)} denotes the first-order differential value of A; Ä denotes the second-order differential value of A; and 0A denotes a matrix showing the acceleration components of the three axes at time t in the absolute coordinate system.
  • The character of sRs which denotes a rotation matrix from the sensor coordinate system to the absolute coordinate system is expressed by the above-described formula (24), and the character of SRa which denotes a rotation matrix from the spin axis coordinate system to the sensor coordinate system is expressed by the above-described formula (25).
  • As in the calculation of the traveling direction in step S30, by repeatedly calculating formulae (14) to (19) using xt and F(xt) expressed by formulae (20) and (21) and using yt and H(xt) expressed by formulae (32) and (33), the most probable estimated value of state value xt at time t can be calculated. That is, roll angle φa and pitch angle θa of the spin axis of ball 2 in the absolute coordinate system, and roll angle φs, pitch angle θs, and yaw angle of the spin axis of the ball in the sensor coordinate system are estimated.
  • Then, analysis device 10 calculates angle θh of the spin axis of ball 2 relative to a horizontal plane (a plane orthogonal to the gravity direction) using the estimated roll angle φa and pitch angle θa. Specifically, analysis device 10 executes the computation using the above-described formulae (26) to (28). Also, analysis device 10 can calculate angle Ψh of the spin axis relative to the traveling direction, using the traveling direction of ball 2 calculated in step S30 (i.e., the rotation matrix in each axis direction), and using rotation matrix 0Ra from the spin axis coordinate system to the absolute coordinate system shown in formula (26). In this case, analysis device 10 executes the computation using the above-described formulae (29) to (31).
  • Analysis device 10 displays, on display 110, the angle of the spin axis of ball 2 (e.g. angles θh, Ψh) calculated in step S52 (step S54), and ends the process.
  • <Functional Configuration>
  • FIG. 10 is a block diagram showing an example functional configuration of an analysis device 10A according to embodiment 2. With reference to FIG. 10, analysis device 10A includes a spin axis calculation unit 312A, instead of spin axis calculation unit 312 in analysis device 10 in FIG. 8. The other functional configuration is the same as that of analysis device 10, and thus the detailed explanation thereof is not repeated.
  • Spin axis calculation unit 312A calculates (estimates) the angle of the spin axis of ball 2 relative to a predetermined direction using the extended Kalman filter, based on the attitude information calculated by attitude calculation unit 304, the spin rate of ball 2 calculated by spin rate calculation unit 310, the accelerations in the x-axis, y-axis, and z-axis directions (sensor coordinate system) in the analysis period detected by acceleration sensor 220, the first-order differential value of the acceleration, and the second-order differential value of the acceleration.
  • Specifically, based on the attitude information, the spin rate, the acceleration data, and the first-order and second-order differential values of the acceleration data, spin axis calculation unit 312A calculates angle θh of the spin axis of ball 2 relative to a horizontal plane and angle Ψh of the spin axis relative to the traveling direction, by applying the extended Kalman filter to a state equation where the angle of the spin axis of ball 2 (e.g. roll φa, pitch angle θa) is a state value, and to an observation equation where the acceleration data and the first-order and second-order differential values of the acceleration data are observation values. More specifically, spin axis calculation unit 312A calculates angle θh and angle Ψh by executing the computation using the above-described formulae (8), (9), (14) to (21), and (24) to (33).
  • <Advantages>
  • According to embodiment 2, the angle of the spin axis of ball 2 is calculated using acceleration data but without geomagnetic data. Accordingly, the angle of the spin axis of ball 2 can be calculated accurately even at a place vulnerable to magnetic field.
  • OTHER EMBODIMENTS
  • (1) In analysis system 1000 in the above-described embodiments, ball 2 is a baseball, by way of example but without limitation. For example, analysis system 1000 is applicable to a softball as well.
  • (2) In the above-described embodiment, a computer may be used to provide a program to execute control as described above in the flowcharts. Such a program may be provided as a program product by being stored in a non-transitory computer-readable storage medium, such as a flexible disk, a compact disk read only memory (CD-ROM), a ROM, a RAM, and a memory card for the computer. Alternatively, the program may be provided by being stored in a storage medium built in a computer, such as a hard disk. Further, the program may be provided through download via a network.
  • The program may be the one that calls a necessary module among program modules provided as a part of an operating system (OS) of the computer at a predetermined timing and executes the process. In this case, the program itself does not include the above-described module but cooperates with the OS to execute the process. Such a program that does not include a module may also be included in a program according to the present embodiment.
  • A program according to the present embodiment may be provided by being incorporated in a part of another program. In such a case, the program itself does not include a module included in the other program but cooperates with the other program to execute the process. Such a program incorporated in another program may also be included in a program according to the present embodiment.
  • (3) The configurations shown above in the embodiments are examples of the present invention. They may be combined with other known techniques or may be modified by, for example, skipping a part thereof, within the scope not departing from the gist of the present invention.
  • Although the present invention has been described and illustrated in detail, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, the scope of the present invention being interpreted by the terms of the appended claims.

Claims (10)

What is claimed is:
1. An analysis device for analyzing a spin axis of a ball, the analysis device comprising:
an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by a sensor device built in the ball;
an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data;
a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and
a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the attitude information, the spin rate, the geomagnetic data, and a first-order differential value and a second-order differential value of the geomagnetic data.
2. The analysis device according to claim 1, wherein the spin axis calculation unit is configured to calculate the angle of the spin axis of the ball in a predetermined period around a timing at which the ball was released.
3. The analysis device according to claim 1, wherein the spin axis calculation unit is configured to, based on the attitude information, the spin rate, the geomagnetic data, the first-order differential value, and the second-order differential value, calculate the angle of the spin axis of the ball by applying the predetermined filter to an observation equation where the geomagnetic data, the first-order differential value, and the second-order differential value are observation values.
4. The analysis device according to claim 1, further comprising a direction calculation unit configured to calculate a traveling direction of the ball released from the subject, using the predetermined filter and based on the acceleration data, wherein
the predetermined direction is the traveling direction calculated by the direction calculation unit.
5. The analysis device according to claim 4, wherein the direction calculation unit is configured to calculate a rotation matrix that defines the traveling direction, by applying the predetermined filter to
a state equation where the rotation matrix that defines the traveling direction is a state value, and
an observation equation where a maximum value of the acceleration data in a predetermined period is an observation value, the predetermined period being a period around a timing at which the ball was released.
6. The analysis device according to claim 1, wherein
the sensor device includes a low acceleration sensor configured to detect a low acceleration, and a high acceleration sensor configured to detect a high acceleration,
the acceleration data includes low acceleration data detected by the low acceleration sensor, and high acceleration data detected by the high acceleration sensor, and
the attitude calculation unit is configured to, when calculating initial attitude information of the ball, adopt the low acceleration data as the acceleration data.
7. The analysis device according to claim 1, wherein the predetermined filter is an extended Kalman filter.
8. An analysis device for analyzing a spin axis of a ball, the analysis device comprising:
an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by a sensor device built in the ball;
an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data;
a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and
a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the attitude information, the spin rate, the acceleration data, and a first-order differential value and a second-order differential value of the acceleration data.
9. The analysis device according to claim 8, wherein the spin axis calculation unit is configured to, based on the attitude information, the spin rate, the acceleration data, the first-order differential value, and the second-order differential value, calculate the angle of the spin axis of the ball by applying the predetermined filter to an observation equation where the acceleration data, the first-order differential value, and the second-order differential value are observation values.
10. An analysis system comprising:
an analysis device for analyzing a spin axis of a ball; and
a sensor device built in the ball,
the analysis device including:
an information input unit configured to receive an input of acceleration data and geomagnetic data detected on a time-series basis by the sensor device;
an attitude calculation unit configured to calculate attitude information of the ball, based on the acceleration data and the geomagnetic data;
a spin rate calculation unit configured to calculate the spin rate of the ball released from a subject, based on the geomagnetic data; and
a spin axis calculation unit configured to calculate an angle of the spin axis of the ball relative to a predetermined direction, using a predetermined filter and based on the attitude information, the spin rate, the geomagnetic data, and a first-order differential value and a second-order differential value of the geomagnetic data.
US16/184,302 2018-05-07 2018-11-08 Analysis Device and Analysis System Abandoned US20190336826A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2018089050 2018-05-07
JP2018-089050 2018-05-07
JP2018204326A JP7123750B2 (en) 2018-05-07 2018-10-30 Analysis device and analysis system
JP2018-204326 2018-10-30

Publications (1)

Publication Number Publication Date
US20190336826A1 true US20190336826A1 (en) 2019-11-07

Family

ID=68384539

Family Applications (1)

Application Number Title Priority Date Filing Date
US16/184,302 Abandoned US20190336826A1 (en) 2018-05-07 2018-11-08 Analysis Device and Analysis System

Country Status (1)

Country Link
US (1) US20190336826A1 (en)

Similar Documents

Publication Publication Date Title
US9599634B2 (en) System and method for calibrating inertial measurement units
US9448250B2 (en) Detecting mount angle of mobile device in vehicle using motion sensors
Zhou et al. Use it free: Instantly knowing your phone attitude
US8437970B2 (en) Restoring and storing magnetometer calibration data
US9164600B2 (en) Mobile device
US8913134B2 (en) Initializing an inertial sensor using soft constraints and penalty functions
US20130046505A1 (en) Methods and apparatuses for use in classifying a motion state of a mobile device
EP2836791B1 (en) Information determination in a portable electronic device carried by a user
US20150354967A1 (en) Inertial device, method, and program
US20150285835A1 (en) Systems and methods for sensor calibration
US10788324B2 (en) Method and apparatus for calculation of angular velocity using acceleration sensor and geomagnetic sensor
US20140122015A1 (en) Attitude estimation method and apparatus
JP5017539B1 (en) Applied equipment for measuring and using geomagnetism
US20120116716A1 (en) Device and method of gyro sensor calibration
US20130073253A1 (en) State estimation apparatus and offset update method
US20150018099A1 (en) Dynamic magnetometer calibration
CN107580268B (en) A kind of head pose detection method, device and earphone
US20160223335A1 (en) Information processing device, information processing method, and computer-readable non-transitory storage medium storing information processing program
US20180267074A1 (en) Systems and methods for motion detection
US20140051517A1 (en) Dynamic magnetometer calibration
US10042057B2 (en) Information processing device, traveling direction estimation method and storage medium
KR20150129285A (en) Information determination in a portable electronic device carried by a user
KR101609813B1 (en) Apparatus and method for counting step in smartphone
KR101472960B1 (en) Apparatus and method for esimating orientation using pattern recogniion
JP7123750B2 (en) Analysis device and analysis system

Legal Events

Date Code Title Description
AS Assignment

Owner name: MIZUNO CORPORATION, JAPAN

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SHIBATA, SHOHEI;NARUO, TAKESHI;KASE, YUTO;AND OTHERS;SIGNING DATES FROM 20181102 TO 20181106;REEL/FRAME:047453/0708

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION