1. Technical Field
The present invention relates to analysis method, an exercise analysis device, an exercise analysis system and a program.
2. Related Art
JP-A-2008-73210 discloses a method of mounting a triaxial acceleration sensor and a triaxial gyro sensor on a golf club and measuring swing characteristics based on outputs of such inertial sensors. According to the method of JP-A-2008-73210, it is possible to considerably reduce a calculation amount more than when a video of a swing photographed by a camera is subjected to image processing and the swing is analyzed. According to the method of JP-A-2008-73210, a large-scale device such as a camera is not necessary. Therefore, there is no restriction on places in which users perform swings and convenience is high.
When swing analysis is performed using outputs of inertial sensors, it is necessary to perform second-order integration on acceleration to calculate a position and it is necessary to perform first-order integration on the acceleration to calculate an angle (posture). However, an integration error increases due to an output error of the inertial sensor and an error of the position or the posture increases on the side of the second half of a swing. For this reason, for example, when a head speed is calculated using calculated position information, an error of the calculation also increases. Actually, when a club head hits a ball, a situation can occur in which the position of the club head at the time of an impact is a position distant from the ball in a trajectory of the club head during a swing drawn using the calculated position information. This situation is not limited to a swing and the same problem also arises in exercises (for example, a circular exercise of a pedal when a bicycle is pedaled) in which the same position is passed at different time points. When an output error of a sensor can be estimated accurately, a position or a posture can also be calculated accurately. However, it is actually difficult to accurately estimate an output error of a sensor. Accordingly, in a method of the related art, it is difficult to provide exercise analysis information with high accuracy.
An advantage of some aspects of the invention is to provide an exercise analysis method, an exercise analysis device, an exercise analysis system, and a program capable of suggesting exercise analysis information with high accuracy using an output of an inertial sensor.
The invention can be implemented as the following forms or application examples.
An exercise analysis method according to this application example analyzes, using an output of an inertial sensor, an exercise in which a measurement target locates at a first position at a first time point and the measurement target passes through the first position at a second time point. The exercise analysis method includes: correcting an exercise parameter of the measurement target acquired from the output of the inertial sensor based on a difference between the first position at the first time point and the first position at the second time point; and analyzing the exercise using the exercise parameter after the correction.
The inertial sensor may be a sensor capable of measuring an inertial amount such as acceleration or an angular velocity and may be, for example, an inertial measurement unit (IMU) capable of measuring acceleration or an angular velocity. For example, the inertial sensor may be fitted on a portion of an exercise tool or a user or may be detachably mounted on an exercise tool or a user. For example, the inertial sensor may be built in an exercise tool to be fixed to the exercise tool so that the sensor is not detachable.
In the exercise analysis method according to this application example, the exercise parameter of the measurement target acquired from the output of the inertial sensor is corrected using the fact that the measurement target is present at the first position at the first time point and the second time point in an actual exercise. Therefore, it is possible to correct the exercise parameter in accordance with the actual exercise. Accordingly, according to the exercise analysis method according to the application example, it is possible to approach the exercise parameter after the correction to the exercise parameter in an actual exercise, analyze the exercise using the exercise parameter after the correction, and thus suggest the exercise analysis information with high accuracy.
In the exercise analysis method according to the application example, the exercise may be a swing performed using an exercise tool. The measurement target may be a hitting portion of the exercise tool.
The exercise tool is, for example, a tool used for a swing, such as a golf club, a tennis racket, a baseball bat, or a hockey stick.
In the exercise analysis method according to this application example, it is possible to correct the exercise parameter of the hitting portion of the exercise tool acquired from the output of the inertial sensor so that the exercise parameter approaches the exercise parameter in an actual exercise, and to analyze a swing with high accuracy.
In the exercise analysis method according to the application example, the first position may be a position of the hitting portion of the exercise tool before the beginning of the swing.
In the exercise analysis method according to the application example, in the correcting of the exercise parameter, the exercise parameter may be corrected based on a condition that a position of the hitting portion of the exercise tool at an immediately previous or immediately subsequent time of the beginning of the swing which is the first time point is the same as a position of the hitting portion of the exercise tool at a time of an impact which is the second time point.
In the exercise analysis method according to this application example, it is possible to correct the exercise parameter of the hitting portion of the exercise tool acquired from the output of the inertial sensor so that the exercise parameter approaches an exercise parameter in an actual swing by using the fact that the position of the hitting portion of the exercise tool at the time immediately previous or immediately subsequent time of the beginning of the swing substantially nearly matches the position of the hitting portion at the time of the impact, and it is possible to analyze the swing with high accuracy using the exercise parameter after the correction.
In the exercise analysis method according to the application example, in the correcting of the exercise parameter, the exercise parameter may be corrected based on a condition that a position of the hitting portion of the exercise tool at an immediately previous or immediately subsequent time of the beginning of the swing which is the first time point is the same as a position of the hitting portion of the exercise tool at an immediately previous time of an impact which is the second time point.
In the exercise analysis method according to this application example, it is possible to correct the exercise parameter of the hitting portion of the exercise tool acquired from the output of the inertial sensor so that the exercise parameter approaches an exercise parameter in an actual swing by using the fact that the position of the hitting portion of the exercise tool at the time immediately previous or immediately subsequent time of the beginning of the swing substantially generally matches the position of the hitting portion at the immediately previous time of the impact, and it is possible to analyze the swing with high accuracy using the exercise parameter after the correction.
In the exercise analysis method according to the application example, the exercise parameter may be position information.
In the exercise analysis method according to this application example, it is possible to correct the position information of the measurement target acquired from the output of the inertial sensor so that the position information approaches the position information of the measurement target in an actual exercise, and it is possible to analyze the exercise with high accuracy using the position information after the correction.
In the exercise analysis method according to the application example, the exercise parameter may be velocity information.
In the exercise analysis method according to this application example, it is possible to correct the velocity information of the measurement target acquired from the output of the inertial sensor so that the velocity information approaches the velocity information of the measurement target in an actual exercise, and it is possible to analyze the exercise with high accuracy using the velocity information after the correction.
An exercise analysis device according to this application example analyzes, using an output of an inertial sensor, an exercise in which a measurement target locates at a first position at a first time point and the measurement target passes through the first position at a second time point. The exercise analysis device includes: a correction unit that corrects an exercise parameter of the measurement target acquired from the output of the inertial sensor based on a difference between the first position at the first time point and the first position at the second time point; and an analysis unit that analyzes the exercise using the exercise parameter after the correction.
The exercise analysis device according to this application example corrects the exercise parameter of the measurement target acquired from the output of the inertial sensor by using the fact that the measurement target is present at the first position at the first time point and the second time point in an actual exercise. Therefore, it is possible to correct the exercise parameter in accordance with the actual exercise. Accordingly, in the exercise analysis device according to the application example, it is possible to approach the exercise parameter after the correction to the exercise parameter in an actual exercise, analyze the exercise using the exercise parameter after the correction, and thus suggest the exercise analysis information with high accuracy.
An exercise analysis system according to this application example includes any of the exercise analysis devices described above and the inertial sensor.
In the exercise analysis system according to this application example, the exercise analysis information with high accuracy can be suggested by the exercise analysis device.
A program according to this application example analyzes, using an output of an inertial sensor, an exercise in which a measurement target locates at a first position at a first time point and the measurement target passes through the first position at a second time point. The program causes a computer to perform: correcting an exercise parameter of the measurement target acquired from the output of the inertial sensor based on a difference between the first position at the first time point and the first position at the second time point; and analyzing the exercise using the exercise parameter after the correction.
In the program according to this application example, the exercise parameter of the measurement target acquired from the output of the inertial sensor is corrected using the fact that the measurement target is present at the first position at the first time point and the second time point in an actual exercise. Therefore, it is possible to correct the exercise parameter in accordance with the actual exercise. Accordingly, according to the program according to the application example, it is possible to approach the exercise parameter after the correction to the exercise parameter in an actual exercise, analyze the exercise using the exercise parameter after the correction, and thus suggest the exercise analysis information with high accuracy.
The invention will be described with reference to the accompanying drawings, wherein like numbers reference like elements.
Hereinafter, preferred embodiments of the invention will be described in detail with reference to the drawings. Embodiments to be described below do not inappropriately limit content of the invention described in the appended claims. All of the constituent elements to be described below may not be necessarily requisite constituent elements.
Hereinafter, a swing analysis system which is an example of an exercise analysis system and analyzes a golf swing will be exemplified.
The sensor unit 10 can measure acceleration generated around each axis of three axes and an angular velocity generated at each axis rotation of the three axes and is mounted on a golf club 3 (which is an example of an exercise tool).
In the embodiment, as illustrated in
A user 2 performs a swing motion of hitting a golf ball 4 in a pre-decided procedure.
While the user 2 performs the motion to hit the golf ball 4 in the procedure illustrated in
The swing analysis device 20 uses the data measured by the sensor unit 10 to analyze an exercise in which the head (hitting portion) (which is an example of a measurement target) of the golf club 3 is present at a first position at a first time point and the head passes through the first position at a second time point. In the embodiment, the swing analysis device 20 uses the data measured by the sensor unit 10 to calculate the position (coordinates) of the head of the golf club 3 in a swing of the user 2 and uses the position (coordinates) of the head at one time of the time of an impact (or the immediately previous time of an impact) and the immediately previous or subsequent time of the beginning of the swing to correct the position (coordinates) of the head at the other time thereof. Then, the swing analysis device 20 uses the position (coordinates) of the head after the correction to draw a trajectory (for example, trajectories of the head and the grip) of the golf club 3 on a display unit (display). The swing analysis device 20 may be, for example, a portable device such as a smartphone or a personal computer (PC).
Since the head is present slightly in front of a ball at the time of the beginning of the swing and comes into contact with the ball at the time of an impact, the position of the head at the time of the beginning of the swing is supposed to be substantially the same as the position of the head at the time of the impact in an actual swing. As illustrated in
The acceleration sensor 12 measures acceleration generated in each of mutually intersecting (ideally, orthogonal) triaxial directions and outputs digital signals (acceleration data) according to the sizes and directions of the measured triaxial accelerations.
The angular velocity sensor 14 measures an angular velocity generated at axis rotation of mutually intersecting (ideally, orthogonal) triaxial directions and outputs digital signals (angular velocity data) according to the sizes and directions of the measured triaxial angular velocities.
The signal processing unit 16 receives the acceleration data and the angular velocity data from the acceleration sensor 12 and the angular velocity sensor 14, appends time information, and stores the acceleration data and the angular velocity data in a storage unit (not illustrated). The signal processing unit 16 generates packet data in conformity to a communication format by appending time information to the stored measurement data (the acceleration data and the angular velocity data) and outputs the packet data to the communication unit 18.
The acceleration sensor 12 and the angular velocity sensor 14 are ideally fitted in the sensor unit 10 so that the three axes of each sensor match the three axes (the x axis, the y axis, and the z axis) of the rectangular coordinate system (sensor coordinate system) defined for the sensor unit 10, but errors of the fitting angles actually occur. Accordingly, the signal processing unit 16 performs a process of converting the acceleration data and the angular velocity data into data of the xyz coordinate system using correction parameters calculated in advance according to the errors of the fitting angles.
The signal processing unit 16 may perform a temperature correction process on the acceleration sensor 12 and the angular velocity sensor 14. Alternatively, a temperature correction function may be embedded in the acceleration sensor 12 and the angular velocity sensor 14.
The acceleration sensor 12 and the angular velocity sensor 14 may output analog signals. In this case, the signal processing unit 16 may perform A/D conversion on each of an output signal of the acceleration sensor 12 and an output signal of the angular velocity sensor 14, generate measurement data (acceleration data and angular velocity data), and generate packet data for communication using the measurement data.
The communication unit 18 performs, for example, a process of transmitting the packet data received from the signal processing unit 16 to the swing analysis device 20 or a process of receiving control commands from the swing analysis device 20 and transmitting the control commands to the signal processing unit 16. The signal processing unit 16 performs various processes according to the control commands.
The swing analysis device 20 is configured to include a processing unit 21, a communication unit 22, an operation unit 23, a storage unit 24, a display unit 25, and an audio output unit 26.
The communication unit 22 performs, a process of receiving the packet data transmitted from the sensor unit 10 and transmitting the packet data to the processing unit 21 or a process of transmitting a control command from the processing unit 21 to the sensor unit 10.
The operation unit 23 performs a process of acquiring operation data from the user 2 and transmitting the operation data to the processing unit 21. The operation unit 23 may be, for example, a touch panel type display, a button, a key, or a microphone.
The storage unit 24 is configured as, for example, any of various IC memories such as a read-only memory (ROM), a flash ROM, and a random access memory (RAM) or a recording medium such as a hard disk or a memory card.
The storage unit 24 stores, for example, programs used for the processing unit 21 to perform various calculation processes or control processes, or various program or data used for the processing unit 21 to realize application functions. In particular, in the embodiment, the storage unit 24 stores a swing analysis program 240 which is read by the processing unit 21 to perform a swing analysis process. The swing analysis program 240 may be stored in advance in a nonvolatile recording medium. Alternatively, the swing analysis program 240 may be received from a server via a network by the processing unit 21 and may be stored in the storage unit 24.
In the embodiment, the storage unit 24 stores club specification information 242 indicating the specification of the golf club 3 and sensor-mounted position information 244. For example, the user 2 operates the operation unit 23 to input a model number of the golf club 3 (or select the model number from a model number list) to be used and set specification information regarding the input model number as the club specification information 242 among pieces of specification information for each model number (for example, information regarding the length of a shaft, the position of center of gravity, a lie angle, a face angle, a loft angle, and the like) stored in advance in the storage unit 24. For example, the user 2 operates the operation unit 23 to input a distance between a mounted position of the sensor unit 10 and the grip of the golf club 3, and information regarding the input distance is stored as the sensor-mounted position information 244 in the storage unit 24. Alternatively, by mounting the sensor unit 10 at a decided predetermined position (for example, a distance of 20 cm from the grip), information regarding the predetermined position may be stored in advance as the sensor-mounted position information 244.
The storage unit 24 is used as a work area of the processing unit 21 and temporarily stores, for example, data input from the operation unit 23 and calculation results performed according to various programs by the processing unit 21. The storage unit 24 may store data necessarily stored for a long time among the data generated through the processes of the processing unit 21.
The display unit 25 displays a processing result of the processing unit 21 as text, a graph, a table, animations, or another image. The display unit 25 may be, for example, a CRT, an LCD, a touch panel type display, or a head-mounted display (HMD). The functions of the operation unit 23 and the display unit 25 may be realized by one touch panel type display.
The audio output unit 26 outputs a processing result of the processing unit 21 as audio such as a voice or a buzzer sound. The audio output unit 26 may be, for example, a speaker or a buzzer.
The processing unit 21 performs a process of transmitting a control command to the sensor unit 10, various calculation processes on data received from the sensor unit 10 via the communication unit 22, and other various control processes according to various programs. In particular, in the embodiment, the processing unit 21 performs the swing analysis program 240 to function as a data acquisition unit 210, a motion detection unit 211, a position calculation unit 212, a position correction unit 213, a velocity calculation unit 214, an exercise analysis information generation unit 215, a storage processing unit 216, a display processing unit 217, and an audio output processing unit 218.
The data acquisition unit 210 performs processes of receiving the packet data received from the sensor unit 10 by the communication unit 22, acquiring the time information and the measurement data from the received packet data, and transmitting the time information and the measurement data to the storage processing unit 216.
The storage processing unit 216 performs processes of receiving the time information and the measurement data from the data acquisition unit 210 and storing the time information and the measure data in the storage unit 24 in association therewith.
The motion detection unit 211 performs a process of detecting a timing (a measurement time of the measurement data) of each motion in the swing exercise of the user 2 using the measurement data output by the sensor unit 10. Specifically, the motion detection unit 211 first detects a timing of an impact using the measurement data. Next, the motion detection unit 211 detects a timing (a timing of a top at which a swing is switched from a backswing to a downswing) at which the direction of a swing is switched, using data previous to the timing of the impact and included in the measurement data. Next, the motion detection unit 211 detects a start timing of the swing using the data previous to the timing at which the direction of the swing is switched and included in the measurement data. For example, the motion detection unit 211 may calculate a composite value of the measurement data (acceleration data or angular velocity data) and detect timings of the impact, the top, and the beginning of the swing using the composite value. The details of the detection method will be described below.
The position calculation unit 212 performs a process of calculating the position (coordinates of the position in the XYZ coordinate system) of the head (which is an example of the hitting portion) of the golf club 3 in a swing, using the measurement data output by the sensor unit 10. The position calculation unit 212 performs a process of calculating the position (coordinates of the position in the XYZ coordinate system) of the grip of the golf club 3 in a swing, using the measurement data output by the sensor unit 10.
Specifically, the position calculation unit 212 first calculates an offset amount included in the measurement data using the measurement data (the acceleration data and the angular velocity data) at the time of stop (the time of address) of the user 2 stored in the storage unit 24. Next, the position calculation unit 212 subtracts the offset amount from the measurement data after start of a swing stored in the storage unit 24, corrects a bias, and calculates the position and the posture (posture angle) of the sensor unit 10 during the swing motion (during the motion of step S2 of
For example, the position calculation unit 212 calculates the position (initial position) of the sensor unit 10 at the time of stop (the time of address) of the user 2 in the XYZ coordinate system (global coordinate system) using the acceleration data measured by the acceleration sensor 12, the club specification information 242, and the sensor-mounted position information 244 and integrates the subsequent acceleration data to chronologically calculate a change in the position from the initial position of the sensor unit 10.
Since the user 2 performs the motion of step S1 of
The position calculation unit 212 calculates a posture (initial posture) of the sensor unit 10 at the time of stop (the time of address) of the user 2 in the XYZ coordinate system (global coordinate system) using the acceleration data measured by the acceleration sensor 12 and performs rotation calculation using the angular velocity data subsequently measured by the angular velocity sensor 14 to chronologically calculate a change in the posture from the initial posture of the sensor unit 10. The posture of the sensor unit 10 can be expressed by, for example, rotation angles (a roll angle, a pitch angle, and a yaw angle) around the X axis, the Y axis, and the Z axis, quaternion, or the like. At the time of stop of the user 2, the acceleration sensor 12 measures only the acceleration of gravity. Therefore, the position calculation unit 212 can specify an angle formed between of each of the x, y, and z axes of the sensor unit 10 and a gravity direction using the triaxial acceleration data. Since the user 2 performs the motion of step S1 of
The position calculation unit 212 sets a position distant from the position of the sensor unit 10 at each time of a swing by the distance LSH in the positive direction of the y axis of the sensor unit 10 specified by the posture of the sensor unit 10 at that time as the position of the head at that time.
The position calculation unit 212 set a position distant from the position of the sensor unit 10 at each time of a swing by a distance LSG between the sensor unit 10 and the grip specified by the sensor-mounted position information 244 (a distance from the grip) in the negative direction of the y axis of the sensor unit 10 specified by the posture of the sensor unit 10 at that time, as the position of the grip at that time.
The signal processing unit 16 of the sensor unit 10 may calculate the offset amount of the measurement data and correct the bias of the measurement data or the bias correction function may be embedded in the acceleration sensor 12 and the angular velocity sensor 14. In this case, it is not necessary to correct the bias of the measurement data by the position calculation unit 212.
The position correction unit 213 (which is an example of a correction unit) performs a process of correcting position information (which is an example of an exercise parameter) of the head of the golf club 3 acquired from the measurement data of the sensor unit 10 based on a difference between the position (which is an example of a first position) of the head of the golf club 3 at the first time point and the position of the head of the golf club 3 at the second time point. In the embodiment, the position correction unit 213 uses the position of the head at one time of the time of the beginning of the swing (the previous time of the beginning of the swing or the immediately previous time of the beginning of the swing or the immediately subsequent time of the beginning of the swing), which is an example of the first time point, and the time of an impact (or the immediately previous time of the impact), which is an example of the second time point, to perform a process of correcting the position of the head at the other time. The time of the beginning of the swing and the time of the impact may be a measurement time when the motion detection unit 211 detects a start timing of the swing and a measurement time when the motion detection unit 211 detects a timing of the impact, respectively.
For example, the position correction unit 213 may correct the position of the head at the time of the impact (or the immediately previous time of the impact) using the position of the head at the time of the beginning of the swing (the previous time of the beginning of the swing, the immediately previous time of the swing, or the immediately previous time of the swing), or may correct the position of the head at the time of the beginning of the swing using the position of the head at the time of the impact (or the immediately previous time of the impact). For example, the position correction unit 213 may correct the position of the head so that the position of the head matches between the time of the beginning of the swing and the time of the impact (or the immediately previous time of the impact).
The position correction unit 213 corrects the position of the head at each time other than the time of the beginning of the swing or the time of the impact and generates chronological information of the position of the head in the swing. For example, the position correction unit 213 may calculate a correction amount at anytime according to a method such as linear supplementation using a correction amount (a difference between the position before the correction and the position after the correction) of the position of the head at the time of the beginning of the swing and a correction amount of the position of the head at the time of the impact (or the immediately previous time of the impact), and may correct the position of the head at each time using the correction amount.
The position correction unit 213 corrects the position of the grip using chronological information of the position of the head after the correction in the swing and generates chronological information of the position of the grip after the correction in the swing. For example, the position correction unit 213 may set the position distant from the position of the head at each time by a distance LSH+LSG in the negative direction of the y axis of the sensor unit 10 specified by the posture of the sensor unit 10 at that time, as the position of the grip at that time. The position correction unit 213 may generate chronological information of the positions of various portions (for example, the center of gravity of the golf club 3) other than the grip of the golf club 3 in the swing according to the same method.
The velocity calculation unit 214 (which is another example of the correction unit) performs a process of correcting velocity information (which is an example of an exercise parameter) of the head of the golf club 3 acquired from the measurement data of the sensor unit 10 based on a difference between a position (which is an example of the first position) of the head of the golf club 3 at the time of the beginning of the swing (which is an example of the first time point) and a position of the head of the golf club 3 at the time of an impact (or the immediately previous time of the impact) (which is an example of the second time point). In the embodiment, a process (correction process) of calculating a velocity of the head is performed using the chronological information of the position of the head after the correction generated by the position correction unit 213. For example, the velocity calculation unit 214 may calculate differential (a difference of the position of the head from the immediately previous time) of the position of the head at any time (for example, the time of an impact) included in the chronological information of the position of the head after the correction and may calculate the velocity of the head at that time.
The velocity calculation unit 214 may use chronological information of the position of a portion other than the head of the golf club 3 after the correction generated by the position correction unit 213 to calculate a velocity of this portion. For example, the velocity calculation unit 214 may calculate differential (a differential of the position of the grip portion from the immediately previous time) of the position of a grip portion at any time included in the chronological information of the position of the grip portion after the correction and may calculate a velocity of the grip portion at that time.
The exercise analysis information generation unit 215 (which is an example of an analysis unit) performs a process of analyzing a swing using the position information after correction (or velocity information after correction) and generating exercise analysis information which is information regarding the analysis result. For example, the exercise analysis information generation unit 215 performs a process of generating trajectory information (image data) of the golf club 3 for a predetermined time of a swing, using the chronological information of the position of any of various portions of the golf club 3 generated by the position correction unit 213. For example, the exercise analysis information generation unit 215 may generate trajectory information including the trajectories (HL1 and HL2 in
For example, the exercise analysis information generation unit 215 may generate exercise analysis information such as a change in the swing velocity using velocity information of any of various portions of the golf club 3 generated by the velocity calculation unit 214.
The storage processing unit 216 performs a process of reading/writing various programs or various kinds of data from/on the storage unit 24. The storage processing unit 216 also performs not only a process of storing time information and the measurement data received from the data acquisition unit 210 in the storage unit 24 in association therewith but also a process of storing various kinds of information or the like calculated by the position calculation unit 212, the position correction unit 213, and the exercise analysis information generation unit 215 in the storage unit 24.
The display processing unit 217 performs a process of displaying various images (images, text, signs, or the like corresponding to the exercise analysis information generated by the exercise analysis information generation unit 215) on the display unit 25. For example, the display processing unit 217 causes the display unit 25 to display the images, texts, or the like corresponding to the exercise analysis information generated by the analysis information generation unit 215 after end of the swing exercise of the user 2, automatically, or according to an input operation of the user 2. Alternatively, a display unit may be provided in the sensor unit 10, and the display processing unit 217 may transmit image data to the sensor unit 10 via the communication unit 22 and cause the display unit of the sensor unit 10 to display various images, text, or the like.
The audio output processing unit 218 performs a process of causing the audio output unit 26 to output various kinds of audio (including a voice and a buzzer sound). For example, the audio output processing unit 218 may read various kinds of information stored in the storage unit 24 and output audio or a voice for swing analysis to the audio output unit 26 after end of the swing exercise of the user 2, automatically, or at the time of performing a predetermined input operation. Alternatively, an audio output unit may be provided in the sensor unit 10, and the audio output processing unit 218 may transmit various kinds of audio data or voice data to the sensor unit 10 via the communication unit 22 and cause the audio output unit of the sensor unit 10 to output various kinds of audio or voices.
A vibration mechanism may be provided in the swing analysis device 20 or the sensor unit 10 and the vibration mechanism may also convert various kinds of analysis information into vibration information and suggest the vibration information to the user 2.
First, the processing unit 21 acquires the measurement data of the sensor unit 10 (S10). In step S10, the processing unit 21 may perform processes subsequent to step S20 in real time when the processing unit 21 acquires the first measurement data in a swing (also including a stop motion) of the user 2 or may perform the processes subsequent to step S20 after the processing unit 21 acquires some or all of a series of measurement data in the swing exercise of the user 2 from the sensor unit 10.
Next, the processing unit 21 detects a stop motion (address motion) (the motion of step S1 of
Next, the processing unit 21 calculates the initial position and the initial posture of the sensor unit 10 using the measurement data (the measurement data in the stop motion (address motion) of the user 2) acquired from the sensor unit 10, the club specification information 242, the sensor-mounted position information 244, and the like (S30).
Next, the processing unit 21 detects each motion of the swing using the measurement data acquired from the sensor unit 10 (S40). A procedure example of the motion detection process will be described below.
The processing unit 21 calculates the position and the posture of the sensor unit 10 in the swing in parallel to, before, or after the process of step S40 using the measurement data acquired from the sensor unit 10 (S50).
Next, the processing unit 21 calculates the position of the head and the position of the grip of the golf club 3 and the position of the sensor unit 10 in the swing using the position and the posture of the sensor unit 10 calculated in step S50, the club specification information 242, the sensor-mounted position information 244, and the like (S60). In step S60, the processing unit 21 performs adjustment so that the position of the head of the golf club 3 at start time t1 of the swing detected in step S40 is the origin (0, 0, 0).
Next, the processing unit 21 corrects the position of the head and the position of the grip of the golf club 3 calculated in step S60 in the swing, using the detection result of step S40 (S70). An example of the procedure of the position correction process will be described below.
Next, the processing unit 21 generates the trajectory information (for example, trajectory information including the trajectories of the head and the grip from start time t1 of the swing to time t3 of the impact) of the swing using the position of the head and the position of the grip of the golf club 3 after the correction in step S70, and causes the display unit 25 to display the trajectory information (S80).
Next, the processing unit 21 calculates the velocity of the head and the velocity of the grip in the swing (for example, at the time of the impact) using the position of the head and the position of the grip of the golf club 3 after the correction in step S70 and causes the display unit 25 to display the velocity of the head and the velocity of the grip (S90), and then the process ends.
In the flowchart of
First, the processing unit 21 performs bias correction on the measurement data (acceleration data and angular velocity data) stored in the storage unit 24 (S200).
Next, the processing unit 21 calculates a composite value n0(t) of the angular velocities at each time t using the angular velocity data (angular velocity data at each time t) subjected to the bias correction in step S200 (S210). For example, when the angular velocity data at time t are assumed to be x(t), y(t), and z(t), the composite value n0(t) of the angular velocities is calculated in the following formula (1).
n
0(t)=√{square root over (x(t)2+y(t)2+z(t)2)}{square root over (x(t)2+y(t)2+z(t)2)}{square root over (x(t)2+y(t)2+z(t)2)} (1)
Examples of triaxial angular velocity data x(t), y(t), and z(t) when the user 2 performs a swing to hit the golf ball 4 are illustrated in
Next, the processing unit 21 converts the composite value n0(t) of the angular velocities at each time t into a composite value n(t) subjected to normalization (scale conversion) within a predetermined range (S220). For example, when max(n0) is the maximum value of the composite value of the angular velocities during an acquisition period of the measurement data, the composite value n0(t) of the angular velocities is converted into the composite value n(t) normalized within a range of 0 to 100 by the following formula (2).
Next, the processing unit 21 calculates a differential dn(t) of the composite value n(t) after the normalization at each time t (S230). For example, when Δt is a measurement period of the triaxial angular velocity data, the differential (difference) dn(t) of the composite value of the angular velocity at time t is calculated in the following formula (3).
dn(t)=n(t)−n(t−Δt) (3)
Next, the processing unit 21 specifies the former time as measurement time t3 of the impact between a time at which the value of the differential do (t) of the composite value is the maximum and a time at which the value of the differential dn(t) of the composite value is the minimum (S240) (see
Next, the processing unit 21 specifies a time of a minimum point at which the composite value n(t) is close to 0 before measurement time t3 of the impact as measurement time t2 of the top (S250) (see
Next, the processing unit 21 specifies a section in which the composite value n(t) is equal to or less than the predetermined threshold value before or after measurement time t2 of the top as a top section (S260). In a normal golf swing, since a motion is temporarily stopped at the top, a swing velocity is considered to be small before or after the top. Accordingly, a section in which the composite value of the angular velocities is continuously equal to or less than a predetermined threshold value, including the timing of the top, can be captured as the top section.
Next, the processing unit 21 specifies a final time at which the composite value n(t) is equal to or less than the predetermined threshold value before the start time of the top section as measurement time t1 of the beginning of the swing (S270) (see
In the flowchart of
First, the processing unit 21 calculates a formula (a linear formula indicating a correction amount of an X coordinate) of a straight line which connects the X coordinate of the position of the head at the time of the impact (time t3) and the X coordinate of the position of the head of the time of the beginning of the swing (time t1), as calculated in step S60 of
The processing unit 21 calculates a formula (a linear formula indicating a correction amount of a Y coordinate) of a straight line which connects the Y coordinate of the position of the head at the time of the impact (time t3) and the Y coordinate of the position of the head of the time of the beginning of the swing (time t1), as calculated in step S60 of
The processing unit 21 calculates a formula (a linear formula indicating a correction amount of a Z coordinate) of a straight line which connects the Z coordinate of the position of the head at the time of the impact (time t3) and the Z coordinate of the position of the head of the time of the beginning of the swing (time t1), as calculated in step S60 of
Next, the processing unit 21 subtracts the correction amounts according to the linear formulae indicating the correction amounts of the X, Y, and Z coordinates at the position of the head at each time in the swing, as calculated in steps S300, S310, and S320, respectively, from the X, Y, and Z coordinates of the position (the position before the correction) of the head at each time in the swing, as calculated in step S60 of
Next, the processing unit 21 subtracts the correction amounts according to the linear formulae indicating the correction amounts of the X, Y, and Z coordinates at the position of the head at each time in the swing, as calculated in steps S300, S310, and S320, respectively, from the X, Y, and Z coordinates of the position (the position before correction) of the grip at each time in the swing, as calculated in step S60 of
Through the above-described processes, in step S80 of
When vx, vy, and vz are the X axis velocity, the Y axis velocity, and the Z axis velocity, respectively, a velocity vH of the head obtained by compositing the X axis velocity, the Y axis velocity, and the Z axis velocity is calculated in formula (4), for example.
v
H=√{square root over (vx2+vy2+vz2)} (4)
From the above-described result, the velocity of the head and the velocity of the grip calculated in step S90 after the processing unit 21 corrects the position of the head and the position of the grip in step S70 of
In the embodiments, by noticing that the position of the head of the golf club 3 at the time of the beginning of the swing generally substantially matches the position of the head at the time of the impact, the position of the head at one time of the time of the beginning of the swing and the time of the impact calculated using the measurement data of the sensor unit 10 is used to correct the position of the head at the other time. Accordingly, in the embodiments, since the position of the head after the correction approaches the position of the head in an actual swing, the swing analysis information with high accuracy can be generated and suggested using the information regarding the position of the head after the correction.
In particular, in the embodiment, since a calculation error of the position of the head caused due to an integration error increases over time, the position of the head is corrected according to the correction amounts expressed in the linear formulae having a time as a variable. Thus, the position of the head with high accuracy can be corrected by a relatively small calculation amount.
In the embodiment, the velocity of the head, the position and the velocity of the grip, and the like can be calculated with high accuracy using the position of the head after the correction.
In the embodiment, the swing analysis information is generated using the sensor unit 10. Therefore, it is not necessary to use a large-scale device such as a camera and a restriction on places in which a swing is analyzed is less.
The invention is not limited to the embodiments, but may be modified in various forms within the scope of the gist of the invention.
In the foregoing embodiments, the X, Y, and Z coordinates of the position of the head of the golf club 3 have been corrected with a linear formula having each time as a variable, but a variation amount of the integration error is considered to also increase since a variation amount of the position of the head on the side of the second half of a swing (a side closer to an impact) is large. Therefore, for example, the X, Y, and Z coordinates of the position of the head may be corrected with a quadratic formula having each time as a variable. Alternatively, the X, Y, and Z coordinates of the position of the sensor unit 10 may be corrected with a quadratic formula having each time as a variable, the position of the head of the golf club 3 may be calculated using the position of the sensor unit 10 after the correction, and the X, Y, and Z coordinates of the calculated position of the head may be corrected with a linear formula having each time as a variable.
In the foregoing embodiments, each motion of a swing of the user 2 has been detected using the square root of the sum of the squares as in formula (1) as the composite value of the triaxial angular velocity measured by the sensor unit 10. For example, the square root may be used not only as the composite value of the triaxial angular velocities but also as a sum of squares of the triaxial angular velocities, a sum or an average value of the triaxial angular velocities, a product of the triaxial angular velocities, or the like. Instead of the composite value of the triaxial angular velocities, a composite value of triaxial accelerations such as a sum or a square root of squares of the triaxial accelerations, a sum or an average value of the triaxial acceleration, or a product of the triaxial accelerations may be used.
In the foregoing embodiments, the acceleration sensor 12 and the angular velocity sensor 14 are built in the sensor unit 10 to be integrated. However, the acceleration sensor 12 and the angular velocity 14 may not be integrated. Alternatively, the acceleration sensor 12 and the angular velocity sensor 14 may not be built in the sensor unit 10, but may be directly mounted on the golf club 3 or the user 2. In the foregoing embodiments, the sensor unit 10 and the swing analysis device 20 are separated from each other. The sensor unit 10 and the swing analysis device 20 may be integrated to be able to be mounted on the golf club 3 or the user 2.
In the foregoing embodiments, the swing analysis system (the swing analysis device) analyzing a golf swing has been exemplified, but the invention can be applied to a swing analysis system (swing analysis device) analyzing swings of various exercises such as tennis and baseball. The invention can also be applied to an exercise (for example, a circular exercise of a pedal when a bicycle is pedaled) other than a swing in which the measurement target is present at the first position at the first time point and the measurement target passes through the first position at the second time point.
The foregoing embodiments and modification examples are merely examples, but the invention is not limited thereto. For example, the embodiments and the modification examples can also be appropriately combined.
The invention includes configurations (for example, configurations in which functions, methods, and results are the same or configurations in which objects and advantages are the same) which are substantially the same as the configurations described in the embodiments. The invention includes configurations in which non-essential portions of the configurations described in the embodiments are substituted. The invention includes configurations in which the same operational advantages as the configurations described in the embodiments are obtained or configurations in which the same objects can be achieved. The invention includes configurations in which known technologies are added to the configurations described in the embodiments.
The entire disclosure of Japanese Patent Application No. 2014-185204, filed Sep. 11, 2014 is expressly incorporated by reference herein.
Number | Date | Country | Kind |
---|---|---|---|
2014-185204 | Sep 2014 | JP | national |