Information processing system, information processing device, information processing method, and program
The information processing system with inertial sensors and server analysis addresses the challenge of analyzing horse running conditions, offering precise data on speed, stride, and gait to enhance training effectiveness.
Patent Information
- Application Number
- JP2024072399
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-04-26
- Publication Date
- 2025-11-12
- Estimated Expiration
- 2044-04-26
AI Technical Summary
Existing technologies fail to effectively analyze the running conditions of horses during training, such as racehorses, which is crucial for trainers to optimize training practices.
An information processing system comprising inertial sensors attached to a horse's legs, a terminal to acquire sensor data, and a server to analyze the running status based on changes in measurement values, including speed, stride, pitch, and gallop determination, with noise reduction through moving average processing and abnormal value correction.
The system provides accurate analysis of a horse's running conditions, enabling trainers to optimize training by providing real-time data on speed, stride, pitch, and gait, thereby improving training efficiency and safety.
Smart Images

Figure 2025168684000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing system, an information processing device, an information processing method, and a program. [Background technology]
[0002] Patent Document 1 discloses a technique for determining whether a horse is in a rest mode or a running mode by measuring at least one of the body temperature, heart rate, oxygen saturation, and amount of exercise of the horse. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2022-172965 Summary of the Invention [Problem to be solved by the invention]
[0004] For example, while training a horse such as a racehorse, it is preferable for the trainer to be able to recognize the running conditions of the horse. The technology of Patent Document 1 does not solve this problem.
[0005] According to some aspects of the present disclosure, an object is to provide an information processing system, etc., that can analyze the running conditions of a horse. [Means for solving the problem]
[0006] An information processing system of one embodiment of the present disclosure comprises one or more inertial sensors attached to the legs of a horse, a terminal that acquires the measurement values measured by the inertial sensors, and a server that acquires the measurement values from the terminal and analyzes the running status of the horse based on the point at which the acquired measurement values change from negative to positive. [Brief explanation of the drawings]
[0007] [Figure 1] FIG. 1 illustrates an example of the configuration of an information processing system. [Figure 2] FIG. 2 illustrates an example of a server configuration. [Figure 3A] FIG. 2 is a diagram illustrating an example of a first terminal. [Figure 3B] FIG. 2 is a diagram illustrating an example of an inertial sensor. [Figure 3C] FIG. 2 is a diagram illustrating an example of a second terminal. [Figure 4] FIG. 1 is a diagram showing an example of an inertial sensor attached to a horse's leg. [Figure 5] FIG. 4 is a sequence diagram illustrating an example of a first process according to an embodiment. [Figure 6] FIG. 10 is a diagram illustrating a first example of an abnormal value correction process. [Figure 7] FIG. 10 is a diagram illustrating a second example of the abnormal value correction process. [Figure 8A] FIG. 10 is a diagram showing the waveform of the measured value of the angular velocity of the Z axis of the inertial sensor before moving average processing is performed. [Figure 8B] 10 shows the waveform of the Z-axis measurement value of the angular velocity sensor after moving average processing. [Figure 9] 1 is a flowchart illustrating an example of a processing flow according to an embodiment. [Figure 10] 10 is a flowchart illustrating an example of the flow of an abnormal value correction process. [Figure 11] FIG. 10 is a diagram showing a first example of waveforms of the left and right front legs that have been subjected to moving average processing. [Figure 12] FIG. 10 is a diagram showing a second example of waveforms of the left and right front legs that have been subjected to moving average processing. [Figure 13] FIG. 4 is a diagram showing an example of a waveform of a measurement value of an acceleration sensor. [Figure 14] FIG. 10 is a sequence diagram illustrating an example of a second process according to the embodiment. [Figure 15] FIG. 10 is a diagram showing an example of a screen displayed on the second terminal. DETAILED DESCRIPTION OF THE INVENTION
[0008] This embodiment will be described below. FIG. 1 is a diagram showing an example of the configuration of an information processing system 100 of this embodiment. The information processing system 100 of this embodiment can be applied to, for example, a system that analyzes the running status of racehorses during training. However, the information processing system 100 can also be applied to analyzing the running status of horses other than racehorses. Hereinafter, racehorses will be simply referred to as horses.
[0009] The information processing system 100 includes a server 110 , a first terminal 120 , a second terminal 130 , a first inertial sensor 140 , and a second inertial sensor 150 .
[0010] The server 110 is an information processing device that performs various processes in this embodiment. The first terminal 120 is, for example, a terminal carried by a training assistant who rides the horse to be trained. The first terminal 120 is, for example, a device such as a smartphone.
[0011] The first terminal 120 acquires the measurement values (first measurement values) measured by the first inertial sensor 140 and the measurement values (second measurement values) measured by the second inertial sensor 150. The first terminal 120 also has a GPS function. The first terminal 120 transmits location information based on the GPS function and the acquired measurement values to the server 110 every predetermined time (for example, every second).
[0012] The second terminal 130 is a terminal that receives information indicating the running status of the horse analyzed by the server 110 and displays the information. The second terminal 130 is, for example, a terminal carried by a trainer. The second terminal 130 is, for example, a device such as a tablet terminal, a smartphone, or a laptop personal computer. The received information indicating the running status of the racehorse is displayed on the screen of the second terminal 130.
[0013] The first inertial sensor 140 and the second inertial sensor 150 (hereinafter sometimes collectively referred to as inertial sensors) are sensors attached to the horse's legs. The inertial sensor of this embodiment includes a three-axis angular velocity sensor and a three-axis acceleration sensor. However, the inertial sensor of this embodiment can also be applied to an inertial sensor that does not include an acceleration sensor. The angular velocity sensor and acceleration sensor included in the inertial sensor may be a four- or more-axis angular velocity sensor and a four- or more-axis acceleration sensor.
[0014] The first inertial sensor 140 is attached to the horse's left front leg. The second inertial sensor 150 is attached to the horse's right front leg. An inertial sensor similar to the first inertial sensor 140 may be attached to the horse's left hind leg. Also, an inertial sensor similar to the second inertial sensor 150 may be attached to the horse's right hind leg. Also, either one of the first inertial sensor 140 or the second inertial sensor 150 may be used, or an inertial sensor attached to each of the four legs may be used.
[0015] First terminal 120 associates each measurement value with location information based on the GPS function at the above-mentioned predetermined time intervals and transmits the associated measurement values to server 110. Each measurement value includes a measurement value from an angular velocity sensor and a measurement value from an acceleration sensor.
[0016] Next, an example of the configuration of the server will be described. Fig. 2 is a diagram showing an example of the configuration of the server. The server 110 has a control unit 210, a storage unit 211, and a communication unit 212. The control unit 210 performs various controls of the server 110. The control unit 210 has, for example, a processor and a memory. The processor executes programs stored in the memory to realize various processes executed by the server 110.
[0017] The processor is a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), etc. The memory is a semiconductor memory such as an SRAM (Static Random Access Memory), a DRAM (Dynamic Random Access Memory), or a flash memory. The control unit 210 may also be an FPGA (Field-Programmable Gate Array), etc. The above program may be stored in a non-transitory recording medium and provided to the control unit 210.
[0018] The storage unit 211 stores various types of information. As described above, the first terminal 120 transmits each measurement value and location information to the server 110 at predetermined time intervals. The control unit 210 of the server 110 associates each measurement value and location information received at predetermined time intervals with each other and stores them in chronological order in the storage unit 211. The control unit 210 also associates each measurement value and location information received at predetermined time intervals with running status information indicating the running status of the horse, such as speed, stride, and pitch, and stores them in chronological order in the storage unit 211.
[0019] Each time the server 110 receives each measurement value and location information from the first terminal 120 at predetermined time intervals, the control unit 210 stores records including elements such as time, measurement value, location information, and other information in order in the storage unit 211. Each of the above information may be stored in the storage unit 211 in a format other than a record.
[0020] The control unit 210 records the time information of the records in the order in which the server 110 receives each measurement value and location information from the first terminal 120, for example. If the above-mentioned predetermined time is set to one second, the control unit 210 records, for example, current time information in the time information of the first record when the server 110 first acquires each measurement value and location information. The current time information may be time information managed by the server 110, or may be acquired from a management server that manages time. The control unit 210 also records each measurement value and location information first acquired by the server 110 in the measurement value and location information of the first record.
[0021] The control unit 210 may record the current time in the time information of the second record when the server 110 receives each measurement value and location information for the second time. Also, the control unit 210 records each measurement value and location information acquired by the server 110 for the second time in the measurement value and location information of the second record. The same applies to recording each piece of information in the third and subsequent records.
[0022] As described above, the measurement values (first measurement value and second measurement value) and position information for each predetermined time period are stored in chronological order in the storage unit 211. Other information in each record includes information such as speed, stride, and pitch. Details of speed, stride, and pitch will be described later. The communication unit 212 performs wireless communication with the first terminal 120 and the second terminal 130.
[0023] Next, a description will be given of each unit of the control unit 210. The control unit 210 has a speed calculation unit 221, a number of completed steps calculation unit 222, a pitch calculation unit 223, a stride calculation unit 224, a moving average processing unit 225, a front determination unit 226, a gallop determination unit 227, a stress calculation unit 228, and an STR calculation unit 229.
[0024] The speed calculation unit 221 calculates the running speed of the horse as the running condition of the horse based on the amount of change in the horse's position information for each predetermined time. The amount of change in the horse's position information is obtained based on the GPS (Global Positioning System) function installed in the first terminal 120. The amount of change in the horse's position information represents the distance traveled by the horse.
[0025] The first terminal 120 is carried by, for example, an assistant trainer who is an assistant to the trainer riding the horse. The first terminal 120 also has a GPS function and transmits location information based on the GPS function to the server 110 at predetermined time intervals.
[0026] The amount of change (distance) in the position information for each predetermined time (for example, one second) based on the GPS function transmitted by the first terminal 120 carried by the assistant trainer riding the horse represents the horse's speed. The speed calculation unit 221 calculates the amount of change in the position information for each predetermined time as the horse's speed.
[0027] For example, suppose the above-mentioned multiple records are stored in chronological order in the storage unit 211. The speed calculation unit 221 acquires the position information of the previous and next records among each record, and calculates the amount of change in the acquired position information as the horse's speed. Similarly, the speed calculation unit 221 calculates the amount of change in the position information for each record at each predetermined time interval as the horse's speed.
[0028] The speed calculation unit 221 records the calculated horse speed, for example, in the other information of the later record among the preceding and following records. As a result, the horse speed corresponding to the time, measurement value, and position information is stored in the storage unit 211.
[0029] The completed stride calculation unit 222 calculates the number of completed strides of the horse as the running status of the horse based on the measurement values measured by the first inertial sensor 140 or the second inertial sensor 150. In the following description, the completed stride calculation unit 222 will be described as calculating the number of completed strides of the horse based on the measurement values measured by the first inertial sensor 140.
[0030] The first inertial sensor 140 has a triaxial angular velocity sensor. The measurement value measured by the triaxial angular velocity sensor of the first inertial sensor 140 exhibits a periodic waveform that fluctuates between negative and positive. The complete stride number calculation unit 222 calculates the number of times the measurement value measured by the triaxial angular velocity sensor of the first inertial sensor 140 changes from negative to positive as the number of complete strides of the horse. Details of the calculation of the number of complete strides of the horse will be described later with reference to FIG. 8B.
[0031] For example, the complete step count calculation unit 222 refers to each of the above records stored in chronological order in the storage unit 211, and calculates the number of times that the measurement value measured by the angular velocity sensor, among the measurement values of each record, changes from negative to positive as the number of completed steps of the horse. The complete step count calculation unit 222 stores the calculated number of completed steps of the horse in the storage unit 211. For example, the complete step count calculation unit 222 manages the calculated number of completed steps of the horse as data different from the above-mentioned records.
[0032] The interval from when the angular velocity sensor measurement value changes from negative to positive until the next change from negative to positive represents one complete stride of the horse. The complete stride calculation unit 222 calculates the interval from the first time point when the angular velocity sensor measurement value changes from negative to positive until the second time point when the angular velocity sensor measurement value next changes from negative to positive as one complete stride of the horse.
[0033] The pitch calculation unit 223 calculates the number of steps the horse takes within a predetermined time (for example, one second) as the horse's pitch. The horse's pitch is one of the horse's running conditions. The number of steps the horse takes is calculated by the stride calculation unit 222. The pitch calculation unit 223, for example, calculates the horse's pitch for each of the above-mentioned predetermined times, and records the calculated pitch information among other information in the record for the time corresponding to the predetermined time.
[0034] The stride calculation unit 224 calculates the distance traveled by the horse during one complete step calculated by the step count calculation unit 222 as the horse's stride. The horse's stride is one of the horse's running conditions. The distance traveled by the horse can be calculated based on the amount of change in location information obtained from the GPS function described above. The stride calculation unit 224, for example, calculates the stride for each complete step and records the calculated stride information among other information in the record corresponding to the location information.
[0035] The moving average processing unit 225 performs moving average processing on the angular velocity sensor measurement values among the measurement values received from the first terminal 120. A large amount of noise is superimposed on the angular velocity sensor measurement values. By performing moving average processing by the moving average processing unit 225, the effect of removing the superimposed noise can be obtained. Details of the moving average processing will be described later with reference to FIGS. 8A and 8B.
[0036] The near side determination unit 226 determines whether the near side of the horse is on the left or right side based on the phase difference between the waveform of the measurement value of the angular velocity sensor of the first inertial sensor 140 attached to the left front leg and the waveform of the measurement value of the angular velocity sensor of the second inertial sensor 150 attached to the right front leg. Details of determining the near side of the horse will be described later with reference to Figures 11 and 12.
[0037] The gallop determination unit 227 determines whether the horse's gait is a gallop based on the phase difference between the waveforms of the measurement values from the first inertial sensor 140 attached to the left front leg and the measurement values from the second inertial sensor 150 attached to the right front leg. Details of gallop determination will be described later with reference to Figures 11 and 12.
[0038] The stress calculation unit 228 calculates a value corresponding to the acceleration when the horse's leg, to which the inertial sensor is attached, touches the ground, based on the maximum local maximum value of the measurement values of the acceleration sensor of the inertial sensor during one complete stride. The value corresponding to the acceleration when the horse's leg touches the ground is, for example, stress. Details of the calculation of the value corresponding to the acceleration when the horse's leg touches the ground will be described later with reference to FIG. 13.
[0039] The STR (Swing Time Ratio) calculation unit 229 calculates the swing time as the proportion of time that the horse's leg, to which the inertial sensor is attached, is in the air during one complete stride, based on the time for one complete stride and the time from when the horse's leg touches the ground until it leaves the ground.
[0040] The time for one complete stride is obtained based on the time it takes for the measurement value measured by the angular velocity sensor in the inertial sensor to change from negative to positive and then change from negative to positive again. The time it takes for the horse's leg to touch the ground and then take off is obtained based on the largest and second largest maximum values measured by the acceleration sensor included in the inertial sensor. Details of swing time (STR) will be described later.
[0041] 3A is a diagram showing an example of first terminal 120. First terminal 120 has a control unit 310, a storage unit 311, a communication unit 312, a touch panel 313, a GPS signal receiver 314, and a sensor signal receiver 315. Control unit 310 includes a location information acquisition unit 350.
[0042] The control unit 310 includes, for example, a processor and a memory. The processor executes a program stored in the memory, thereby realizing various processes executed by the first terminal 120.
[0043] The memory unit 311 stores various types of information. The communication unit 312 communicates wirelessly with the server 110. The touch panel 313 has a display function and an input function. The GPS signal receiver 314 receives GPS signals. The location information acquisition unit 350 of the control unit 310 acquires location information of the first terminal 120 based on the GPS signals received by the GPS signal receiver 314. The sensor signal receiver 315 receives measurement values measured by the first inertial sensor 140 and the second inertial sensor 150.
[0044] 3B is a diagram showing an example of an inertial sensor. The first inertial sensor 140 and the second inertial sensor 150 each include a control unit 410, a three-axis angular velocity sensor 411, a three-axis acceleration sensor 412, and a measurement value output unit 413.
[0045] The control unit 410 includes, for example, a processor and a memory. The processor executes a program stored in the memory to realize various processes executed by the inertial sensor.
[0046] Triaxial angular velocity sensor 411 is a sensor that detects the angular velocity of the leg on which the inertial sensor is attached along three axes. Triaxial acceleration sensor 412 is a sensor that detects the acceleration of the leg on which the inertial sensor is attached along three axes. Measurement value output unit 413 outputs the values of the angular velocity measured by triaxial angular velocity sensor 411 and the values of the acceleration measured by triaxial acceleration sensor 412 to first terminal 120.
[0047] The inertial sensor of this embodiment may be, for example, an IMU (Inertial Measurement Unit). In this case, the inertial sensor may further include a temperature sensor. The inertial sensor may also be a gyro sensor.
[0048] 3C is a diagram showing an example of second terminal 130. Second terminal 130 includes control unit 510, communication unit 511, and touch panel 512. Control unit 510 has, for example, a processor and memory. Various processes executed by second terminal 130 are realized by the processor executing programs stored in the memory.
[0049] The communication unit 511 performs wireless communication with the server 110. The touch panel 512 has an input function and a display function.
[0050] 4 is a diagram showing an example of inertial sensors attached to the legs of a horse. A first inertial sensor 140 and a second inertial sensor 150 are attached to the horse H.
[0051] The first inertial sensor 140 is attached to the horse's left front leg so that the Z axis faces outward relative to the horse's direction of travel. The X axis of the first inertial sensor 140 attached to the horse's left front leg points from the horse's front leg to its hind leg, and the Y axis is vertical. For example, the Z axis is the yaw axis, the X axis is the roll axis, and the Y axis is the pitch axis.
[0052] The second inertial sensor 150 is attached to the horse's right front leg so that its Z axis faces outward relative to the horse's direction of travel. The Y axis of the second inertial sensor 150 attached to the horse's right front leg points from the horse's front leg to its hind leg, and the Z axis is vertical. The positive Z axis of the first inertial sensor 140 and the positive Z axis of the second inertial sensor 150 are opposite each other.
[0053] While the horse is running, vibrations increase in the first inertial sensor 140 and the second inertial sensor 150. In particular, the X-axis and Y-axis are directions in which the horse's legs move, and the noise superimposed on the angular velocity values measured by the first inertial sensor 140 and the second inertial sensor 150 increases.
[0054] On the other hand, the Z axis is perpendicular to the X and Y axes, and the noise superimposed on the angular velocity values of the Z axis measurement values is smaller than the angular velocity values of the X and Y axes measurement values. Therefore, in this embodiment, the first inertial sensor 140 and the second inertial sensor 150 are attached to the horse's legs so that the Z axis faces outward relative to the horse's direction of travel.
[0055] Hereinafter, in this embodiment, the angular velocity measurement values measured by the triaxial angular velocity sensors 411 of the first inertial sensor 140 and the second inertial sensor 150 and the angular velocity measurement values measured by the second inertial sensor 150 are assumed to be angular velocity measurement values rotating around the Z axis (yaw axis). Meanwhile, the description will be given assuming that the direction of acceleration measured by the triaxial acceleration sensors 412 of the first inertial sensor 140 and the second inertial sensor 150 is the direction of gravity.
[0056] Next, a first process in the system of this embodiment will be described. Fig. 5 is a sequence diagram showing an example of the first process of this embodiment. Each sensor (first inertial sensor 140 and second inertial sensor 150) outputs its measurement value to first terminal 120 (step S100). The measurement values include an angular velocity measurement value measured by triaxial angular velocity sensor 411 and an acceleration measurement value measured by triaxial acceleration sensor 412.
[0057] First terminal 120 acquires location information at predetermined time intervals based on the GPS function (step S103). First terminal 120 transmits the measurement values acquired from each sensor and the location information acquired based on the GPS function to server 110 at predetermined time intervals (step S104).
[0058] Server 110 receives at predetermined time intervals the measurement values and location information transmitted by first terminal 120. Control unit 210 of server 110 stores the received measurement values and location information in chronological order in storage unit 211 (step S105).
[0059] Each time the server 110 receives measurement values and location information, the control unit 210 of the server 110 records the time, measurement values, and location information in each record of the storage unit 211 in the order in which they were received. The processes of steps S101 to S105 are repeated. As a result, the measurement values and location information acquired by the server 110 are stored in the storage unit 211 in chronological order.
[0060] The control unit 210 of the server 110 performs a process of correcting abnormal values in the acquired location information (step S106). The processes from step S106 onward may be performed after the processes of steps S101 to S105 have been completed, or may be performed while the processes of steps S101 to S105 are being performed.
[0061] Next, the process of correcting abnormal values (abnormal value correction process) will be described. Fig. 6 is a diagram showing a first example of the abnormal value correction process. In the example of Fig. 6, position information P1 to P10 represents the position information acquired from first terminal 120 and stored in chronological order in storage unit 211. As described above, the position information and the horse's speed (and other information) are associated with each predetermined time (for example, every second).
[0062] 6, position information P1 is the earliest position information, and position information P2 to P10 represent position information that has changed over time. Each of the position information P1 to P10 is associated with information on the running speed of the horse.
[0063] As shown in the example of Figure 6, the control unit 210 analyzes the running direction (direction of travel) of the horse by connecting each piece of position information in order starting from position information P1. In the example of Figure 6, the horse runs in an approximately straight line from position information P1 to P5. If the line segment connecting position information P1 to P5 does not form a straight line, the control unit 210 may generate the running state of the horse as an approximately straight line based on the position information P1 to P5.
[0064] On the other hand, position information P6 deviates significantly from the running direction of the horse connecting position information P1 to P5. If the deviation of the position information from the running direction of the horse (the angle between the straight line connecting position information P5 and P6 and the running direction of the horse) is equal to or greater than a predetermined angle and either of the following two conditions is met, the control unit 210 performs a correction process to remove the position information. (Condition 1) The horse's speed corresponding to the position information is equal to or greater than the first speed. (Condition 2) If the speed has increased by more than the second speed from the speed in the previous location information The predetermined angle is, for example, equal to or greater than 80. For example, if the position information P6 deviates from the running direction of the horse by 80 degrees or more, there is a high possibility that an error has occurred in the position information P6.
[0065] The first speed is set to, for example, a speed equal to or greater than the maximum speed at which the horse can run (for example, 80 km / h). In this case, it can be assumed that the position information P6 based on the GPS function contains an error.
[0066] The second speed is set to a speed (for example, 20 km / h) that the horse can ascend at within a predetermined time (for example, 1 second). In this case, it can be assumed that the position information P6 based on the GPS function contains an error.
[0067] The speed calculation unit 221 of this embodiment removes, as an abnormal value, the running speed of the horse corresponding to the position information where the amount of change in the position information from the running direction of the horse is equal to or greater than a predetermined angle and where the running speed of the horse corresponding to the position information satisfies either of the two conditions described above, from among the running speeds of the horse corresponding to a plurality of consecutive position information. In the example of Figure 6, the position information P6 is an abnormal value.
[0068] As described above, the speed calculation unit 221 calculates the speed of the horse for each piece of position information based on the amount of change in the horse's position information over a predetermined period of time. As described above, the speed calculation unit 221 stores the calculated speed information in the other information of each record in the storage unit 211, in association with each piece of position information. In the example of FIG. 6, speed information associated with each piece of position information P1 to P10 is stored in the storage unit 211. If there are no abnormal values, the speed calculation unit 221 refers to the storage unit 211 and averages the speeds of the speed information associated with each of the ten pieces of position information P1 to P10. Then, the speed calculation unit 221 calculates the average speed of the ten velocities as the horse's speed.
[0069] 6, the speed calculation unit 221 removes the speed information corresponding to the position information P6 determined to be an abnormal value from among P1 to P10 using the above-mentioned method. In this case, the speed calculation unit 221 removes the speed information corresponding to the position information P6 determined to be an abnormal value from among P1 to P10 using the above-mentioned method. Then, the speed calculation unit 221 calculates the average speed of the nine pieces of speed information as the speed of the horse.
[0070] A large vibration is applied to the first terminal 120 carried by the training assistant riding the horse. As a result, a large amount of noise is superimposed on the position information based on the GPS function transmitted by the first terminal 120. The speed calculation unit 221 can reduce the influence of the noise by removing the above-mentioned abnormal values.
[0071] 7 is a diagram showing a second example of the abnormal value correction process. When it is determined that there is no deviation of a predetermined angle or more from the running direction of the horse, and when the above-mentioned condition 1 or condition 2 is satisfied, the speed calculation unit 221 performs the following process of dispersing the speed.
[0072] For example, if the position information P15 does not deviate by more than a predetermined angle from the running direction of the horse, the speed calculation unit 221 performs a process of dispersing the speeds if the speed of the horse corresponding to the position information P15 satisfies condition 1 or if the relationship between the speed of the horse corresponding to the position information P14 and the speed of the horse corresponding to the position information P15 satisfies condition 2.
[0073] For example, if the speed of the horse corresponding to the position information P15 is 84 km / h, the speed of the horse corresponding to the position information P15 satisfies the condition 1.
[0074] In this case, the speed calculation unit 221 distributes the horse's speed of 84 km / h corresponding to the position information P15 among the horse's speeds corresponding to the multiple pieces of position information before the position information P15. For example, the speed calculation unit 221 distributes 6 km / h among the horse's speeds corresponding to the position information P1 to P14 before the position information P15. In this case, 6 km / h is added to the horse's speeds corresponding to the position information P1 to P14.
[0075] If the speed of the horse corresponding to the position information P15 satisfies condition 2, the speed calculation unit 221, for example, distributes the increased speed (for example, 30 km / h) from the speed in the position information P14 to each of the horse's speeds corresponding to the position information P10 to P14 before the position information P15 by 6 km / h. In this way, even if the speed of the horse corresponding to the position information satisfies condition 1 or condition 2, the horse's speed can be equalized.
[0076] Returning to FIG. 5, server 110 performs moving average processing (step S107). The moving average processing will now be described. FIG. 8A is a diagram showing the waveform of the measured value of the angular velocity of the Z axis of the inertial sensor before the moving average processing is performed. The horizontal axis represents time, and the vertical axis represents the angular velocity (Z axis). FIG. 8B is a diagram showing the waveform of the measured value of the Z axis of the angular velocity sensor after the moving average processing is performed.
[0077] Control unit 210 acquires angular velocity measurement values stored in chronological order in each record of storage unit 211, and generates a waveform as shown in Fig. 8A from the acquired chronological angular velocity measurement values. Although Fig. 8A shows a continuous waveform, each chronological angular velocity measurement value is actually a discrete value. Control unit 210 may perform a predetermined arithmetic process on the discrete angular velocity measurement values to generate a continuous waveform as shown in Fig. 8A.
[0078] As shown in Fig. 8A, a lot of noise appears in the waveform of the measurement value of the angular velocity sensor before moving average processing is performed. Moving average processing unit 225 of control unit 210 performs moving average processing on the Z-axis measurement value of the angular velocity sensor. As a result, the waveform of the Z-axis measurement value of the angular velocity sensor is smoothed, as shown in Fig. 8B.
[0079] 5, the server 110 analyzes the running status of the horse using the various pieces of information described above (step S108). Then, the server 110 stores the analysis results in the storage unit 211 (step S109). Details of the analysis of the running status of the horse will be described later.
[0080] 9 is a flowchart showing an example of the processing flow of this embodiment. The control unit 210 determines whether there is a missing piece of position information or measurement values stored in chronological order in the storage unit 211 (step S201). For example, the control unit 210 may determine Yes in step S201 if there is no element in any of the records stored in the storage unit 211.
[0081] If there is a defect as described above, the control unit 210 determines "Yes" in step S201 and proceeds to step S202. The control unit 210 performs error processing (step S202). For example, the control unit 210 may send an error notification indicating that data analysis cannot be performed to the second terminal 130 via the communication unit 212. This allows the trainer operating the second terminal 130 to recognize that analysis cannot be performed due to the error.
[0082] If there is no defect as described above, control unit 210 determines No in step S201 and proceeds to step S203. Control unit 210 performs the abnormal value correction process as described above (step S203). Figure 10 is a flowchart showing an example of the flow of the abnormal value correction process.
[0083] The control unit 210 sequentially acquires position information for each predetermined time period stored in the storage unit 211 in chronological order, and detects the running direction of the horse from the acquired position information for each predetermined time period (step S251).
[0084] The control unit 210 determines whether the deviation from the running direction of the horse, which was detected based on multiple pieces of position information before the acquired position information, is equal to or greater than a predetermined angle for each piece of position information acquired sequentially (step S252).
[0085] 6, the position information P6 is shifted by a predetermined angle or more from the running direction of the horse. In this case, the control unit 210 determines Yes in step S252. If the control unit 210 determines Yes in step S252, it proceeds to step S253.
[0086] The control unit 210 refers to the storage unit 211 to acquire horse speed information corresponding to the position information that is the subject of the determination in step S252, and determines whether the acquired horse speed is equal to or greater than a first speed (step S253). If the acquired horse speed is equal to or greater than the first speed, the control unit 210 removes information (horse speed information) of points that are equal to or greater than the first speed (step S254). This removes abnormal values, as described above.
[0087] If the determination in step S253 is No, the control unit 210 proceeds to the process in step S255. The control unit 210 refers to the memory unit 211 and determines whether the speed of the horse corresponding to the position information that is the subject of the determination in step S252 has increased by a second speed or more from the speed of the horse corresponding to the immediately preceding position information (step S255).
[0088] If the speed of the horse corresponding to the position information that is the subject of the judgment in step S252 has increased by more than the second speed from the speed of the horse corresponding to the immediately previous position information, the control unit 210 judges Yes in step S255 and proceeds to the processing in step S256.
[0089] The control unit 210 removes information on points where the speed has increased by more than the second speed (information on the horse's speed) (step S256). As a result, the abnormal value is removed as described above. If the control unit 210 determines No in step S255, it ends the abnormal value correction process without performing correction processing on the abnormal value.
[0090] If the control unit 210 determines No in step S252, it proceeds to step 257. The control unit 210 refers to the memory unit 211, acquires information on the horse's speed corresponding to the position information that is the subject of the determination in step S252, and determines whether the acquired horse's speed is equal to or greater than the first speed (step S257).
[0091] If the acquired horse speed is equal to or greater than the first speed, the control unit 210 proceeds to step S258. If the acquired horse speed is equal to or greater than the first speed, the control unit 210 distributes the horse speed corresponding to the position information that is equal to or greater than the first speed among the horse speeds corresponding to multiple position information items that precede the position information (step S258). For example, as in the example of FIG. 7, the control unit 210 distributes the horse speeds that are equal to or greater than the first speed among multiple points (horse speeds corresponding to position information). This corrects abnormal values and smooths the horse speeds, as described above.
[0092] If the acquired horse speed is not equal to or greater than the first speed, the control unit 210 proceeds to step S259. The control unit 210 refers to the storage unit 211 in which the horse speeds corresponding to the position information are stored, and determines whether the horse speed corresponding to the position information that is the subject of the determination in step S252 has increased by equal to or greater than the second speed from the horse speed corresponding to the immediately preceding position information (step S259).
[0093] If the speed of the horse corresponding to the position information that is the subject of the judgment in step S252 has increased by more than the second speed from the speed of the horse corresponding to the immediately previous position information, the control unit 210 judges Yes in step S259 and proceeds to step S260.
[0094] The control unit 210 distributes the horse speed information corresponding to the position information of the point where the speed has increased by more than the second speed among the horse speeds corresponding to the multiple position information before that position information (step S260). As a result, as described above, the abnormal value is corrected and the horse speed is smoothed. If the control unit 210 determines No in step S259, it ends the abnormal value correction process without performing correction processing for the abnormal value.
[0095] 9, after the abnormal value correction process is completed, the speed calculation unit 221 calculates the horse's speed (step S204). As described above, the first terminal 120 carried by the training assistant riding the running horse transmits location information based on the GPS function to the server 110 at predetermined time intervals.
[0096] The control unit 210 of the server 110 stores in chronological order the position information (position information of the first terminal 120) acquired from the first terminal 120 for each predetermined time in the storage unit 211. The speed calculation unit 221 calculates the amount of change in the position information of the first terminal 120 for each predetermined time stored in chronological order in the storage unit 211 as the speed of the horse. Furthermore, the speed calculation unit 221 associates each piece of position information with the calculated information on the horse's speed and stores it in the storage unit 211.
[0097] The abnormal values have been corrected in step S203 described above. The speed calculation unit 221 performs abnormal value correction processing on the running speeds of the horse that are determined to have abnormal values among the running speeds of the horse corresponding to multiple consecutive pieces of position information, and calculates the running speed of the horse. For example, as described using the examples of Figures 6 and 7, the speed calculation unit 221 removes the speed information with abnormal values and averages them, or disperses the horse's speed. This allows the speed calculation unit 221 to calculate the horse's speed with abnormal values removed.
[0098] Moving average processing unit 225 performs moving average processing on the angular velocity sensor measurement values among the measurement values acquired from first terminal 120 (step S205). As described above, the measurement values are stored in chronological order together with the position information in storage unit 211. Moving average processing unit 225 performs moving average processing on the angular velocity sensor measurement values stored in storage unit 211. This smooths the waveform of the angular velocity sensor measurement values.
[0099] The completed step count calculation unit 222 detects multiple points where the waveform of the Z-axis measurement value of the angular velocity sensor that has been subjected to the moving average process changes from negative to positive (step S206). In the example of FIG. 8B, six points A1 to A6 are detected.
[0100] The completed stride calculation unit 222 calculates the number of detected points as the number of completed strides of the horse (step S207). For example, the completed stride calculation unit 222 calculates the number of points in the waveform of Fig. 8B where the measurement value of the angular velocity sensor changes from negative to positive over a certain distance (for example, one mile) as the number of completed strides over the certain distance.
[0101] The pitch calculation unit 223 calculates the number of steps taken during a predetermined time period as the horse's pitch (step S208). The stride calculation unit 224 calculates the distance traveled by the horse during one step calculated by the step count calculation unit 222 as the stride (step S209). The distance traveled by the horse can be calculated based on the amount of change in position information obtained from the GPS function described above.
[0102] The pitch calculation unit 223 may, for example, calculate the average value of the calculated multiple pitch values as the horse's pitch. Also, the stride calculation unit 224 may, for example, calculate the average value of the calculated multiple stride values as the horse's stride.
[0103] The near side determination unit 226 determines the near side of the horse (step S210). Determining the near side of the horse will now be described. The first terminal 120 transmits to the server 110 at predetermined time intervals a first measurement value measured by the first inertial sensor 140 attached to the left front leg of the horse and a second measurement value measured by the second inertial sensor 150 attached to the right front leg of the horse.
[0104] As described above, the control unit 210 of the server 110 stores the first measurement values and the second measurement values in chronological order in the storage unit 211. The moving average processing unit 225 performs moving average processing on the waveforms of the measurement values of the angular velocity sensor among the first measurement values and the measurement values of the angular velocity sensor among the second measurement values stored in chronological order in the storage unit 211.
[0105] Figure 11 shows a first example of waveforms of the left and right front legs that have been subjected to moving average processing. For the sake of explanation, the waveforms in Figure 11 are shown as sine waves, but in reality they are periodic waveforms like those in Figure 8B.
[0106] Here, we will explain the lead of a horse. There are two ways in which a horse runs: left lead, where the left front leg is put forward before the right front leg, and right lead, where the right front leg is put forward before the left front leg. When a horse is running at high speed, such as in a gallop, the lead of the horse will be either left lead or right lead.
[0107] When a horse is running at a slow speed, such as walking, the waveforms of the left and right front legs are aligned, with no one in front. As a result, as shown in Figure 11, the waveform of the first measurement value (left front leg) measured by the angular velocity sensor and the waveform of the second measurement value (right front leg) measured by the angular velocity sensor are in phase, or there is almost no phase difference between them.
[0108] On the other hand, when the horse's gait becomes a gallop, a phase shift occurs between the waveform of the angular velocity sensor measurement value of the first measurement value (left front leg) and the waveform of the angular velocity sensor measurement value of the second measurement value (right front leg).
[0109] Fig. 12 is a diagram showing a second example of waveforms of the left and right front legs that have been subjected to moving average processing. Fig. 12 shows the waveforms when the horse is leading to the right. In the waveforms in Fig. 12, there is a phase shift between the waveform of the angular velocity sensor measurement value among the first measurement values (left front leg) and the waveform of the angular velocity sensor measurement value among the second measurement values (right front leg).
[0110] The front determining unit 226 determines that the front leg is right if the phase of the waveform of the left front leg is shifted forward by a predetermined range from the phase of the waveform of the right front leg.Furthermore, the front determining unit 226 determines that the front leg is left if the phase of the waveform of the left front leg is shifted backward by a predetermined range from the phase of the waveform of the right front leg.
[0111] For example, the front determining unit 226 determines that the horse is right front when the phase of the waveform of the left front leg is shifted forward by 0% to 30% from the phase of the waveform of the right front leg. Also, the front determining unit 226 determines that the horse is left front when the phase of the waveform of the left front leg is shifted backward by 0% to 30% from the phase of the waveform of the right front leg. In the example of Fig. 12, the phase of the waveform of the left front leg is shifted forward by 0% to 30% from the phase of the waveform of the right front leg, so the front determining unit 226 determines that the horse's front is right front.
[0112] As described above, by comparing the phase of the waveform of the angular velocity sensor measurement value among the first measurement values (left front leg) with the phase of the waveform of the angular velocity sensor measurement value among the second measurement values (right front leg), it is possible to determine whether the horse is in front of the lead. Determining whether the horse is in front of the lead may be performed not only when the horse's gait is in a gallop, but also when the horse is in a trot, for example. In a trot, the horse's speed is faster than when it is in a walk but slower than when it is in a gallop.
[0113] Returning to Figure 9, the gallop determination unit 227 determines whether the horse's gait is a gallop (step S211). Similar to the approach determination unit 226, the gallop determination unit 227 detects a phase shift between the waveform of the angular velocity sensor measurement value among the first measurement values (left front leg) and the waveform of the angular velocity sensor measurement value on the Z axis among the second measurement values (right front leg). If the detected phase shift is equal to or greater than a predetermined amount, the gallop determination unit 227 determines that the horse's gait is a gallop.
[0114] As mentioned above, when a horse is running at high speed, such as at a gallop, a phase difference occurs between the waveform of the first measurement value (left front leg) and the waveform of the second measurement value (right front leg).
[0115] The faster the horse's running speed, the greater the difference in phase between the waveform of the first measurement value (left front leg) and the waveform of the second measurement value (right front leg). The gallop determination unit 227 determines that the horse's gait is in a gallop state when the difference in phase between the waveform of the first measurement value (left front leg) and the waveform of the second measurement value (right front leg) is equal to or greater than a predetermined amount. The predetermined amount may be set to any value (for example, 25%).
[0116] The gallop determination unit 227 may also determine whether the horse's gait is a gallop, a trot, or a walk. For example, if the phase shift is equal to or less than the predetermined amount (e.g., 25%) and greater than the first shift amount (e.g., 10%), the horse's gait may be determined to be a trot. In this case, the first shift amount is set to a value lower than the predetermined amount.
[0117] If the phase shift is equal to or less than the first shift amount (for example, 10%), the horse's gait may be determined to be trotting. In this case, the second shift amount is set to a value lower than the first shift amount.
[0118] 9, the stress calculation unit 228 calculates a value corresponding to the acceleration when the horse's leg touches the ground (step S212). The value corresponding to the acceleration is the stress on the horse's leg when the horse's leg touches the ground.
[0119] The calculation of a value corresponding to the acceleration when the horse's leg touches the ground will now be described. Fig. 13 is a diagram showing an example of the waveform of the measured value of the acceleration sensor. The horizontal axis represents position information, and the vertical axis represents the acceleration value.
[0120] As described above, server 110 acquires angular velocity sensor measurement values and acceleration sensor measurement values from the inertial sensor at predetermined time intervals. Control unit 210 of server 110 stores the angular velocity sensor measurement values and acceleration sensor measurement values in chronological order in storage unit 211.
[0121] The stress calculation unit 228 acquires the acceleration sensor measurement values stored in chronological order in the storage unit 211, and generates a waveform of the acquired acceleration sensor measurement values. The stress calculation unit 228 also identifies the section of one complete stride.
[0122] As described above, in step S206, the number of completed steps calculation unit 222 calculates the section from the point where the waveform of the Z-axis measurement value of the angular velocity sensor changes from negative to positive (first time point) to the point where the waveform next changes from negative to positive (second time point) as one complete step.
[0123] The storage unit 211 stores the angular velocity sensor measurement values and the acceleration sensor measurement values in chronological order at predetermined time intervals. The first time point and the second time point correspond to the position information of each record. The stress calculation unit 228 identifies one complete step based on the position information corresponding to the first time point and the position information corresponding to the second time point.
[0124] The stress calculation unit 228 extracts the largest and second largest local maximum values of the measured values of the acceleration sensor from the section of the waveform in the example of FIG. 13 that corresponds to the identified section of one complete stride.
[0125] For example, assume that the waveform C1 for one complete stride in the example waveform of Figure 13 contains the largest maximum value B1 and the second largest maximum value B2. The stress calculation unit 228 calculates the largest maximum value B1 as a value corresponding to the acceleration when the horse's leg touches the ground. This provides a value corresponding to the acceleration when the horse's leg touches the ground.
[0126] The stress calculation unit 228 also calculates the second largest local maximum value B2 as a value corresponding to the acceleration when the horse's leg leaves the ground, thereby obtaining a value corresponding to the acceleration when the horse's leg leaves the ground.
[0127] 9, the STR calculation unit 229 calculates the proportion of time that the horse's legs are in the air (STR) based on the largest and second largest maximum values of the measured values of the acceleration sensor (step S213). The STR calculation unit 229 calculates STR based on the following formula (1): "STR=(T-(t1-t2)) / T...(Formula 1)" T represents the time for one complete stride. T can be obtained based on the time between the first time point and the second time point described above. t1 is the time when the horse's leg touches the ground, and corresponds to the time of the largest maximum value during one complete stride described above. t2 is the time when the horse's leg leaves the ground, and corresponds to the time of the second largest maximum value during one complete stride described above. "t1-t2" represents the time when the horse's leg is in contact with the ground.
[0128] Therefore, STR obtained by the above-mentioned formula 1 represents the proportion of the time during one complete stride during which the leg on which the inertial sensor is attached is in the air (proportion of swing time). This makes it possible to obtain the proportion of time during which the leg on which the inertial sensor is attached is in the air. This completes the processing of the flowchart in Figure 9.
[0129] Next, a second process flow for displaying driving conditions and map information on the second terminal of this embodiment will be described. Fig. 14 is a sequence diagram showing an example of the second process of this embodiment. Steps S101 to S108 are the same as those in the sequence diagram of Fig. 5, so their description will be omitted.
[0130] In step 108, server 110 analyzes the driving conditions. Server 110 stores the analysis results in storage unit 211 and outputs the analysis results to second terminal 130 (step S301). Second terminal 130 displays the analysis results acquired from server 110 on touch panel 512 (step S302).
[0131] 15 is a diagram showing an example of a screen displayed on the second terminal 130. The screen displayed on the second terminal 130 includes running status information 601 and map information 602. The running status information 601 includes information on speed, stride, and pitch. The horizontal axis of the running status information 601 represents position information, and the vertical axis represents speed, stride, and pitch.
[0132] As described above, the control unit 210 of the server 110 acquires location information from the first terminal 120 at predetermined time intervals and stores the information in chronological order in the storage unit 211. The speed calculation unit 221 also stores the calculated speed information for each record described above in the storage unit 211. The control unit 210 of the server 110 refers to the storage unit 211 and causes the touch panel 512 of the second terminal 130 to display the speed information corresponding to the location information.
[0133] The stride calculation unit 224 stores the calculated stride information for each record in the storage unit 211. The control unit 210 of the server 110 refers to the storage unit 211 and causes the touch panel 512 of the second terminal 130 to display the stride information corresponding to the position information.
[0134] The pitch calculation unit 223 stores the calculated pitch information for each record described above in the storage unit 211. The control unit 210 of the server 110 refers to the storage unit 211 and causes the touch panel 512 of the second terminal 130 to display the pitch information corresponding to the position information.
[0135] The running condition information 601 also includes information about the area in front. The area in front determination unit 226 determines whether the area in front of the horse is on the left or right. The area in front determination unit 226 stores, in the memory unit 211, area in front information indicating whether the area in front of the determined horse is on the left or right, or whether there is no area in front, in correspondence with the position information. The control unit 210 of the server 110 refers to the memory unit 211 and causes the touch panel 512 of the second terminal 130 to display the area in front corresponding to the position information.
[0136] In the example of FIG. 13 , the left section 610L indicates that the horse's front is on the left. The right section 610R indicates that the horse's front is on the right. Sections other than the left section 610L and the right section 610R indicate that there is no horse in front. The left section 610L and the right section 610R may be displayed in different ways. This allows the left section 610L and the right section 610R to be displayed on the touch panel 512 in a format that is easy to visually recognize.
[0137] The running condition information 601 includes a slide bar 620. The slide bar 620 can be operated by an operator (for example, a trainer) who operates the second terminal 130. The pointer 620C is an indicator that displays the numerical values of the speed, stride, and pitch.
[0138] For example, suppose the trainer performs an operation to move pointer 620C along slide bar 620. Second terminal 130 transmits the position information designated by the received operation to move pointer 620C to server 110 as designated position information.
[0139] The control unit 210 of the server 110 references the storage unit 211 and outputs the speed, stride, and pitch values corresponding to the designated position information to the second terminal 130. The second terminal 130 displays the output speed, stride, and pitch values in association with the pointer 620C. At this time, the second terminal 130 may also display the designated position information in association with the pointer 620C. For example, in the example of FIG. 15, it is "3000m."
[0140] The map information 602 is stored, for example, in the storage unit 211 of the server 110. The first terminal 120 transmits location information based on the GPS function to the server 110 at predetermined time intervals. The control unit 210 of the server 110 stores the received location information in chronological order in the storage unit 211. The control unit 210 of the server 110 acquires the location information stored in chronological order in the storage unit 211, and superimposes, on the map information 602, movement history information indicating the history of positions where the horse has walked or run, corresponding to the acquired location information.
[0141] First movement history information 621A included in map information 602 represents, for example, a position near a gate of a training course. Second movement history information 622A included in map information 602 represents, for example, a flat course. Third movement history information 623A included in map information 602 represents, for example, a slope course. This allows the horse's movement history on map information 602 to be confirmed on touch panel 512 of second terminal 130.
[0142] Furthermore, slide bar 620 includes first section information 621B, second section information 622B, and third section information 623B. First section information 621B corresponds to the above-mentioned first movement history information 621A. Second section information 622B corresponds to the above-mentioned second movement history information 622A. Third section information 623B corresponds to the above-mentioned third movement history information 623A.
[0143] Each piece of travel history information superimposed on map information 602 and each piece of section information included in slide bar 620 can be obtained based on location information stored in chronological order in storage unit 211. Server 110 causes touch panel 512 of second terminal 130 to display a screen including the above-mentioned each piece of travel history information and each piece of section information.
[0144] This allows the trainer operating the second terminal 130 to recognize which course in the map information 602 the position corresponding to the pointer 620C, which displays the numerical values of speed, stride, and pitch, corresponds to.
[0145] As explained above, the first terminal 120 acquires measurement values from the inertial sensor attached to the horse and transmits the acquired measurement values to the server 110 at predetermined time intervals. The server 110 analyzes the number of completed strides of the horse based on the point at which each measurement value changes from negative to positive at each predetermined time interval. This makes it possible to analyze the running status of the horse.
[0146] For example, in the above description, the information processing system 100 has the first terminal 120, the second terminal 130, the server 110, etc. However, for example, the first terminal or the second terminal may have the configuration and functions of the server 110. Also, the information processing device in the claims corresponds to the server 110 in the above embodiment, but may also correspond to the first terminal or the second terminal.
[0147] Those skilled in the art will readily understand that many modifications are possible without substantially departing from the novel features and effects of the above-described embodiments. Therefore, all such modifications are intended to be included within the scope of the present disclosure. For example, a term described at least once in the specification or drawings together with a different term having a broader or similar meaning can be replaced with that different term anywhere in the specification or drawings. Furthermore, all combinations of the embodiments and modifications are also included within the scope of the present disclosure. Furthermore, the configurations and operations of the devices are not limited to those described in the embodiments, and various modifications are possible. [Explanation of symbols]
[0148] 100...information processing system, 110...server, 120...first terminal, 130...second terminal, 140...first inertial sensor, 150...second inertial sensor, 210...control unit, 211...storage unit, 212...communication unit, 221...speed calculation unit, 222...number of completed steps calculation unit, 223...pitch calculation unit, 224...stride calculation unit, 225...moving average processing unit, 226...front determination unit, 227...gallop determination unit, 228...stress calculation unit, 229...STR calculation unit
Claims
1. one or more inertial sensors attached to the horse's legs; a terminal that acquires the measurement values measured by the inertial sensor; a server that acquires the measurement values from the terminal and analyzes the running status of the horse based on the point at which the acquired measurement values change from negative to positive; An information processing system comprising:
2. the terminal has a location information acquisition unit that acquires location information of the horse at predetermined time intervals; 2. The information processing system according to claim 1, wherein the server comprises a speed calculation unit that calculates the speed of the horse for each predetermined time period as the running condition of the horse based on the amount of change in the position information.
3. each of the one or more inertial sensors includes an angular rate sensor; 2. The information processing system according to claim 1, wherein the server further comprises a step count calculation unit that calculates the number of steps completed by the horse as the running status of the horse based on the number of times the measurement value of the angular velocity sensor changes from negative to positive.
4. 4. The information processing system according to claim 3, wherein the server further comprises a pace calculation unit that calculates the pace of the horse as the running condition of the horse based on the number of steps completed by the horse within a predetermined time period.
5. the terminal has a location information acquisition unit that acquires location information of the horse at predetermined time intervals; The server 2. The information processing system of claim 1, further comprising a stride calculation unit that calculates the stride of the horse as the running condition of the horse based on the position information of the horse that changes from a first point in time when the measurement value changes from negative to positive to a second point in time when the measurement value next changes from negative to positive.
6. The information processing system according to claim 2 , wherein the speed calculation unit calculates the speed of the horse for each predetermined time period, and removes abnormal values from the calculated speed of the horse for each predetermined time period.
7. 7. The information processing system according to claim 6, wherein the abnormal value is detected based on a change in the direction of travel of the horse and a speed of the horse, which are obtained based on the position information of the horse for each predetermined time period.
8. 3. The information processing system according to claim 2, wherein the speed calculation unit calculates the speed of the horse for each predetermined time period, and distributes the calculated horse speeds that are equal to or greater than a predetermined speed among the horse speeds for each predetermined time period to the speeds of multiple other horses.
9. 3. The information processing system according to claim 2, wherein the speed calculation unit calculates the speed of the horse for each predetermined time period, and distributes the calculated horse speeds whose increase in speed from the previously calculated speed is equal to or greater than a predetermined increase to the speeds of multiple other horses among the horse speeds for each predetermined time period.
10. The information processing system according to claim 1 , wherein the server includes a moving average processing unit that performs processing by applying a moving average to the measurement value.
11. The one or more inertial sensors a first inertial sensor attached to the left front leg of the horse; a second inertial sensor attached to the right front leg of the horse; the first inertial sensor and the second inertial sensor each include an angular velocity sensor; The server 2. The information processing system of claim 1, further comprising a front determination unit that determines whether the front of the horse is to the left or right based on a first waveform indicated by a first measurement value obtained from the angular velocity sensor of the first inertial sensor and a second waveform indicated by a second measurement value obtained from the angular velocity sensor of the second inertial sensor.
12. The information processing system of claim 11, wherein the server further comprises a gallop determination unit that determines that the horse's gait is in a gallop state when the amount of shift between the phase of the first waveform and the phase of the second waveform is less than a predetermined amount.
13. each of the one or more inertial sensors includes an acceleration sensor; The information processing system of claim 1, wherein the server further has a stress calculation unit that calculates a value corresponding to the acceleration when the horse's leg to which the acceleration sensor is attached touches the ground based on the vertical value of the maximum maximum value of the measurement value detected by the acceleration sensor between a first point in time indicating that the measurement value changed from negative to positive and a second point in time indicating the next change from negative to positive.
14. each of the one or more inertial sensors includes an acceleration sensor; 2. The information processing system of claim 1, wherein the server further comprises a swing time proportion calculation unit that calculates a proportion of the swing time of the horse's leg based on the vertical values of the largest and second largest maximum values among the measurement values detected by the acceleration sensor between a first point in time indicating that the measurement value has changed from negative to positive and a second point in time indicating the next change from negative to positive, and the time from the first point in time to the second point in time.
15. one or more inertial sensors attached to the horse's legs; a first terminal that acquires a measurement value measured by the inertial sensor and transmits the acquired measurement value to a server; a second terminal that displays the running status of the horse by the server that analyzes the running status of the horse based on the point where the received measurement value changes from negative to positive; An information processing system comprising:
16. a communication unit that acquires measurement values from a terminal that acquires measurement values measured by one or more inertial sensors attached to the legs of the horse; a control unit that analyzes the running status of the horse based on the point at which the acquired measurement value changes from negative to positive; An information processing device comprising:
17. Acquire measurements taken by one or more inertial sensors attached to the horse's legs; analyzing the running status of the horse based on the point at which the measurement value changed from negative to positive; An information processing method in which processing is performed by a computer.
18. The measurement values measured by one or more inertial sensors attached to the legs of the horse are acquired from a terminal that acquires the measurement values; analyzing the running state of the horse based on the point at which the acquired measurement value changes from negative to positive; A program that causes a computer to execute a process.
Citation Information
Patent Citations
Monitoring device, monitoring system, condition evaluation system, and condition evaluation method for racehorses
JP2010282456A
Measurement device, measurement method, and measurement program
JP2016013112A
Body characteristic measuring device, body characteristic measuring program, and body characteristic measuring method
JP2018014979A
Deep learning-based horse speed calculation system and method
JP2021114288A
Equine-wearable device, performance analysis system and method
JP2022501051A