WO2018084295A1 - スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム - Google Patents

スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム Download PDF

Info

Publication number
WO2018084295A1
WO2018084295A1 PCT/JP2017/039990 JP2017039990W WO2018084295A1 WO 2018084295 A1 WO2018084295 A1 WO 2018084295A1 JP 2017039990 W JP2017039990 W JP 2017039990W WO 2018084295 A1 WO2018084295 A1 WO 2018084295A1
Authority
WO
WIPO (PCT)
Prior art keywords
swing
speed
information
time
period
Prior art date
Application number
PCT/JP2017/039990
Other languages
English (en)
French (fr)
Inventor
鳴尾 丈司
清水 雄一
翔平 柴田
圭 廣瀬
Original Assignee
美津濃株式会社
国立大学法人秋田大学
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美津濃株式会社, 国立大学法人秋田大学 filed Critical 美津濃株式会社
Publication of WO2018084295A1 publication Critical patent/WO2018084295A1/ja

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

Definitions

  • This disclosure relates to a technique for analyzing a swing.
  • the ability of the player to swing the ball hitting tool is an important index for advantageous progress of the game. Therefore, it is expected that the analysis of the player's swing will contribute to the improvement of the player's skill and the research and development of the hitting tool.
  • Patent Document 1 discloses a bat selection system having a sensor bat and a data analysis device.
  • the data analyzer inputs the type that the batter aims, receives data transmitted from the sensor bat, and calculates kinematic information of the bat swing from the received data.
  • the data analysis device selects the optimum bat for the batter based on the input type of the batter desired and the batter's swing evaluation parameter calculated by analyzing the kinematic information. Display related information.
  • Patent Document 1 describes a configuration for calculating a bat locus using data from a gyro sensor and an acceleration sensor.
  • the technique of Patent Document 1 when the sensor data is continuously measured for a long time, the measurement error increases due to accumulation of drift error and integration error, so that the locus of the bat cannot be calculated accurately. There's a problem. For this reason, according to the technique of Patent Document 1, when the subject performs a plurality of swing motions continuously, the accuracy of the bat trajectory may gradually deteriorate.
  • the present disclosure has been made to solve the above-described problems, and an object in one aspect is to analyze each swing more accurately even when the subject swings a plurality of times continuously. It is to provide a swing analysis device that can perform the above.
  • An object in another aspect is to provide a program for causing a computer to analyze a swing, which can analyze each swing more accurately even when the subject swings continuously several times. .
  • Still another object of the present invention is to provide a swing analysis system that can analyze each swing more accurately even when the subject swings continuously a plurality of times.
  • a swing analysis device applies an information input unit that receives input of acceleration information and angular velocity information detected by a sensor attached to a detection target, and applies a first filter to the acceleration information and angular velocity information.
  • a posture calculating unit that calculates posture information of the detection target during the swing period, and a correction unit that corrects the posture information of the detection target during the swing period based on the posture information of the detection target at the first time during the swing period.
  • a coordinate conversion unit that converts the acceleration information detected by the sensor from the sensor coordinate system to the absolute coordinate system based on the posture information of the detection target corrected by the correction unit, and in the swing period, as time passes
  • a first speed calculation unit for calculating a first speed by time-integrating acceleration information coordinate-converted into an absolute coordinate system
  • a second speed calculator for calculating a second speed by time integrating the acceleration information coordinated to the absolute coordinate system by going back in time, and a second filter for the first speed and the second speed.
  • a swing information calculation unit that calculates the swing speed of the detection target.
  • the second speed calculation unit is acceleration information that is coordinate-converted into an absolute coordinate system retroactively from a time when the speed of the detection target calculated based on the angular speed information reaches zero or near zero. Is integrated over time to calculate a second speed.
  • the swing period is divided into a plurality of periods.
  • the swing information calculation unit applies the second filter so as to make the second speed weight smaller than the first speed weight in the first period including the start time of the swing period among the plurality of periods.
  • the swing information calculation unit applies the second filter so that the weight of the second speed is larger than the weight of the first speed in the second period including the end time of the swing period among the plurality of periods. To calculate the swing speed.
  • the swing information calculation unit applies the second filter so as to reduce the weight of the first speed and increase the weight of the second speed in a later period of the plurality of periods.
  • the swing speed in each period is calculated.
  • the first time is a time at which the velocity of the detection target calculated based on the angular velocity information is maximized during the swing period.
  • the swing period is a fixed period before and after the second time when the speed of the detection target calculated based on the angular velocity information exceeds the first reference threshold.
  • it further includes a number calculation unit for calculating the number of swings of the detection target based on the number of times that the speed of the detection target calculated based on the angular velocity information has reached a predetermined speed.
  • the first filter is an extended Kalman filter and the second filter is an adaptive Kalman filter.
  • a program for causing a computer to analyze a swing of a detection target accepts input of acceleration information and angular velocity information detected by a sensor attached to the detection target to the computer, and applies a first filter to the acceleration information and angular velocity information to detect the swing period.
  • the step of converting the acceleration information detected by the sensor from the sensor coordinate system to the absolute coordinate system and the time-integration of the acceleration information coordinate-converted to the absolute coordinate system over time during the swing period In the step of calculating the first speed and the swing period, the coordinate is changed to the absolute coordinate system by going back in time. Time-integrating the obtained acceleration information to calculate a second speed, and applying a second filter to the first speed and the second speed to calculate a swing speed of the detection target. Let it run.
  • a swing analysis system includes a sensor attached to the detection target and a swing analysis device for analyzing the swing of the detection target.
  • the swing analysis device includes an information input unit that receives input of acceleration information and angular velocity information detected by a sensor attached to the detection target, and a first filter applied to the acceleration information and angular velocity information, so
  • a posture calculation unit that calculates posture information of the detection target, a correction unit that corrects posture information of the detection target in the swing period based on the posture information of the detection target at the first time of the swing period, and a correction unit Based on the corrected posture information of the detection target, a coordinate conversion unit that converts the acceleration information detected by the sensor from the sensor coordinate system to the absolute coordinate system, and coordinates in the absolute coordinate system over time during the swing period
  • a first speed calculator that calculates the first speed by time-integrating the converted acceleration information, and in the swing period
  • a second speed calculating unit that calculates a second speed by time-integrating acceleration information coordinate-converted into a target system, and a second filter is
  • FIG. 1 is a diagram for illustrating the overall configuration of a swing analysis system according to the present embodiment.
  • a swing analysis system 1000 is a system for analyzing a swing of a hitting tool by a subject.
  • the swing analysis system 1000 includes a swing analysis device 10 and a sensor device 20.
  • bat 80 used in baseball, softball or the like is used as the “ball hitting tool”, and the subject is a right-handed batter.
  • the subject (batter) swings the hitting tool (bat 80) one or more times.
  • the bat 80 may be any bat such as one prepared by the batter itself or one prepared by another person. Also, the batter may be either swinging, swinging with respect to the ball placed on the tee, or swinging with respect to the thrown ball.
  • the swing analysis device 10 is configured with a smartphone.
  • the swing analysis device 10 can be realized as an arbitrary device regardless of the type.
  • the swing analysis device 10 may be a device such as a notebook PC (personal computer), a tablet terminal, a PDA (personal digital assistance), or a desktop PC.
  • the swing analysis device 10 communicates with the sensor device 20 using wireless communication such as Bluetooth (registered trademark), wireless LAN (Local Area Network), or infrared communication.
  • the swing analysis device 10 may be configured to be able to communicate with the sensor device 20 using wired communication such as USB (Universal Serial Bus).
  • the sensor device 20 includes an angular velocity sensor that can detect angular velocities (hereinafter also referred to as “angular velocity information”) around three axes (X axis, Y axis, and Z axis) orthogonal to each other, and three axes (X axis, And an acceleration sensor capable of detecting acceleration in the Y-axis and Z-axis directions (hereinafter also referred to as “acceleration information”).
  • the sensor device 20 is attached to the grip end portion of the bat 80 so that the acceleration sensor and the angular velocity sensor of the own device are not easily affected by the bat vibration.
  • the sensor device 20 is firmly fixed to the grip end portion so as not to move during the swing of the bat 80.
  • the acceleration sensor included in the sensor device 20 is disposed on the long axis of the bat 80 in order to eliminate the influence of centrifugal acceleration caused by rotation around the long axis of the bat 80.
  • the Z axis in the sensor coordinate system is the bat long axis, and the X axis and the Y axis can be set arbitrarily.
  • the Z axis in the absolute coordinate system is set to the vertical direction, and the X axis and the Y axis can be set arbitrarily.
  • FIG. 2 is a flowchart for illustrating an operation outline of swing analysis system 1000 according to the present embodiment.
  • sensor device 20 attached to the grip end portion of bat 80 detects acceleration information and angular velocity information in time series (step S100). Specifically, the sensor device 20 detects angular velocity information and acceleration information in the sensor coordinate system (that is, the local coordinate system) every sampling period (for example, 1 ms). The sensor device 20 transmits angular velocity information and acceleration information detected for each sampling period to the swing analysis device 10 (step S110).
  • the swing analysis device 10 applies the extended Kalman filter to the angular velocity information and the acceleration information acquired from the sensor device 20, and calculates the posture information of the sensor device 20 (specifically, the grip end portion of the bat 80) (Ste S120).
  • the swing analysis device 10 corrects the posture information by a method described later (step S130).
  • the process of step S130 is a process of correcting the azimuth error of the sensor device 20 in order to accurately estimate the head speed.
  • the swing analysis device 10 uses the corrected posture information to coordinate-convert acceleration information (sensor coordinate system) received from the sensor device 20 into acceleration information in the absolute coordinate system (step S140).
  • information on the sensor coordinate system is also referred to as “information (sensor coordinate system)”
  • information on the absolute coordinate system is also referred to as “information (absolute coordinate system)”.
  • the swing analysis apparatus 10 calculates the head speed by forward integration that time-integrates the acceleration information (absolute coordinate system) subjected to coordinate conversion as time elapses during the swing period (step S150). In the swing period, the swing analysis device 10 determines the head speed by reverse integration that time-integrates acceleration information (absolute coordinate system) retroactively from the feature point of the motion where the speed of the detection target is zero or near zero. Calculate (step S160).
  • the swing analysis apparatus 10 includes a head speed calculated by forward integration (hereinafter also referred to as “head speed (forward direction)”) and a head speed calculated by reverse integration (hereinafter “head speed (reverse direction)”. ) ”) Is applied to calculate the final head speed (hereinafter,” final head speed ”) (step S170).
  • step S170 is a process for accurately estimating the head speed by reducing the influence of the integration error by combining the head speed (forward direction) and the head speed (reverse direction).
  • the head speed (forward direction) accurately reflects the actual speed (hereinafter also referred to as “actual speed”) because the influence of the integration error is small at the beginning of the swing period. Since the influence of integration error is large at the end, the actual speed may not be accurately reflected.
  • the head speed (reverse direction) accurately reflects the actual speed because the influence of the integration error is small at the end of the swing period, but the actual speed is accurately reflected because the influence of the integration error is large at the beginning of the swing period. It may not be reflected.
  • the swing analysis apparatus 10 calculates the final head speed so that the result of the head speed (reverse direction) is reflected more greatly than the result of the head speed (forward direction) at the end of the swing period.
  • the swing analysis apparatus 10 notifies the batter of the calculation result (step S180). Specifically, the swing analysis apparatus 10 displays an image indicating a final head speed and a swing trajectory calculated by time-integrating the final head speed on the display. Thereby, the batter can check his / her head speed and swing trajectory.
  • posture information of sensor device 20 (grip end portion of bat 80) is corrected for each swing of the subject.
  • the final head speed is calculated by applying an adaptive Kalman filter to the head speed calculated by forward integration and the head speed calculated by reverse integration. Therefore, even when the subject swings a plurality of times in succession, it is possible to eliminate the influence due to the accumulation of azimuth errors, and an appropriate swing trajectory can be calculated for each swing.
  • FIG. 3 is a block diagram showing a hardware configuration of swing analysis apparatus 10 according to the present embodiment.
  • swing analysis device 10 includes, as main components, CPU (Central Processing Unit) 102, memory 104, touch panel 106, button 108, display 110, wireless communication unit 112, and communication.
  • An antenna 113, a memory interface (I / F) 114, a speaker 116, a microphone 118, and a communication interface (I / F) 120 are included.
  • the recording medium 115 is an external storage medium.
  • CPU102 controls the operation
  • the memory 104 is realized by a RAM (Random Access Memory), a ROM (Read-Only Memory), a flash memory, or the like.
  • the memory 104 stores a program executed by the CPU 102 or data used by the CPU 102.
  • the touch panel 106 is provided on the display 110 having a function as a display unit, and may be any type such as a resistance film method and a capacitance method.
  • the button 108 is disposed on the surface of the swing analysis apparatus 10, receives an instruction from the user, and inputs the instruction to the CPU 102.
  • the wireless communication unit 112 connects to the mobile communication network via the communication antenna 113 and transmits and receives signals for wireless communication. Thereby, the swing analysis apparatus 10 can communicate with a predetermined external apparatus via a mobile communication network such as a third generation mobile communication system (3G) or LTE (Long Term Evolution).
  • a mobile communication network such as a third generation mobile communication system (3G) or LTE (Long Term Evolution).
  • Memory interface (I / F) 114 reads data from external recording medium 115.
  • the CPU 102 reads out data stored in the external recording medium 115 via the memory interface 114 and stores the data in the memory 104.
  • the CPU 102 reads data from the memory 104 and stores the data in an external recording medium 115 via the memory interface 114.
  • CD Compact Disc
  • DVD Digital Versatile Disk
  • BD Blu-ray (registered trademark) Disc
  • USB Universal Serial Bus
  • memory card memory card
  • FD Fexible Disk
  • Speaker 116 outputs sound based on a command from CPU 102.
  • the microphone 118 receives an utterance to the swing analysis device 10.
  • the communication interface (I / F) 120 is a communication interface for transmitting and receiving data between the swing analysis device 10 and the sensor device 20, and is realized by an adapter, a connector, or the like.
  • a communication method for example, Bluetooth (registered trademark), wireless communication using a wireless LAN, or wired communication using USB is used.
  • FIG. 4 is a block diagram showing a hardware configuration of sensor device 20 according to the present embodiment.
  • sensor device 20 includes, as main components, CPU 202 for executing various processes, memory 204 for storing programs executed by CPU 202, data, and the like, and acceleration in three axes.
  • An acceleration sensor 206 capable of detecting the angular velocity
  • an angular velocity sensor 208 capable of detecting an angular velocity around each of the three axes
  • a communication interface (I / F) 210 for communicating with the swing analysis device 10, and various types of sensor devices 20.
  • a storage battery 212 for supplying power to the components.
  • FIG. 5 is a functional block diagram of swing analysis apparatus 10 according to the present embodiment.
  • swing analysis apparatus 10 includes information input unit 150, posture calculation unit 152, correction unit 154, coordinate conversion unit 156, first speed calculation unit 158, and second speed calculation.
  • Unit 160 swing information calculation unit 162, number-of-times calculation unit 164, and notification unit 166. These are realized, for example, by the CPU 102 of the swing analysis apparatus 10 executing a program stored in the memory 104 and giving a command to the components of the swing analysis apparatus 10. Note that some or all of these functional configurations may be realized by hardware.
  • the information input unit 150 receives input of acceleration and angular velocity detected by the sensor device 20 attached to the detection target.
  • the sensor device 20 is attached to the grip end portion of the bat 80 that is the detection target. Therefore, the information input unit 150 receives input of acceleration information and angular velocity information of the grip end unit.
  • the information input unit 150 receives acceleration information and angular velocity information transmitted from the sensor device 20 via the communication interface 120.
  • the information input unit 150 may accept input of such information via the touch panel 106 (or the button 108).
  • the posture calculation unit 152 applies a first filter (for example, an extended Kalman filter) to the acceleration information and angular velocity information of the grip end portion of the bat 80, and detects an object to be detected during the swing period (in this embodiment, the grip end portion). Pose information is calculated. Specifically, the posture calculation unit 152 calculates a quaternion representing the posture of the grip end unit by applying an extended Kalman filter to the acceleration information and the angular velocity information. Then, the posture calculation unit 152 converts the quaternion into a rotation matrix for conversion from the sensor coordinate system to the absolute coordinate system. Thus, the posture calculation unit 152 calculates a rotation matrix corresponding to the quaternion as the posture information of the grip end unit.
  • a first filter for example, an extended Kalman filter
  • the correction unit 154 corrects the posture information of the grip end part in the swing period based on the posture information (for example, the rotation matrix) of the grip end part at the first time of the swing period.
  • the first time is, for example, a time at which the velocity (sensor coordinate system) of the head portion of the bat 80 calculated based on the length of the bat 80 and the angular velocity information is maximized during the swing period.
  • the first time may be a time at which the speed of the head unit (sensor coordinate system) reaches a predetermined speed (for example, 20 km / h) during the swing.
  • the swing period is a fixed period before and after (specifically, past and future) based on the second time of the swing period.
  • the second time is the time when the speed of the head portion (sensor coordinate system) reaches a predetermined speed (for example, 20 km / h) during the swing period. For this reason, the first time and the second time may be the same.
  • the coordinate conversion unit 156 converts the acceleration information detected by the sensor device 20 from the sensor coordinate system to the absolute coordinate system based on the posture information of the grip end corrected by the correction unit 154.
  • the first speed calculation unit 158 calculates a first speed by integrating the acceleration information coordinate-converted into the absolute coordinate system as time elapses during the swing period. Specifically, the first speed is calculated when the acceleration information (absolute coordinate system) is integrated over time from the start time to the end time of the swing period (that is, in the forward direction in time). Speed information (absolute coordinate system).
  • the first velocity calculation unit 158 has a combined angular velocity of the grip end calculated based on the angular velocity information (sensor coordinate system) received by the information input unit 150 equal to or higher than a threshold value Vth (for example, 10 rad / sec).
  • Vth for example, 10 rad / sec.
  • the first speed may be calculated by performing time integration as described above. Specifically, when the speed of the grip end portion (composite angular velocity) is not equal to or higher than the threshold value Vth, it is considered that the subject is not swinging and is preparing for swing. If time integration is performed during the preparation of the swing, an integration error may be accumulated and an appropriate first speed may not be obtained. Accordingly, the first speed calculation unit 158 calculates the first speed by performing time integration when it is estimated that the subject is swinging.
  • the second speed calculation unit 160 calculates the second speed by time-integrating the acceleration information that has been coordinate-converted back to the absolute coordinate system.
  • the second speed is a grip calculated when the acceleration information (absolute coordinate system) is time-integrated from the end time of the swing period to the start time (that is, in the reverse direction in time). It is speed information (absolute coordinate system) of the end part.
  • the second speed calculation unit 160 returns acceleration information (absolute coordinate system) from the time when the speed of the detection target calculated based on the angular speed information reaches zero or near zero in the swing period. Is integrated over time to calculate a second speed. Specifically, the second speed calculation unit 160 regards the end time of the swing period as the time when the speed of the grip end part reaches zero or near zero, and goes backward from the time to the start time. Perform integration.
  • FIG. 6 is a diagram showing the change over time in the speed of the grip end portion due to motion capture.
  • FIG. 6 shows the time change of the speed of the grip end portion measured by motion capture when the subject swings the bat. Referring to FIG. 6, it can be seen that there is a time at which the respective speeds around the three axes (X axis, Y axis, and Z axis) of the grip end part become zero. This time coincides with the time when the batter swings off the bat and finishes the swing. Thereafter, the batter moves to the next action (for example, the action of holding the bat toward the next swing), so that the moving direction of the bat changes.
  • the next action for example, the action of holding the bat toward the next swing
  • the second speed calculation unit 160 performs backward integration of acceleration information (absolute coordinate system) from the time when the speed of the grip end part reaches zero or near zero to the start time.
  • swing information calculation section 162 applies a second filter (for example, an adaptive Kalman filter) to the first speed based on the forward integration and the second speed based on the backward integration.
  • a second filter for example, an adaptive Kalman filter
  • the swing period is divided into a plurality of periods (for example, an initial period, a middle period, and an end period). For each of the plurality of periods, the swing information calculation unit 162 applies the second filter to the first speed and the second speed, and determines the speed of the grip end part (hereinafter also referred to as “grip end speed”). calculate.
  • the swing information calculation unit 162 makes the second speed weight smaller than the first speed weight in a period (for example, the initial period) including the start time of the swing period among the plurality of periods.
  • the swing speed is calculated by applying the second filter.
  • the swing information calculation unit 162 sets the second speed weight to be larger than the first speed weight during the period including the end time of the swing period (for example, the end period) among the plurality of periods.
  • a swing speed (for example, at least one of the head speed and the grip end speed) is calculated by applying the filter.
  • the swing information calculation unit 162 decreases the first speed weight and sets the second speed weight in the later period of the plurality of periods (for example, in the order of initial, intermediate, and final periods).
  • the second filter is applied so as to increase the swing speed in each period.
  • the calculation result of the first speed is gradually not reflected on the calculation result of the swing speed in the order of the initial, middle period, and final period, and the calculation result of the second speed is gradually reflected.
  • the method of dividing the plurality of periods is not limited to the three periods of the initial period, the intermediate period, and the final period, and may be two periods or may be divided into four or more periods.
  • the swing information calculation unit 162 calculates position information (absolute coordinate system) of the grip end part by time-integrating the calculated grip end speed (absolute coordinate system).
  • the swing information calculation unit 162 calculates the position information (absolute coordinate system) of the head part based on the length of the bat 80 and the position information (absolute coordinate system) of the grip end part.
  • the swing information calculation unit 162 may calculate the maximum speed of the head portion of the bat 80 during the swing period based on the length of the bat 80 and the grip end speed (absolute coordinate system).
  • the number calculation unit 164 is the number of times that the combined speed (sensor coordinate system) of the head part of the bat 80 calculated based on the length of the bat 80 and the angular velocity information reaches a predetermined speed (for example, 20 km / h). Based on the above, the number of swings of the bat 80 is calculated.
  • the predetermined speed is a speed at which it can be estimated that the swing has started.
  • the notification unit 166 notifies the subject of the calculation result of the swing information calculation unit 162 (and the calculation result of the number calculation unit 164). For example, the notification unit 166 displays an image indicating the calculation result on the display 110. Or the alerting
  • swing analysis apparatus 10 ⁇ Details of swing analysis processing>
  • a batter actually starts a swing after performing routines (depending on the batter) such as changing the bat or moving limbs before starting the swing.
  • the swing analysis device 10 always receives sensor information (acceleration information and angular velocity information) transmitted from the sensor device 20, but the sensor is in an operation unrelated to the actual swing as described above. If information is subject to arithmetic processing, the processing load increases. Therefore, the swing analysis apparatus 10 is configured to perform a swing analysis process using sensor information for a certain period before and after the swing in order to reduce the processing load.
  • FIG. 7 is a flowchart showing a flow of processing executed by swing analysis apparatus 10 according to the present embodiment. The following steps are realized by the CPU 102 executing a program stored in the memory 104. Further, as described above, the sensor device 20 is attached to the grip end portion of the bat 80. Therefore, in the following description, the angular velocity and acceleration detected by the sensor device 20 are referred to as grip end angular velocity and grip end acceleration, respectively.
  • CPU 102 receives sensor information (acceleration information and angular velocity information) from sensor device 20 via communication interface 120 (step S10). Note that the CPU 102 sequentially stores the received sensor information in the memory 104 as time series data.
  • the CPU 102 calculates the head composite speed (sensor coordinate system) of the bat 80 using the angular velocity information and the following equations (1) to (3) (step S12). Specifically, in the sensor coordinate system, assuming that the angular velocities around the X axis, Y axis, and Z axis at the grip end are ⁇ x , ⁇ y , and ⁇ z , the angular velocity vector ⁇ is given by Equation (1). expressed.
  • V hsx , V hsy , and V hsz are the X-axis, Y-axis, and Z-axis velocities (sensor coordinate system) in the head portion, respectively.
  • the CPU 102 determines whether or not the combined speed V hcs (sensor coordinate system) of the head portion is equal to or higher than the threshold value A (step S14).
  • the threshold A is set to a speed at which it is estimated that the swing by the subject has been started, and is set to 20 km / h, for example.
  • the threshold value A is stored in the memory 104 and can be arbitrarily changed by the user.
  • step S14 If the combined speed V hcs of the head portion is less than threshold A (NO in step S14), CPU 102 repeats the processing from step S10. Specifically, the CPU 102 determines that the swing by the subject has not been started, and does not proceed to the next process. On the other hand, when the combined speed V hcs of the head part is equal to or higher than the threshold A (YES in step S14), the CPU 102 calculates a time ts when the combined speed V hcs reaches the threshold A (step S16). ).
  • the CPU 102 calculates a time t0 (or a time when the combined speed V hcs reaches zero) (or a time when the combined speed V hcs reaches near zero) (step S18). Note that the CPU 102 may be configured to calculate the time when the combined speed of the grip end portion reaches zero (or the time when the grip end portion reaches near zero).
  • the CPU 102 refers to the memory 104 and executes a swing analysis process using forward integration using time series data of sensor information included in a predetermined period Ta before and after the time ts (step S20). ).
  • the predetermined period Ta is set to include a period from the start time to the end time of the swing.
  • the time t0 is assumed to be included in the predetermined period Ta.
  • the predetermined period Ta is set to a period from one second before the time ts to 300 milliseconds after the time ts.
  • FIG. 8 is a flowchart showing an example of a swing analysis process using forward integration executed by the swing analysis apparatus 10 according to the present embodiment.
  • the time at which the combined speed V hcs (sensor coordinate system) of the head portion becomes maximum within the predetermined period Ta is time tx.
  • the acceleration sensor detects the gravitational acceleration when the sensor device 20 is stationary, the gravitational acceleration 1g ( ⁇ 9.8 m / s 2 ) is subtracted from the initial value of the grip end acceleration aw .
  • CPU 102 applies an extended Kalman filter to sensor information at a time t having a predetermined period Ta, and represents the posture of the grip end portion at time t (hereinafter also referred to as “grip end posture”).
  • a quaternion is calculated (estimated) (step S50). Specifically, the CPU 102 executes the following calculation.
  • Equation (4) Using the acceleration in the X-axis, Y-axis, and Z-axis directions (sensor coordinate system) at the grip end and the angular velocities (sensor coordinate system) around the X-axis, Y-axis, and Z-axis as inputs, the CPU 102 Solve the state equation (4) and the nonlinear observation equation (5).
  • j (t), F (j (t)), and W (t) in Equation (4) represent a state quantity, a linear model related to the time transition of the system, and system noise, respectively.
  • k (t), H (j (t)), and M (t) represent an observation amount, an observation model that linearly maps the state space to the observation space, and observation noise, respectively.
  • J (t) in Expression (4) is expressed as Expression (6)
  • F (j (t)) is expressed as Expression (7-1) or Expression (7-2).
  • Q (t) in the equation (6) is a quaternion representing the grip end posture at a certain time t within the predetermined period Ta.
  • T s in the equations (7-1) and (7-2) is a sampling period in the sensor device 20.
  • the equation (7-2) is obtained by considering the bias errors b x , b y , b z of the sensor device 20 with respect to the equation (7-1).
  • Rq (t) in equation (9) is obtained by converting q (t) (quaternion) into a rotation matrix for conversion from the sensor coordinate system to the absolute coordinate system.
  • a quaternion is a vector consisting of four variables of three imaginary numbers q1, q2, q3 and one real number q4.
  • cymbal lock In roll, pitch, and yaw posture expressions, there is a singularity problem called cymbal lock, but in quaternions, there are no singularities and all postures can be represented.
  • the CPU 102 converts the derived grip end posture q (t) into a rotation matrix for conversion from the sensor coordinate system to the absolute coordinate system (step S52).
  • Rq (t) (hereinafter referred to as “grip end attitude (rotation matrix) obtained by converting the grip end attitude (quaternion) at time t into a rotation matrix for conversion from the sensor coordinate system to the absolute coordinate system”. ) Rq (t) ") is expressed as the following formula (10).
  • the CPU 102 determines whether or not the grip end portion is in an accelerated state at time t (step S54). Specifically, the CPU 102 determines whether or not the combined acceleration (sensor coordinate system) of the grip end portion satisfies the following expression (11) at time t.
  • a x (t), a y (t), and a z (t) are accelerations in the X-axis, Y-axis, and Z-axis directions at the grip end at time t (sensors), respectively. Coordinate system).
  • Equation (11) utilizes that the acceleration sensor detects 1 g ( ⁇ 9.8 m / s 2 ), which is the gravitational acceleration, when the sensor device 20 is stationary. Specifically, when the combined acceleration of the grip end portion is close to 1 g (when Expression (11) is satisfied), the acceleration is not accelerated, and when it is not near 1 g (when Expression (11) is not satisfied). Can be regarded as being in an accelerated state. From this, the lower limit threshold (0.9) and the upper limit threshold (1.2) in the formula (11) may be values close to 1, and may be other values.
  • Step S54 when the grip end portion is not in the accelerated state at time t (NO in step S54), CPU 102 sets grip end acceleration a w (t) in the absolute coordinate system at time t to an initial value.
  • the CPU 102 sets the grip end posture (rotation matrix) Rq at time tx at which the head speed (sensor coordinate system) becomes maximum. Based on this, the grip end posture (rotation matrix) Rq (t) at time t is corrected (step S58). Specifically, the CPU 102 executes the following calculation.
  • the rotation matrix Rz representing the rotation around the Z axis at time tx is expressed as the following equation (14), where ⁇ is the rotation angle.
  • the grip end posture (rotation matrix) Rq (t) at time t is corrected by multiplying the grip end posture (rotation matrix) Rq (t) by the transpose matrix Rz T of the rotation matrix Rz.
  • the time tx at which the head speed (sensor coordinate system) becomes maximum is generally near the time of impact in batting (when the shoulders of the batter and the bat are substantially parallel). Therefore, the grip end posture (rotation matrix) Rq (t) at time t is based on the grip end posture (rotation matrix) at the time point (corresponding to time tx) at which the grip end portion is considered to face the front during batting. Corrected. As a result, it is possible to reset the azimuth error due to multiple swings and calculate the swing trajectory with high accuracy.
  • the CPU 102 determines the grip end accelerations a x (t), a y (t), a z (t) in the triaxial direction in the sensor coordinate system, and the corrected grip end posture (rotation matrix) Rq (t ) To calculate the grip end acceleration a w (t) in the absolute coordinate system (step S60). Specifically, the CPU 102 calculates the grip end acceleration a w (t) using Expression (16).
  • the acceleration sensor detects gravitational acceleration. Therefore, as shown in Expression (16), when the coordinate conversion is performed from the grip end acceleration in the sensor coordinate system to the grip end acceleration in the absolute coordinate system, the gravitational acceleration is subtracted.
  • the CPU 102 determines whether or not the combined angular velocity V cs (sensor coordinate system) of the grip end portion is less than the threshold value Vth at time t (step S62). Note that the combined angular velocity V cs (t) of the grip end portion at time t is expressed as the following Expression (17).
  • the CPU 102 calculates the head speed v hw (t) in the absolute coordinate system at time t based on the grip end speed v w (t) calculated using Expression (18) (step S68). . Specifically, the head speed v hw (t) is expressed as in Expression (19).
  • the CPU 102 has executed a series of processing from step S50 to step S68 for sensor data (time series data of acceleration and angular velocity) at each time (time for each sampling period) within the predetermined period Ta. Is determined (step S72). If the series of processes is not executed for all time series data (NO in step S72), the CPU 102 repeats the series of processes at time (t + 1) corresponding to the next cycle.
  • the CPU 102 ends the swing analysis process using forward integration.
  • the CPU 102 refers to the memory 104 and performs backward integration using the time series data of the sensor information included in the predetermined period Tb from the start time of the predetermined period Ta to the time t0.
  • the swing analysis process used is executed (step S22).
  • the start time of the predetermined period Ta is one second before the time ts
  • the predetermined period Tb is set to a period from one second before the time ts to the time t0.
  • FIG. 9 is a flowchart showing an example of a swing analysis process using backward integration executed by the swing analysis apparatus 10 according to the present embodiment.
  • the CPU executes the processes of steps S80 to S86.
  • the processes of steps S80, S82, S84, and S86 are the same as the processes of steps S50, S52, S58, and S60 in FIG. 8, respectively.
  • the grip end acceleration a w (t) in the absolute coordinate system for a certain time t is calculated.
  • the grip end acceleration a w (t) at each time within the predetermined period Ta has been calculated by the swing analysis process by the forward integration. Therefore, the CPU 102 is configured to omit the processes in steps S80 to S86 and execute the processes after step S88 using the grip end acceleration a w (t) at each time stored in the memory 104. May be.
  • the CPU 102 calculates the grip end speed v wb (t) by integrating the grip end acceleration a w (t) in the reverse direction (step S88). Specifically, the grip end speed v wb (t) is the grip end speed v wb (t + 1) calculated at the time one cycle before, the grip end acceleration a w (t + 1) at the time (t + 1), and the sampling period.
  • T s the following equation (20) is obtained.
  • the CPU 102 substitutes the calculated grip end speed v wb (t) for v w (t) in the equation (19), and the head speed v hwb (t) in the absolute coordinate system at time t. Is calculated (step S90).
  • the CPU 102 has executed a series of processing from step S80 to step S90 for sensor data (time series data of acceleration and angular velocity) at each time (time for each sampling period) within the predetermined period Tb. Is determined (step S94). If the series of processes has not been executed for all time series data (NO in step S94), the CPU 102 repeats the series of processes at time (t-1) corresponding to the next cycle.
  • the CPU 102 ends the swing analysis process using the backward integration.
  • the CPU 102 applies an adaptive Kalman filter to the grip end speed v w (t) calculated by the forward integration and the grip end speed v wb (t) calculated by the reverse integration.
  • the grip end speed V fb (t) is calculated (step S24). Specifically, the CPU 102 executes the following calculation.
  • the CPU 102 solves the following state equation (21) and observation equation (22).
  • X (t) in equation (21) represents the triaxial grip end speeds V fbx (t), V fby (t), and V fby (t), and u (t) represents the triaxial grip end.
  • Covariance matrix representing accelerations a wx (t), a wy (t), a wz (t), w (t) is process noise
  • W (t) is the magnitude of process noise (white noise). It is.
  • d which is a diagonal component of W (t) is a constant (for example, 0.001).
  • m (t) is an observation noise
  • M (t) is a covariance matrix representing the magnitude of the observation noise (white noise).
  • h in the diagonal component of M (t) is a constant (for example, 3).
  • h for example, 3
  • the grip end speed V w (t) based on the forward integration is more greatly reflected in the grip end speed V fb (t) (that is, the grip end speed v w (t ) Is large), and the grip end speed v wb (t) based on reverse integration is reflected small (that is, the weight of the grip end speed v w (t) is small).
  • the swing period is assumed to be time t0 (that is, the predetermined period Tb) from one second before time ts.
  • the value of t is small (that is, the elapsed time from the start time of the swing period is short). Therefore, the CPU 102 calculates a grip end speed V fb (t) in which the weight of the grip end speed v wb (t) is smaller than the weight of the grip end speed v w (t).
  • the result of the calculated grip end speed V fb (t) is greatly influenced by the result of the grip end speed v w (t) based on the forward integration, and the grip end speed v based on the reverse integration. The result of wb (t) has little effect.
  • the value of t is greater than in the initial case (that is, the elapsed time from the start time of the swing period is longer). Therefore, in the middle of the swing period, the result of the grip end speed v w (t) and the result of the grip end speed v wb (t) are different from the result of the grip end speed V fb (t) calculated by the CPU 102. It will have the same effect.
  • the CPU 102 calculates a grip end speed V fb (t) in which the weight of the grip end speed v wb (t) is larger than the weight of the grip end speed v w (t).
  • the result of the calculated grip end speed V fb (t) has almost no effect on the result of the grip end speed v w (t) based on the forward integration, and the grip end speed v based on the reverse integration.
  • the result of wb (t) is greatly affected.
  • the grip end speed that accurately reflects the actual speed can be calculated by varying the weights of the grip end speed v w (t) and the grip end speed v wb (t) for each period.
  • CPU 102 by applying adaptive Kalman filter at a head speed v hw (t) and the head velocity v hw (t) similar to the above method also based on backward integration based on forward integration, for each period,
  • the head speed V hfb (t) that accurately reflects the actual speed may be calculated.
  • the CPU 102 uses the head speeds v hfbx (t), v hfby (t), and v hfbz (t) in the three-axis directions in the absolute coordinate system in the equation (23), and uses the head combined speed V hc (t ) May be calculated.
  • the CPU 102 time-integrates the grip end velocity V fb (t) calculated using the adaptive Kalman filter to calculate a grip end trajectory (step S26). Further, the CPU 102 may calculate the head trajectory by time-integrating the head speed V hfb (t) calculated using the adaptive Kalman filter. As a calculation result, the CPU 102 displays, for example, a swing trajectory (at least one of a grip end trajectory and a head trajectory) and a head speed (or a head composite speed) on the display 110 (step S28). Then, the process ends.
  • a swing trajectory at least one of a grip end trajectory and a head trajectory
  • a head speed or a head composite speed
  • the inventor of the present application verified the effectiveness of the above-described swing analysis method.
  • the verification result will be described with reference to FIGS.
  • the grip end speed and the grip end trajectory when using the swing analysis method according to the present embodiment hereinafter simply referred to as “the present analysis method”
  • the swing analysis method according to the comparative example comparative example analysis method
  • a right-handed subject made a swing, and the grip end speed and the swing trajectory were calculated.
  • FIG. 10 is a diagram illustrating the grip end speed calculated by the comparative example analysis method (part 1).
  • FIG. 11 is a diagram illustrating the grip end speed calculated by the comparative example analysis method (part 2).
  • FIG. 12 is a diagram showing the grip end speed calculated by this analysis method.
  • the grip end speed based on the comparative example analysis method (part 1) is calculated by the swing analysis process (forward integration) corresponding to step S20 in FIG. 7 described above, and the swing analysis corresponding to step S22.
  • the process (reverse integration) is not executed (and step S24 is not executed accordingly).
  • the grip end speed based on the comparative example analysis method (part 2) is calculated by the swing analysis process (reverse integration) corresponding to S22, and the swing analysis process (forward integration) corresponding to step S20 is executed. Absent.
  • the grip end speed calculated based on forward integration suddenly rises from near zero, and the actual grip end speed (hereinafter referred to as “actual grip end speed”). Also accurately reflected).
  • the calculated grip end speed does not settle toward zero because of the accumulation of integration error, and the actual grip end speed cannot be accurately reflected. .
  • the grip end speed calculated based on the backward integration settles toward zero and accurately reflects the actual grip end speed.
  • the calculated grip end speed does not settle near zero due to the influence of the integration error, and the actual speed cannot be accurately reflected.
  • the grip end speed calculated based on the present analysis method suddenly rises from near zero near the start of the swing. In the vicinity of the end of the swing, the calculated grip end speed settles toward zero. Therefore, according to this analysis method, the actual grip end speed can be accurately reflected over the entire period from the start to the end of the swing.
  • FIG. 13 is a diagram showing the grip end trajectory calculated by each swing analysis method.
  • FIG. 13A shows the grip end trajectory calculated by the comparative example analysis method.
  • the grip end trajectory based on the comparative example analysis method is calculated by the swing analysis process (forward integration) corresponding to step S20 in FIG. 7, and the swing analysis process (reverse integration) corresponding to step S22. Is not executed (and step S24 is not executed accordingly).
  • FIG. 13B shows the grip end trajectory calculated by this analysis method.
  • the state of returning the wrist when swinging is not reflected, and the grip end trajectory calculated based on the comparative example analysis method can reflect the actual grip end trajectory of the subject. Absent.
  • the posture of the bat (sensor device) can be estimated with high accuracy.
  • the azimuth correction of the sensor device 20 is performed, so that it is possible to eliminate the influence of the azimuth error due to the subject gripping the bat before swinging.
  • the comparative method it is considered that the actual grip end speed and grip end trajectory could not be accurately estimated due to accumulation of integration errors.
  • this analysis method it is possible to accurately estimate the posture of the bat, eliminate elements that affect the heading error, such as bat gripping, and eliminate the accumulation of integration errors. End speed and grip end trajectory can be estimated accurately.
  • the configuration for swinging the bat as the hitting tool has been described, but the configuration is not limited thereto.
  • sports such as baseball, tennis, golf, and badminton are common in that the subject swings the hitting tool. Therefore, the hitting tool may be a racket used in tennis or badminton, or a golf club used in golf.
  • it can be widely applied to swing movements using a hitting tool that does not use a ball hitting tool (such as a swing movement of a bamboo sword in kendo) or swing movements that do not use a tool (such as a swinging movement of a soccer leg or a marathon arm). be able to.
  • the swing analysis apparatus 10 may display the grip end trajectory as shown in FIG. 13B as the swing trajectory calculation result, or the head speed calculation result as shown in FIG. A time series head speed or a maximum head speed may be displayed.
  • the swing analysis apparatus 10 may display the number of swings of the subject.
  • the final swing speed (at least one of the grip end speed and the head speed) and the swing trajectory may be calculated by applying an extended Kalman filter instead of the adaptive Kalman filter.
  • the backward integration is performed by calculating the time t0 when the combined speed of the head portion reaches zero (or the time when the head portion reaches the vicinity of zero) and performing the backward integration retroactively from the time t0.
  • the configuration for calculating the second speed based on the above has been described, the configuration is not limited thereto.
  • the swing period may be defined as the predetermined period Ta, and the second speed may be calculated retroactively from the end time of the predetermined period Ta.
  • a program that causes a computer to function and execute control as described in the above flowchart.
  • a program is recorded on a non-temporary computer-readable recording medium such as a flexible disk attached to the computer, a CD-ROM (Compact Disk Read Only Memory), a ROM, a RAM, and a memory card as a program product. It can also be provided.
  • the program can be provided by being recorded on a recording medium such as a hard disk built in the computer.
  • a program can also be provided by downloading via a network.
  • the program may be a program module that is provided as part of an operating system (OS) of a computer and calls a required module at a predetermined timing to execute processing.
  • OS operating system
  • the program itself does not include the module, and the process is executed in cooperation with the OS.
  • a program that does not include such a module can also be included in the program according to the present embodiment.
  • the program according to the present embodiment may be provided by being incorporated in a part of another program. Even in this case, the program itself does not include the module included in the other program, and the process is executed in cooperation with the other program. A program incorporated in such another program can also be included in the program according to the present embodiment.
  • the configuration illustrated as the above-described embodiment is an example of the configuration of the present invention, and can be combined with another known technique, and a part of the configuration is omitted without departing from the gist of the present invention. It is also possible to change the configuration.
  • the swing trajectory and the swing speed can be accurately calculated for each swing even when the subject performs a plurality of swings continuously for a long time.
  • an extra effort such as resetting the sensor device can be omitted, and the subject can concentrate only on the swing. .
  • the sensor device since it is only necessary to attach the sensor device to the bat, for example, it can be easily used in various situations, such as for a subject's swing check at home, or for a member's swing check by a supervisor, etc. .
  • 10 swing analysis device 20 sensor device, 80 bat, 102, 202 CPU, 104, 204 memory, 106 touch panel, 108 button, 110 display, 112 wireless communication unit, 113 communication antenna, 114 memory interface, 115 recording medium, 116 speaker , 118 microphone, 120 communication interface, 150 information input unit, 152 attitude calculation unit, 154 correction unit, 156 coordinate conversion unit, 158 first speed calculation unit, 160 second speed calculation unit, 162 swing information calculation unit, 164 Number calculation unit, 166 notification unit, 206 acceleration sensor, 208 angular velocity sensor, 212 storage battery, 500, 600, 700 region, 1000 swing analysis system.

Landscapes

  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • User Interface Of Digital Computer (AREA)
  • Gyroscopes (AREA)

Abstract

スイング解析装置(10)は、被検出対象に取り付けられたセンサ(20)により検出された加速度情報および角速度情報の入力を受け付け、加速度情報および角速度情報に第1のフィルタを適用して被検出対象の姿勢情報を算出し、スイング期間の第1の時刻における被検出対象の姿勢情報に基づいてスイング期間の被検出対象の姿勢情報を補正し、補正された姿勢情報に基づいて加速度情報をセンサ座標系から絶対座標系に座標変換し、時間の経過に従って座標変換された加速度情報を時間積分して第1の速度を算出し、被検出対象の速度がゼロまたはゼロ近傍となる運動の特徴点から時間を遡って座標変換された加速度情報を時間積分して第2の速度を算出し、第1の速度および第2の速度に第2のフィルタを適用して被検出対象のスイング速度を算出する。

Description

スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム
 本開示は、スイングを解析するための技術に関する。
 野球のバットやテニスのラケットなどの打球具を用いて行なうスポーツにおいて、プレーヤーが打球具をスイングする能力は、試合などを有利に進める上で重要な指標である。そのため、プレーヤーのスイングの解析が適切に行なわれることによって、プレーヤーの技量の向上や打球具の研究開発にも寄与することが期待される。
 例えば、特開2011-142927号公報(特許文献1)は、センサーバットとデータ解析装置とを有するバット選択システムを開示している。データ解析装置は、打者の目指すタイプを入力し、センサーバットから送信されたデータを受信し、受信したデータから、バットスイングの運動学情報を算出する。データ解析装置は、入力された打者の目指すタイプと、運動学情報を解析して算出した打者のスイングの評価パラメータと、に基づき打者に最適なバットを選択し、選択されたバットと評価パラメータに関連する情報を表示する。
特開2011-142927号公報
 特許文献1には、ジャイロセンサおよび加速度センサからのデータを用いてバット軌跡を算出する構成について記載されている。しかしながら、特許文献1の技術では、センサのデータを長時間計測し続けた場合には、ドリフト誤差や積分誤差の蓄積により計測誤差が増大するため、バットの軌跡を精度良く算出することができないという問題がある。このことから、特許文献1の技術によると、被験者が連続して複数回のスイング動作を行なう場合には、徐々にバットの軌跡の精度が悪化していく可能性がある。
 本開示は、上記のような問題点を解決するためになされたものであって、ある局面における目的は、被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能なスイング解析装置を提供することである。
 他の局面における目的は、被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能な、コンピュータにスイングを解析させるためのプログラムを提供することである。
 さらに他の局面における目的は、被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能なスイング解析システムを提供することである。
 ある実施の形態に従うスイング解析装置は、被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付ける情報入力部と、加速度情報および角速度情報に第1のフィルタを適用して、スイング期間の被検出対象の姿勢情報を算出する姿勢算出部と、スイング期間の第1の時刻における被検出対象の姿勢情報に基づいて、スイング期間の被検出対象の姿勢情報を補正する補正部と、補正部により補正された被検出対象の姿勢情報に基づいて、センサにより検出された加速度情報をセンサ座標系から絶対座標系に座標変換する座標変換部と、スイング期間において、時間の経過に従って絶対座標系に座標変換された加速度情報を時間積分して第1の速度を算出する第1の速度算出部と、スイング期間において、時間を遡って絶対座標系に座標変換された加速度情報を時間積分して第2の速度を算出する第2の速度算出部と、第1の速度および第2の速度に第2のフィルタを適用して、被検出対象のスイング速度を算出するスイング情報算出部とを備える。
 好ましくは、第2の速度算出部は、スイング期間において、角速度情報に基づいて算出される被検出対象の速度がゼロまたはゼロ近傍に到達する時刻から遡って絶対座標系に座標変換された加速度情報を時間積分して第2の速度を算出する。
 好ましくは、スイング期間は、複数の期間に区分される。スイング情報算出部は、複数の期間のうちスイング期間の開始時刻を含む第1の期間においては、第1の速度の重みよりも第2の速度の重みを小さくするように第2のフィルタを適用してスイング速度を算出する。スイング情報算出部は、複数の期間のうちスイング期間の終了時刻を含む第2の期間においては、第1の速度の重みよりも第2の速度の重みを大きくするように第2のフィルタを適用してスイング速度を算出する。
 好ましくは、スイング情報算出部は、複数の期間のうち時間的に後の期間ほど、第1の速度の重みを小さくし、第2の速度の重みを大きくするように第2のフィルタを適用して、各期間におけるスイング速度を算出する。
 好ましくは、第1の時刻は、スイング期間において、角速度情報に基づいて算出される被検出対象の速度が最大となる時刻である。
 好ましくは、スイング期間は、角速度情報に基づいて算出される被検出対象の速度が第1の基準閾値を超えた第2の時刻を基準とした前後の一定期間である。
 好ましくは、角速度情報に基づいて算出される被検出対象の速度が予め定められた速度に到達した回数に基づいて、被検出対象のスイング回数を算出する回数算出部をさらに備える。
 好ましくは、第1のフィルタは拡張カルマンフィルタであり、第2のフィルタは適応カルマンフィルタである。
 他の実施の形態に従うと、コンピュータに被検出対象のスイングを解析させるためのプログラムが提供される。プログラムは、コンピュータに、被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付けるステップと、加速度情報および角速度情報に第1のフィルタを適用して、スイング期間の被検出対象の姿勢情報を算出するステップと、スイング期間の第1の時刻における被検出対象の姿勢情報に基づいて、スイング期間の被検出対象の姿勢情報を補正するステップと、補正された被検出対象の姿勢情報に基づいて、センサにより検出された加速度情報をセンサ座標系から絶対座標系に座標変換するステップと、スイング期間において、時間の経過に従って絶対座標系に座標変換された加速度情報を時間積分して第1の速度を算出するステップと、スイング期間において、時間を遡って絶対座標系に座標変換された加速度情報を時間積分して第2の速度を算出するステップと、第1の速度および第2の速度に第2のフィルタを適用して、被検出対象のスイング速度を算出するステップとを実行させる。
 さらに他の実施の形態に従うスイング解析システムは、被検出対象に取り付けられたセンサと、被検出対象のスイングを解析するためのスイング解析装置とを備える。スイング解析装置は、被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付ける情報入力部と、加速度情報および角速度情報に第1のフィルタを適用して、スイング期間の被検出対象の姿勢情報を算出する姿勢算出部と、スイング期間の第1の時刻における被検出対象の姿勢情報に基づいて、スイング期間の被検出対象の姿勢情報を補正する補正部と、補正部により補正された被検出対象の姿勢情報に基づいて、センサにより検出された加速度情報をセンサ座標系から絶対座標系に座標変換する座標変換部と、スイング期間において、時間の経過に従って絶対座標系に座標変換された加速度情報を時間積分して第1の速度を算出する第1の速度算出部と、スイング期間において、時間を遡って絶対座標系に座標変換された加速度情報を時間積分して第2の速度を算出する第2の速度算出部と、第1の速度および第2の速度に第2のフィルタを適用して、被検出対象のスイング速度を算出するスイング情報算出部とを含む。
 本開示によると、被験者が複数回連続してスイングする場合であっても、各スイングをより精度よく解析することが可能となる。
スイング解析システムの全体構成を説明するための図である。 スイング解析システムの動作概要を説明するためのフローチャートである。 スイング解析装置のハードウェア構成を示すブロック図である。 センサ装置のハードウェア構成を示すブロック図である。 スイング解析装置の機能ブロック図である。 モーションキャプチャによるグリップエンド部の速度の時間変化を示す図である。 スイング解析装置が実行する処理の流れを示すフローチャートである。 スイング解析装置が実行する順方向積分を用いたスイング解析処理の一例を示すフローチャートである。 スイング解析装置が実行する逆方向積分を用いたスイング解析処理の一例を示すフローチャートである。 比較例解析方式(その1)により算出されたヘッド速度を示す図である。 比較例解析方式(その2)により算出されたヘッド速度を示す図である。 本解析方式により算出されたヘッド速度を示す図である。 各スイング解析方式により算出されたグリップエンド軌道を示す図である。
 以下に、本発明の実施の形態について説明する。なお、同一または相当する部分に同一の参照符号を付し、その説明を繰返さない場合がある。
 なお、以下に説明する実施の形態において、個数、量などに言及する場合、特に記載がある場合を除き、本発明の範囲は必ずしもその個数、量などに限定されない。また、以下の実施の形態において、各々の構成要素は、特に記載がある場合を除き、本発明にとって必ずしも必須のものではない。
 <システムの構成>
 図1は、本実施の形態に従うスイング解析システムの全体構成を説明するための図である。図1を参照して、スイング解析システム1000は、被験者による打具のスイングを解析するためのシステムである。具体的には、スイング解析システム1000は、スイング解析装置10と、センサ装置20とを含む。本実施の形態では、「打球具」として野球、ソフトボールなどで用いられるバット80を使用し、被験者が右利きのバッターであるとする。また、本実施の形態では、図1に示すように、被験者(バッター)が打球具(バット80)を1回以上スイングする場面を想定する。
 バット80は、バッター自身が用意したものや他の者が用意したものなど、いずれのバットであってもよい。また、バッターは、素振りする場合、ティーの上に配置されたボールに対してスイングする場合、投げられたボールに対してスイングする場合のいずれの場合であってもよい。
 スイング解析装置10は、スマートフォンで構成される。ただし、スイング解析装置10は、種類を問わず任意の装置として実現できる。例えば、スイング解析装置10は、ノートPC(personal Computer)、タブレット端末、PDA(Personal Digital Assistance)、デスクトップPCなどの機器であってもよい。
 スイング解析装置10は、Bluetooth(登録商標)、無線LAN(Local Area Network)、赤外線通信などの無線通信を利用してセンサ装置20と通信する。なお、スイング解析装置10は、USB(Universal Serial Bus)などの有線通信を利用してセンサ装置20と通信可能に構成されていてもよい。
 センサ装置20は、互いに直交する3軸(X軸,Y軸,Z軸)まわりの角速度(以下「角速度情報」とも称する。)を検出可能な角速度センサと、互いに直交する3軸(X軸,Y軸,Z軸)方向の加速度(以下「加速度情報」とも称する。)を検出可能な加速度センサとを含む。
 また、センサ装置20は、自装置の加速度センサおよび角速度センサがバット振動の影響を受けにくいように、バット80のグリップエンド部に取り付けられる。センサ装置20は、バット80のスイング中にも動かないように強固にグリップエンド部に固定される。好ましくは、センサ装置20に含まれる加速度センサは、バット80の長軸回りの回転による遠心加速度の影響を除外するため、バット80の長軸上に配置される。ここで、センサ座標系におけるZ軸はバット長軸とし、X軸およびY軸はそれぞれ任意に設定可能とする。また、絶対座標系におけるZ軸は鉛直方向とし、X軸およびY軸はそれぞれ任意に設定可能とする。
 <システムの動作概要>
 図2は、本実施の形態に従うスイング解析システム1000の動作概要を説明するためのフローチャートである。
 図2を参照して、スイング解析システム1000では、バット80のグリップエンド部に取り付けられたセンサ装置20は、加速度情報および角速度情報を時系列に検出する(ステップS100)。具体的には、センサ装置20は、サンプリング周期(例えば、1ms)ごとにセンサ座標系(すなわち、ローカル座標系)における角速度情報および加速度情報を検出する。センサ装置20は、サンプリング周期ごとに検出した角速度情報および加速度情報をスイング解析装置10に送信する(ステップS110)。
 スイング解析装置10は、センサ装置20から取得した角速度情報および加速度情報に対して拡張カルマンフィルタを適用して、センサ装置20(具体的には、バット80のグリップエンド部)の姿勢情報を算出する(ステップS120)。スイング解析装置10は、後述する方式により、姿勢情報を補正する(ステップS130)。詳細は後述するが、ステップS130の処理は、ヘッド速度を精度よく推定するためにセンサ装置20の方位誤差を補正する処理である。
 スイング解析装置10は、補正された姿勢情報を用いて、センサ装置20から受信した加速度情報(センサ座標系)を、絶対座標系の加速度情報に座標変換する(ステップS140)。なお、本願明細書では、センサ座標系の情報を「情報(センサ座標系)」とも称し、絶対座標系の情報を「情報(絶対座標系)」とも称する。
 スイング解析装置10は、スイング期間において時間の経過に従って、座標変換された加速度情報(絶対座標系)を時間積分する順方向積分により、ヘッド速度を算出する(ステップS150)。スイング解析装置10は、スイング期間において、被検出対象の速度がゼロまたはゼロ近傍となる運動の特徴点から時間を遡って加速度情報(絶対座標系)を時間積分する逆方向積分により、ヘッド速度を算出する(ステップS160)。スイング解析装置10は、順方向積分により算出されたヘッド速度(以下、「ヘッド速度(順方向)」とも称する。)、および逆方向積分により算出されたヘッド速度(以下、「ヘッド速度(逆方向)」とも称する。)に適応カルマンフィルタを適用して、最終的なヘッド速度(以下、「最終ヘッド速度」)を算出する(ステップS170)。
 ここで、ステップS170の処理は、ヘッド速度(順方向)とヘッド速度(逆方向)とを組み合わせることにより積分誤差の影響を小さくして、ヘッド速度を精度よく推定するための処理である。
 具体的には、ヘッド速度(順方向)は、スイング期間の初期については積分誤差の影響が小さいため実際の速度(以下、「実速度」とも称する。)を精度よく反映するが、スイング期間の終期については積分誤差の影響が大きいため実速度を精度よく反映していない可能性がある。一方、ヘッド速度(逆方向)は、スイング期間の終期については積分誤差の影響が小さいため実速度を精度よく反映するが、スイング期間の初期については積分誤差の影響が大きいため実速度を精度よく反映していない可能性がある。
 そこで、本実施の形態に従うスイング解析装置10は、スイング期間の初期については、順方向積分に基づくヘッド速度(順方向)の結果が、逆方向積分に基づくヘッド速度(逆方向)の結果よりも大きく反映されるように当該最終ヘッド速度を算出する。スイング解析装置10は、スイング期間の終期については、ヘッド速度(逆方向)の結果が、ヘッド速度(順方向)の結果よりも大きく反映されるように最終ヘッド速度を算出する。
 そして、スイング解析装置10は、算出結果をバッターに報知する(ステップS180)。具体的には、スイング解析装置10は、ディスプレイに最終ヘッド速度および当該最終ヘッド速度を時間積分することにより算出されるスイング軌道等を示す画像を表示する。これにより、バッターは、自身のヘッド速度やスイング軌道を確認することができる。
 本実施の形態に従うスイング解析システム1000では、被験者のスイングごとにセンサ装置20(バット80のグリップエンド部)の姿勢情報の補正が行われる。また、スイング解析システム1000では、順方向積分により算出されたヘッド速度、および逆方向積分により算出されたヘッド速度に適応カルマンフィルタを適用して、最終的なヘッド速度が算出される。そのため、被験者が連続して複数回スイングを行なう場合であっても、方位誤差の蓄積による影響を排除することが可能となり、各スイングについて適切なスイング軌道を算出することができる。
 以下、上記のようなスイング解析システムおよびそのスイング解析方式について詳細に説明する。
 <ハードウェア構成>
 (スイング解析装置10)
 図3は、本実施の形態に従うスイング解析装置10のハードウェア構成を示すブロック図である。図3を参照して、スイング解析装置10は、主たる構成要素として、CPU(Central Processing Unit)102と、メモリ104と、タッチパネル106と、ボタン108と、ディスプレイ110と、無線通信部112と、通信アンテナ113と、メモリインターフェイス(I/F)114と、スピーカ116と、マイク118と、通信インターフェイス(I/F)120とを含む。また、記録媒体115は、外部の記憶媒体である。
 CPU102は、メモリ104に記憶されたプログラムを読み出して実行することで、スイング解析装置10の各部の動作を制御する。より詳細にはCPU102は、当該プログラムを実行することによって、後述するスイング解析装置10の処理(ステップ)の各々を実現する。
 メモリ104は、RAM(Random Access Memory)、ROM(Read-Only Memory)、フラッシュメモリなどによって実現される。メモリ104は、CPU102によって実行されるプログラム、またはCPU102によって用いられるデータなどを記憶する。
 タッチパネル106は、表示部としての機能を有するディスプレイ110上に設けられており、抵抗膜方式、静電容量方式などのいずれのタイプであってもよい。ボタン108は、スイング解析装置10の表面に配置されており、ユーザからの指示を受け付けて、CPU102に当該指示を入力する。
 無線通信部112は、通信アンテナ113を介して移動体通信網に接続し無線通信のための信号を送受信する。これにより、スイング解析装置10は、例えば、第3世代移動通信システム(3G)、LTE(Long Term Evolution)などの移動体通信網を介して所定の外部装置との通信が可能となる。
 メモリインターフェイス(I/F)114は、外部の記録媒体115からデータを読み出す。CPU102は、メモリインターフェイス114を介して外部の記録媒体115に格納されているデータを読み出して、当該データをメモリ104に格納する。CPU102は、メモリ104からデータを読み出して、メモリインターフェイス114を介して当該データを外部の記録媒体115に格納する。
 なお、記録媒体115としては、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu-ray(登録商標) Disc)、USB(Universal Serial Bus)メモリ、メモリカード、FD(Flexible Disk)、ハードディスクなどの不揮発的にプログラムを格納する媒体が挙げられる。
 スピーカ116は、CPU102からの命令に基づいて音声を出力する。マイク118は、スイング解析装置10に対する発話を受け付ける。
 通信インターフェイス(I/F)120は、例えば、スイング解析装置10とセンサ装置20との間でデータを送受信するための通信インターフェイスであり、アダプタやコネクタなどによって実現される。通信方式としては、例えば、Bluetooth(登録商標)、無線LANなどによる無線通信あるいはUSBを利用した有線通信である。
 (センサ装置20)
 図4は、本実施の形態に従うセンサ装置20のハードウェア構成を示すブロック図である。図4を参照して、センサ装置20は、主たる構成要素として、各種処理を実行するためのCPU202と、CPU202によって実行されるプログラム、データなどを格納するためのメモリ204と、3軸方向の加速度を検出可能な加速度センサ206と、3軸のそれぞれのまわりの角速度を検出可能な角速度センサ208と、スイング解析装置10と通信するための通信インターフェイス(I/F)210と、センサ装置20の各種構成要素に電力を供給する蓄電池212とを含む。
 <機能構成>
 次に、スイング解析装置10を実現するための機能構成について説明する。図5は、本実施の形態に従うスイング解析装置10の機能ブロック図である。
 図5を参照して、スイング解析装置10は、情報入力部150と、姿勢算出部152と、補正部154と、座標変換部156と、第1の速度算出部158と、第2の速度算出部160と、スイング情報算出部162と、回数算出部164と、報知部166とを含む。これらは、例えば、スイング解析装置10のCPU102がメモリ104に格納されたプログラムを実行し、スイング解析装置10の構成要素へ指令を与えることなどによって実現される。なお、これらの機能構成の一部または全部は、ハードウェアで実現されていてもよい。
 情報入力部150は、被検出対象に取り付けられたセンサ装置20により検出された加速度および角速度の入力を受け付ける。本実施の形態では、センサ装置20は、被検出対象であるバット80のグリップエンド部に取り付けられている。そのため、情報入力部150は、当該グリップエンド部の加速度情報および角速度情報の入力を受け付ける。典型的には、情報入力部150は、通信インターフェイス120を介して、センサ装置20から送信される加速度情報および角速度情報を受信する。ただし、情報入力部150は、タッチパネル106(やボタン108)を介して、これらの情報の入力を受け付けてもよい。
 姿勢算出部152は、バット80のグリップエンド部の加速度情報および角速度情報に第1フィルタ(例えば、拡張カルマンフィルタ)を適用して、スイング期間の被検出対象(本実施の形態では、グリップエンド部)の姿勢情報を算出する。具体的には、姿勢算出部152は、加速度情報および角速度情報に拡張カルマンフィルタを適用することにより、グリップエンド部の姿勢を表わすクォータニオンを算出する。そして、姿勢算出部152は、当該クォータニオンをセンサ座標系から絶対座標系への変換のための回転行列に変換する。このように、姿勢算出部152は、グリップエンド部の姿勢情報として、当該クォータニオンに対応する回転行列を算出する。
 補正部154は、スイング期間の第1の時刻におけるグリップエンド部の姿勢情報(例えば、回転行列)に基づいて、スイング期間のグリップエンド部の姿勢情報を補正する。第1の時刻は、例えば、スイング期間において、バット80の長さと角速度情報とに基づいて算出されるバット80のヘッド部の速度(センサ座標系)が最大となる時刻である。また、第1の時刻は、スイング中において、ヘッド部の速度(センサ座標系)が予め定められた速度(例えば、20km/h)に到達した時刻であってもよい。
 なお、スイング期間は、当該スイング期間の第2の時刻を基準とした前後(具体的には、過去および未来)の一定期間である。第2の時刻は、スイング期間において、ヘッド部の速度(センサ座標系)が予め定められた速度(例えば、20km/h)に到達した時刻である。そのため、第1の時刻と第2の時刻とは同じ場合であってもよい。
 座標変換部156は、補正部154により補正されたグリップエンド部の姿勢情報に基づいて、センサ装置20により検出された加速度情報をセンサ座標系から絶対座標系に座標変換する。
 第1の速度算出部158は、スイング期間において、時間の経過に従って絶対座標系に座標変換された加速度情報を時間積分して第1の速度を算出する。具体的には、第1の速度は、スイング期間の開始時刻から終了時刻にわたって(すなわち、時間的に順方向へ)、加速度情報(絶対座標系)を時間積分した場合に算出されるグリップエンド部の速度情報(絶対座標系)である。
 なお、第1の速度算出部158は、情報入力部150が受け付けた角速度情報(センサ座標系)に基づいて算出されるグリップエンド部の合成角速度が閾値Vth(例えば、10rad/sec)以上である場合に、上記のように時間積分を行なうことで第1の速度を算出してもよい。具体的には、グリップエンド部の速度(合成角速度)が閾値Vth以上ではない場合には、被験者がスイングしておらず、スイングの準備中であると考えられる。スイングの準備中に時間積分を行なうと、積分誤差が蓄積されて適切な第1の速度が得られない可能性がある。そこで、第1の速度算出部158は、被験者がスイングしていると推定される場合に、時間積分を行なうことにより第1の速度を算出する。
 第2の速度算出部160は、スイング期間において、時間を遡って絶対座標系に座標変換された加速度情報を時間積分して第2の速度を算出する。具体的には、第2の速度は、スイング期間の終了時刻から開始時刻に遡って(すなわち、時間的に逆方向へ)、加速度情報(絶対座標系)を時間積分した場合に算出されるグリップエンド部の速度情報(絶対座標系)である。
 ある局面では、第2の速度算出部160は、スイング期間において、角速度情報に基づいて算出される被検出対象の速度がゼロまたはゼロ近傍に到達する時刻から遡って、加速度情報(絶対座標系)を時間積分して第2の速度を算出する。具体的には、第2の速度算出部160は、スイング期間の終了時刻をグリップエンド部の速度がゼロまたはゼロ近傍に到達する時刻であるとみなして、当該時刻から開始時刻に遡って逆方向積分を実行する。
 図6は、モーションキャプチャによるグリップエンド部の速度の時間変化を示す図である。図6には、モーションキャプチャにより計測された、被験者がバットをスイングしたときのグリップエンド部の速度の時間変化が示されている。図6を参照すると、グリップエンド部の3軸(X軸、Y軸およびZ軸)まわりの各速度がともにゼロになる時刻が存在することがわかる。この時刻は、バッターがバットを振り切ってスイングを終えた時刻と一致する。その後、バッターは次の動作(例えば、次のスイングに向けてバットを構える動作)に移るため、バットの移動方向が変わる。
 スイング動作の次の動作の期間について時間積分を行なうと、積分誤差が蓄積されて逆方向積分により算出されるグリップエンド部の速度が適切に得られない可能性がある。そのため、第2の速度算出部160は、グリップエンド部の速度がゼロまたはゼロ近傍に到達する時刻から開始時刻に遡って加速度情報(絶対座標系)の逆方向積分を実行する。
 再び、図4を参照して、スイング情報算出部162は、順方向積分に基づく第1の速度および逆方向積分に基づく第2の速度に、第2のフィルタ(例えば、適応カルマンフィルタ)を適用して、グリップエンド部の速度(絶対座標系)を算出する。
 ある局面では、スイング期間は、複数の期間(例えば、初期、中期、終期)に区分される。スイング情報算出部162は、複数の期間の各々について、第1の速度および第2の速度に第2のフィルタを適用してグリップエンド部の速度(以下、「グリップエンド速度」とも称する。)を算出する。
 具体的には、スイング情報算出部162は、複数の期間のうちスイング期間の開始時刻を含む期間(例えば、初期)においては、第1の速度の重みよりも第2の速度の重みを小さくするように第2のフィルタを適用してスイング速度を算出する。スイング情報算出部162は、複数の期間のうちスイング期間の終了時刻を含む期間(例えば、終期)においては、第1の速度の重みよりも第2の速度の重みを大きくするように第2のフィルタを適用してスイング速度(例えば、ヘッド速度およびグリップエンド速度のうちの少なくとも一方)を算出する。これにより、初期のスイング速度の算出結果には、順方向積分に基づく第1の速度の算出結果が主に反映され、終期のスイング速度の算出結果には、逆方向積分に基づく第2の速度の算出結果が主に反映される。
 また、スイング情報算出部162は、複数の期間のうち時間的に後の期間ほど(例えば、初期、中期、終期の順に)、第1の速度の重みを小さくし、第2の速度の重みを大きくするように第2のフィルタを適用して、各期間におけるスイング速度を算出する。これにより、初期、中期、終期の順に、スイング速度の算出結果に対して第1の速度の算出結果が徐々に反映されなくなり、第2の速度の算出結果が徐々に反映されていく。なお、複数の期間の区分方式は、初期、中期、終期の3つの期間に限られず、2つの期間であってもよいし、4つ以上の期間に区分されていてもよい。
 他の局面では、スイング情報算出部162は、算出されたグリップエンド速度(絶対座標系)を時間積分することによりグリップエンド部の位置情報(絶対座標系)を算出する。スイング情報算出部162は、バット80の長さと、グリップエンド部の位置情報(絶対座標系)とに基づいて、ヘッド部の位置情報(絶対座標系)を算出する。また、スイング情報算出部162は、バット80の長さと、グリップエンド速度(絶対座標系)とに基づいて、スイング期間におけるバット80のヘッド部の最大速度を算出してもよい。
 回数算出部164は、バット80の長さと角速度情報とに基づいて算出されるバット80のヘッド部の合成速度(センサ座標系)が予め定められた速度(例えば、20km/h)に到達した回数に基づいて、バット80のスイング回数を算出する。例えば、予め定められた速度は、スイングが開始されたと推定できる程度の速度である。
 報知部166は、スイング情報算出部162の算出結果(および回数算出部164の算出結果)を被験者に報知する。例えば、報知部166は、算出結果を示す画像をディスプレイ110に表示させる。あるいは、報知部166は、スピーカ116から算出結果を示す音声を出力させる。
 <スイング解析処理の詳細>
 次に、本実施の形態に従うスイング解析装置10で実行されるスイング解析処理の流れについて詳細に説明する。一般的に、バッターは、スイングを開始する前にバットを持ち替えたり、手足を動かしたりする等のルーティーン(バッターによって異なる)を行なった後、実際にスイングを開始する。スイング解析装置10は、常時、センサ装置20から送信されるセンサ情報(加速度情報および角速度情報)を受信しているが、上記のような実際のスイングとは関係ない動作をしているときのセンサ情報まで演算処理の対象とすると処理負荷が大きくなる。そこで、スイング解析装置10は、処理負荷の軽減のため、スイング前後の一定期間のセンサ情報を用いて、スイング解析処理を行なうように構成されている。
 図7は、本実施の形態に従うスイング解析装置10が実行する処理の流れを示すフローチャートである。以下の各ステップは、CPU102がメモリ104に格納されたプログラムを実行することによって実現される。また、上述したように、センサ装置20は、バット80のグリップエンド部に取り付けられている。そのため、以下の説明では、センサ装置20で検出される角速度、加速度をそれぞれグリップエンド角速度、グリップエンド加速度と称する。
 図7を参照して、CPU102は、通信インターフェイス120を介して、センサ装置20からセンサ情報(加速度情報および角速度情報)を受信する(ステップS10)。なお、CPU102は、受信したセンサ情報を時系列データとして順次メモリ104に格納していく。
 CPU102は、角速度情報および以下の式(1)~(3)を用いてバット80のヘッド合成速度(センサ座標系)を算出する(ステップS12)。具体的には、センサ座標系において、グリップエンド部でのX軸,Y軸,Z軸周りの角速度をそれぞれω、ω、ωとすると、角速度ベクトルωは式(1)のように表される。
Figure JPOXMLDOC01-appb-M000001
 センサ座標系でのヘッド部のベクトルrおよび式(1)を用いると、ヘッド部の速度ベクトルVhsは、式(2)のように表される。なお、Vhsx、Vhsy、Vhszは、それぞれヘッド部でのX軸,Y軸,Z軸の速度(センサ座標系)である。
Figure JPOXMLDOC01-appb-M000002
 そして、式(2)からセンサ座標系でのヘッド部の合成速度Vhcsが式(3)のように導かれる。
Figure JPOXMLDOC01-appb-M000003
 次に、CPU102は、ヘッド部の合成速度Vhcs(センサ座標系)が閾値A以上か否かを判断する(ステップS14)。閾値Aは、被験者によるスイングが開始されたと推定される速度に設定され、例えば、20km/hに設定される。なお、閾値Aは、メモリ104に格納されており、ユーザにより任意に変更可能である。
 ヘッド部の合成速度Vhcsが閾値A未満である場合には(ステップS14においてNO)、CPU102はステップS10からの処理を繰り返す。具体的には、CPU102は、被験者によるスイングが開始されていないと判断して、次の処理に移行しない。これに対して、CPU102は、ヘッド部の合成速度Vhcsが閾値A以上である場合には(ステップS14においてYES)、その合成速度Vhcsが閾値Aに到達した時刻tsを算出する(ステップS16)。続いて、CPU102は、合成速度Vhcsがゼロに到達した時刻t0(または、ゼロ近傍に到達した時刻)を算出する(ステップS18)。なお、CPU102は、グリップエンド部の合成速度がゼロに到達した時刻(または、ゼロ近傍に到達した時刻)を算出する構成であってもよい。
 CPU102は、メモリ104を参照して、時刻tsを基準とした前後の所定期間Ta内に含まれるセンサ情報の時系列データを用いて、順方向積分を用いたスイング解析処理を実行する(ステップS20)。所定期間Taは、スイングの開始時刻から終了時刻までの期間を含むように設定される。また、時刻t0は、所定期間Ta内に含まれるものとする。例えば、所定期間Taは、時刻tsの1秒前から時刻tsの300ミリ秒後までの期間に設定される。
 以下、順方向積分を用いたスイング解析処理について詳細に説明する。図8は、本実施の形態に従うスイング解析装置10が実行する順方向積分を用いたスイング解析処理の一例を示すフローチャートである。なお、以下の説明では、所定期間Ta内において、ヘッド部の合成速度Vhcs(センサ座標系)が最大となる時刻は、時刻txであるとする。また、絶対座標系において、グリップエンド加速度aの初期値はa=(0,0,0)に設定され、グリップエンド速度vの初期値はv=(0,0,0)に設定され、グリップエンド位置pの初期値は、p=(0,0,0)に設定されている。なお、センサ装置20が静止している場合には加速度センサは重力加速度を検出するため、グリップエンド加速度aの初期値は、重力加速度1g(≒9.8m/s)が差し引かれているものとする。
 図8を参照して、CPU102は、所定期間Taのある時刻tのセンサ情報に拡張カルマンフィルタを適用して、時刻tにおけるグリップエンド部の姿勢(以下、「グリップエンド姿勢」とも称する。)を表わすクォータニオンを算出(推定)する(ステップS50)。具体的には、CPU102は、以下のような演算を実行する。
 グリップエンド部でのX軸,Y軸,Z軸方向の加速度(センサ座標系)と、X軸,Y軸,Z軸周りの角速度(センサ座標系)とを入力として、CPU102は、以下の非線形状態方程式(4)および非線形観測方程式(5)を解く。なお、式(4)中のj(t)、F(j(t))、W(t)は、それぞれ状態量、システムの時間遷移に関する線形モデル、システム雑音を表わしている。式(5)中のk(t)、H(j(t))、M(t)は、それぞれ観測量、状態空間を観測空間に線形写像する観測モデル、観測雑音を表わしている。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
 式(4)中のj(t)は式(6)のように表され、およびF(j(t))は式(7-1)または式(7-2)のように表わされる。式(6)中のq(t)は、所定期間Ta内のある時刻tにおけるグリップエンド姿勢を表わすクォータニオンである。式(7-1)および式(7-2)中のTは、センサ装置20におけるサンプリング周期である。なお、式(7-2)は、式(7-1)に対してセンサ装置20のバイアス誤差b、b、bを考慮したものである。
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
 式(5)中のk(t)およびH(j(t))は、それぞれ式(8)および式(9)のように表わされる。式(9)中のRq(t)は、q(t)(クォータニオン)をセンサ座標系から絶対座標系への変換のための回転行列に変換したものである。
Figure JPOXMLDOC01-appb-M000008
Figure JPOXMLDOC01-appb-M000009
 上述した式(4)~(9)を用いることにより、所定期間Ta内のある時刻tにおけるグリップエンド姿勢を表わすクォータニオンq(t)が導かれる。
 クォータニオンは、3つの虚数q1,q2,q3と1つの実数q4の4変数からなるベクトルである。ロール・ピッチ・ヨーの姿勢表現ではシンバルロックという特異点問題があるが、クォータニオンでは、特異点が無く全ての姿勢を表すことができる。
 次に、CPU102は、導出されたグリップエンド姿勢q(t)をセンサ座標系から絶対座標系への変換のための回転行列に変換する(ステップS52)。具体的には、時刻tにおけるグリップエンド姿勢(クォータニオン)をセンサ座標系から絶対座標系への変換のための回転行列に変換したものであるRq(t)(以下、「グリップエンド姿勢(回転行列)Rq(t)」とも称する。)は、以下の式(10)のように表される。
Figure JPOXMLDOC01-appb-M000010
 次に、CPU102は、時刻tにおいて、グリップエンド部が加速状態であるか否かを判断する(ステップS54)。具体的には、CPU102は、時刻tにおいて、グリップエンド部の合成加速度(センサ座標系)が以下の式(11)を満たすか否かを判断する。なお、式(11)中のa(t),a(t),a(t)は、それぞれ、時刻tにおけるグリップエンド部でのX軸,Y軸,Z軸方向の加速度(センサ座標系)である。
Figure JPOXMLDOC01-appb-M000011
 式(11)は、センサ装置20が静止している場合には加速度センサが重力加速度である1g(≒9.8m/s)を検出することを利用している。具体的には、グリップエンド部の合成加速度が1g付近の場合(式(11)を満たす場合)には加速していない状態であり、1g付近ではない場合(式(11)を満たさない場合)には、加速状態であるとみなすことができる。このことから、式(11)中の下限閾値(0.9)および上限閾値(1.2)は、1付近の値であればよく、これ以外の値であってもよい。
 次に、時刻tにおいて、グリップエンド部が加速状態ではない場合には(ステップS54においてNO)、CPU102は、時刻tにおける絶対座標系でのグリップエンド加速度a(t)を初期値に設定する(ステップS56)。具体的には、CPU102は、a(t)=(0,0,0)に設定する。
 一方、時刻tにおいて、グリップエンド部が加速状態である場合には(ステップS54においてYES)、CPU102は、ヘッド速度(センサ座標系)が最大となる時刻txにおけるグリップエンド姿勢(回転行列)Rqに基づいて、時刻tにおけるグリップエンド姿勢(回転行列)Rq(t)を補正する(ステップS58)。具体的には、CPU102は、以下のような演算を実行する。
 まず、時刻txにおけるグリップエンド姿勢を表わすクォータニオンqが式(12)のように表されるとする。
Figure JPOXMLDOC01-appb-M000012
 そうすると、式(10)に基づいて、時刻txにおけるグリップエンド姿勢(クォータニオン)を回転行列に変換したものであるRqは、以下の式(13)のように表される。
Figure JPOXMLDOC01-appb-M000013
 時刻txにおけるZ軸周りの回転を表す回転行列Rzは、回転角をθとすると、以下の式(14)のように表わされる。
Figure JPOXMLDOC01-appb-M000014
 なお、回転角θは、以下の式(15)のように表される。
Figure JPOXMLDOC01-appb-M000015
 グリップエンド姿勢(回転行列)Rq(t)に、回転行列Rzの転置行列Rzを掛け合わせることにより、時刻tにおけるグリップエンド姿勢(回転行列)Rq(t)が補正される。具体的には、ヘッド速度(センサ座標系)が最大となる時刻txは、一般的に、バッティングにおけるインパクト時(バッターの両肩およびバットが略平行な時点)近傍となる。そのため、時刻tにおけるグリップエンド姿勢(回転行列)Rq(t)は、バッティング中にグリップエンド部が正面を向くと考えられる当該時点(時刻txに対応)でのグリップエンド姿勢(回転行列)に基づいて補正される。これによって、複数回のスイングによる方位誤差をリセットし、高精度にスイング軌道を算出することが可能になる。
 次に、CPU102は、センサ座標系での3軸方向のグリップエンド加速度a(t),a(t),a(t)と、補正されたグリップエンド姿勢(回転行列)Rq(t)とに基づいて、絶対座標系でのグリップエンド加速度a(t)を算出する(ステップS60)。具体的には、CPU102は、式(16)を用いてグリップエンド加速度a(t)を算出する。
Figure JPOXMLDOC01-appb-M000016
 なお、上述したように、加速度センサは重力加速度を検出する。そのため、式(16)に示すように、センサ座標系におけるグリップエンド加速度から、絶対座標系におけるグリップエンド加速度に座標変換する場合には、重力加速度が差し引かれる。
 次に、CPU102は、時刻tにおいて、グリップエンド部の合成角速度Vcs(センサ座標系)が閾値Vth未満か否かを判断する(ステップS62)。なお、時刻tにおけるグリップエンド部の合成角速度Vcs(t)は、以下の式(17)のように表される。
Figure JPOXMLDOC01-appb-M000017
 時刻tにおいて、グリップエンド部の合成角速度Vcs(t)が閾値Vth未満である場合には(ステップS62においてNO)、CPU102は、時刻tにおける絶対座標系でのグリップエンド速度v(t)を初期値に設定する(ステップS64)。具体的には、CPU102は、v(t)=(0,0,0)に設定する。
 一方、時刻tにおいて、グリップエンド部の合成角速度Vcsが閾値Vth以上である場合には(ステップS62においてYES)、CPU102は、グリップエンド加速度a(t)を順方向積分してグリップエンド速度v(t)を算出する(ステップS66)。具体的には、グリップエンド速度v(t)は、グリップエンド加速度a(t)、1周期前の時刻で算出されたグリップエンド速度v(t-1)、およびサンプリング周期Tを用いると以下の式(18)のように表わされる。
Figure JPOXMLDOC01-appb-M000018
 次に、CPU102は、式(18)を用いて算出されたグリップエンド速度v(t)に基づいて、時刻tにおける絶対座標系でのヘッド速度vhw(t)を算出する(ステップS68)。具体的には、ヘッド速度vhw(t)は式(19)のように表される。
Figure JPOXMLDOC01-appb-M000019
 次に、CPU102は、所定期間Ta内の各時刻(サンプリング周期毎の時刻)のセンサデータ(加速度および角速度の時系列データ)について、ステップS50からステップS68までの一連の処理を実行したか否かを判断する(ステップS72)。全ての時系列データについて、当該一連の処理が実行されていない場合には(ステップS72においてNO)、CPU102は次回の周期に対応する時刻(t+1)について当該一連の処理を繰り返す。
 これに対して、全ての時系列データについて、当該一連の処理を実行した場合には(ステップS72においてYES)、CPU102は、順方向積分を用いたスイング解析処理を終了する。
 再び、図7を参照して、CPU102は、メモリ104を参照して、所定期間Taの開始時刻から時刻t0までの所定期間Tbに含まれるセンサ情報の時系列データを用いて、逆方向積分を用いたスイング解析処理を実行する(ステップS22)。所定期間Taの開始時刻が時刻tsの1秒前である場合、所定期間Tbは、時刻tsの1秒前から時刻t0までの期間に設定される。
 以下、逆方向積分を用いたスイング解析処理について詳細に説明する。図9は、本実施の形態に従うスイング解析装置10が実行する逆方向積分を用いたスイング解析処理の一例を示すフローチャートである。絶対座標系において、逆方向積分を開始する時刻t0でのグリップエンド速度vwbはvwb=(0,0,0)に設定され、グリップエンド位置pwbは、pwb=(0,0,0)に設定される。
 CPU102は、ステップS80~S86の処理を実行する。ここで、ステップS80,S82,S84,S86の処理は、それぞれ図8中のステップS50,S52,S58,S60の処理と同様である。具体的には、ある時刻tについての絶対座標系でのグリップエンド加速度a(t)が算出される。なお、図8において順方向積分によるスイング解析処理により所定期間Ta内の各時刻でのグリップエンド加速度a(t)は算出済みである。そのため、CPU102は、ステップS80~S86の処理を省略して、メモリ104に記憶された各時刻でのグリップエンド加速度a(t)を用いてステップS88以降の処理を実行するように構成されていてもよい。
 CPU102は、グリップエンド加速度a(t)を逆方向積分してグリップエンド速度vwb(t)を算出する(ステップS88)。具体的には、グリップエンド速度vwb(t)は、1周期前の時刻で算出されたグリップエンド速度vwb(t+1)、時刻(t+1)でのグリップエンド加速度a(t+1)およびサンプリング周期Tを用いると以下の式(20)のように表わされる。
Figure JPOXMLDOC01-appb-M000020
 次に、CPU102は、式(19)中のv(t)に、算出されたグリップエンド速度vwb(t)を代入して、時刻tにおける絶対座標系でのヘッド速度vhwb(t)を算出する(ステップS90)。
 続いて、CPU102は、所定期間Tb内の各時刻(サンプリング周期毎の時刻)のセンサデータ(加速度および角速度の時系列データ)について、ステップS80からステップS90までの一連の処理を実行したか否かを判断する(ステップS94)。全ての時系列データについて、当該一連の処理が実行されていない場合には(ステップS94においてNO)、CPU102は次回の周期に対応する時刻(t-1)について当該一連の処理を繰り返す。
 これに対して、全ての時系列データについて、当該一連の処理を実行した場合には(ステップS94においてYES)、CPU102は、逆方向積分を用いたスイング解析処理を終了する。
 再び、図7を参照して、CPU102は、順方向積分により算出されたグリップエンド速度v(t)、および逆方向積分により算出されたグリップエンド速度vwb(t)に適応カルマンフィルタを適用して、グリップエンド速度Vfb(t)を算出する(ステップS24)。具体的には、CPU102は、以下のような演算を実行する。
 順方向積分に基づく3軸方向のグリップエンド速度vwx(t),vwy(t),vwz(t)と、逆方向積分に基づく3軸方向のグリップエンド速度vwbx(t),vwby(t),vwbz(t)とを入力として、CPU102は、以下の状態方程式(21)および観測方程式(22)を解く。
 式(21)中のx(t)は、3軸方向のグリップエンド速度Vfbx(t),Vfby(t),Vfby(t)を表わし、u(t)は3軸方向のグリップエンド加速度awx(t),awy(t),awz(t)を表わし、w(t)はプロセス雑音であり、W(t)はプロセス雑音(白色雑音)の大きさを表わす共分散行列である。なお、W(t)の対角成分であるdは定数(例えば、0.001)である。式(22)中のm(t)は観測雑音であり、M(t)は観測雑音(白色雑音)の大きさを表わす共分散行列である。なお、M(t)の対角成分中のhは定数(例えば、3)である。
Figure JPOXMLDOC01-appb-M000021
Figure JPOXMLDOC01-appb-M000022
 CPU102は、スイング期間の初期、中期、終期について、定数h(例えば、h=3)を用いて観測ノイズに関する共分散行列M(t)を変化させることにより、各期間のグリップエンド速度Vfb(t)を算出する。具体的には、tの値が小さいほど、グリップエンド速度Vfb(t)には、順方向積分に基づくグリップエンド速度v(t)が大きく反映され(すなわち、グリップエンド速度v(t)の重みが大きく)、逆方向積分に基づくグリップエンド速度vwb(t)が小さく反映される(すなわち、グリップエンド速度v(t)の重みが小さい)。
 ここで、スイング期間が時刻tsの1秒前から時刻t0(すなわち、所定期間Tb)であるとする。スイング期間の初期においては、tの値が小さい(すなわち、スイング期間の開始時刻からの経過時間が短い)。そのため、CPU102は、グリップエンド速度v(t)の重みよりもグリップエンド速度vwb(t)の重みが小さいグリップエンド速度Vfb(t)を算出する。当該算出されたグリップエンド速度Vfb(t)の結果に対しては、順方向積分に基づくグリップエンド速度v(t)の結果が大きく影響しており、逆方向積分に基づくグリップエンド速度vwb(t)の結果はほとんど影響を及ぼさない。
 スイング期間の中期においては、初期の場合よりもtの値が大きくなる(すなわち、スイング期間の開始時刻からの経過時間が長くなる)。そのため、スイング期間の中期において、CPU102により算出されたグリップエンド速度Vfb(t)の結果に対しては、グリップエンド速度v(t)の結果およびグリップエンド速度vwb(t)の結果が同程度の影響を及ぼすことになる。
 スイング期間の終期においては、中期の場合よりもtの値がさらに大きくなる(すなわち、スイング期間の開始時刻からの経過時間がさらに長くなる)。そのため、CPU102は、グリップエンド速度v(t)の重みよりもグリップエンド速度vwb(t)の重みが大きいグリップエンド速度Vfb(t)を算出する。当該算出されたグリップエンド速度Vfb(t)の結果に対しては、順方向積分に基づくグリップエンド速度v(t)の結果はほとんど影響を及ぼさず、逆方向積分に基づくグリップエンド速度vwb(t)の結果が大きく影響する。このように、各期間について、グリップエンド速度v(t)およびグリップエンド速度vwb(t)の重みが変動することにより、実際の速度を精度よく反映するグリップエンド速度を算出できる。
 また、CPU102は、順方向積分に基づくヘッド速度vhw(t)および逆方向積分に基づくヘッド速度vhw(t)についても上記と同様な方式で適応カルマンフィルタを適用することにより、各期間について、実際の速度を精度よく反映するヘッド速度Vhfb(t)を算出してもよい。この場合、CPU102は、絶対座標系での3軸方向のヘッド速度vhfbx(t),vhfby(t),vhfbz(t)を式(23)に用いて、ヘッド合成速度Vhc(t)を算出してもよい。
Figure JPOXMLDOC01-appb-M000023
 次に、CPU102は、適応カルマンフィルタを用いて算出されたグリップエンド速度Vfb(t)を時間積分してグリップエンド軌道を算出する(ステップS26)。また、CPU102は、適応カルマンフィルタを用いて算出されたヘッド速度Vhfb(t)を時間積分してヘッド軌道を算出してもよい。CPU102は、算出結果として、例えば、スイング軌道(グリップエンド軌道およびヘッド軌道の少なくとも一方)およびヘッド速度(あるいは、ヘッド合成速度)をディスプレイ110に表示する(ステップS28)。そして、処理は終了する。
 <実施例>
 本願発明者は、上述したスイング解析方式の有効性について検証した。図10~図13を参照しながら、その検証結果について説明する。検証方法としては、本実施の形態に従うスイング解析方式(以下、単に「本解析方式」)を用いた場合のグリップエンド速度およびグリップエンド軌道と、比較例に従うスイング解析方式(比較例解析方式)を用いた場合のグリップエンド速度およびグリップエンド軌道とを比較することにより行なった。また、本実施例では、右利きの被験者にスイングをしてもらい、グリップエンド速度およびスイング軌道を算出した。
 (グリップエンド速度)
 図10は、比較例解析方式(その1)により算出されたグリップエンド速度を示す図である。図11は、比較例解析方式(その2)により算出されたグリップエンド速度を示す図である。図12は、本解析方式により算出されたグリップエンド速度を示す図である。
 ここで、比較例解析方式(その1)に基づくグリップエンド速度は、上述した図7中のステップS20に対応するスイング解析処理(順方向積分)により算出されており、ステップS22に対応するスイング解析処理(逆方向積分)は実行されていない(これに伴いステップS24も実行されていない)。比較例解析方式(その2)に基づくグリップエンド速度は、S22に対応するスイング解析処理(逆方向積分)により算出されており、ステップS20に対応するスイング解析処理(順方向積分)は実行されていない。
 図10を参照して、スイング開始付近においては、順方向積分に基づいて算出されたグリップエンド速度は、ゼロ近傍から急激に立ち上がっており、実際のグリップエンド速度(以下、「実グリップエンド速度」とも称する。)を精度よく反映している。しかし、スイング終了付近(領域500に対応)においては、算出されたグリップエンド速度は、積分誤差の蓄積の影響のためゼロに向かって落ち着いておらず、実グリップエンド速度を精度よく反映できていない。
 図11を参照して、スイング終了付近においては、逆方向積分に基づいて算出されたグリップエンド速度は、ゼロに向かって落ち着いており実グリップエンド速度を精度よく反映している。しかし、スイング開始付近(領域600に対応)においては、算出されたグリップエンド速度は、積分誤差の影響のためゼロ近傍に落ち着いておらず、実速度を精度よく反映できていない。
 一方、図12を参照して、本解析方式に基づいて算出されたグリップエンド速度は、スイング開始付近においては、ゼロ近傍から急激に立ち上がっている。また、スイング終了付近においては、算出されたグリップエンド速度は、ゼロに向かって落ち着いている。そのため、本解析方式によると、スイング開始から終了までの全期間にわたって実際のグリップエンド速度を精度よく反映できている。
 (スイング軌道)
 図13は、各スイング解析方式により算出されたグリップエンド軌道を示す図である。具体的には、図13(a)は、比較例解析方式により算出されたグリップエンド軌道を示している。ここで、比較例解析方式に基づくグリップエンド軌道は、図7中のステップS20に対応するスイング解析処理(順方向積分)により算出されており、ステップS22に対応するスイング解析処理(逆方向積分)は実行されていない(これに伴いステップS24も実行されていない)。図13(b)は、本解析方式により算出されたグリップエンド軌道を示している。
 図13(a)を参照すると、スイングするときに手首を返す状態が反映されておらず、比較例解析方式に基づいて算出されたグリップエンド軌道は、被験者の実際のグリップエンド軌道を反映できていない。
 一方、図13(b)を参照すると、スイングするときに手首を返す状態が反映されている様子(図中の領域700に対応)が確認できる。そのため、本解析方式によるグリップエンド軌道は、被験者の実際のグリップエンド軌道を精度良く反映している。
 図10~図13の結果によると、各方式ともに、拡張カルマンフィルタを用いた姿勢算出を行なっているため、精度良くバット(センサ装置)の姿勢を推定できている。また、各方式ともに、センサ装置20の方位補正を行なっているため、被験者がスイングする前にバットを握り返したりすることによる方位誤差の影響を排除できている。しかし、比較例方式では、積分誤差の蓄積により、実際のグリップエンド速度およびグリップエンド軌道を精度よく推定できなかったと考えられる。本解析方式によると、精度の良いバットの姿勢推定を可能とするとともに、バットの握り返し等の方位誤差に影響を与える要素を排除し、さらに積分誤差の蓄積をも排除できるため、実際のグリップエンド速度およびグリップエンド軌道を精度よく推定できる。
 <その他の実施の形態>
 上述した実施の形態では、打球具としてのバットをスイングする構成について説明したが、当該構成に限られない。被験者が打球具をスイングする点において、例えば、野球、テニス、ゴルフ、バドミントンなどのスポーツは共通している。そのため、打球具は、テニスまたはバドミントンで用いられるラケット、ゴルフで用いられるゴルフクラブであってもよい。さらに、打球具を利用しない打具によるスイング動作(剣道における竹刀のスイング動作等)、あるいは道具を利用しないスイング動作(サッカーの脚のスイング動作、マラソンの腕のスイング動作等)にも広く適用することができる。
 上述した実施の形態において、スイング解析装置10は、スイング軌道の算出結果として、図13(b)などのグリップエンド軌道を表示してもよいし、ヘッド速度の算出結果として、図12に示すような時系列のヘッド速度、あるいは最大ヘッド速度を表示してもよい。また、スイング解析装置10は、被験者のスイング回数を表示してもよい。
 上述した実施の形態において、適応カルマンフィルタの代わりに拡張カルマンフィルタを適用することにより、最終的なスイング速度(グリップエンド速度およびヘッド速度の少なくとも一方)およびスイング軌道を算出する構成であってもよい。
 上述した実施の形態では、ヘッド部の合成速度がゼロに到達した時刻t0(または、ゼロ近傍に到達した時刻)を算出して、時刻t0から遡って逆方向積分を行なうことにより、逆方向積分に基づく第2の速度を算出する構成について説明したが、当該構成に限られない。例えば、スイング期間を所定期間Taとして規定し、所定期間Taの終了時刻から遡って第2の速度を算出する構成であってもよい。
 また、コンピュータを機能させて、上述のフローチャートで説明したような制御を実行させるプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD-ROM(Compact Disk Read Only Memory)、ROM、RAMおよびメモリカードなどの一時的でないコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。
 プログラムは、コンピュータのオペレーティングシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本実施の形態にかかるプログラムに含まれ得る。
 また、本実施の形態にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本実施の形態にかかるプログラムに含まれ得る。
 上述の実施の形態として例示した構成は、本発明の構成の一例であり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、一部を省略する等、変更して構成することも可能である。
 <実施の形態の効果>
 本実施の形態によると、被験者が長時間連続して複数回のスイングを行なう場合であっても、各スイングについて精度よくスイング軌道およびスイング速度を算出することができる。これにより、例えば、スイング回数を重ねることによる測定誤差(ドリフト誤差など)を修正するために、センサ装置をリセットするなどの余計な手間を省くことができ、被験者はスイングだけに集中することができる。
 本実施の形態によると、バットにセンサ装置を取り付けるだけでよいため、例えば、被験者の自宅でのスイングチェック用や、監督などによる部員のスイングチェック用など様々な場面で簡単に利用することができる。
 また、本実施の形態によると、ドリフト誤差などの補正のために地磁気センサを用いる必要がないため、システム全体としての低コスト化を実現することもできる。
 今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 10 スイング解析装置、20 センサ装置、80 バット、102,202 CPU、104,204 メモリ、106 タッチパネル、108 ボタン、110 ディスプレイ、112 無線通信部、113 通信アンテナ、114 メモリインターフェイス、115 記録媒体、116 スピーカ、118 マイク、120 通信インターフェイス、150 情報入力部、152 姿勢算出部、154 補正部、156 座標変換部、158 第1の速度算出部、160 第2の速度算出部、162 スイング情報算出部、164 回数算出部、166 報知部、206 加速度センサ、208 角速度センサ、212 蓄電池、500,600,700 領域、1000 スイング解析システム。

Claims (10)

  1.  被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付ける情報入力部と、
     前記加速度情報および前記角速度情報に第1のフィルタを適用して、スイング期間の前記被検出対象の姿勢情報を算出する姿勢算出部と、
     前記スイング期間の第1の時刻における前記被検出対象の姿勢情報に基づいて、前記スイング期間の前記被検出対象の姿勢情報を補正する補正部と、
     前記補正部により補正された前記被検出対象の姿勢情報に基づいて、前記センサにより検出された前記加速度情報をセンサ座標系から絶対座標系に座標変換する座標変換部と、
     前記スイング期間において、時間の経過に従って前記絶対座標系に座標変換された前記加速度情報を時間積分して第1の速度を算出する第1の速度算出部と、
     前記スイング期間において、時間を遡って前記絶対座標系に座標変換された前記加速度情報を時間積分して第2の速度を算出する第2の速度算出部と、
     前記第1の速度および前記第2の速度に第2のフィルタを適用して、前記被検出対象のスイング速度を算出するスイング情報算出部とを備える、スイング解析装置。
  2.  前記第2の速度算出部は、前記スイング期間において、前記角速度情報に基づいて算出される前記被検出対象の速度がゼロまたはゼロ近傍に到達する時刻から遡って前記絶対座標系に座標変換された前記加速度情報を時間積分して前記第2の速度を算出する、請求項1に記載のスイング解析装置。
  3.  前記スイング期間は、複数の期間に区分され、
     前記スイング情報算出部は、
      前記複数の期間のうち前記スイング期間の開始時刻を含む第1の期間においては、前記第1の速度の重みよりも前記第2の速度の重みを小さくするように前記第2のフィルタを適用して前記スイング速度を算出し、
      前記複数の期間のうち前記スイング期間の終了時刻を含む第2の期間においては、前記第1の速度の重みよりも前記第2の速度の重みを大きくするように前記第2のフィルタを適用して前記スイング速度を算出する、請求項1または2に記載のスイング解析装置。
  4.  前記スイング情報算出部は、前記複数の期間のうち時間的に後の期間ほど、前記第1の速度の重みを小さくし、前記第2の速度の重みを大きくするように前記第2のフィルタを適用して、各前記期間における前記スイング速度を算出する、請求項3に記載のスイング解析装置。
  5.  前記第1の時刻は、前記スイング期間において、前記角速度情報に基づいて算出される前記被検出対象の速度が最大となる時刻である、請求項1~4のいずれか1項に記載のスイング解析装置。
  6.  前記スイング期間は、前記角速度情報に基づいて算出される前記被検出対象の速度が第1の基準閾値を超えた第2の時刻を基準とした前後の一定期間である、請求項1~5のいずれか1項に記載のスイング解析装置。
  7.  前記角速度情報に基づいて算出される前記被検出対象の速度が予め定められた速度に到達した回数に基づいて、前記被検出対象のスイング回数を算出する回数算出部をさらに備える、請求項1~6のいずれか1項に記載のスイング解析装置。
  8.  前記第1のフィルタは拡張カルマンフィルタであり、前記第2のフィルタは適応カルマンフィルタである、請求項1~7のいずれか1項に記載のスイング解析装置。
  9.  コンピュータに被検出対象のスイングを解析させるためのプログラムであって、
     前記プログラムは、前記コンピュータに、
     前記被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付けるステップと、
     前記加速度情報および前記角速度情報に第1のフィルタを適用して、スイング期間の前記被検出対象の姿勢情報を算出するステップと、
     前記スイング期間の第1の時刻における前記被検出対象の姿勢情報に基づいて、前記スイング期間の前記被検出対象の姿勢情報を補正するステップと、
     前記補正された前記被検出対象の姿勢情報に基づいて、前記センサにより検出された前記加速度情報をセンサ座標系から絶対座標系に座標変換するステップと、
     前記スイング期間において、時間の経過に従って前記絶対座標系に座標変換された前記加速度情報を時間積分して第1の速度を算出するステップと、
     前記スイング期間において、時間を遡って前記絶対座標系に座標変換された前記加速度情報を時間積分して第2の速度を算出するステップと、
     前記第1の速度および前記第2の速度に第2のフィルタを適用して、前記被検出対象のスイング速度を算出するステップとを実行させる、プログラム。
  10.  被検出対象に取り付けられたセンサと、
     前記被検出対象のスイングを解析するためのスイング解析装置とを備え、
     前記スイング解析装置は、
     被検出対象に取り付けられたセンサにより検出された加速度情報および角速度情報の入力を受け付ける情報入力部と、
     前記加速度情報および前記角速度情報に第1のフィルタを適用して、スイング期間の前記被検出対象の姿勢情報を算出する姿勢算出部と、
     前記スイング期間の第1の時刻における前記被検出対象の姿勢情報に基づいて、前記スイング期間の前記被検出対象の姿勢情報を補正する補正部と、
     前記補正部により補正された前記被検出対象の姿勢情報に基づいて、前記センサにより検出された前記加速度情報をセンサ座標系から絶対座標系に座標変換する座標変換部と、
     前記スイング期間において、時間の経過に従って前記絶対座標系に座標変換された前記加速度情報を時間積分して第1の速度を算出する第1の速度算出部と、
     前記スイング期間において、時間を遡って前記絶対座標系に座標変換された前記加速度情報を時間積分して第2の速度を算出する第2の速度算出部と、
     前記第1の速度および前記第2の速度に第2のフィルタを適用して、前記被検出対象のスイング速度を算出するスイング情報算出部とを含む、スイング解析システム。
PCT/JP2017/039990 2016-11-07 2017-11-06 スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム WO2018084295A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2016-217234 2016-11-07
JP2016217234A JP6806327B2 (ja) 2016-11-07 2016-11-07 スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム

Publications (1)

Publication Number Publication Date
WO2018084295A1 true WO2018084295A1 (ja) 2018-05-11

Family

ID=62076913

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2017/039990 WO2018084295A1 (ja) 2016-11-07 2017-11-06 スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム

Country Status (2)

Country Link
JP (1) JP6806327B2 (ja)
WO (1) WO2018084295A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220203163A1 (en) * 2020-12-30 2022-06-30 Hung Ming Infoirmation Co., Ltd. Martial arts polearm posture sensing device and posture sensing method thereof

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3160720U (ja) * 2009-06-10 2010-07-08 株式会社電興社 バットスイング計測装置
JP2012120579A (ja) * 2010-12-06 2012-06-28 Seiko Epson Corp 運動解析装置
JP2014054483A (ja) * 2012-09-14 2014-03-27 Univ Of Tokyo 手の動作計測装置
JP2015013007A (ja) * 2013-07-05 2015-01-22 セイコーエプソン株式会社 運動解析装置および運動解析プログラム
WO2015164944A1 (en) * 2014-04-29 2015-11-05 Tritonwear Inc. Wireless metric calculating and feedback apparatus, system, and method
JP2016055028A (ja) * 2014-09-11 2016-04-21 セイコーエプソン株式会社 運動解析方法、運動解析装置、運動解析システム及びプログラム
JP2016158699A (ja) * 2015-02-27 2016-09-05 セイコーエプソン株式会社 着地位置評価方法、及び着地位置評価装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3160720U (ja) * 2009-06-10 2010-07-08 株式会社電興社 バットスイング計測装置
JP2012120579A (ja) * 2010-12-06 2012-06-28 Seiko Epson Corp 運動解析装置
JP2014054483A (ja) * 2012-09-14 2014-03-27 Univ Of Tokyo 手の動作計測装置
JP2015013007A (ja) * 2013-07-05 2015-01-22 セイコーエプソン株式会社 運動解析装置および運動解析プログラム
WO2015164944A1 (en) * 2014-04-29 2015-11-05 Tritonwear Inc. Wireless metric calculating and feedback apparatus, system, and method
JP2016055028A (ja) * 2014-09-11 2016-04-21 セイコーエプソン株式会社 運動解析方法、運動解析装置、運動解析システム及びプログラム
JP2016158699A (ja) * 2015-02-27 2016-09-05 セイコーエプソン株式会社 着地位置評価方法、及び着地位置評価装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220203163A1 (en) * 2020-12-30 2022-06-30 Hung Ming Infoirmation Co., Ltd. Martial arts polearm posture sensing device and posture sensing method thereof

Also Published As

Publication number Publication date
JP6806327B2 (ja) 2021-01-06
JP2018075071A (ja) 2018-05-17

Similar Documents

Publication Publication Date Title
US9599635B2 (en) Motion analysis apparatus and motion analysis method
JP5761506B2 (ja) スイング分析装置、スイング分析システム、スイング分析方法、スイング分析プログラム、および記録媒体
US9604101B2 (en) Golf swing analysis device and golf swing analysis method
JP6027038B2 (ja) 計測システム、および計測装置
JP6368280B2 (ja) スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム
JP5773144B2 (ja) 運動解析装置、運動解析システム、運動解析プログラム、および、記録媒体
JP6613684B2 (ja) スイング診断方法、スイング診断プログラム、記録媒体、スイング診断装置及びスイング診断システム
US10307656B2 (en) Swing diagnosis apparatus, swing diagnosis system, swing diagnosis method, and recording medium
US20160001127A1 (en) Motion analysis method, program, and motion analysis device
US20150238813A1 (en) Motion analysis device and motion analysis system
US20170215771A1 (en) Motion analysis method, motion analysis apparatus, motion analysis system, and program
US20170028283A1 (en) Swing diagnosis apparatus, swing diagnosis system, swing diagnosis method, and recording medium
US20170239520A1 (en) Motion analysis apparatus, motion analysis system, motion analysis method, recording medium, and display method
JP7215515B2 (ja) 解析装置、解析方法及びプログラム
JP2017029516A (ja) ゴルフスイング解析装置
JP2016067410A (ja) 運動解析装置、運動解析システム、運動解析方法及びプログラム
JP2016067408A (ja) センサー、演算装置、運動計測方法、運動計測システム及びプログラム
KR102053564B1 (ko) 스윙 해석 장치, 스윙 해석 방법 및 스윙 해석 시스템
US20170011652A1 (en) Motion analysis method, motion analysis apparatus, motion analysis system, and program
JP7291234B2 (ja) ラケット用解析システム、ラケット用解析装置、ラケット用解析プログラム及びラケット用解析方法
WO2018084295A1 (ja) スイング解析装置、コンピュータにスイングを解析させるためのプログラムおよびスイング解析システム
US20170087409A1 (en) Imaging control method, imaging control apparatus, imaging control system, and program
JP6551123B2 (ja) 打点推定装置
US20160030805A1 (en) Motion analysis method, motion analysis device, and program
US20170004729A1 (en) Motion analysis method, motion analysis apparatus, motion analysis system, and program

Legal Events

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

Ref document number: 17867947

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17867947

Country of ref document: EP

Kind code of ref document: A1