Systems and Methods for Interfacing Exercise Equipment Sensors with Software Applications

Information

  • Patent Application
  • 20250114685
  • Publication Number
    20250114685
  • Date Filed
    October 03, 2024
    10 months ago
  • Date Published
    April 10, 2025
    3 months ago
  • Inventors
    • Madan; Manush Lochan
    • Madan; Lalima Katyayani (Charleston, SC, US)
Abstract
The present invention discloses systems and methods for interfacing exercise equipment sensors, like cadence and speed sensors, with software applications, such as video games and interactive software, without requiring any modification to the software applications. Central to the invention is an Interface System, comprising modules for sensor communication and data acquisition, data analysis, and compatible input generation such as input event simulation, including key press and key release, and Human Interface Device (HID) input generation. The innovation addresses the challenge of incompatible sensor data by generating compatible input for the software applications. The methods involve reading sensor data, storing it for analysis, recognizing user behavior, and determining and generating compatible input that interact with the software applications.
Description
TECHNICAL FIELD

The present invention pertains to the field of exercise equipment technology and software application integration. The invention provides systems and methods for seamless interfacing of exercise equipment sensors, such as cadence and speed sensors, commonly utilized in pedaling based exercise equipment like exercise bikes, with software applications, like video games and interactive software, without necessitating any modifications to the software applications.


BACKGROUND OF THE INVENTION

The proliferation of exercise equipment and exercise equipment sensors, such as cadence and speed sensors commonly used in pedaling based exercise equipment, has opened new possibilities for creating interactive and immersive user experiences. These sensors allow users to enrich their fitness routines by integrating physical activity with engaging digital experiences. However, there has been a limitation in effectively integrating these sensor capabilities with existing software applications, particularly those that are not specifically designed to interact with exercise equipment sensors, without necessitating any modifications to the existing software applications themselves.


The U.S. Pat. Nos. 10,434,422 B2, 8,979,711 B2, 7,837,595 B2 and United States Patent Application No. US 2019/0247753 A1 and the WIPO PCT Application No. WO 2022/256652 A1, focus on exercise equipment sensors and their applications in specific contexts. However, none of these patents or applications address the integration of these sensor capabilities with existing software applications, especially those not explicitly designed for interaction with exercise equipment sensors, without requiring modifications to the existing software applications.


Software applications, including video games and interactive software, have traditionally relied on input devices such as keyboards, mice and gamepads for user interaction, limiting the integration of sensor data from exercise equipment for user interaction. This limitation has hindered the seamless incorporation of physical activity into virtual environments. Systems and methods are needed to enable exercise equipment sensors to interact with software applications without requiring any modifications to the software applications, thereby ensuring full compatibility and seamless integration.


Therefore, there is a need in the art for systems and methods for seamless interfacing of exercise equipment sensors with software applications.


SUMMARY OF THE INVENTION

The invention herein disclosed and claimed encompasses systems and methods for interfacing of exercise equipment sensors, such as cadence and speed sensors, with software applications, such as video games and interactive software, without requiring any modification to the software applications. The systems in the invention each consists of a sub-system referred to as the Interface System, having multiple modules relating to sensor communication and data acquisition, data analysis, and compatible input generation such as input event simulation and Human Interface Device (HID) input generation. The innovation lies in generation of input, based on sensor data, that is compatible with the software application, addressing the challenge that sensor data itself is not compatible with the software application. The methods in the invention each consists of multiple steps. It starts with the process of discovery, identification and connection establishment between exercise equipment sensors and the Interface System enabling real-time data communication between the two. The innovation lies in the steps, wherein a compatible input is generated, based on the incompatible sensor data, which is provided to the software application enabling interaction between the sensors and the software application. This seamless interfacing mechanism is the crux of the invention, enabling actions on the exercise equipment to seamlessly translate into software application interactions without modifying the software application itself.


The invention includes a system enabling the interfacing of exercise equipment sensors, such as cadence or speed sensors, with software applications. It includes a sub-system referred to as the Interface System that facilitates sensor discovery, real-time communication, data analysis, and the generation of simulated inputs events, including key press and key release, to interact with software applications.


The invention includes a computer-implemented method for interfacing exercise sensors with software applications, involving reading sensor data, storing it for analysis, recognizing user behavior, and determining and generating simulated input events, including key press and key release, that interact with software applications.


The invention includes a non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform a method for interfacing exercise equipment sensors with software, including reading and analyzing sensor data, recognizing behavior, and determining and generating simulated input events for interaction.


The invention includes another system where the sub-system referred to as the Interface System facilitates sensor discovery, real-time communication, data analysis, and the generation Human Interface Device (HID) inputs to interact with software applications.


The invention includes another computer-implemented method involving reading sensor data, storing it for analysis, recognizing user behavior, and determining and generating HID inputs that interact with software applications.


The invention includes a non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to perform a method including reading and analyzing sensor data, recognizing behavior, and determining and generating HID inputs for interaction.





BRIEF DESCRIPTION OF DRAWINGS


FIG. 1 is a block diagram of the present invention in a system where a sub-system referred to as the Interface System is on the same device on which the software application is running.



FIG. 2 is a block diagram of the present invention in another system where the Interface System is on a separate device from the device on which the software application is running.



FIG. 3 is a flowchart illustrating the process for setting up the sensors for use in the present invention.



FIG. 4 is a flowchart illustrating a method for the present invention in a system where the Interface System is on the same device on which the software application is running.



FIG. 5 is a flowchart illustrating a method for the present invention in a


system where the Interface System is on a separate device from the device on which the software application is running.



FIG. 6 is a schematic view of a physical embodiment used for implementing the present invention in which the Interface System is on the same device on which the software application is running.



FIG. 7 is a schematic view of a physical embodiment used for implementing the present invention in which the Interface System is on a separate device from the device on which the software application is running.





DETAILED DESCRIPTION OF THE INVENTION

The present invention pertains to systems and methods for seamlessly interfacing exercise equipment sensors with software applications that lack inherent compatibility. More specifically, the invention introduces a novel solution for enabling the integration of sensors such as cadence and speed sensors, typically employed in pedaling based exercise equipment such as exercise bikes, with software applications such as interactive software like games, which are designed to be operated through conventional human interface devices like keyboards, mice, and gamepads, without making any modifications to the software application.


In FIG. 1, a system of the present invention includes sensors (FIG. 1, 103), such as cadence and speed sensors, on an exercise equipment (FIG. 1, 101) and a computing device (FIG. 1, 102), such as a personal computer or a gaming console, running a software application (FIG. 1, 109) on an operating system (FIG. 1, 104). A sub-system referred to as the Interface System (FIG. 1, 105), is present on the device running the software application. The Interface System comprises of three modules: Sensor Communication & Data Acquisition Module (FIG. 1, 106), Data Analysis Module (FIG. 1, 107), and Input Events Simulation Module (FIG. 1, 108).


In the sub-system referred to as the Interface System, the Sensor Communication & Data Acquisition Module serves as the groundwork for the entire system, enabling the discovery, identification, and connection with the sensors, while also facilitating real-time data communication. The system diligently scans the environment using communication standards, which may include Bluetooth, ANT+, Wi-Fi, or proprietary protocols depending on the sensor types, detecting sensors such as cadence and speed sensors. Detection is a critical step, as it serves as the entry point for further interactions with these sensors. Once sensors are detected, the system proceeds to the vital task of identifying them. This involves querying the sensors to get information about them. For example, in case of sensors using Bluetooth standards, identification is done by querying the peripheral information and the advertisement data. Once the relevant sensor or sensors to be used are identified, the interface system connects to the sensor using the relevant communication standards. The result of Sensor Communication & Data Acquisition Module is the establishment of a continuous communication channel with the connected sensors. This channel is to enable real-time updates of sensor data. It ensures that the system is constantly fed with current information about the user's activity, allowing for immediate data analysis. For example, in case of sensors using Bluetooth standards, the system subscribes to notifications (indicate or notify events) of the sensors to get real time sensor data such as cadence values i.e. how fast the user is pedaling and/or speed values i.e. how fast the wheel on the exercise bike is spinning.


Data Analysis Module is where sensor data is transformed into meaningful interpretations. This process empowers the system to engage in dynamic decision-making. At its core, Data Analysis is tasked with deciphering the sensor data collected from the exercise equipment sensors, which includes critical metrics like cadence and speed values. These numerical data points represent the user's physical activity, forming the basis of decision-making. The system extracts meaning from numerical values such as cadence and speed values, identifying speed variations, and recognizing patterns in the user's pedaling behavior. This phase is empowered by primarily pattern recognition algorithms that detect specific pedaling behaviors or sequences, in real-time. Such recognition allows the system to make informed decisions about the user's activity in real-time, such as identifying acceleration, deceleration, maintaining a consistent pace or idle. For example, if the cadence values and/or speed values has increased by a specific factor over a specific amount of time, then the user is accelerating. Based on this interpreted data and the identified patterns, the system determines the appropriate actions to be taken.


In the system (FIG. 1) where the Interface System is on the same device on which the software application is running, the third module of the Interface System is the Input Events Simulation Module. It plays a pivotal role in translating the appropriate actions, determined by Data Analysis Module, into inputs that closely mimic user interactions with standard inputs by way of input event simulation. These include key presses and releases of human interface devices like keyboard and mouse, that are simulated and sent to the software application via the operating system. For example, if the user is accelerating, then a simulated key press event of the key corresponding to acceleration like the up-arrow key is sent to the software application. When the user stops accelerating a simulated up-arrow key release is sent to the software application. The software application receives compatible input from the Interface System and performs corresponding functionalities as if the user were directly interacting with the software application. This enables users to engage effortlessly with the software application, enhancing their overall user experience and interaction possibilities.


In FIG. 2, another system of the present invention includes sensors (FIG. 2, 204), such as cadence and speed sensors, on an exercise equipment (FIG. 2, 201) and a computing device (FIG. 2, 203), such as a personal computer or a gaming console, running a software application (FIG. 2, 210) on an operating system (FIG. 2, 209). The sub-system referred to as the Interface System (FIG. 2, 205), is present on a computing device (FIG. 2, 202) that is separate from the device on which the software application is running. The Interface System comprises of three modules: Sensor Communication & Data Acquisition Module (FIG. 2, 206), Data Analysis Module (FIG. 2, 207), and Human Interface Device (HID) Input Generation Module (FIG. 2, 208).


In the system (FIG. 2) where the Interface System is on a separate device from the device on which the software application is running, the functions of the first two modules of the Interface System are the same as those described earlier in FIG. 1. The third module of the Interface System is the Human Interface Device (HID) Input Generation Module. To begin with, it connects to the software application as an HID device. It plays a pivotal role in translating the appropriate actions, determined by Data Analysis, into inputs that closely mimic user interactions with standard Human Interface Devices. These include gamepad inputs that is provided to the software application via compatible standards such as USB, Bluetooth or proprietary protocols. For example, if the user is accelerating, then an HID input corresponding to acceleration, like D-pad up button pressed, is sent to the software application. The software application receives compatible input from the Interface System and performs corresponding functionalities as if the user were directly interacting with the software application. This enables users to engage effortlessly with the software application, enhancing their overall user experience and interaction possibilities.



FIG. 3 illustrates the process for setting up the sensors required to carry out the methods of the present invention. The initial step in this setup process involves the discovery of available sensors on the exercise equipment (Step A). The system diligently scans the environment using communication standards, which may include Bluetooth, ANT+, Wi-Fi, or proprietary protocols depending on the sensor types, detecting sensors such as cadence and speed sensors. Detection is a critical step, as it serves as the entry point for further interactions with these sensors. Once sensors are detected, the system proceeds to the vital task of identifying them and their details (Step B). This involves querying the sensors to get information about them. For example, in case of sensors using Bluetooth standards, identification is done by querying the peripheral information and the advertisement data including service UUIDs (Universally Unique Identifier) and service data. Once the relevant sensor or sensors to be used are identified, the next step is to establish a connection with the identified sensors (Step C). For example, in case of sensors using Bluetooth standards, the connection is done by first pairing and then connecting. To complete the setup process, the system goes further by enabling a continuous communication channel with the connected sensors for real-time updates of sensor data (Step D). This ensures that the system is constantly fed with current information about the user's activity, allowing for immediate data analysis. For example, in case of sensors using Bluetooth standards, the system subscribes to notifications (indicate or notify events) of the sensors to get real time sensor data. In essence, the setup process for the sensors forms the groundwork for the methods of the present invention.


As mentioned earlier, the present invention can include more than one system. In a system where the Interface System is on the same device on which the software application is running, the method, as illustrated in FIG. 4, follows a series of steps, after the setup process of the sensors. The method begins by reading sensor data (Step E), which includes metrics such as cadence and speed, providing a real-time snapshot of the user's activity. This sensor data is then stored for future reference (Step F), allowing for the creation of a historical record that becomes valuable for performance analysis. The next step involves data analysis (Step G), where both real-time and historical sensor data are examined to recognize patterns, such as variations in speed and cadence. For example, if the cadence or speed increases over a specific period, it indicates that the user is accelerating. Based on this analysis, informed decisions are made regarding simulated input events (Step H), determining actions that align with the user's behavior and the objectives of the software application. For instance, if rapid pedaling is detected, acceleration might be simulated by triggering the corresponding input, such as the up-arrow key press. Next, these simulated input events are generated (Step I) to reflect the user's physical activity and sent to the software application via the operating system. The events can be directed to either a specific software application or the default one in the foreground. For example, if the user is accelerating, a simulated up-arrow key press is sent to the software application. When the user stops accelerating a simulated up-arrow key release is sent to the software application. Finally, the software application receives the simulated input events as user interactions (Step J) and responds accordingly. For example, the software application receives the simulated up-arrow key press and performs the functionality of acceleration in the game. The steps from Step E to Step I, are repeated in the method to perform Step J continually, enabling an ongoing interaction between the user's physical activity and the software application.


The present invention includes a non-transitory computer-readable medium containing program instructions that, when executed by one or more processors of a computing device, cause the computing device to perform the method as illustrated in FIG. 4, following the previously described steps including reading sensor data (Step E), storing sensor data for further use (Step F), analyzing the current and the available previously stored sensor data (Step G), deciding appropriate simulated input events based on sensor data analysis (Step H), and generating and sending the simulated input events to the software application via the operating system (Step I). Finally, the software application receives the simulated input events as user interactions (Step J) and responds accordingly. The steps from Step E to Step I, are repeated in the method to perform Step J continually.


In a system where the Interface System is on a separate device from the device on which the software application is present, the method of the present invention, as illustrated in FIG. 5, follows the following steps, after the setup process of the sensors. The method begins by establishing a connection between the Interface System and the software application, effectively positioning the Interface System as a Human Interface Device (HID) (Step D2), via compatible standards such as USB, Bluetooth or proprietary protocols. An example of an HID device could be a gamepad. This connection enables the Interface System to act as an interface for translating sensor data into user interactions within the software. The steps, Step E to G, are the same as those described earlier in FIG. 4 i.e. read sensor data including metrics such as cadence and speed information (Step E), store sensor data for further use (Step F), and analyze the current and previously stored sensor data. (Step G). Following the comprehensive analysis of the sensor data, informed decisions are made regarding appropriate HID input (Step HH). Actions are identified that align with the user's behavior and the objectives of the software application. For instance, if the analysis indicates rapid pedaling, simulating acceleration in a game may involve triggering the corresponding HID input. The next step involves the actual generation of the HID input, that mirror the user's physical activity, that are sent to the software application (Step II). For example, if the user is accelerating, an HID input corresponding to acceleration, like D-pad up button pressed, is sent to the software application. Finally, the software application receives the HID input and sees them as user interactions (Step JJ). For example, the software application receives the D-pad up button pressed input and performs the functionality of acceleration in the game. The steps from Step E to Step II, are repeated in the method to perform Step JJ continually, enabling an ongoing interaction between the user's physical activity and the software application.


The present invention includes a non-transitory computer-readable medium containing program instructions that, when executed by one or more processors of a computing device, cause the computing device to perform the method as illustrated in FIG. 5, following the previously described steps including connecting to the software application as an human interface device (HID) (Step D2), reading sensor data (Step E), storing sensor data for further use (Step F), analyzing the current and the available previously stored sensor data (Step G), deciding appropriate HID input based on sensor data analysis (Step HH), and generating and sending the HID input to the software application (Step II). Finally, the software application receives the HID input as user interactions (Step JJ) and responds accordingly. The steps from Step E to Step II, are repeated in the method to perform Step JJ continually.


The present invention can have more than one scenario. FIG. 6 is a schematic view of a physical embodiment used for implementing the present invention in which the Interface System is on the same device on which the software application is running. In this, 601 depicts an exercise bike as exercise equipment. 602 is a cadence sensor on the exercise bike's pedal and 603 is a speed sensor on the exercise bike's wheel. FIG. 604 is a computing device, such as a personal computer or a gaming console, running the software application on its operating system. The Interface System is also running on this computing device. 605 is a monitor connect to the computing device displaying the output.



FIG. 7 is a schematic view of a physical embodiment used for implementing the present invention in which the Interface System is on a separate device from the device on which the software application is running. In this, 701 depicts an exercise bike as exercise equipment. 702 is a cadence sensor on the exercise bike's pedal and 703 is a speed sensor on the exercise bike's wheel. 704 is a computing device on which the Interface System in running. 705 is a computing device, such as a personal computer or a gaming console, running the software application on its operating system. 706 is a monitor connect to the computing device displaying the output.


The term computing device as used in the present invention represents a broad category of computing devices suitable for use with the embodiments of the present invention. These devices typically include both hardware and software components, such as processors, memory, storage, input/output interfaces, network connectivity modules, power management systems, and peripheral devices. On the software side, they may include an operating system, drivers, firmware, and software applications. The term encompasses personal computers, handheld computing devices, telephones, gaming consoles, mobile computing devices, workstations, servers, minicomputers, mainframe computers, and any other such computing devices that are well known in the art.


The term simulated input events as used in the present invention refers to artificially generated events that replicate the actions of physical input devices, such as key presses, key releases, or control movements. Simulated input events are processed by the computing device in the same way as actual physical inputs, in a manner well known in the art.


The term Human Interface Device (HID) as used in the present invention represents a broad category of devices well known in the art that enable user interaction with computing devices. This term encompasses devices such as keyboards, mice, game controllers, joysticks, and other input/output devices commonly used to facilitate human interaction with software applications. HIDs may include both hardware and software components, such as input drivers and communication standards, that allow for seamless integration and operation of user inputs with computing devices.


The term Human Interface Device (HID) input as used in the present invention refers to the input signals generated by a Human Interface Device (HID) that enable interaction with a computing device. These inputs include, but are not limited to, key presses, key releases, mouse movements, button presses, and other control signals well known in the art.


Although the steps described in the methods of the present invention are presented in a specific order, it should be understood that slight variations in the sequence are possible. Other housekeeping tasks may be performed in between, or steps may be adjusted to occur at slightly different times, provided that the overall method achieves the intended outcome.


The drawings and descriptions are exemplary and should not be read as limiting the scope of claims.

Claims
  • 1. A system for interfacing exercise equipment sensors with software applications, the system comprising: an exercise equipment comprising at least one of: a cadence sensor; ora speed sensor; anda computing device comprising: a software application running on an operating system; andan interface system comprising: a module configured to facilitate the discovery and identification of exercise equipment sensors and to establish real-time communication with the sensors to receive real-time sensor data;a module configured to analyze the sensor data and transform the sensor data into required information; anda module configured to generate simulated input events, including key press and key release, based on the analysis of the sensor data and to send the simulated input events to the software application via the operating system, enabling interaction with the software application.
  • 2. A computer-implemented method for interfacing exercise equipment sensors with software applications, the method comprising: Reading sensor data from one or more sensors, wherein the sensor data comprises real-time metrics, including cadence and speed;Storing the sensor data for future reference, enabling the creation of a historical record;Analyzing the sensor data, the analysis comprising: Examining real-time sensor data and stored historical data; andRecognizing user behaviour including variations in speed and cadence;Determining simulated input events based on the recognized user behaviour;Generating simulated input events, including key press and key release, based on the determination and sending the simulated input events to a software application via an operating system; andRepeating the steps of reading, storing, analyzing, determining, and generating and sending, thereby providing an ongoing interaction with the software application.
  • 3. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a computing device, cause the computing device to perform a method for interfacing exercise equipment sensors with software applications, the method comprising: Reading sensor data from one or more sensors, wherein the sensor data comprises real-time metrics, including cadence and speed;Storing the sensor data for future reference, enabling the creation of a historical record;Analyzing the sensor data, the analysis comprising: Examining real-time sensor data and stored historical data; andRecognizing user behaviour including variations in speed and cadence;Determining simulated input events based on the recognized user behaviour;Generating simulated input events, including key press and key release, based on the determination and sending the simulated input events to a software application via an operating system; andRepeating the steps of reading, storing, analyzing, determining, and generating and sending, thereby providing an ongoing interaction with the software application.
  • 4. A system for interfacing exercise equipment sensors with software applications, the system comprising: an exercise equipment comprising at least one of: a cadence sensor; ora speed sensor;a computing device comprising a software application running on an operating system; anda computing device comprising an interface system, the interface system comprising: a module configured to facilitate the discovery and identification of exercise equipment sensors and to establish real-time communication with the sensors to receive real-time sensor data;a module configured to analyze the sensor data and transform the sensor data into required information; anda module configured to generate Human Interface Device (HID) input based on the data analysis of the sensor data and to send the HID input to the software application, enabling interaction with the software application.
  • 5. A computer-implemented method for interfacing exercise equipment sensors with software applications, the method comprising: Establishing a connection with a software application as a Human Interface Device (HID) using a communication standard;Reading sensor data from one or more sensors, wherein the sensor data comprises real-time metrics, including cadence and speed;Storing the sensor data for future reference, enabling the creation of a historical record;Analyzing the sensor data, the analysis comprising: Examining real-time sensor data and stored historical data; andRecognizing user behaviour including variations in speed and cadence;Determining HID input based on the recognized user behaviour;Generating HID input based on the determination and sending the HID input to the software application; andRepeating the steps of reading, storing, analyzing, determining, and generating and sending, thereby providing an ongoing interaction with the software application.
  • 6. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors of a computing device, cause the computing device to perform a method for interfacing exercise equipment sensors with software applications, the method comprising: Establishing a connection with a software application as a Human Interface Device (HID) using a communication standard;Reading sensor data from one or more sensors, wherein the sensor data comprises real-time metrics, including cadence and speed;Storing the sensor data for future reference, enabling the creation of a historical record;Analyzing the sensor data, the analysis comprising: Examining real-time sensor data and stored historical data; andRecognizing user behaviour including variations in speed and cadence;Determining HID input based on the recognized user behaviour;Generating HID input based on the determination and sending the HID input to the software application; andRepeating the steps of reading, storing, analyzing, determining, and generating and sending, thereby providing an ongoing interaction with the software application.
Provisional Applications (1)
Number Date Country
63543048 Oct 2023 US