SYSTEM AND METHOD FOR USING ARTIFICIAL INTELLIGENCE AND A TRANSFORMATION FUNCTION TO IMPLEMENT A DESIRED VIRTUAL APPARATUS MODEL

Abstract
A computer-implemented system includes an electromechanical machine and a processing device communicatively coupled to motors. The processing device executes instructions to receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine; generate, based on the data, a motion profile for an assembly of the electromechanical machine, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables; execute a transformation function to implement a desired virtual apparatus model using the electromechanical machine, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; and control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.
Description
TECHNICAL FIELD

This disclosure relates in general to rehabilitation and, in particular, to a system, whether floor mounted or tabletop; apparatus, whether floor mounted or tabletop; and method for rehabilitation of, for example, the orthopedic joints of a user.


BACKGROUND

Remote medical assistance, or telemedicine, may aid a patient in performing various aspects of a rehabilitation regimen for a body part. The patient may use a patient interface in communication with an assistant interface for receiving the remote medical assistance via audio, visual, and/or audiovisual communications.


SUMMARY

Embodiments of a system, method and apparatus for rehabilitation exercise are disclosed. For example, a computer-implemented system may include an electromechanical machine and a processing device communicatively coupled to motors. The processing device executes instructions to receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine; generates, based on the data, a motion profile for an assembly of the electromechanical machine, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables; executes a transformation function to implement a desired virtual apparatus model using the electromechanical machine, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; and controls, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


In one embodiment, a computer-implemented system may include an electromechanical machine including one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors. The system may include a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to receive data comprising a treatment plan. The treatment plan includes one or more prescribed exercises for a user to perform using the electromechanical machine. The processing device may generate, based on the data and certain criteria, a motion profile for an assembly of the electromechanical machine. The motion profile includes a movement shape of one or more portions of the electromechanical machine. The processing device may execute a transformation function to implement, using the electromechanical machine, a desired virtual apparatus model, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain. The processing device may control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


In one embodiment, a computer-implemented system includes an electromechanical machine including one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors. The system includes a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to receive first data comprising information pertaining to motion of one or more pedals of the electromechanical machine. The motion is associated with one or more users performing one or more treatment plans. The processing device may receive second data comprising information pertaining to one or more characteristics of the one or more users performing the treatment plan. The characteristics comprise performance information, measurement information, personal information, or some combination thereof. The processing device may identify one or more correlations between at least some of the first data and at least some of the second data, and may generate, based on the one or more treatment plans and the one or more correlations, one or more motion profiles for an assembly of the electromechanical machine.


In one embodiment, a computer-implemented system may include an electromechanical machine including one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors. The system may include a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine, generate, based on the data, a motion profile for an assembly of the electromechanical machine, and determine, based on a prescribed exercise of the one or more prescribed exercises, one or more components to include to enable the user to perform, using the electromechanical machine, the prescribed exercise. The processing device may validate, based on the one or more components and configuration information pertaining to the electromechanical machine, whether the motion profile associated with the prescribed exercise is achievable with respect to a threshold achievement level. Responsive to determining that the motion profile associated with the prescribed exercise is unachievable with respect to the threshold achievement level, the processing device may determine, based on the one or more components and the configuration information, at least one missing component needed to achieve, with respect to the threshold achievement level, the motion profile for the prescribed exercise.


In one embodiment, a computer-implemented system may include an electromechanical machine including one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors. The system includes a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to receive data including a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine, generate, using a treatment machine description language and based on one or more desired goals of a user, a virtual apparatus model of the electromechanical machine, wherein the virtual apparatus model is generated by a trained machine learning model, and generate, using the virtual apparatus model and the data, a motion profile. The processing device may control, using the motion profile, the one or more motors.





BRIEF DESCRIPTION OF THE DRAWINGS

So that the manner in which the features and advantages of the embodiments are attained and can be understood in more detail, a more particular description can be had by reference to the embodiments that are illustrated in the appended drawings. However, the drawings illustrate only some embodiments and are not to be considered limiting in scope since there can be other equally effective embodiments. It shall be noted that some of the details and/or features shown in the drawings herein may not be drawn to scale for clarity purposes.



FIG. 1 is a schematic side view of an embodiment of a rehabilitation machine.



FIG. 2 is a schematic isometric view of an embodiment of the rehabilitation machine of FIG. 1.



FIG. 3 generally illustrates a block diagram of an embodiment of a computer-implemented system for managing a treatment plan according to the principles of the present disclosure.



FIG. 4 generally illustrates an example embodiment of an overview display of an assistant interface according to the principles of the present disclosure.



FIG. 5 generally illustrates an example block diagram of training a machine learning model to output, based on data pertaining to the patient, a treatment plan for the patient according to the principles of the present disclosure.



FIG. 6 generally illustrates an embodiment of an overview display of the assistant interface presenting in real-time during a telemedicine session recommended treatment plans according to the principles of the present disclosure.



FIG. 7 is a flow diagram generally illustrating a method for generating a motion profile for an assembly of an electromechanical machine according to the principles of the present disclosure.



FIG. 8 is a flow diagram generally illustrating a method for controlling the electromechanical machine in one or more modes according to the principles of the present disclosure.



FIG. 9 is a flow diagram generally illustrating a method for generating a virtual model of the electromechanical machine according to the principles of the present disclosure.



FIG. 10 is a flow diagram generally illustrating a method for using configuration information to determine whether a prescribed exercise can be performed using an electromechanical machine according to the principles of the present disclosure.



FIG. 11 is a flow diagram generally illustrating a method for using user results to train a machine learning model to generate motion profiles according to the principles of the present disclosure.



FIG. 12 generally illustrates a computer system according to the principles of the present disclosure.



FIG. 13 is a schematic isometric view of another embodiment of the rehabilitation machine.



FIG. 14 is a flow diagram generally illustrating a method for using a transformation function to implement a desired virtual apparatus model according to the principles of the present disclosure.



FIG. 15 is a flow diagram generally illustrating a method to transform the movement shape of one or more portions of a machine based on certain criteria according to the principles of the present disclosure.



FIG. 16 is a flow diagram generally illustrating a method to determine pedal motion profiles based on identified correlations between pedal motion and user impact according to the principles of the present disclosure.



FIG. 17 is a flow diagram generally illustrating a method for automatic prompting payment system to purchase components for mapped exercises according to the principles of the present disclosure.



FIG. 18 is a flow diagram generally illustrating a method for implementing a treatment machine description language according to the principles of the present disclosure.





The use of the same reference symbols in different drawings indicates similar or identical items.


The use of the same reference symbols in different drawings indicates similar or identical items.


NOTATION AND NOMENCLATURE

Various terms are used to refer to particular system components. Different companies may refer to a component by different names—this document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . ” unless otherwise stated. Also, the term “couple” or “couples” is intended to mean either an indirect or direct connection unless specified. Thus, if not more specific, “a first device is coupled to a second device” is intended to mean that that connection between the first device and the second device may be through a direct connection or through an indirect connection via other devices and connections.


The terminology used herein is for the purpose of describing particular example embodiments only, and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. For example, “a processor” programmed to perform certain actions can mean “more than one processors” that collectively perform the certain actions. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.


The terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections; however, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer, or section from another region, layer, or section. Terms such as “first,” “second,” and other numerical terms, when used herein, do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer, or section discussed below could be termed a second element, component, region, layer, or section without departing from the teachings of the example embodiments. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C. In another example, the phrase “one or more” when used with a list of items means there may be one item or any suitable number of items exceeding one.


Spatially relative terms, such as “inner,” “outer,” “beneath,” “below,” “lower,” “above,” “upper,” “top,” “bottom,” and the like, may be used herein. These spatially relative terms can be used for ease of description to describe one element's or feature's relationship to another element(s) or feature(s) as illustrated in the figures. The spatially relative terms may also be intended to encompass different orientations of the device in use, or operation, in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the example term “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptions used herein interpreted accordingly.


A “treatment plan” may include one or more treatment protocols, and each treatment protocol includes one or more treatment sessions. Each treatment session comprises several session periods, with each session period including a particular exercise for treating the body part of the patient. For example, a treatment plan for post-operative rehabilitation after a knee surgery may include an initial treatment protocol with twice daily stretching sessions for the first 3 days after surgery and a more intensive treatment protocol with active exercise sessions performed 4 times per day starting 4 days after surgery. A treatment plan may also include information pertaining to a medical procedure to perform on the patient, a treatment protocol for the patient using a treatment apparatus, a diet regimen for the patient, a medication regimen for the patient, a sleep regimen for the patient, additional regimens, or some combination thereof.


The terms telemedicine, telehealth, telemed, teletherapeutic, remote medicine, etc. may be used interchangeably herein. The term “condition” may be used to refer to a disease or other attribute of the user.


As used herein, the term “healthcare professional” may include a medical professional (e.g., such as a doctor, a nurse, a therapist, and the like), an exercise professional (e.g., such as a coach, a trainer, a nutritionist, and the like), or another professional sharing at least one of medical and exercise attributes (e.g., such as an exercise physiologist, a physical therapist, an occupational therapist, and the like). As used herein, and without limiting the foregoing, a “healthcare professional” may be a human being, a robot, a virtual assistant, a virtual assistant in virtual and/or augmented reality, or an artificially intelligent entity, such entity including a software program, integrated software and hardware, or hardware alone.


As used herein, the terms treatment apparatus, exercise apparatus, exercise device, treatment device, machine, electromechanical machine, electromechanical device, workout device, workout apparatus, rehabilitation apparatus, rehabilitation device, rehabilitation machine, prehabilitation apparatus, prehabilitation device, and/or prehabilitation machine may be used interchangeably herein. For example, an exercise bike, stationary bike, treadmill, rowing machine, elliptical machine, stair mill (aka stair climber), and the like can all be referred to as a treatment apparatus, exercise apparatus, exercise device, treatment device, machine, electromechanical machine, electromechanical device, workout device, workout apparatus, rehabilitation apparatus, rehabilitation device, rehabilitation machine, prehabilitation apparatus, prehabilitation device, and/or prehabilitation machine. In the interest of brevity, the term “machine,” “electromechanical machine,” or “treatment apparatus” are often used throughout and are intended to cover any one or more of these devices.


As used herein, the term a sudden movement or “jerk” may refer to moving the portion of the treatment apparatus very quickly (or as quickly as possible) from an initial position to a second stationary position.


Any term used herein to characterize a variance (e.g., such as difference, differential, etc.) referenced anywhere in this disclosure, including, without limitation, the differential data, may be characterized or described by an absolute number or number of units (e.g., “3”, “5 inches”, “25 degrees” “0.15 radians” and the like), by a percentage difference (e.g., “20% more”, “15% less”), by a percentage point difference (e.g., “5.3 percentage points less than (or greater than)), by a parametrically ranked difference (e.g., “2nd highest vs. 5th highest”, therefore, e.g., 2 ranks higher than 5), by a qualitatively described difference (e.g., “very different”, “somewhat different”, “equal”, “more than”, “better than”, “less than”, “worse than” and the like), or by any other means of expressing or describing a difference).


As used herein, the term “motion profile” may refer to a specification of movement of a portion of an electromechanical machine. The specification may describe a shape (e.g., circular, elliptical, rectangular, square, oval, any geometrical shape, etc.) of a movement path for the portion to follow. The motion profile may specify which portion is to move, when the portion is to move, how the portion is to move (e.g., which components cause the movement of the portion), etc. The motion profile may specify various operating parameters of the portion of the electromechanical machine, such as a range of motion, a speed, an acceleration, an amount of resistive force to provide, and the like. The motion profile may specify various coordinates in an n-dimensional domain, where the coordinates represent points through which the portion is to move during operation.


DETAILED DESCRIPTION

The following discussion is directed to various embodiments of the present disclosure. Although one or more of these embodiments may be preferred, the embodiments disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any embodiment is meant only to be exemplary of that embodiment, and not intended to intimate that the scope of the disclosure, including the claims, is limited to that embodiment.


Determining a treatment plan for a patient having certain characteristics (e.g., vital-sign or other measurements; performance; demographic; geographic; diagnostic; measurement- or test-based; medically historic; behavioral historic; cognitive; etiologic; cohort-associative; differentially diagnostic; surgical, physically therapeutic, pharmacologic and other treatment(s) recommended; etc.) may be a technically challenging problem. For example, a multitude of information may be considered when determining a treatment plan, which may result in inefficiencies and inaccuracies in the treatment plan selection process. In a rehabilitative setting, some of the multitude of information considered may include characteristics of the patient such as personal information, performance information, and measurement information. The personal information may include, e.g., demographic, psychographic or other information, such as an age, weight, gender, height, body mass index, medical condition, one or more comorbidities, the values or descriptive results of tests which comprise blood, tissue, radiologic or other assays, personal or familial medication history, injury, medical procedure, medication prescribed, or some combination thereof. The performance information may include, e.g., an elapsed time of using an exercise apparatus, an amount of force exerted on a portion of the exercise apparatus, a range of motion achieved on the exercise apparatus, a movement speed of a portion of the exercise apparatus, an indication of a plurality of pain levels using the exercise apparatus, or some combination thereof. The measurement information may include, e.g., a vital sign, a respiration rate, a heartrate, a temperature, a blood pressure, blood oxygen level (SpO2) or some combination thereof. It may be desirable to process the characteristics of a multitude of patients, the treatment plans performed for those patients, and the results of the treatment plans for those patients.


Further, another technical problem may involve distally treating, via a computing device during a telemedicine or telehealth session, a patient from a location different than a location at which the patient is located. An additional technical problem is controlling or enabling the control of, from the different location, an exercise apparatus used by the patient at the location at which the patient is located. Oftentimes, when a patient undergoes rehabilitative surgery (e.g., knee surgery), a physical therapist or other medical professional may prescribe an exercise apparatus to the patient to use to perform a treatment protocol at their residence or any mobile location or temporary domicile. A healthcare professional may refer to a doctor, physician assistant, nurse, chiropractor, dentist, physical therapist, acupuncturist, physical trainer, or the like. A medical professional may refer to any person with a credential, license, degree, or the like in the field of medicine, physical therapy, rehabilitation, or the like.


When the healthcare professional is located in a different location from the patient and the exercise apparatus, it may be technically challenging for the healthcare professional to monitor the patient's actual progress (as opposed to relying on the patient's word about their progress) using the exercise apparatus, modify the treatment plan according to the patient's progress, adapt the exercise apparatus to the personal characteristics of the patient as the patient performs the treatment plan, and the like.


Additionally, or alternatively, the two or more healthcare professionals may treat the patient (e.g., for the same condition, different conditions, related conditions, and the like). For example, an orthopedic surgeon, a physical therapist, and/or one or more other healthcare professionals may cooperatively or independently treat or be responsible for treatment of the patient for the same condition or a related condition. Such healthcare professionals may be located remotely from the patient and/or one another. Accordingly, systems and methods, such as those described herein, that coordinate schedules of the two or more healthcare professionals to provide treatment to the patient via a telemedicine session, may be desirable.


Accordingly, embodiments of the present disclosure pertain to using artificial intelligence and/or machine learning to assign patients to cohorts and to dynamically control an exercise apparatus based on the assignment during an adaptive telemedical session. In some embodiments, numerous treatment apparatuses may be provided to patients. The exercise apparatuses may be used by the patients to perform treatment plans in their residences, at a gym, at a rehabilitative center, at a hospital, or any suitable location, including permanent or temporary domiciles.


Embodiments of a system, method and apparatus for joint rehabilitation and exercise are disclosed in FIGS. 1-13. For example, FIGS. 1 and 2 depict an embodiment of a machine 2101 that includes a body 2103 and an arm 2105, such as one arm 2105 on each major side of the body 2103. In FIGS. 1 and 2, only one of the arms 2105 is shown for ease of illustration.


Each arm 2105 can have a proximal end 2107 and a distal end 2109. Versions of the proximal end 2107 can be pivotally mounted (see arrow 2111) to the body 2103. The distal end 2109 can be free to move relative to the body 2103. In one example, the machine 2101 does not have a seat for the user to sit on while using the machine 2101. In this version, the user must be seated away from the machine 2101 on a separate seat (not shown) to use the machine 2101.


Embodiments of the machine 2101 can further include a carriage 2121 slidably mounted (see arrow 2113) to respective ones of the arms 2105. Each carriage 2121 can move along a length of a respective one of the arms 2105. The range of motion of the carriages 2121 relative to the arms 2105 can be for a portion of the arms 2105, or almost an entire length of the arms 2105.


In some versions, a pedal assembly 2131, such as one pedal assembly 2131 on each major side of the body 2103, can be included. The pedal assembly 2131 can be rotatably coupled to one of the carriages 2121. The pedal assembly 2131 can move with the carriage 2121 along the length of the arm 2105. Each pedal assembly 2131 can be configured to support a foot of the user of the machine 2101.


Examples of the machine 2101 can include a set 2141 of motors 2143, such as one set 2141 of motors 2143 on each side of the body 2103. The motors 2143 can be mounted to the body 2103. The motors 2143 also can be spaced apart from each other and spaced apart from the distal end 2109 of the arm 2105, such as in the configurations depicted in the drawings. The distal end 2109 of the arm can be free of contact with the motors 2143 over an entire range of motion of the arm 2105 relative to the body 2103.


Some embodiments of the motors 2143 are coupled together. Versions can include a flexible linkage, such as a chain, timing chain or a set 2151 of cables 22153, such as one set 2151 of cables 2153 on each respective side of the body 2103. Examples of the cables 2153 can include each cable 2153 being coupled to a respective one of the motors 2143 and to the respective carriage 2121.


Versions of the machine 2101 can include a control system 2161. Embodiments of the control system 2161 can selectively extend and/or retract the cables 2153 by using the respective motors 2143. Such motion can cause one or more of the pedal assemblies 2131, carriages 2121 and arms 2105 to move relative to the body 2103.


In some examples, the control system 2161 can articulate the pedal assemblies 2131 in prescribed pedaling patterns for a user of the machine. For example, the prescribed pedaling patterns can include ones that are circular, elliptical, oval, square, leg press, stair stepping, vertical up and down, etc. Examples of the control system 2161 also can be configured to control a repetitive speed and resistance of the pedal assemblies 2131 in each of the prescribed pedaling patterns. The pedal assemblies 2131 can be configured to be independently articulated by the control system 161. For example, the pedal assemblies 2131 can be simultaneously articulated in different ones of the prescribed pedaling patterns, as desired.


Embodiments of the control system 2161 can limit a range of motion of each pedal assembly 2131 to an area defined by and within locations of the motors 2143. Essentially, this can be equivalent to the area inside the largest circle shown in FIG. 1. Other versions of the control system 2161 can permit a range of motion of each pedal assembly 2131 to extend beyond an area defined by and within locations of the motors 2143. This example could include the area outside of the largest circle shown in FIG. 1. More detailed information about the control system is included below.


In some versions, each motor 2143 can be a servo motor. In one example, the set 2141 of motors 2143 comprises exactly three motors 2143 that are arranged in a triangular pattern on a side of the body 2103. Embodiments of each motor 2143 can include a respective pulley 2145 that is rotatably coupled thereto and coupled to a respective one of the cables 2153. In addition, the carriage 2121 can include one or more pulleys 2123. Each pulley 2123 can be coupled to a respective one of the cables 2153. In an example, each of the cables 2153 can be a steel cable.


In some embodiments of the machine 2101, the arms 2104, motors 2143 and cables 2153 can be shrouded to avoid and obstruct pinch points for the user of the machine 2101. This feature can prevent incidental contact with the user. For example, FIG. 13 depicts a schematic, isometric view of another embodiment of the rehabilitation machine 2101. This version is very similar to that of FIG. 2, and further includes a cowling or shroud 2000 that covers most or even all of the moving parts of the rehabilitation machine 2101, such as the motors 2141, pulleys 2145, etc. The depiction in FIG. 13 is merely representative and is not limiting as to how much the shroud 2000 can cover the moving parts. As with the other embodiments, this example has the same equipment on both the left and right sides of the rehabilitation machine 2101. Only one side is shown for ease of illustration. This embodiment can include many, if not all, of the components described for the other embodiments.


Now turning to FIG. 3, a block diagram schematically depicts a computer-implemented system 10, hereinafter called “the system” for managing a treatment plan. Managing the treatment plan may include using an artificial intelligence engine to recommend treatment plans and/or provide excluded treatment plans that should not be recommended to a patient.


The system 10 also includes a server 30 configured to store (e.g., write to an associated memory) and to provide data related to managing the treatment plan. The server 30 may include one or more computers and may take the form of a distributed and/or virtualized computer or computers. The server 30 also includes a first communication interface 32 configured to communicate with the clinician interface 20 via a first network 34. In some embodiments, the first network 34 may include wired and/or wireless network connections such as Wi-Fi, Bluetooth, ZigBee, Near-Field Communications (NFC), cellular data network, etc. The server 30 includes a first processor 36 and a first machine-readable storage memory 38, which may be called a “memory” for short, holding first instructions 40 for performing the various actions of the server 30 for execution by the first processor 36. The server 30 is configured to store data regarding the treatment plan. For example, the memory 38 includes a system data store 42 configured to hold system data, such as data pertaining to treatment plans for treating one or more patients. The server 30 is also configured to store data regarding performance by a patient in following a treatment plan. For example, the memory 38 includes a patient data store 44 configured to hold patient data, such as data pertaining to the one or more patients, including data representing each patient's performance within the treatment plan.


Additionally or alternatively, the characteristics (e.g., personal, performance, measurement, etc.) of the users, the treatment plans followed by the user, the level of compliance with the treatment plans, and the results of the treatment plans may use correlations and other statistical or probabilistic measures to enable the partitioning of or to partition the treatment plans into different patient cohort-equivalent databases in the patient data store 44. For example, the data for a first cohort of first patients having a first similar injury, a first similar medical condition, a first similar medical procedure performed, a first treatment plan followed by the first patient, and a first result of the treatment plan may be stored in a first patient database. The data for a second cohort of second patients having a second similar injury, a second similar medical condition, a second similar medical procedure performed, a second treatment plan followed by the second patient, and a second result of the treatment plan may be stored in a second patient database. Any single characteristic or any combination of characteristics may be used to separate the cohorts of patients. In some embodiments, the different cohorts of patients may be stored in different partitions or volumes of the same database. There is no specific limit to the number of different cohorts of patients allowed, other than as limited by mathematical combinatoric and/or partition theory.


This characteristic data, treatment plan data, and results data may be obtained from numerous treatment apparatuses and/or computing devices and/or digital storage media over time and stored in the data store 44. The characteristic data, treatment plan data, and results data may be correlated in the patient-cohort databases in the patient data store 44. The characteristics of the people may include personal information, performance information, and/or measurement information.


In addition to the historical information about other people stored in the patient cohort-equivalent databases, real-time or near-real-time information based on the current patient's characteristics about a current patient being treated may be stored in an appropriate patient cohort-equivalent database. The characteristics of the patient may be determined to match or be similar to the characteristics of another person in a particular cohort (e.g., cohort A) and the patient may be assigned to that cohort.


In some embodiments, the server 30 may execute an artificial intelligence (AI) engine 11 that uses one or more machine learning models 13 to perform at least one of the embodiments disclosed herein. The server 30 may include a training engine 9 capable of generating the one or more machine learning models 13. The machine learning models 13 may be trained to assign people to certain cohorts based on their characteristics, select treatment plans using real-time and historical data correlations involving patient cohort-equivalents, and control an electromechanical machine 101, among other things. The machine learning models 13 may be trained to generate, based on data associated with a diagnosis of users, initial treatment plans to be performed on the electromechanical machine 101 by the users. For example, the machine learning models 13 may be trained to provide a visual stimulus, audio stimulus, or haptic stimulus.


The machine learning models 13 may also be configured, for example, to display on a user interface or otherwise inform the user of a goal for the day, where the goal is dependent upon the generated treatment plan. For example, the machine learning models may be configured to request a measurement of a vital sign of the user, a respiration rate of the user, a heartrate of the user, a heart rhythm of a user, an oxygen saturation level of the user, a sugar level of the user, a composition of blood of the user, cerebral activity of the user, cognitive activity of the user, a lung capacity of the user, a temperature of the user, a blood pressure of the user, an eye movement of the user, a degree of dilation of an eye of the user, a reaction time, a sound produced by the user, a perspiration rate of the user, an elapsed time of using the electromechanical machine 101, an amount of force exerted on a portion of the electromechanical machine 101, a range of motion achieved on the electromechanical machine 101, a movement speed of a portion of the electromechanical machine 101, a pressure exerted on a portion of the electromechanical machine 101, a movement acceleration of a portion of the electromechanical machine 101, a sudden movement (such as a jerk) of a portion of the electromechanical machine 101, a torque level of a portion of the electromechanical machine 101, and an indication of a plurality of pain levels experienced by the user when using the electromechanical machine 101. The requested metric may require an input of sensor data or, in some embodiment, may only require manual entry by the user. In some embodiments, the metrics that the machine learning models 13 are trained to monitor are related to the underlying condition or attribute of the user. In other embodiments, the metric that the machine learning models 13 are trained to monitor are related to an underlying condition of the user.


The one or more machine learning models 13 may be generated by the training engine 9 and may be implemented in computer instructions executable by one or more processing devices of the training engine 9 and/or the servers 30. To generate the one or more machine learning models 13, the training engine 9 may train the one or more machine learning models 13. The one or more machine learning models 13 may be used by the artificial intelligence engine 11.


The training engine 9 may be a rackmount server, a router computer, a personal computer, a portable digital assistant, a smartphone, a laptop computer, a tablet computer, a netbook, a desktop computer, an Internet of Things (IoT) device, any other suitable computing device, or a combination thereof. The training engine 9 may be cloud-based or a real-time software platform, and it may include privacy software or protocols, and/or security software or protocols.


To train the one or more machine learning models 13, the training engine 9 may use a training data set of a corpus of the characteristics (e.g., medical diagnoses, attributes, a measurement of a vital sign of the user, a respiration rate of the user, a heartrate of the user, a heart rhythm of a user, an oxygen saturation level of the user, a sugar level of the user, a composition of blood of the user, cerebral activity of the user, cognitive activity of the user, a lung capacity of the user, a temperature of the user, a blood pressure of the user, an eye movement of the user, a degree of dilation of an eye of the user, a reaction time, a sound produced by the user, a perspiration rate of the user, an elapsed time of using the electromechanical machine 101, an amount of force exerted on a portion of the electromechanical machine 101, a range of motion achieved on the electromechanical machine 101, a speed measurement of a portion of the electromechanical machine 101, a pressure exerted on a portion of the electromechanical machine 101, an acceleration of a portion of the electromechanical machine 101, a movement jerk of a portion of the electromechanical machine 101, a torque level of a portion of the electromechanical machine 101, an indication of a plurality of pain levels experienced by the user when using the electromechanical machine 101, etc.) of the people that used the electromechanical machine 101 to perform treatment plans, the details (e.g., treatment protocol including exercises, amount of time to perform the exercises, how often to perform the exercises, a schedule of exercises, parameters/configurations/settings of the electromechanical machine 101 throughout each step of the treatment plan, etc.) of the treatment plans performed by the people using the electromechanical machine 101, and the results of the treatment plans performed by the people. The one or more machine learning models 13 may be trained to match patterns of characteristics of a patient with characteristics of other people assigned to a particular cohort. The term “match” may refer to an exact match, a correlative match, a substantial match, etc. The one or more machine learning models 13 may be trained to receive the characteristics of a patient as input, map the characteristics to characteristics of people assigned to a cohort, and select a treatment plan from that cohort. The one or more machine learning models 13 may also be trained to control, based on the treatment plan, treatment apparatus 70. The one or more machine learning models 13 may also be trained to provide one or more treatment plan options to a healthcare professional to select from and to control the electromechanical machine 101.


Different machine learning models 13 may be trained to recommend different treatment plans for different desired results. For example, one machine learning model may be trained to recommend treatment plans for most effective recovery, while another machine learning model may be trained to recommend treatment plans based on speed of recovery.


In some embodiments, to train the one or more machine learning models 13, the training engine 9 may use a training data set of a corpus of input data (e.g., electromechanical machines represented in a treatment machine description language and desired goals (e.g., treatment plans)) for users. The input data may be labeled as being associated with output data comprising virtual models of desired electromechanical machines and motion profiles, wherein such virtual models are configured to enable achievement the desired goals. In some embodiments, the virtual models may include a list of components needed to perform certain prescribed exercises to achieve the desired goals. In some embodiments, the electromechanical machine prescribed or associated with the user may lack one or more of the components in the list of components. In any such instance, a recommendation may be generated and output to a computing device and the recommendation may include information associated with purchasing or obtaining the missing component such that the user can use the electromechanical machine to perform the prescribed exercise.


In some embodiments, the training engine 9 may train the one or more machine learning models 13 using a corpus of training data, wherein the training data includes labeled treatment plans (e.g., prescribed exercises). The labels of the treatment plans may be associated with certain motion profiles capable of being implementing by using an electromechanical machine 101. To implement a desired virtual electromechanical machine (e.g., desired virtual apparatus model), and by performing one or more transformation functions, the machine learning models may be trained to generate the motion profiles. In order to implement a particular motion profile, the transformation functions may graph in an n-dimensional coordinate plane movement coordinates for the carriage and assembly to follow. To implement the motion profile of the carriage and assembly, the machine learning models 13 may be trained to receive the motion profiles and to generate control instructions to control the motors such that the motors control the cables.


In some embodiments, the machine learning models 13 may be trained to transform the motion profile of the carriage and assembly based on certain criteria. For example, the training data may include inputs of criteria related to one or more muscle groups to be exercised, one or more user characteristics, one or more desired goals, etc., wherein the criteria are mapped to outputs related to motion profiles that have a likelihood (e.g., a degree of probability) of satisfying the certain criteria.


In some embodiments, sensors (e.g., camera, force sensor, motion sensor, proximity sensor, etc.) may be used to monitor the user's result as the user performs prescribed exercises having certain motion profiles. The one or more results may be correlated with the one or more motion profiles. Based on a given correlation, the machine learning models 13 may be retrained to update one or more features of the machine learning models 13. For example, if a certain motion profile leads to an undesirable result, then one or more features (e.g., weights, hidden layer, objective functions, activation functions, etc.) of the machine learning models 13 may be modified such that a different subsequent motion profile associated with a better user result is output.


Using training data that includes training inputs and corresponding target outputs, the one or more machine learning models 13 may refer to model artifacts created by the training engine 9. The training engine 9 may find patterns in the training data wherein such patterns map the training input to the target output, and generate the machine learning models 13 that capture these patterns. In some embodiments, the artificial intelligence engine 11, the database 33, and/or the training engine 9 may reside on another component (e.g., assistant interface 94, clinician interface 20, etc.) depicted in FIG. 3.


The one or more machine learning models 13 may comprise, e.g., a single level of linear or non-linear operations (e.g., a support vector machine [SVM]) or the machine learning models 13 may be a deep network, i.e., a machine learning model comprising multiple levels of non-linear operations. Examples of deep networks are neural networks including generative adversarial networks, convolutional neural networks, recurrent neural networks with one or more hidden layers, and fully connected neural networks (e.g., each neuron may transmit its output signal to the input of the remaining neurons, as well as to itself). For example, the machine learning model may include numerous layers and/or hidden layers that perform calculations (e.g., dot products) using various neurons.


The system 10 also includes a patient interface 50 configured to communicate information to a patient and to receive feedback from the patient. Specifically, the patient interface includes an input device 52 and an output device 54, which may be collectively called a patient user interface 52, 54. The input device 52 may include one or more devices, such as a keyboard, a mouse, a touch screen input, a gesture sensor, and/or a microphone and processor configured for voice recognition. The output device 54 may take one or more different forms including, for example, a computer monitor or display screen on a tablet, smartphone, or a smart watch. The output device 54 may include other hardware and/or software components such as a projector, virtual reality capability, augmented reality capability, etc. The output device 54 may incorporate various visual, audio, or other presentation technologies. For example, the output device 54 may include a non-visual display, such as an audio signal, which may include spoken language and/or other sounds such as tones, chimes, and/or melodies, which may signal different conditions and/or directions. The output device 54 may comprise one or more different display screens presenting various data and/or interfaces or controls for use by the patient. The output device 54 may include graphics, which may be presented by a web-based interface and/or by a computer program or application (App.). In some embodiments, the patient interface may include functionality provided by or similar to existing voice-based assistants such as Siri by Apple, Alexa by Amazon, Google Assistant, or Bixby by Samsung.


As generally illustrated in FIG. 3, the patient interface 50 includes a second communication interface 56, which may also be called a remote communication interface configured to communicate with the server 30 and/or the clinician interface 20 via a second network 58. In some embodiments, the second network 58 may include a local area network (LAN), such as an Ethernet network. In some embodiments, the second network 58 may include the Internet, and communications between the patient interface 50 and the server and/or the clinician interface 20 may be secured via encryption, such as, for example, by using a virtual private network (VPN). In some embodiments, the second network 58 may include wired and/or wireless network connections such as Wi-Fi, Bluetooth, ZigBee, Near-Field Communications (NFC), cellular data network, etc. In some embodiments, the second network 58 may be the same as and/or operationally coupled to the first network 34.


The patient interface 50 includes a second processor 60 and a second machine-readable storage memory 62 holding second instructions 64 for execution by the second processor 60 for performing various actions of patient interface 50. The second machine-readable storage memory 62 also includes a local data store 66 configured to hold data, such as data pertaining to a treatment plan and/or patient data, such as data representing a patient's performance within a treatment plan. The patient interface 50 also includes a local communication interface 68 configured to communicate with various devices for use by the patient in the vicinity of the patient interface 50. The local communication interface 68 may include wired and/or wireless communications. In some embodiments, the local communication interface 68 may include a local wireless network such as Wi-Fi, Bluetooth, ZigBee, Near-Field Communications (NFC), cellular data network, etc.


The system 10 also includes an electromechanical machine 101 configured to be manipulated by the patient and/or to manipulate a body part of the patient for performing activities according to the treatment plan. In some embodiments, the electromechanical machine 101 may take the form of an exercise and rehabilitation apparatus configured to perform and/or to aid in the performance of a rehabilitation regimen, which may be an orthopedic rehabilitation regimen, and the treatment includes rehabilitation of a body part of the patient, such as a joint or a bone or a muscle group. The electromechanical machine 101 may be any suitable medical, rehabilitative, therapeutic, etc. apparatus configured to be controlled distally via another computing device to treat a patient and/or exercise the patient. The electromechanical machine 101 may be an electromechanical machine including one or more weights, an electromechanical bicycle, an electromechanical spin-wheel, a smart-mirror, a treadmill, a stair stepping machine, a rowing machine, a weight lifting machine, a pull up machine, an interactive environment system or the like. The body part may include, for example, a spine, a hand, a foot, a knee, or a shoulder. The body part may include a part of a joint, a bone, or a muscle group, such as one or more vertebrae, a tendon, or a ligament. As generally illustrated in FIG. 3, the electromechanical machine 101 includes a controller 72, which may include one or more processors, computer memory, and/or other components. The electromechanical machine 101 also includes a fourth communication interface 74 configured to communicate with the patient interface 50 via the local communication interface 68. The electromechanical machine 101 also includes one or more internal sensors 76 and an actuator 78, such as a motor. The actuator 78 may be used, for example, for moving the patient's body part and/or for resisting forces by the patient.


The internal sensors 76 may measure one or more operating characteristics of the electromechanical machine 101 such as, for example, a force, a position, a speed, and/or a velocity. In some embodiments, the internal sensors 76 may include a position sensor configured to measure at least one of a linear motion or an angular motion of a body part of the patient. For example, an internal sensor 76 in the form of a position sensor may measure a distance that the patient is able to move a part of the electromechanical machine 101, where such distance may correspond to a range of motion that the patient's body part is able to achieve. In some embodiments, the internal sensors 76 may include a force sensor configured to measure a force applied by the patient. For example, an internal sensor 76 in the form of a force sensor may measure a force or weight the patient is able to apply, using a particular body part, to the electromechanical machine 101.


The system 10 generally illustrated in FIG. 3 also includes an ambulation sensor 82, which communicates with the server 30 via the local communication interface 68 of the patient interface 50. The ambulation sensor 82 may track and store a number of steps taken by the patient. In some embodiments, the ambulation sensor 82 may take the form of a wristband, wristwatch, or smart watch. In some embodiments, the ambulation sensor 82 may be integrated within a phone, such as a smartphone.


The system 10 generally illustrated in FIG. 3 also includes a goniometer 84 (e.g., AccuMotion®, AccuAngle®, etc.), which communicates with the server 30 via the local communication interface 68 of the patient interface 50. The goniometer 84 measures an angle of the patient's body part. For example, the goniometer 84 may measure the angle of flex of a patient's hip, knee, ankle, elbow, wrist, shoulder or other joints.


The system 10 generally illustrated in FIG. 3 also includes a pressure sensor 86, which communicates with the server 30 via the local communication interface 68 of the patient interface 50. The pressure sensor 86 measures an amount of pressure or weight applied by a body part of the patient. For example, pressure sensor 86 may measure an amount of force applied by a patient's hand or foot when pedaling a stationary bike, either pushing or pulling by the user.


The system 10 generally illustrated in FIG. 3 also includes a supervisory interface 90 which may be similar or identical to the clinician interface 20. In some embodiments, the supervisory interface 90 may have enhanced functionality beyond what is provided on the clinician interface 20. The supervisory interface 90 may be configured for use by a person having responsibility for the treatment plan, such as an orthopedic surgeon.


The system 10 generally illustrated in FIG. 3 also includes a reporting interface 92 which may be similar or identical to the clinician interface 20. In some embodiments, the reporting interface 92 may have less functionality from what is provided on the clinician interface 20. For example, the reporting interface 92 may not have the ability to modify a treatment plan. Such a reporting interface 92 may be used, for example, by a biller to determine the use of the system 10 for billing purposes. In another example, the reporting interface 92 may not have the ability to display patient identifiable information, presenting only pseudonymized data and/or anonymized data for certain data fields concerning a data subject and/or for certain data fields concerning a quasi-identifier of the data subject. Such a reporting interface 92 may be used, for example, by a researcher to determine various effects of a treatment plan on different patients.


The system 10 includes an assistant interface 94 a healthcare professional, such as those described herein, to remotely communicate with the patient interface 50 and/or the electromechanical machine 101. Such remote communications may enable the assistant to provide assistance or guidance to a patient using the system 10. More specifically, the assistant interface 94 is configured to communicate a telemedicine signal 96, 97, 98a, 98b, 99a, 99b with the patient interface 50 via a network connection such as, for example, via the first network 34 and/or the second network 58. The telemedicine signal 96, 97, 98a, 98b, 99a, 99b comprises one of an audio signal 96, an audiovisual signal 97, an interface control signal 98a for controlling a function of the patient interface 50, an interface monitor signal 98b for monitoring a status of the patient interface 50, an apparatus control signal 99a for changing an operating parameter of the electromechanical machine 101, and/or an apparatus monitor signal 99b for monitoring a status of the electromechanical machine 101. In some embodiments, each of the control signals 98a, 99a may be unidirectional, conveying commands from the assistant interface 94 to the patient interface 50. In some embodiments, in response to successfully receiving a control signal 98a, 99a and/or to communicate successful and/or unsuccessful implementation of the requested control action, an acknowledgement message may be sent from the patient interface 50 to the assistant interface 94. In some embodiments, each of the monitor signals 98b, 99b may be unidirectional, status-information commands from the patient interface 50 to the assistant interface 94. In some embodiments, an acknowledgement message may be sent from the assistant interface 94 to the patient interface 50 in response to successfully receiving one of the monitor signals 98b, 99b.


In some embodiments, the patient interface 50 may be configured as a pass-through for the apparatus control signals 99a and the apparatus monitor signals 99b between the electromechanical machine 101 and one or more other devices, such as the assistant interface 94 and/or the server 30. For example, the patient interface 50 may be configured to transmit an apparatus control signal 99a in response to an apparatus control signal 99a within the telemedicine signal 96, 97, 98a, 98b, 99a, 99b from the assistant interface 94.


In some embodiments, the assistant interface 94 may be presented on a shared physical device as the clinician interface 20. For example, the clinician interface 20 may include one or more screens that implement the assistant interface 94. Alternatively or additionally, the clinician interface 20 may include additional hardware components, such as a video camera, a speaker, and/or a microphone, to implement aspects of the assistant interface 94.


In some embodiments, one or more portions of the telemedicine signal 96, 97, 98a, 98b, 99a, 99b may be generated from a prerecorded source (e.g., an audio recording, a video recording, or an animation) for presentation by the output device 54 of the patient interface 50. For example, a tutorial video may be streamed from the server 30 and presented upon the patient interface 50. Content from the prerecorded source may be requested by the patient via the patient interface 50. Alternatively, via a control on the assistant interface 94, the healthcare professional may cause content from the prerecorded source to be played on the patient interface 50.


The assistant interface 94 includes an assistant input device 22 and an assistant display 24, which may be collectively called an assistant user interface 22, 24. The assistant input device 22 may include one or more of a telephone, a keyboard, a mouse, a trackpad, or a touch screen, for example. Alternatively or additionally, the assistant input device 22 may include one or more microphones. In some embodiments, the one or more microphones may take the form of a telephone handset, headset, or wide-area microphone or microphones configured for the healthcare professional to speak to a patient via the patient interface 50. In some embodiments, assistant input device 22 may be configured to provide voice-based functionalities, with hardware and/or software configured to interpret spoken instructions by the assistant by using the one or more microphones. The assistant input device 22 may include functionality provided by or similar to existing voice-based assistants such as Siri by Apple, Alexa by Amazon, Google Assistant, or Bixby by Samsung. The assistant input device 22 may include other hardware and/or software components. The assistant input device 22 may include one or more general purpose devices and/or special-purpose devices.


The assistant display 24 may take one or more different forms including, for example, a computer monitor or display screen on a tablet, a smartphone, or a smart watch. The assistant display 24 may include other hardware and/or software components such as projectors, virtual reality capabilities, or augmented reality capabilities, etc. The assistant display 24 may incorporate various different visual, audio, or other presentation technologies. For example, the assistant display 24 may include a non-visual display, such as an audio signal, which may include spoken language and/or other sounds such as tones, chimes, melodies, and/or compositions, which may signal different conditions and/or directions. The assistant display 24 may comprise one or more different display screens presenting various data and/or interfaces or controls for use by the healthcare professional. The assistant display 24 may include graphics, which may be presented by a web-based interface and/or by a computer program or application (App.).


In some embodiments, the system 10 may provide computer translation of language from the assistant interface 94 to the patient interface 50 and/or vice-versa. The computer translation of language may include computer translation of spoken language and/or computer translation of text. Additionally or alternatively, the system 10 may provide voice recognition and/or spoken pronunciation of text. For example, the system 10 may convert spoken words to printed text and/or the system 10 may audibly speak language from printed text. The system 10 may be configured to recognize spoken words by any or all of the patient, the clinician, and/or the healthcare professional. In some embodiments, the system 10 may be configured to recognize and react to spoken requests or commands by the patient. For example, in response to a verbal command by the patient (which may be given in any one of several different languages), the system 10 may automatically initiate a telemedicine


In some embodiments, the server 30 may generate aspects of the assistant display 24 for presentation by the assistant interface 94. For example, the server 30 may include a web server configured to generate the display screens for presentation upon the assistant display 24. For example, the artificial intelligence engine 11 may generate recommended treatment plans and/or excluded treatment plans for patients and generate the display screens including those recommended treatment plans and/or external treatment plans for presentation on the assistant display 24 of the assistant interface 94. In some embodiments, the assistant display 24 may be configured to present a virtualized desktop hosted by the server 30. In some embodiments, the server 30 may be configured to communicate with the assistant interface 94 via the first network 34. In some embodiments, the first network 34 may include a local area network (LAN), such as an Ethernet network. In some embodiments, the first network 34 may include the Internet, and communications between the server 30 and the assistant interface 94 may be secured via privacy enhancing technologies, such as, for example, by using encryption over a virtual private network (VPN). Alternatively or additionally, the server 30 may be configured to communicate with the assistant interface 94 via one or more networks independent of the first network 34 and/or other communication means, such as a direct wired or wireless communication channel. In some embodiments, the patient interface 50 and the electromechanical machine 101 may each operate from a patient location geographically separate from a location of the assistant interface 94. For example, the patient interface 50 and the electromechanical machine 101 may be used as part of an in-home rehabilitation system, which may be aided remotely by using the assistant interface 94 at a centralized location, such as a clinic or a call center.


In some embodiments, the assistant interface 94 may be one of several different terminals (e.g., computing devices) that may be grouped together, for example, in one or more call centers or at one or more clinicians' offices. In some embodiments, a plurality of assistant interfaces 94 may be distributed geographically. In some embodiments, a person may work as a healthcare professional remotely from any conventional office infrastructure. Such remote work may be performed, for example, where the assistant interface 94 takes the form of a computer and/or telephone. This remote work functionality may allow for work-from-home arrangements that may include part time and/or flexible work hours for a healthcare professional.



FIG. 4 is an example embodiment of an overview display 120 of the assistant interface 94. Specifically, the overview display 120 presents several different controls and interfaces for the healthcare professional to remotely assist a patient with using the patient interface 50 and/or the electromechanical machine 101. This remote assistance functionality may also be called telemedicine or telehealth.


Specifically, the overview display 120 includes a patient profile display 130 presenting biographical information regarding a patient using the electromechanical machine 101. The patient profile display 130 may take the form of a portion or region of the overview display 120, as generally illustrated in FIG. 5, although the patient profile display 130 may take other forms, such as a separate screen or a popup window. In some embodiments, the patient profile display 130 may include a limited subset of the patient's biographical information. More specifically, the data presented upon the patient profile display 130 may depend upon the healthcare professional's need for that information. For example, a healthcare professional that is assisting the patient with a medical issue may be provided with medical history information regarding the patient, whereas a technician troubleshooting an issue with the electromechanical machine 101 may be provided with a much more limited set of information regarding the patient. The technician, for example, may be given only the patient's name. The patient profile display 130 may include pseudonym zed data and/or anonymized data or use any privacy enhancing technology to prevent confidential patient data from being communicated in a way that could violate patient confidentiality requirements. Such privacy enhancing technologies may enable compliance with laws, regulations, or other rules of governance such as, but not limited to, the Health Insurance Portability and Accountability Act (HIPAA), or the General Data Protection Regulation (GDPR), wherein the patient may be deemed a “data subject”.


In some embodiments, the patient profile display 130 may present information regarding the treatment plan for the patient to follow in using the electromechanical machine 101. Such treatment plan information may be limited to a healthcare professional. For example, a healthcare professional assisting the patient with an issue regarding the treatment regimen may be provided with treatment plan information, whereas a technician troubleshooting an issue with the electromechanical machine 101 may not be provided with any information regarding the patient's treatment plan.


In some embodiments, one or more recommended treatment plans and/or excluded treatment plans may be presented in the patient profile display 130 to the healthcare professional. The one or more recommended treatment plans and/or excluded treatment plans may be generated by the artificial intelligence engine 11 of the server 30 and received from the server 30 in real-time during a telemedicine or telehealth session. An example of presenting the one or more recommended treatment plans and/or ruled-out treatment plans is described below with reference to FIG. 6.


The example overview display 120 generally illustrated in FIG. 4 also includes a patient status display 134 presenting status information regarding a patient using the electromechanical machine 101. The patient status display 134 may take the form of a portion or region of the overview display 120, as generally illustrated in FIG. 4, although the patient status display 134 may take other forms, such as a separate screen or a popup window. The patient status display 134 includes sensor data 136 from one or more of the external sensors 82, 84, 86, and/or from one or more internal sensors 76 of the electromechanical machine 101. In some embodiments, the patient status display 134 may include sensor data from one or more sensors of one or more wearable devices worn by the patient or spaced from the patient (i.e., the remote sensing devices 108) while using the electromechanical machine 101. The one or more wearable devices may include a watch, a bracelet, a necklace, a chest strap, vest and the like, such as any device adhered to the skin or body (e.g., ECG sensor). The one or more wearable devices may be configured to monitor a heartrate, a temperature, a blood pressure, one or more vital signs, and the like of the patient while the patient is using the electromechanical machine 101. The one or more remote sensing devices 108 may be configured to interact with or communicate with the wearable devices in order to more particularly identify attributes of the user. In some embodiments, the patient status display 134 may present other data 138 regarding the patient, such as last reported pain level, or progress within a treatment plan.


User access controls may be used to limit access, including what data is available to be viewed and/or modified, on any or all of the user interfaces 20, 50, 90, 92, 94 of the system 10. In some embodiments, user access controls may be employed to control what information is available to any given person using the system 10. For example, data presented on the assistant interface 94 may be controlled by user access controls, with permissions set depending on the healthcare professional/user's need for and/or qualifications to view that information.


The example overview display 120 generally illustrated in FIG. 4 also includes a help data display 140 presenting information for the healthcare professional to use in assisting the patient. The help data display 140 may take the form of a portion or region of the overview display 120, as generally illustrated in FIG. 4. The help data display 140 may take other forms, such as a separate screen or a popup window. The help data display 140 may include, for example, presenting answers to frequently asked questions regarding use of the patient interface 50 and/or the electromechanical machine 101. The help data display 140 may also include research data or best practices. In some embodiments, the help data display 140 may present scripts for answers or explanations in response to patient questions. In some embodiments, the help data display 140 may present flow charts or walk-throughs for the healthcare professional to use in determining a root cause and/or solution to a patient's problem. In some embodiments, the assistant interface 94 may present two or more help data displays 140, which may be the same or different, for simultaneous presentation of help data for use by the healthcare professional. for example, a first help data display may be used to present a troubleshooting flowchart to determine the source of a patient's problem, and a second help data display may present script information for the healthcare professional to read to the patient, such information to preferably include directions for the patient to perform some action, which may help to narrow down or solve the problem. In some embodiments, based upon inputs to the troubleshooting flowchart in the first help data display, the second help data display may automatically populate with script information.


The example overview display 120 generally illustrated in FIG. 4 also includes a patient interface control 150 presenting information regarding the patient interface 50, and/or to modify one or more settings of the patient interface 50. The patient interface control 150 may take the form of a portion or region of the overview display 120, as shown in FIG. 4. The patient interface control 150 may take other forms, such as a separate screen or a popup window. The patient interface control 150 may present information communicated to the assistant interface 94 via one or more of the interface monitor signals 98b. As generally illustrated in FIG. 4, the patient interface control 150 includes a display feed 152 of the display presented by the patient interface 50. In some embodiments, the display feed 152 may include a live copy of the display screen currently being presented to the patient by the patient interface 50. In other words, the display feed 152 may present an image of what is presented on a display screen of the patient interface 50. In some embodiments, the display feed 152 may include abbreviated information regarding the display screen currently being presented by the patient interface 50, such as a screen name or a screen number. The patient interface control 150 may include a patient interface setting control 154 for the healthcare professional to adjust or to control one or more settings or aspects of the patient interface 50. In some embodiments, the patient interface setting control 154 may cause the assistant interface 94 to generate and/or to transmit an interface control signal 98 for controlling a function or a setting of the patient interface 50.


In some embodiments, the patient interface setting control 154 may include collaborative browsing or co-browsing capability for the healthcare professional to remotely view and/or control the patient interface 50. For example, the patient interface setting control 154 may enable the healthcare professional to remotely enter text to one or more text entry fields on the patient interface 50 and/or to remotely control a cursor on the patient interface 50 using a mouse or touchscreen of the assistant interface 94.


In some embodiments, using the patient interface 50, the patient interface setting control 154 may allow the healthcare professional to change a setting that cannot be changed by the patient. For example, the patient interface 50 may be precluded from accessing a language setting to prevent a patient from inadvertently switching, on the patient interface 50, the language used for the displays, whereas the patient interface setting control 154 may enable the healthcare professional to change the language setting of the patient interface 50. In another example, the patient interface 50 may not be able to change a font size setting to a smaller size in order to prevent a patient from inadvertently switching the font size used for the displays on the patient interface 50 such that the display would become illegible to the patient, whereas the patient interface setting control 154 may provide for the healthcare professional to change the font size setting of the patient interface 50.


The example overview display 120 generally illustrated in FIG. 4 also includes an interface communications display 156 showing the status of communications between the patient interface 50 and one or more other devices 70, 82, 84, such as the electromechanical machine 101, the ambulation sensor 82, and/or the goniometer 84. The interface communications display 156 may take the form of a portion or region of the overview display 120, as generally illustrated in FIG. 4. The interface communications display 156 may take other forms, such as a separate screen or a popup window. The interface communications display 156 may include controls for the healthcare professional to remotely modify communications with one or more of the other devices 70, 82, 84. For example, the healthcare professional may remotely command the patient interface 50 to reset communications with one of the other devices 70, 82, 84, or to establish communications with a new one of the other devices 70, 82, 84. This functionality may be used, for example, where the patient has a problem with one of the other devices 70, 82, 84, or where the patient receives a new or a replacement one of the other devices 70, 82, 84.


The example overview display 120 generally illustrated in FIG. 4 also includes an apparatus control 160 for the healthcare professional to view and/or to control information regarding the electromechanical machine 101. The apparatus control 160 may take the form of a portion or region of the overview display 120, as generally illustrated in FIG. 4. The apparatus control 160 may take other forms, such as a separate screen or a popup window. The apparatus control 160 may include an apparatus status display 162 with information regarding the current status of the apparatus. The apparatus status display 162 may present information communicated to the assistant interface 94 via one or more of the apparatus monitor signals 99b. The apparatus status display 162 may indicate whether the electromechanical machine 101 is currently communicating with the patient interface 50. The apparatus status display 162 may present other current and/or historical information regarding the status of the electromechanical machine 101.


The apparatus control 160 may include an apparatus setting control 164 for the healthcare professional to adjust or control one or more aspects of the electromechanical machine 101. The apparatus setting control 164 may cause the assistant interface 94 to generate and/or to transmit an apparatus control signal 99 (e.g. which may be referred to as treatment plan input) for changing an operating parameter and/or one or more characteristics of the electromechanical machine 101, (e.g., a pedal radius setting, a resistance setting, a target RPM, other suitable characteristics of the treatment device 70, or a combination thereof). The apparatus setting control 164 may include a mode button 166 and a position control 168, which may be used in conjunction for the healthcare professional to place an actuator 78 of the electromechanical machine 101 in a manual mode, after which a setting, such as a position or a speed of the actuator 78, can be changed using the position control 168. The mode button 166 may provide for a setting, such as a position, to be toggled between automatic and manual modes. In some embodiments, one or more settings may be adjustable at any time, and without having an associated auto/manual mode. In some embodiments, the healthcare professional may change an operating parameter of the electromechanical machine 101, such as a pedal radius setting, while the patient is actively using the electromechanical machine 101. Such “on the fly” adjustment may or may not be available to the patient using the patient interface 50. In some embodiments, the apparatus setting control 164 may allow the healthcare professional to change a setting that cannot be changed by the patient using the patient interface 50. For example, the patient interface 50 may be precluded from changing a preconfigured setting, such as a height or a tilt setting of the electromechanical machine 101, whereas the apparatus setting control 164 may provide for the healthcare professional to change the height or tilt setting of the electromechanical machine 101.


The example overview display 120 generally illustrated in FIG. 4 also includes a patient communications control 170 for controlling an audio or an audiovisual communications session with the patient interface 50. The communications session with the patient interface 50 may comprise a live feed from the assistant interface 94 for presentation by the output device of the patient interface 50. The live feed may take the form of an audio feed and/or a video feed. In some embodiments, the patient interface 50 may be configured to provide two-way audio or audiovisual communications with a person using the assistant interface 94. Specifically, the communications session with the patient interface 50 may include bidirectional (two-way) video or audiovisual feeds, with each of the patient interface 50 and the assistant interface 94 presenting video of the other one. In some embodiments, the patient interface 50 may present video from the assistant interface 94, while the assistant interface 94 presents only audio or the assistant interface 94 presents no live audio or visual signal from the patient interface 50. In some embodiments, the assistant interface 94 may present video from the patient interface 50, while the patient interface 50 presents only audio or the patient interface 50 presents no live audio or visual signal from the assistant interface 94.


In some embodiments, the audio or an audiovisual communications session with the patient interface 50 may take place, at least in part, while the patient is performing the rehabilitation regimen upon the body part. The patient communications control 170 may take the form of a portion or region of the overview display 120, as shown in FIG. 4. The patient communications control 170 may take other forms, such as a separate screen or a popup window. The audio and/or audiovisual communications may be processed and/or directed by the assistant interface 94 and/or by another device or devices, such as a telephone system, or a videoconferencing system used by the healthcare professional while the healthcare professional uses the assistant interface 94. Alternatively or additionally, the audio and/or audiovisual communications may include communications with a third party. For example, the system 10 may enable the healthcare professional to initiate a 3-way conversation regarding use of a particular piece of hardware or software, with the patient and a subject matter expert, such as a medical professional or a specialist. The example patient communications control 170 generally illustrated in FIG. 4 includes call controls 172 for the healthcare professional to use in managing various aspects of the audio or audiovisual communications with the patient. The call controls 172 include a disconnect button 174 for the healthcare professional to end the audio or audiovisual communications session. The call controls 172 also include a mute button 176 to temporarily silence an audio or audiovisual signal from the assistant interface 94. In some embodiments, the call controls 172 may include other features, such as a hold button (not shown). The call controls 172 also include one or more record/playback controls 178, such as record, play, and pause buttons to control, with the patient interface 50, recording and/or playback of audio and/or video from the teleconference session (e.g., which may be referred to herein as the virtual conference room). The call controls 172 also include a video feed display 180 for presenting still and/or video images from the patient interface 94, and a self-video display 182 showing the current image of the healthcare professional using the assistant interface 94. The self-video display 182 may be presented as a picture-in-picture format, within a section of the video feed display 180, as generally illustrated in FIG. 4. Alternatively or additionally, the self-video display 182 may be presented separately and/or independently from the video feed display 180.


The example overview display 120 generally illustrated in FIG. 4 also includes a third party communications control 190 for use in conducting audio and/or audiovisual communications with a third party. The third-party communications control 190 may take the form of a portion or region of the overview display 120, as generally illustrated in FIG. 5. The third-party communications control 190 may take other forms, such as a display on a separate screen or a popup window. The third-party communications control 190 may include one or more controls, such as a contact list and/or buttons or controls to contact a third party regarding use of a particular piece of hardware or software, e.g., a subject matter expert, such as a healthcare professional or a specialist. The third-party communications control 190 may include conference calling capability for the third party to simultaneously communicate with both the healthcare professional via the assistant interface 94, and with the patient via the patient interface 50. For example, the system 10 may provide for the healthcare professional to initiate a 3-way conversation with the patient and the third party.



FIG. 5 generally illustrates an example block diagram of training a machine learning model 13 to output, based on data 600 pertaining to the patient, a treatment plan 602 for the patient according to the present disclosure. Data pertaining to other patients may be received by the server 30. The other patients may have used various treatment apparatuses to perform treatment plans. The data may include characteristics of the other patients, the details of the treatment plans performed by the other patients, and/or the results of performing the treatment plans (e.g., a percentage of recovery of a portion of the patients' bodies, an amount of recovery of a portion of the patients' bodies, an amount or percentage of increase or decrease in muscle strength of a portion of patients' bodies, an amount or percentage of increase or decrease in range of motion of a portion of patients' bodies, etc.).


The data related to the treatment plans may include prescribed exercises that were implemented by the electromechanical machines 101 used by the users. The prescribed exercises may be associated with certain motion profiles that enabled the prescribed exercises to be performed using the electromechanical machines 101. The data may include correlations, associations, and/or relations between the treatment plans (e.g., motion profiles of the prescribed exercises) and the results experienced by the users.


The training data used to train the machine learning model 13 may be preprocessed prior to being fed to the machine learning model 13. Preprocessing may refer to formatting the data. In some embodiments, the formatting may include transforming the data into a treatment machine description language, which may refer to a canonical data format that includes tag and value pairs and/or one or more grammar attributes. Due to its uniform format, the treatment machine description language may enable more efficient training of the machine learning model 13 and faster execution when the trained machine learning model 13 is subsequently run. The preprocessing may select characteristics and/or attributes of the data to be used for matching the data to desired outputs. The preprocessing may also include normalizing the data, eliminating duplicates of the data, making error corrections to the data, and the like. In some embodiments, the preprocessing may format the data received from any suitable source, such as extensible markup language (XML) files, databases, database collection objects (tables), flat files, comma separated values (CSV) files and other delimited files, text files, spreadsheet files, etc.


As depicted, the data has been assigned to different cohorts. Cohort A includes data for patients having similar first characteristics, first treatment plans, and first results. Cohort B includes data for patients having similar second characteristics, second treatment plans, and second results. For example, cohort A may include first characteristics of patients in their twenties without any medical conditions who underwent surgery for a broken limb; their treatment plans may include a certain treatment protocol (e.g., use the electromechanical machine 101 for 30 minutes 5 times a week for 3 weeks, wherein values for the properties, configurations, and/or settings of the electromechanical machine 101 are set to X (where X is a numerical value) for the first two weeks and to Y (where Y is a numerical value) for the last week).


Cohort A and cohort B may be included in a training dataset used to train the machine learning model 13. The machine learning model 13 may be trained to match a pattern between characteristics for each cohort and to output the treatment plan or a variety of possible treatment plans for selection by a healthcare provider. The output treatment plan may include one or more prescribed exercises with associated motion profiles to be implemented by the electromechanical machine 101. Accordingly, when the data 600 for a new patient is input into the trained machine learning model 13, the trained machine learning model 13 may match the characteristics included in the data 600 with characteristics in either cohort A or cohort B and output the appropriate treatment plan or plans 602. In some embodiments, the machine learning model 13 may be trained to output one or more excluded treatment plans that should not be performed by the new patient.


In some embodiments, the machine learning models 13 may be trained to output a virtual model of a desired electromechanical machine 101 capable of performing a prescribed exercise associated with achieving a desired goal. Accordingly, the training data may include inputs related to desired goals and treatment plans and outputs related to the virtual model of the desired electromechanical machine 101. The output may be in the treatment machine description language format. The virtual model may include one or more graphical representations of components used to enable performing the prescribed exercise. The graphical representations may be associated with one or more identifiers of the components used to enable the electromechanical machine 101 to perform the prescribed exercise.



FIG. 6 generally illustrates an embodiment of an overview display 120 of the assistant interface 94 presenting recommended treatment plans and excluded treatment plans in real-time during a telemedicine session according to the present disclosure. As depicted, the overview display 120 just includes sections for the patient profile 130 and the video feed display 180, including the self-video display 182. Any suitable configuration of controls and interfaces of the overview display 120 described with reference to FIG. 4 may be presented in addition to or instead of the patient profile 130, the video feed display 180, and the self-video display 182.


The healthcare professional using the assistant interface 94 (e.g., computing device) during the telemedicine session may be presented in the self-video 182 in a portion of the overview display 120 (e.g., user interface presented on a display screen 24 of the assistant interface 94) that also presents a video from the patient in the video feed display 180. Further, the video feed display 180 may also include a graphical user interface (GUI) object 700 (e.g., a button) that enables the healthcare professional to share, in real-time or near real-time during the telemedicine session, the recommended treatment plans and/or the excluded treatment plans with the patient on the patient interface 50. The healthcare professional may select the GUI object 700 to share the recommended treatment plans and/or the excluded treatment plans. As depicted, another portion of the overview display 120 includes the patient profile display 130.


The patient profile display 130 is presenting two example recommended treatment plans 600 and one example excluded treatment plan 602. As described herein, the treatment plans may be recommended in view of characteristics of the patient being treated. To generate the recommended treatment plans 600 the patient should follow to achieve a desired result, a pattern between the characteristics of the patient being treated and a cohort of other people who have used the electromechanical machine 101 to perform a treatment plan may be matched by one or more machine learning models 13 of the artificial intelligence engine 11. Each of the recommended treatment plans may be generated based on different desired results.


For example, as depicted, the patient profile display 130 presents “The characteristics of the patient match characteristics of users in Cohort A. The following treatment plans are recommended for the patient based on his characteristics and desired results.” Then, the patient profile display 130 presents recommended treatment plans from cohort A, and each treatment plan provides different results.


As depicted, treatment plan “A” indicates “Patient X should use treatment apparatus for 30 minutes a day for 4 days to achieve an increased range of motion of Y %; Patient X has Type 2 Diabetes; and Patient X should be prescribed medication Z for pain management during the treatment plan (medication Z is approved for people having Type 2 Diabetes; The prescribed exercise includes pedaling in a circular motion profile).” Accordingly, the treatment plan generated achieves increasing the range of motion of Y %. As may be appreciated, the treatment plan also includes a recommended medication (e.g., medication Z) to prescribe to the patient to manage pain in view of a known medical disease (e.g., Type 2 Diabetes) of the patient. That is, the recommended patient medication not only does not conflict with the medical condition of the patient but thereby improves the probability of a superior patient outcome. The treatment plan also includes a prescribed exercise for the treatment apparatus that involves pedaling in a circular motion profile. This specific example and all such examples elsewhere herein are not intended to limit in any way the generated treatment plan from recommending multiple medications, or from handling the acknowledgement, view, diagnosis and/or treatment of comorbid conditions or diseases.


Recommended treatment plan “B” may specify, based on a different desired result of the treatment plan, a different treatment plan including a different treatment protocol for an electromechanical machine 101, a different medication regimen, etc.


As depicted, the patient profile display 130 may also present the excluded treatment plans 602. These types of treatment plans are shown to the healthcare professional using the assistant interface 94 to alert the healthcare professional not to recommend certain portions of a treatment plan to the patient. For example, the excluded treatment plan could specify the following: “Patient X should not use treatment apparatus for longer than 30 minutes a day due to a heart condition; Patient X has Type 2 Diabetes; and Patient X should not be prescribed medication M for pain management during the treatment plan (in this scenario, medication M can cause complications for people having Type 2 Diabetes). Specifically, the excluded treatment plan points out a limitation of a treatment protocol where, due to a heart condition, Patient X should not exercise for more than 30 minutes a day. The ruled-out treatment plan also points out that Patient X should not be prescribed medication M because it conflicts with the medical condition Type 2 Diabetes.


The healthcare professional may select the treatment plan for the patient on the overview display 120. For example, the healthcare professional may use an input peripheral (e.g., mouse, touchscreen, microphone, keyboard, etc.) to select from the treatment plans 600 for the patient. In some embodiments, during the telemedicine session, the healthcare professional may discuss the pros and cons of the recommended treatment plans 600 with the patient.


In any event, the healthcare professional may select the treatment plan for the patient to follow to achieve the desired result. The selected treatment plan may be transmitted to the patient interface 50 for presentation. The patient may view the selected treatment plan on the patient interface 50. In some embodiments, the healthcare professional and the patient may discuss during the telemedicine session the details (e.g., treatment protocol using treatment apparatus 70, diet regimen, medication regimen, etc.) in real-time or in near real-time. In some embodiments, the server 30 may control, based on the selected treatment plan and during the telemedicine session, the electromechanical machine 101 as the user uses the electromechanical machine 101.



FIG. 7 is a flow diagram generally illustrating a method 700 for generating a motion profile for an assembly of an electromechanical machine according to the principles of the present disclosure. The method 700 is performed by processing logic that may include hardware (circuitry, dedicated logic, etc.), software, or a combination of both. The method 700 and/or each of its individual functions, routines, subroutines, operations, or methods (e.g., object-oriented programming) may be performed by one or more processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, the method 700 may be performed by a single processing thread. Alternatively, the method 700 may be performed by two or more processing threads, each thread implementing one or more individual functions, routines, subroutines, object-oriented methods, or operations of the methods.


For simplicity of explanation, the method 700 is depicted and described as a series of operations. However, operations in accordance with this disclosure can occur in various orders and/or concurrently, and/or with other operations not presented and described herein. For example, the operations depicted in the method 700 may occur in combination with any other operation of any other method disclosed herein. Furthermore, not all illustrated operations may be required to implement the method 700 in accordance with the disclosed subject matter. In addition, those skilled in the art will understand and appreciate that the method 700 could alternatively be represented as a series of interrelated states via a state-based or event-based diagram.


In some embodiments, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9 to perform one or more of the operations of the method 700. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number of layers, various weights associated with outputs of each node, and the like.


In some embodiments, as described herein, the electromechanical machine 101 may include one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors. The electromechanical machine 101 may include an assembly coupled to a carriage for movement with the carriage along a length of an arm. The carriage may be coupled to each cable of the first set of cables. The assembly may include a pedal assembly and the pedal assembly is rotatably coupled to the carriage. In some embodiments, the assembly may include a handlebar assembly, a row assembly, a pedal assembly, a climbable assembly, a step assembly, a paddle assembly, a brace assembly, a lift assembly, a push assembly, a balance assembly, or some combination thereof.


Further, a processing device may be communicatively coupled to the one or more motors to transmit control signals to the one or more motors to control an operating parameter (e.g., speed, revolutions per minute, torque, etc.) of the motors. The processing device may execute computer instructions to implement a control system. In some embodiments, the processing device may be disposed in a computing device separate from the electromechanical machine 101, or the processing device may be disposed in the electromechanical machine 101.


At 702, the processing device may receive data including a treatment plan. The treatment plan may include one or more prescribed exercises for a user to perform using the electromechanical machine 101.


At 704, the processing device may generate, based on the data, a motion profile for an assembly of the electromechanical machine 101. The assembly may be coupled to a carriage for movement with the carriage along a length of an arm. The carriage may be coupled to each cable of the first set of cables. In some embodiments, the processing device may generate, using the artificial intelligence engine 11, a machine learning model 13 trained to generate the motion profile for the assembly.


In some embodiments, the processing device may execute a machine learning model 13 trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof. The spools may refer to one or more cylindrical-shaped objects (e.g., or any one or more suitably-shaped objects) that are configured to enable cables to wind around.


In some embodiments, using the electromechanical machine 101, the processing device may execute a transformation function to implement a desired virtual apparatus model. The transformation function may refer to a mathematical function that modifies another mathematical function to cause a graph associated with the other mathematical function to be modified. The transformation function may result in one or more coordinates being mapped to an n-dimensional plane or domain. The resulting graph that is made up of the coordinates may refer to a motion profile. The motion profile may include a line or a geometrical shape (e.g., circle, ellipse, rectangle, square, etc.).


The desired virtual apparatus model may refer to a virtual representation of a desired electromechanical machine 101. The desired virtual apparatus may implement one or more settings, parameters, operations, components, attributes, motion profiles, etc. For example, to simulate an elliptical machine, the desired virtual apparatus may implement a motion profile that causes the carriage and assembly to move in any type of motion, such as elliptical motion. To cause the electromechanical machine 101 to operate like the desired virtual apparatus, the desired virtual apparatus and/or one or more of its settings, parameters, operations, components, attributes, motion profiles, etc. may be transmitted to the electromechanical machine 101.


In some embodiments, a machine learning model 13 may be trained, based on identifying correlations between pedal motion and user impact, to determine a motion profile. For example, the user impact may refer to a result associated with using the motion profile to perform a treatment plan on the electromechanical machine 101. In some embodiments, the processing device may transform the motion profile of the carriage and/or assembly based on certain criteria, such as characteristics related to one or more muscle groups, user attributes (e.g., height, demographic, weight, age, etc.), one or more desired goals, or some combination thereof. For example, a motion profile correlated with achieving a certain result may be selected, determined, and/or generated if the user and/or healthcare professional desires the user to achieve that certain result by using the electromechanical machine 101.


At 706, the processing device may control, based on the motion profile, the one or more motors of the electromechanical machine 101.


At 708, based on a prescribed exercise of the one or more prescribed exercises, the processing device may present an element that modifies an appearance of the electromechanical machine 101. For example, a headset may be configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies an appearance of the electromechanical machine 101 in the headset. The virtual reality element may be a video, an image, an audible noise, a graphic, a setting, or the like. In another example, a display may be configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine 101. The augmented reality element may be a video, an image, a noise configured to be audible, a graphic, a setting, or the like.



FIG. 8 is a flow diagram generally illustrating a method 800 for controlling the electromechanical machine in one or more modes according to the principles of the present disclosure. Method 800 includes operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 800 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 800 may be performed in the same or a similar manner as described above in regard to method 700. The operations of the method 800 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, to perform one or more of the operations of the method 800, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like.


At 802, the processing device may control the one or more motors to operate in a plurality of modes including an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof. While operating the electromechanical machine in the various modes, the control system may use information received from measuring devices (e.g., sensors) to adjust parameters (e.g., reduce resistance provided by motors, increase resistance provided by the motors, increase/decrease speed of the motors, etc.). The control system may receive the information from the monitoring devices, aggregate the information, make determinations using the information, and/or transmit the information to a server for storage. The server may maintain the information that is related to each user.


In some embodiments, the measuring devices may include pressure sensors and/or force sensors located in the pedal assemblies. These sensors may be configured to measure an amount of force exerted on the sensors and transmit the measurement to a processing device. In some embodiments, the measuring devices may include one or more goniometers, wearable sensors, cameras, accelerometers, strain gauges, light sensors, biosensors, pressure sensors, proximity sensors, haptic sensors, piezoelectric sensors, optical sensors, temperature sensors, electrical sensors, mechanical sensors, chemical sensors, electromechanical sensors, electrochemical sensors, or mechanicochemical sensors. In some embodiments, the measuring device may be in pill form and may be swallowed by the user to monitor the user's core temperature, among other things. In some embodiments, the measuring device may be injected into the user via the skin of the user. In some embodiments, the measuring device may be implanted in a portion of the user's body. In some embodiments, any suitable measuring device configured to obtain any suitable characteristic, measurement, attribute, etc. of the user, of the electromechanical machine 101, of the exercise, and of the like may be used.


The passive mode may refer to the one or more motors independently driving the carriage and/or the assembly. In the passive mode, the motors may be the only source of driving force on the carriage and/or couplings. That is, the user may engage the 110 with their hands or their feet and the motors may rotate the carriage and/or assembly for the user. This may enable moving the affected body part and stretching the affected body part without the user exerting excessive force.


The active-assisted mode may refer to the motors receiving measurements of revolutions per minute of the one or more carriages and/or assemblies, and a processing device may cause the motors to drive the one or more carriage and/or assembly when the measured revolutions per minute satisfy a threshold condition. The threshold condition may be configurable by the user and/or the healthcare professional. The motors may be powered off while the user provides the driving force to the carriage and/or assembly as long as the revolutions per minute are above a revolutions per minute threshold and the threshold condition is not satisfied. When the revolutions per minute are less than the revolutions per minute threshold then the threshold condition is satisfied and the motors may be controlled to drive the carriage and/or assembly to maintain the revolutions per minute threshold.


The resistive mode may refer to the motors providing resistance to rotation of the one or more carriages and/or assemblies. By causing the muscle to exert force to move the pedals against the resistance provided by the motors, the resistive mode may increase the strength of the body part being rehabilitated.


The active mode may refer to the motors powering off such that no driving force assistance is provided to the carriage and/or assembly. Instead, in this mode, the user, using their hands or feet, for example, provides the sole driving force of the carriage and/or assembly.


During one or more of the modes, each of the assemblies may measure force exerted by a part of the body of the user on the assemblies. For example, the assemblies may each contain any suitable sensor (e.g., strain gauge load cell, piezoelectric crystal, hydraulic load cell, etc.) for measuring force exerted on the assembly. Further, the assemblies may each contain any suitable sensor for detecting whether the user's body part separates from contact. In some embodiments, the measured force may be used to detect whether the body part has separated from the assemblies. The force detected may be transmitted via the network interface card of any of the assemblies to the control system.


At 804, by controlling the one or more motors based on the motion profile, the plurality of modes, or some combination thereof, the processing device may enable performing at least one of the one or more prescribed exercises by using the electromechanical machine 101. The processing device may be configured to transmit control instructions or control signals to the motors to enable the prescribed exercise (e.g., cycling in a circular motion profile at a certain range of motion, speed, range of motion, resistance, or some combination thereof) to be performed by using the electromechanical machine 101.



FIG. 9 is a flow diagram generally illustrating a method 900 for generating a virtual model of the electromechanical machine according to the principles of the present disclosure. Method 900 includes operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 900 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 900 may be performed in the same or a similar manner as described above in regard to method 700. The operations of the method 900 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9 to perform one or more of the operations of the method 900. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like.


At 902, the processing device may generate, based on one or more desired goals of a user and using a treatment machine description language, a virtual model of the electromechanical machine 101. The virtual model may be generated by a trained machine learning model 13. In some embodiments, the treatment machine description language may include a canonical format including tags identifying values of target information, tags implementing an attribute grammar, or some combination thereof. In some embodiments, the target information may pertain to components of an electromechanical machine 101, a layout of the components, parameters of the components, motion profiles of the components, attributes of the components, or some combination thereof. In some embodiments, the treatment machine description language may enable designing and laying out components of a virtual model of the electromechanical machine 101. The machine learning model 13 may be trained with training data including inputs of desired goals associated with the treatment machine description language of electromechanical machines 101 (e.g., components of an electromechanical machine 101, a layout of the components, parameters of the components, motion profiles of the components, attributes of the components, or some combination thereof) and outputs of virtual models of electromechanical machines 101. In some embodiments, to enable achieving the one or more desired goals, the virtual models may include a list of components to use. The list of components may be associated with the electromechanical machine, another electromechanical machine, an accessory, an apparatus, or some combination thereof.


At 906, the processing device may generate, using the virtual model and data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine 101, a motion profile. In some embodiments, the processing device may generate, using the virtual model, a treatment plan to control the electromechanical machine 101.


At 908, the processing device may control, using the motion profile, the one or more motors. The processing device may generate one or more control instructions and transmit them to the one or more motors to cause an operating parameter of the motor to be modified to cause the motion profile of the carriage and/or assembly to be implemented.



FIG. 10 is a flow diagram generally illustrating a method 1000 for using configuration information to determine whether a prescribed exercise can be performed using an electromechanical machine according to the principles of the present disclosure. Method 1000 includes operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 1000 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 1000 may be performed in the same or a similar manner as described above in regard to method 700. The operations of the method 1000 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, to perform one or more of the operations of the method 1000, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like.


At 1002, the processing device may determine, based on a prescribed exercise of the one or more prescribed exercises, one or more components to include to enable performance of the prescribed exercise by using the electromechanical machine 101.


At 1004, the processing device may validate, based on the one or more components and configuration information pertaining to the electromechanical machine 101, whether the motion profile associated with the prescribed exercise is achievable. Achievable as used herein may refer to moving the assembly and/or carriage in a motion profile within a threshold range of accuracy (e.g., 50%-100% traversal of desired locations in a coordinate space mapping the motion profile) and/or within a threshold range of completion (e.g., 50%-100% motions completed). The configuration information may be stored in any suitable file and may include a list of components associated with the electromechanical machine 101. For example, the configuration information may include a parts list. In some embodiments, the configuration information may include information pertaining to one or more exercises enabled using one or more components of the electromechanical machine 101. The configuration information may be stored in a memory device of the electromechanical machine 101, at a server 30, or at any suitable location accessible to the processing device.


At 1006, responsive to determining the motion profile associated with the prescribed exercise is achievable, the processing device may execute a transformation function to implement a desired virtual apparatus model, wherein the desired virtual apparatus model is configured to implement the motion profile by using the electromechanical machine 101. To implement the desired virtual apparatus model, the transformation function may map the motion profile to one or more coordinates in a domain.


At 1008, responsive to determining the motion profile associated with the prescribed exercise is unachievable, the processing device may determine, based on the one or more components and the configuration information, an at least one missing component needed to achieve the motion profile for the prescribed exercise. Unachievable may refer to an inability to move the assembly and/or carriage in a certain motion profile within a threshold range of accuracy (e.g., 50%-100% traversal of desired locations in a coordinate space mapping the motion profile) and/or within a threshold range of completion (e.g., 50%-100% motions completed).


In some embodiments, the processing device may generate and output an electromechanical machine configuration file, wherein the electromechanical machine configuration file includes information pertaining to the at least one missing component. In some embodiments, the configuration file may be presented on a display screen and may provide a selectable option to access a source relating to where to purchase the missing component.


In some embodiments, the processing device may transmit a recommendation to a computing device. The recommendation may be associated with a payment system that enables purchasing the at least one missing component. For example, the payment system may be any suitable digital payment system, such as PayPal®, Venmo®, Zelle®, bitcoin or other cryptocurrency, Monero, MobileCoin, or other coin or stablecoin, Google Pay®, Apple Pay®, any transactional service provided by a financial institution, a financial service, a blockchain, etc.



FIG. 11 is a flow diagram generally illustrating a method 1100 for using user results to train a machine learning model to generate motion profiles according to the principles of the present disclosure. Method 1100 includes operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 1100 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 1100 may be performed in the same or a similar manner as described above in regard to method 700. The operations of the method 1100 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, to perform one or more of the operations of the method 1100, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like.


At 1102, the processing device may monitor, based on data received from one or more sensors, one or more results associated with the motion profile. The results may pertain to a range of motion achieved by the user when using the motion profile, a speed of pedaling achieved by the user when using the motion profile, an amount of resistance achieved by the user when using the motion profile, etc.


At 1104, to generate one or more subsequent motion profiles, the processing device may train, based on the one or more results, a machine learning model 13. The one or more subsequent motion profiles may include one or more movement paths within an n-dimensional coordinate plane. For example, the results may indicate that a particular motion profile provided excellent results for a particular desired goal and the machine learning model 13 may be trained, when prescribing exercises for that particular desired goal, to more heavily weight a parameter or probability associated with selecting that particular motion profile.



FIG. 12 shows an example computer system 1200, which can perform any one or more of the methods described herein, in accordance with one or more aspects of the present disclosure. In one example, computer system 1200 may include a computing device and correspond to the assistance interface 94, reporting interface 92, supervisory interface 90, clinician interface 20, server 30 (including the Al engine 11), patient interface 50, ambulatory sensor 82, goniometer 84, electromechanical machine 101, pressure sensor 86, or any suitable component of FIGS. 1-3. The computer system 1200 may be capable of executing instructions implementing the one or more machine learning models 13 of the artificial intelligence engine 11 of FIG. 3. The computer system may be connected (e.g., networked) to other computer systems in a LAN, an intranet, an extranet, or the Internet, including via the cloud or a peer-to-peer network. The computer system may operate in the capacity of a server in a client-server network environment. The computer system may be a personal computer (PC), a tablet computer, a wearable (e.g., wristband), a set-top box (STB), a personal Digital Assistant (PDA), a mobile phone, a camera, a video camera, an Internet of Things (IoT) device, or any device capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that device. Further, while only a single computer system is illustrated, the term “computer” shall also be taken to include any collection of computers that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.


The computer system 1200 includes a processing device 1202, a main memory 1204 (e.g., read-only memory (ROM), flash memory, solid state drives (SSDs), dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM)), a static memory 1206 (e.g., flash memory, solid state drives (SSDs), static random access memory (SRAM)), and a data storage device 1208, which communicate with each other via a bus 1210.


Processing device 1202 represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device 1202 may be a complex instruction set computing (CISC) microprocessor, reduced instruction set computing (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or a processor implementing other instruction sets or processors implementing a combination of instruction sets. The processing device 1202 may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a system on a chip, a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. The processing device 1202 is configured to execute instructions for performing any of the operations and steps discussed herein.


The computer system 1200 may further include a network interface device 1212. The computer system 1200 also may include a video display 1214 (e.g., a liquid crystal display (LCD), a light-emitting diode (LED), an organic light-emitting diode (OLED), a quantum LED, a cathode ray tube (CRT), a shadow mask CRT, an aperture grille CRT, a monochrome CRT), one or more input devices 1216 (e.g., a keyboard and/or a mouse or a gaming-like control), and one or more speakers 1218 (e.g., a speaker). In one illustrative example, the video display 1214 and the input device(s) 1216 may be combined into a single component or device (e.g., an LCD touch screen).


The data storage device 1216 may include a computer-readable medium 1220 on which the instructions 1222 embodying any one or more of the methods, operations, or functions described herein is stored. The instructions 1222 may also reside, completely or at least partially, within the main memory 1204 and/or within the processing device 1202 during execution thereof by the computer system 1200. As such, the main memory 1204 and the processing device 1202 also constitute computer-readable media. The instructions 1222 may further be transmitted or received over a network 34 and/or 58 via the network interface device 1212.


While the computer-readable storage medium 1220 is shown in the illustrative examples to be a single medium, the term “computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical media, and magnetic media.



FIG. 14 is a flow diagram generally illustrating a method 1400 for using a transformation function to implement a desired virtual apparatus model according to the principles of the present disclosure. Method 1400 includes operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 1400 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 1400 may be performed in the same or a similar manner as described above in regard to method 700. The operations of the method 1400 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, to perform one or more of the operations of the method 1400, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like. An objective function may refer to a function that maximizes or minimizes a value. An objection function may be a function represented as linear equation (e.g., Z=zx+by) and is used to represent optimization problems in linear programming. For example, an objective function may attempt to maximize a range of motion provided by a motion profile based on a set of constraints and a relationship between one or more variables.


The method 1400 may be implemented in instructions and executed by a processing device communicatively coupled to one or more motors of an electromechanical machine 2101. The one or more motors may be mounted to a body and spaced apart from each other. The electromechanical machine 2101 may include a first set of cables, each coupled to a respective one of the motors.


At 1402, the processing device may receive data, and the data may include a treatment plan. The treatment plan may include one or more prescribed exercises for a user to perform using the electromechanical machine. In some embodiments, the processing device may be disposed in a computing device separate from the electromechanical machine 2101; in some other embodiments, the processing device may be disposed in the electromechanical machine 2101.


In some embodiments, a headset may be configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies an appearance in the headset of the electromechanical machine 2101. For example, the virtual reality element may cause the electromechanical machine to represent a treadmill, a stationary bicycle, a stair-stepper machine, or the like. In some embodiments, a display may be configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine 2101. The augmented reality element may represent, for a stair-stepper exercise, a virtual stair; for a walking exercise, a virtual walking belt; for a pedaling exercise, a virtual pedal; and for other exercises, a corresponding virtual element associated with the electromechanical machine 2021.


At 1404, the processing device may generate, based on the data, a motion profile for an assembly of the electromechanical machine 2101. The assembly may be coupled to a carriage to enable movement along a length of an arm. In some embodiments, the assembly may include a handlebar assembly, a row assembly, a pedal assembly, a climbable assembly, a step assembly, a paddle assembly, a brace assembly, a lift assembly, a push assembly, a balance assembly, or some combination thereof. The assembly may include a pedal assembly and the pedal assembly is rotatably coupled to the carriage. The carriage may be coupled to each cable of the first set of cables. In some embodiments, the processing device may execute an artificial intelligence engine 11 to generate one or more machine learning models 13 trained to generate the motion profile for the assembly. In some embodiments, the motion profile may include a line or a geometrical shape.


At 1406, the processing device may, using the electromechanical machine 2101, execute a transformation function to implement a desired virtual apparatus model. To implement the desired virtual apparatus model, the transformation function may map the motion profile to one or more coordinates in an n-dimensional domain. The desired virtual apparatus model may include virtual components for each component (e.g., such as the assembly, the motors, the pedals, the cables, the carriages, and the like) that is used during the prescribed exercise. The desired virtual apparatus model may be used to simulate the motion profile on a display of a computing device. The desired virtual apparatus model may be an n-dimensional object that can be graphically presented and may be animated to illustrate the motion profile associated with the prescribed exercise. The desired virtual apparatus model may include a mathematical coordinate-based representation of an object (e.g., electromechanical machine) in n-dimensions (e.g., 3) based on manipulating edges, vertices, and/or polygons in a simulated n-dimensional space. A mathematical mesh of polygons may be used to define reference points in X, Y, and Z axes in order to enable the definition of shapes with height, width, and depth. The elements of the desired virtual apparatus model may be mapped to the actual components of the electromechanical machine 2101. For example, a virtual motor may be mapped to and control an actual motor of the electromechanical machine (e.g., changing revolutions per minute of the virtual motor causes the actual motor to change its revolutions per minute).


At 1408, the processing device may control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine 2101. In some embodiments, the processing device may control the one or more motors to operate in a set of modes including an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof. In some embodiments, using the electromechanical machine 2102 by controlling the one or more motors based on the motion profile, the set of modes, or some combination thereof, the processing device may enable performing at least one of the one or more prescribed exercises.


In some embodiments, the processing device may use a machine learning model trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof. For example, the machine learning models may be trained with training data that includes labeled inputs mapped to labeled outputs. The labeled inputs may include information pertaining to exercises of a treatment plan and the labeled outputs may include operating parameters for one or more components of the electromechanical machine 2101. The operating parameters may enable the electromechanical machine 2101 to perform the exercises. In some embodiments, the machine learning models may output one or more probabilities, wherein each of the probabilities is associated with at least one of the operating parameters. The determination of the operating parameters to have a certain probability may cause a determined operating parameter to be selected to control the electromechanical machine 2101.



FIG. 15 is a flow diagram generally illustrating a method 1500 to transform the movement shape of one or more portions of a machine, wherein the transformation is based on certain criteria according to the principles of the present disclosure. Method 1500 includes operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 1500 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 1500 may be performed in the same or a similar manner as described above in regard to method 700. The operations of the method 1500 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, to perform one or more of the operations of the method 1500, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like.


The method 1500 may be implemented in instructions and executed by a processing device communicatively coupled to one or more motors of an electromechanical machine 2101. The one or more motors may be mounted to a body and spaced apart from each other. The electromechanical machine 21201 may include a first set of cables, each coupled to a respective one of the motors.


At 1502, the processing device may receive data including a treatment plan. The treatment plan may include one or more prescribed exercises for a user to perform using the electromechanical machine 2101. The one or more prescribed exercises may specify a duration to exercise, a type (e.g., walking, cycling, climbing, rowing, etc.) of exercise, an amount of weight to use during the exercise, an amount of resistance to provide during the exercise, etc.


At 1504, the processing device may generate, based on the data and certain criteria, a motion profile for an assembly of the electromechanical machine 2101. The motion profile may include a movement shape of one or more portions of the electromechanical machine 2101. In some embodiments, the movement shape may include a line and/or a geometrical shape. In some embodiments, the certain criteria may include one or more muscle groups, one or more user attributes comprising height, weight, demographic characteristics, psychographic characteristics, race, gender, medical history, comorbidities, prescription medications, non-prescription medications or nutritional supplements, familial medical history, and performed medical procedures on the user, one or more desired results, or some combination thereof.


For example, if the criteria indicate the user is over 6 feet tall and the data indicate the type of exercise is a cycling exercise, then the motion profile may include a larger circular movement than if the user were 5 feet tall. In other words, the criteria may cause the motion profile to be adjusted accordingly in order to accommodate and/or enable the user to perform a prescribed exercise that is defined in the data.


In some embodiments, the assembly may be coupled to a carriage to enable movement along a length of an arm. The carriage may be coupled to each cable of the first set of cables.


At 1506, the processing device may execute a transformation function to implement, using the electromechanical machine 2101, a desired virtual apparatus model. To implement the desired virtual apparatus model, the transformation function may map the motion profile to one or more coordinates in an n-dimensional domain. For example, a movement path defined by the motion profile may be mapped to a 3-dimensional coordinate space. The coordinate space may accurately represent an area in which the components of the electromechanical machine 2101 move during operation.


At 1508, the processing device may control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine 2101. In some embodiments, the processing device may control the one or more motors to operate in a plurality of modes including an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof. To control the motor, the processing device may transmit one or more control instructions including metadata related to one or more operating parameters (e.g., speed, revolutions per minute, torque, acceleration, etc.). The one or more control instructions may be transmitted to the motor, and a processing device associated with the motor may receive and execute the one or more control instructions based on the one or more operating parameters.


In some embodiments, by using the electromechanical machine 2101 in order to control the one or more motors based on the motion profile, the plurality of modes, or some combination thereof, the processing device may enable performing at least one of the one or more prescribed exercises. For example, one of the prescribed exercises may include cycling at different resistance levels, and the modes may be used to provide the resistance levels while the user performs the exercise. In some embodiments, the motion profile may specify a circular movement path of the components of the electromechanical machine 2101.


In some embodiments, a headset may present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies an appearance in the headset of the electromechanical machine 2101. In some embodiments, a display may present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine 2101.



FIG. 16 is a flow diagram generally illustrating a method 1600 to determine, based on identified correlations between pedal motion and user impact, pedal motion profiles according to the principles of the present disclosure. Method 1600 may include operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 1600 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 1600 may be performed in the same or a similar manner as described above in regard to method 700. The operations of the method 1600 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, to perform one or more of the operations of the method 1600, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like.


The method 1600 may be implemented in instructions and executed by a processing device communicatively coupled to one or more motors of an electromechanical machine 2101. The one or more motors may be mounted to a body and spaced apart from each other. The electromechanical machine 2101 may include a first set of cables, each coupled to a respective one of the motors.


At 1602, the processing device may receive first data including information pertaining to motion of one or more pedals of one or more electromechanical machines. The motion may be associated with one or more users performing one or more treatment plans. In some embodiments, the first data may include one or more motion profiles associated with one or more exercises performed by one or more users. The processing device may receive the first data from the one or more electromechanical machines, one or more server computing devices, one or more user computing devices, or some combination thereof.


At 1604, the processing device may receive second data including information pertaining to one or more characteristics of the one or more users performing the treatment plan. The processing device may receive the second data from one or more sensors, one or more computing devices, or the like. The characteristics may include performance information, measurement information, personal information, or some combination thereof. The personal information may include, e.g., demographic, psychographic or other information, such as an age, a weight, a gender, a height, a body mass index, a medical condition, a familial medication history, an injury, a medical procedure, a medication prescribed, or some combination thereof. The performance information may include, e.g., an elapsed time of using a treatment apparatus, an amount of force exerted on a portion of the treatment apparatus, a range of motion achieved on the treatment apparatus, a speed or velocity measurement of a moving portion of the treatment apparatus, a pressure exerted by the user on a portion of the exercise apparatus, an acceleration measurement of a moving portion of the exercise apparatus, a jerk of a portion of the exercise apparatus, a torque level induced by the user on a portion of the exercise apparatus, an indication of a plurality of pain levels experienced by the user when using the treatment apparatus, a duration of use of the treatment apparatus, or some combination thereof. The measurement information may include, e.g., a vital sign, a respiration rate, a heartrate, a temperature, a blood pressure, a glucose level, arterial blood gas and/or oxygenation levels or percentages, or other biomarker, or some combination thereof.


At 1606, the processing device may identify one or more correlations between at least some of the first data and at least some of the second data. In some embodiments, the one or more correlations may pertain to one or more results achieved with respect to a threshold achievement level measured in relation to the one or more characteristics. The threshold achievement level may include a certain value, number, range, percentage, qualifier, etc. In some embodiments, the threshold achievement level may be based on a completion percentage, a recovery percentage, a value, a target reached, or some combination thereof. The results may indicate that, after knee surgery, the user rehabilitated their range of motion by over 75 percent, which would be, e.g., higher than the threshold achievement level. A motion profile used by the user to perform the prescribed exercise may be used to enable other similar users (e.g., in terms of personal information) to achieve the same or a similar result. Since a user may achieve more than one result after performing an exercise, there may be various cohorts of motion profiles assigned to more than one result.


A processing device may be programmed to select a motion profile for a user based on its being assigned to the greatest number of positive results relative to the other motion profiles. In some embodiments, the processing device may select a motion profile for a user if the motion profile provides the most optimal result (e.g., fastest recovery time, highest amount of recovery, etc.) in one cohort relative to the other motion profiles assigned to that cohort.


At 1608, the processing device may generate, based on the one or more treatment plans and the one or more correlations, one or more motion profiles for an assembly of the electromechanical machine 2101. In some embodiments, the processing device may receive a prescribed treatment plan for a user. The prescribed treatment plan may be received from a computing device associated with a healthcare professional and/or provider or from any suitable source. The processing device may select, based on the prescribed treatment plan, a motion profile from the one or more motion profiles to be performed by the user. The motion profile may be configured to provide a desired result, targeted result, targeted output, desired outcome, specified outcome, or the like.


For each of the one or more motion profiles, the processing device may execute a transformation function to implement, using the electromechanical machine 2101, a desired virtual apparatus model. To implement the desired virtual apparatus model, the transformation function may map the motion profile to one or more coordinates in an n-dimensional domain.


In some embodiments, the processing device may control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine 2101. In some embodiments, the processing device may control the one or more motors to operate in a set of modes including an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof. In some embodiments, the processing device may use a machine learning model trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof.



FIG. 17 is a flow diagram generally illustrating a method 1700 for an automatic prompting payment system to purchase components for mapped exercises according to the principles of the present disclosure. Method 1700 includes operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 1700 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 1700 may be performed in the same or in a similar manner as described above in regard to method 700. The operations of the method 1700 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, to perform one or more of the operations of the method 1700, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like.


The method 1700 may be implemented in instructions and executed by a processing device communicatively coupled to one or more motors of an electromechanical machine 2101. The one or more motors may be mounted to a body and spaced apart from each other. The electromechanical machine 2101 may include a first set of cables, each coupled to a respective one of the motors.


At 1702, the processing device may receive data including a treatment plan. The treatment plan may include one or more prescribed exercises for a user to perform using the electromechanical machine 2101.


At 1704, the processing device may generate, based on the data, a motion profile for an assembly of the electromechanical machine 2101. The assembly may be coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables.


At 1706, the processing device may determine, based on a prescribed exercise of the one or more prescribed exercises, one or more components to include to enable the user to perform, using the electromechanical machine 2101, the prescribed exercise. For example, the one or more components may refer to one or more pedals, motors, assemblies, carriages, cables, or the like. If the prescribed exercise is a cycling exercise, then the one or more components may include at least one or more pedals to enable the user to perform the cycling exercise using the electromechanical machine 2101. The one or more components may be determined by referencing a data source storing the components involved in each exercise.


At 1708, the processing device may validate, based on the one or more components and configuration information pertaining to the electromechanical machine, whether the motion profile associated with the prescribed exercise is achievable with respect to a threshold achievement level (e.g., a certain value, number, range, percentage, qualifier, etc.). The configuration information pertaining to the electromechanical machine 2101 may specify which components are included in the electromechanical machine 2101 (e.g., 2 pedals, 2 motors, 4 cables, 2 assemblies, etc.). The configuration information may be stored in a database local to the electromechanical machine 2101, in a server computing device, in a user computing device (e.g., smartphone), or the like. The processing device may determine that the electromechanical machine is missing a certain component that may prevent the motion profile from being achieved with respect to the threshold achievement level. For example, if the threshold achievement level is providing a motion profile enabling a range of motion of 75 degrees, and the electromechanical machine's configuration information and/or components indicate that only a motion profile providing a 50 degree range of motion is possible, then the electromechanical machine would be incapable of enabling the desired motion profile.


At 1710, responsive to determining that the motion profile associated with the prescribed exercise is unachievable with respect to the threshold achievement level, the processing device may determine, based on the one or more components and the configuration information, an at least one missing component needed to achieve, with respect to the threshold achievement level, the motion profile for the prescribed exercise. For example, the processing device may determine that the at least one missing component includes an elevation block to provide an inclination, wherein the elevation block is inserted under a front portion of the electromechanical machine. Such an inclination may cause the motion profile to enable the prescribed exercise to be performed with respect to the threshold achievement level.


In some embodiments, the processing device may generate and output an electromechanical machine configuration file, wherein the electromechanical machine configuration file may include information pertaining to the at least one missing component (e.g., a make, a model, a brand, size, shape, etc.). The processing device may transmit a recommendation to a computing device, wherein the recommendation is associated with a payment system that enables purchasing the at least one missing component. The computing device may be associated with the user and may be a smartphone or any other suitable electronic device. The recommendation may be delivered as a message via a push notification, a text message, an email, or any suitable electronic communication channel. The user may select a link and/or open the message to be presented with the missing component in a payment system, such as Amazon®. The user may purchase, using a digital wallet or any suitable form of payment (e.g., credit card), the missing component from the payment system. After the missing component has been purchased, the missing component may be shipped to and received by the user. The user may install the missing component on the electromechanical machine 2101 to enable achieving the motion profile associated with the prescribed exercise. The process for determining whether the motion profile is achievable may be repeated until the processing device determines that the threshold achievement level has been exceeded or satisfied or until the processing device determines that the threshold achievement level cannot be reached or satisfied in general or with respect to a time limitation.


In some embodiments, responsive to determining the motion profile associated with the prescribed exercise is achievable with respect to the threshold achievement level, the processing device may execute a transformation function to implement a desired virtual apparatus model configured to implement, by using the electromechanical machine 2101, the motion profile. To implement the desired virtual apparatus model, the transformation function may map the motion profile to one or more coordinates in an n-dimensional domain. The processing device is further configured to control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine 2101.


In some embodiments, the processing device is further configured to control the one or more motors to operate in a set of modes, including an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.



FIG. 18 is a flow diagram generally illustrating a method 1800 for implementing a treatment machine description language according to the principles of the present disclosure. Method 1800 includes operations performed by processors of a computing device (e.g., any component of FIG. 3, such as server 30 executing the artificial intelligence engine 11). In some embodiments, one or more operations of the method 1800 may be implemented in computer instructions stored on a memory device and executed by a processing device. The method 1800 may be performed in the same or a similar manner as described above in regard to method 700. The operations of the method 1800 may be performed in some combination with any of the operations of any of the methods described herein.


In some embodiments, to perform one or more of the operations of the method 1800, one or more machine learning models 13 may be generated and trained by the artificial intelligence engine 11 and/or the training engine 9. For example, to perform the one or more operations, the processing device may execute the one or more machine learning models 13. In some embodiments, the one or more machine learning models 13 may be iteratively retrained to select different features capable of enabling optimization of output. The features that may be modified may include a number (i.e., quantity) of nodes included in each layer of the machine learning models 13, an objective function executed at each node, a number (i.e., quantity) of layers, various weights associated with outputs of each node, and the like.


The method 1800 may be implemented in instructions and executed by a processing device communicatively coupled to one or more motors of an electromechanical machine 2101. The one or more motors may be mounted to a body and spaced apart from each other. The electromechanical machine 2101 may include a first set of cables, each coupled to a respective one of the motors.


At 1802, the processing device may receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine.


At 1804, the processing device may generate, using a treatment machine description language and based on one or more desired goals of a user, a virtual apparatus model of the electromechanical machine. The virtual apparatus model may be generated by a trained machine learning model. The treatment machine description language may comprise a canonical format including tags identifying values of at least some target information, tags implementing an attribute grammar, tags used for lexical comparisons or equivalence scores, or some combination thereof. The target information may describe components of electromechanical machines, exercises in which those components are used, descriptions of the components, results obtained by using the components, etc. The target information may be organized in parent-child relationships based on the structure, organization, and/or relationships of the information. For example, the keyword “Results” may be identified and determined to be a parent level tag due to its encompassing children target information, such as trials, subjects, treatment plans, treatment apparatuses, components, subject characteristics, and conclusions. As such, a parent-level tag for “<results>” may include child-level tags for “<trials>”, “<subjects>”, “<treatment plans>”, “<treatment apparatuses>”, “<components>”, “<subject characteristics>”, and “<conclusions>”. Each tag may have a corresponding ending tag (e.g., “<results></results>”).


In some embodiments, the virtual apparatus model may include a list of components to use to enable achieving the one or more desired goals. The achieving is measured with respect to a threshold achievement level. In some embodiments, the list of components may be associated with the electromechanical machine 2101, another electromechanical machine, an accessory, an apparatus, or some combination thereof.


A machine learning model 13 may be trained to generate, using the treatment machine description language and desired goals of a user, the virtual apparatus model. The machine learning model 13 may be trained using a training data set including input data and output data. The input data may be labeled as being associated with output data comprising virtual models of desired electromechanical machines and motion profiles, wherein such virtual models are configured to enable achieving the desired goals. In some embodiments, the virtual models (e.g., desired virtual apparatus model) may include a list of components needed to perform certain prescribed exercises to achieve the desired goals. In some embodiments, the electromechanical machine 2101 prescribed or associated with the user may lack one or more of the components in the list of components. In any such instance, a recommendation may be generated and output to a computing device, and the recommendation may include information associated with purchasing or obtaining the missing component such that the user can use the electromechanical machine to perform the prescribed exercise.


Information pertaining to new electromechanical machines may be received by the processing device. The one or more machine learning models may be trained to translate the information from a first data format to the treatment machine description language having a canonical (e.g., tag-value pair and/or attribute grammar) format. The training may be performed by identifying the keywords of the target information, identifying values for the keywords, and generating the canonical value, wherein the canonical value includes tags for the target information and the values for the target information.


At 1806, the processing device may generate, using the virtual apparatus model and the data, a motion profile. Further, the processing device may generate, using the artificial intelligence engine 11, a machine learning model 13 trained to generate the motion profile for the assembly. The machine learning model 13 may be trained using training data that includes inputs labeled as a prescribed exercise and/or the virtual apparatus model and outputs labeled as a probable motion profile, where the motion profile enables the user to use the virtual apparatus model to achieve the prescribed exercise relative to the threshold achievable threshold.


At 1808, the processing device may control, using the motion profile, the one or more motors. In some embodiments, the processing device may, by transmitting a control instruction or control signal including one or more operating parameters to the one or more motors, control the one or more motors. The one or more motors may modify the operating parameters accordingly to provide a desired operating state to enable the motion profile to be achieved for the prescribed exercise.


In some embodiments, a headset may be configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies in the headset an appearance of the electromechanical machine 2101. In some embodiments, a display may be configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine 2101.


The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the” may be intended to include the plural forms as well, unless the context clearly indicates otherwise. The terms “comprises,” “comprising,” “including,” and “having,” are inclusive and therefore specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. The method steps, processes, and operations described herein are not to be construed as necessarily requiring their performance in the particular order discussed or illustrated, unless specifically identified as an order of performance. It is also to be understood that additional or alternative steps may be employed.


When an element or layer is referred to as being “on,” “engaged to,” “connected to,” or “coupled to” another element or layer, it may be directly on, engaged, connected or coupled to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being “directly on,” “directly engaged to,” “directly connected to,” or “directly coupled to” another element or layer, there may be no intervening elements or layers present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.). As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.


Although the terms first, second, third, etc. may be used herein to describe various elements, components, regions, layers and/or sections, these elements, components, regions, layers and/or sections should not be limited by these terms. These terms may be only used to distinguish one element, component, region, layer or section from another region, layer or section. Terms such as “first,” “second,” and other numerical terms when used herein do not imply a sequence or order unless clearly indicated by the context. Thus, a first element, component, region, layer or section discussed below could be termed a second element, component, region, layer or section without departing from the teachings of the example embodiments.


Spatially relative terms, such as “inner,” “outer,” “beneath,” “below,” “lower,” “above,” “upper,” “top”, “bottom,” and the like, may be used herein for ease of description to describe one element's or feature's relationship to another element(s) or feature(s) as illustrated in the figures. Spatially relative terms may be intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below” or “beneath” other elements or features would then be oriented “above” the other elements or features. Thus, the example term “below” can encompass both an orientation of above and below. The device may be otherwise oriented (rotated degrees or at other orientations) and the spatially relative descriptions used herein interpreted accordingly.


This written description uses examples to disclose the embodiments, including the best mode, and also to enable those of ordinary skill in the art to make and use the invention. The patentable scope is defined by the claims, and can include other examples that occur to those skilled in the art. Such other examples are intended to be within the scope of the claims if they have structural elements that do not differ from the literal language of the claims, or if they include equivalent structural elements with insubstantial differences from the literal languages of the claims.


In the foregoing specification, the concepts have been described with reference to specific embodiments. However, one of ordinary skill in the art appreciates that various modifications and changes can be made without departing from the scope of the invention as set forth in the claims below. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of invention.


It can be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The term “communicate,” as well as derivatives thereof, encompasses both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, can mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The phrase “at least one of,” when used with a list of items, means that different combinations of one or more of the listed items can be used, and only one item in the list can be needed. For example, “at least one of: A, B, and C” includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.


Also, the use of “a” or “an” is employed to describe elements and components described herein. This is done merely for convenience and to give a general sense of the scope of the invention. This description should be read to include one or at least one and the singular also includes the plural unless it states otherwise.


The description in the present application should not be read as implying that any particular element, step, or function is an essential or critical element that must be included in the claim scope. The scope of patented subject matter is defined only by the allowed claims. Moreover, none of the claims invokes 35 U.S.C. § 112(f) with respect to any of the appended claims or claim elements unless the exact words “means for” or “step for” are explicitly used in the particular claim, followed by a participial phrase identifying a function.


Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any feature(s) that can cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, a required, a sacrosanct or an essential feature of any or all the claims.


After reading the specification, skilled artisans will appreciate that certain features which are, for clarity, described herein in the context of separate embodiments, can also be provided in combination in a single embodiment. Conversely, various features that are, for brevity, described in the context of a single embodiment, can also be provided separately or in any subcombination. Further, references to values stated in ranges include each and every value within that range.


Still other embodiments can include one or more of the following items. Consistent with the above disclosure, the examples of embodiments enumerated in the following clauses are specifically contemplated and are intended as a non-limiting set of examples.


Clause 1. A machine, comprising:

    • a body;
    • an arm having a proximal end and a distal end, the proximal end is pivotally mounted to the body, and the distal end is free to move relative to the body;
    • a carriage slidably mounted to the arm for movement along a length of the arm;
    • a pedal assembly rotatably coupled to the carriage for movement with the carriage along the length of the arm, wherein the pedal assembly is configured to support a foot of a user of the machine.


motors mounted to the body and spaced apart from each other and spaced apart from the distal end of the arm;


cables coupled to respective ones of the motors and to the carriage; and


a control system for selectively extending and retracting the cables by using the motors to cause the arm, carriage and pedal assembly to move relative to the body, such that the pedal assembly is articulated by the control system in prescribed pedaling patterns for the user of the machine.


Clause 2. The machine of any clause herein, wherein the distal end of the arm is free of contact with the motors over an entire range of motion of the arm relative to the body.


Clause 3. The machine of any clause herein, wherein the prescribed pedaling patterns comprise patterns that are circular, elliptical, oval, square, gliding, leg press, stair stepping and vertical up and down.


Clause 4. The machine of any clause herein, wherein the control system limits a range of motion of the carriage and pedal assembly to an area defined by and within locations of the motors.


Clause 5. The machine of any clause herein, wherein the control system permits a range of motion of the carriage and pedal assembly to extend beyond an area defined by and within locations of the motors.


Clause 6. The machine of any clause herein, wherein the control system is further configured, during each of the prescribed pedaling patterns, to control a repetitive speed and resistance of the pedal assembly.


Clause 7. The machine of any clause herein, wherein the machine does not have a seat for the user to sit on while using the machine, such that the user must be seated away from the machine to use the machine.


Clause 8. The machine of any clause herein, wherein the motors comprise exactly three motors that are arranged in a triangular pattern on a first side of the body.


Clause 9. The machine of any clause herein, wherein each motor comprises a pulley rotatably coupled thereto and coupled to a respective one of the cables.


Clause 10. The machine of any clause herein, wherein the carriage comprises pulleys, and each pulley is coupled to a respective one of the cables.


Clause 11. The machine of any clause herein, wherein the arm is mounted on a first side of the body, and the machine further comprises a second side of the body opposite the first side of the body, and a second arm, second carriage, second pedal assembly, additional motors and additional cables coupled to the second side of the body.


Clause 12. The machine of any clause herein, wherein the pedal assembly and the second pedal assembly are configured to be independently articulated by the control system, such that the pedal assembly and a second assembly can be simultaneously articulated in different ones of the prescribed pedaling patterns.


Clause 13. The machine of any clause herein, further comprising a shroud coupled to the body to substantially cover the arm and motors to obstruct pinch points for the user of the machine.


Clause 14. A machine, comprising:


a body having two sides;


an arm coupled to each side of the body, each arm having a proximal end and a distal end, the proximal end is pivotally mounted to the body, and the distal end is free to move relative to the body, respectively;


a carriage slidably mounted to each arm for movement along a length of the arm, respectively;


a pedal assembly rotatably coupled to each carriage for movement with the carriage along the length of the arm, respectively, wherein each pedal assembly is configured to support a foot of a user of the machine.


motors mounted to each side of the body and spaced apart from each other and spaced apart from the distal end of the arm, respectively;


cables coupled to the motors and to the carriage on each side of the body, respectively; and


a control system for selectively extending and retracting the cables by using the motors to cause the arms, carriages and pedal assemblies to move relative to the body, such that the pedal assemblies are articulated by the control system in prescribed pedaling patterns for the user of the machine, and the control system is configured to control a repetitive speed and resistance of the pedal assemblies during each of the prescribed pedaling patterns.


Clause 15. The machine of any clause herein, wherein the control system limits a range of motion of the pedal assemblies to an area defined by and within locations of the motors, respectively.


Clause 16. The machine of any clause herein, wherein the control system permits a range of motion of the pedal assemblies to extend beyond an area defined by and within locations of the motors, respectively.


Clause 17. The machine of any clause herein, wherein the machine does not have a seat for the user to sit on while using the machine, such that the user must be seated away from the machine to use the machine.


Clause 18. The machine of any clause herein, wherein each motor comprises a pulley rotatably coupled thereto and coupled to a respective one of the cables.


Clause 19. The machine of any clause herein, wherein each carriage comprises pulleys, and each pulley is coupled to a respective one of the cables; and the pedal assemblies are configured to be independently articulated by the control system, such that each pedal assembly can be simultaneously articulated in different ones of the prescribed pedaling patterns.


Clause 20. The machine of any clause herein, further comprising a shroud coupled to each side of the body to substantially cover the arm and motors, respectively, to obstruct pinch points for the user of the machine.


Clause 21. A computer-implemented system comprising:


an electromechanical machine comprising one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors; and


a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to:


receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine;


generate, based on the data, a motion profile for an assembly of the electromechanical machine, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables;


execute a transformation function to implement a desired virtual apparatus model using the electromechanical machine, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; and


control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 22. The computer-implemented system of any clause herein, wherein the processing device is further configured to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 23. The computer-implemented system of any clause herein, wherein, using the electromechanical machine by controlling the one or more motors based on the motion profile, the plurality of modes, or some combination thereof, the processing device is further configured to enable performing at least one of the one or more prescribed exercises.


Clause 24. The computer-implemented system of any clause herein, wherein the processing device is further configured to generate, using an artificial intelligence engine, a machine learning model trained to generate the motion profile for the assembly.


Clause 25. The computer-implemented system of any clause herein, wherein the processing device is disposed in a computing device separate from the electromechanical machine, or the processing device is disposed in the electromechanical machine.


Clause 26. The computer-implemented system of any clause herein, wherein the processing device is further configured to:


use a machine learning model trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof.


Clause 27. The computer-implemented system of any clause herein, wherein the motion profile comprises a line or a geometrical shape.


Clause 28. The computer-implemented system of any clause herein, further comprising:


a headset configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies an appearance in the headset of the electromechanical machine.


Clause 29. The computer-implemented system of any clause herein, further comprising:


a display configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine.


Clause 30. The computer-implemented system of any clause herein, wherein the assembly comprises a pedal assembly and the pedal assembly is rotatably coupled to the carriage.


Clause 31. The computer-implemented system of any clause herein, wherein the assembly comprises a handlebar assembly, a row assembly, a pedal assembly, a climbable assembly, a step assembly, a paddle assembly, a brace assembly, a lift assembly, a push assembly, or a balance assembly.


Clause 32. A method comprising:


receiving data comprising a treatment plan including one or more prescribed exercises for a user to perform using an electromechanical machine;


generating, based on the data, a motion profile for an assembly of the electromechanical machine, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of a first set of cables;


executing a transformation function to implement a desired virtual apparatus model using the electromechanical machine, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; and


controlling, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 33. The method of any clause herein, further comprising controlling the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 34. The method of any clause herein, wherein, using the electromechanical machine by controlling the one or more motors based on the motion profile, the plurality of modes, or some combination thereof, the method further comprises enabling performing at least one of the one or more prescribed exercises.


Clause 35. The method of any clause herein, further comprising generating, using an artificial intelligence engine, a machine learning model trained to generate the motion profile for the assembly.


Clause 36. The method of any clause herein, wherein the processing device is disposed in a computing device separate from the electromechanical machine, or the processing device is disposed in the electromechanical machine.


Clause 37. The method of any clause herein, further comprising:


using a machine learning model trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof.


Clause 38. The method of any clause herein, wherein the motion profile comprises a line or a geometrical shape.


Clause 39. A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to:


receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using an electromechanical machine;


generate, based on the data, a motion profile for an assembly of the electromechanical machine, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of a first set of cables;


execute a transformation function to implement a desired virtual apparatus model using the electromechanical machine, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; and


control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 40. The computer-readable medium of any clause herein, wherein the processing device is further to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 41. A computer-implemented system comprising:


an electromechanical machine comprising one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors; and


a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to:


receive data comprising a treatment plan, wherein the treatment plan includes one or more prescribed exercises for a user to perform using the electromechanical machine;


generate, based on the data and certain criteria, a motion profile for an assembly of the electromechanical machine, wherein the motion profile comprises a movement shape of one or more portions of the electromechanical machine;


execute a transformation function to implement, using the electromechanical machine, a desired virtual apparatus model, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; and


control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 42. The computer-implemented system of any clause herein, wherein the certain criteria comprise:


one or more muscle groups,


one or more user attributes comprising height, weight, demographic characteristics, psychographic characteristics, race, gender, medical history, comorbidities, prescription medications, non-prescription medications or nutritional supplements, familial medical history, and performed medical procedures on the user,


one or more desired results, or


some combination thereof.


Clause 43. The computer-implemented system of any clause herein, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables.


Clause 44. The computer-implemented system of any clause herein, wherein the processing device is further configured to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 45. The computer-implemented system of any clause herein, wherein, by using the electromechanical machine in order to control the one or more motors based on the motion profile, the plurality of modes, or some combination thereof, the processing device is further configured to enable performing at least one of the one or more prescribed exercises.


Clause 46. The computer-implemented system of any clause herein, wherein the movement shape comprises a line or a geometrical shape.


Clause 47. The computer-implemented system of any clause herein, further comprising:


a headset configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies an appearance in the headset of the electromechanical machine.


Clause 48. The computer-implemented system of any clause herein, further comprising:


a display configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine.


Clause 49. A method comprising:


receiving data comprising a treatment plan, wherein the treatment plan includes one or more prescribed exercises for a user to perform using an electromechanical machine;


generating, based on the data and certain criteria, a motion profile for an assembly of the electromechanical machine, wherein the motion profile comprises a movement shape of one or more portions of the electromechanical machine;


executing a transformation function to implement, using the electromechanical machine, a desired virtual apparatus model, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; and


controlling, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 50. The method of any clause herein, wherein the certain criteria comprise:


one or more muscle groups,


one or more user attributes comprising height, weight, demographic characteristics, psychographic characteristics, race, gender, medical history, comorbidities, prescription medications, non-prescription medications or nutritional supplements, familial medical history, and performed medical procedures on the user,


one or more desired results, or


some combination thereof.


Clause 51. The method of any clause herein, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables.


Clause 52. The method of any clause herein, further comprising controlling the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 53. The method of any clause herein, wherein, by using the electromechanical machine in order to control the one or more motors based on the motion profile, the plurality of modes, or some combination thereof, the method further comprises enabling performing at least one of the one or more prescribed exercises.


Clause 54. The method of any clause herein, wherein the movement shape comprises a line or a geometrical shape.


Clause 55. The method of any clause herein, further comprising:


a headset configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies an appearance in the headset of the electromechanical machine.


Clause 56. The method of any clause herein, further comprising:


a display configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine.


Clause 57. A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to:


receive data comprising a treatment plan, wherein the treatment plan includes one or more prescribed exercises for a user to perform using an electromechanical machine;


generate, based on the data and certain criteria, a motion profile for an assembly of the electromechanical machine, wherein the motion profile comprises a movement shape of one or more portions of the electromechanical machine;


execute a transformation function to implement, using the electromechanical machine, a desired virtual apparatus model, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; and


control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 58. The computer-readable medium of any clause herein, wherein the certain criteria comprise:


one or more muscle groups,


one or more user attributes comprising height, weight, demographic characteristics, psychographic characteristics, race, gender, medical history, comorbidities, prescription medications, non-prescription medications or nutritional supplements, familial medical history, and performed medical procedures on the user,


one or more desired results, or


some combination thereof.


Clause 59. The computer-readable medium of any clause herein, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables.


Clause 60. The computer-readable medium of any clause herein, wherein the processing device is further configured to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 61. A computer-implemented system comprising:


an electromechanical machine comprising one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors; and


a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to:


receive first data comprising information pertaining to motion of one or more pedals of the electromechanical machine, wherein the motion is associated with one or more users performing one or more treatment plans;


receive second data comprising information pertaining to one or more characteristics of the one or more users performing the treatment plan, wherein the characteristics comprise performance information, measurement information, personal information, or some combination thereof;


identify one or more correlations between at least some of the first data and at least some of the second data; and


generate, based on the one or more treatment plans and the one or more correlations, one or more motion profiles for an assembly of the electromechanical machine.


Clause 62. The computer-implemented system of any clause herein, wherein the processing device is further configured to:


receive a prescribed treatment plan for a user;


select, based on the prescribed treatment plan, a motion profile from the one or more motion profiles to be performed by the user, wherein the motion profile is configured to provide a desired result.


Clause 63. The computer-implemented system of any clause herein, wherein the processing device is further configured to execute a transformation function to implement, using the electromechanical machine, a desired virtual apparatus model, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain.


Clause 64. The computer-implemented system of any clause herein, wherein the processing device is further configured to control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 65. The computer-implemented system of any clause herein, wherein the one or more correlations pertain to one or more results achieved with respect to a threshold achievement level measured in relation to the one or more characteristics.


Clause 66. The computer-implemented system of any clause herein, wherein the processing device is further configured to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 67. The computer-implemented system of any clause herein, wherein the processing device is further configured to use a machine learning model trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof.


Clause 68. A method comprising:


receiving first data comprising information pertaining to motion of one or more pedals of an electromechanical machine, wherein the motion is associated with one or more users performing one or more treatment plans;


receiving second data comprising information pertaining to one or more characteristics of the one or more users performing the treatment plan, wherein the characteristics comprise performance information, measurement information, personal information, or some combination thereof;


identifying one or more correlations between at least some of the first data and at least some of the second data; and


generating, based on the one or more treatment plans and the one or more correlations, one or more motion profiles for an assembly of the electromechanical machine.


Clause 69. The method of any clause herein, further comprising:


receiving a prescribed treatment plan for a user;


selecting, based on the prescribed treatment plan, a motion profile from the one or more motion profiles to be performed by the user, wherein the motion profile is configured to provide a desired result.


Clause 70. The method of any clause herein, further comprising executing a transformation function to implement, using the electromechanical machine, a desired virtual apparatus model, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain.


Clause 71. The method of any clause herein, further comprising controlling, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 72. The method of any clause herein, wherein the one or more correlations pertain to one or more results achieved with respect to a threshold achievement level measured in relation to the one or moe characteristics.


Clause 73. The method of any clause herein, further comprising controlling the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 74. The method of any clause herein, further comprising using a machine learning model trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof.


Clause 75. A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to:


receive first data comprising information pertaining to motion of one or more pedals of an electromechanical machine, wherein the motion is associated with one or more users performing one or more treatment plans;


receive second data comprising information pertaining to one or more characteristics of the one or more users performing the treatment plan, wherein the characteristics comprise performance information, measurement information, personal information, or some combination thereof;


identify one or more correlations between at least some of the first data and at least some of the second data; and


generate, based on the one or more treatment plans and the one or more correlations, one or more motion profiles for an assembly of the electromechanical machine.


Clause 76. The computer-readable medium of any clause herein, wherein the processing device is further configured to:


receive a prescribed treatment plan for a user;


select, based on the prescribed treatment plan, a motion profile from the one or more motion profiles to be performed by the user, wherein the motion profile is configured to provide a desired result.


Clause 77. The computer-readable medium of any clause herein, wherein the processing device is further configured to execute a transformation function to implement, using the electromechanical machine, a desired virtual apparatus model, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain.


Clause 78. The computer-readable medium of any clause herein, wherein the processing device is further configured to control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 79. The computer-readable medium of any clause herein, wherein the one or more correlations pertain to one or more results achieved with respect to a threshold achievement level measured in relation to the one or more characteristics.


Clause 80. The computer-readable medium of any clause herein, wherein the processing device is further configured to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 81. A computer-implemented system comprising:


an electromechanical machine comprising one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors; and


a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to:


receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine;


generate, based on the data, a motion profile for an assembly of the electromechanical machine;


determine, based on a prescribed exercise of the one or more prescribed exercises, one or more components to include to enable the user to perform, using the electromechanical machine, the prescribed exercise;


validate, based on the one or more components and configuration information pertaining to the electromechanical machine, whether the motion profile associated with the prescribed exercise is achievable with respect to a threshold achievement level; and


responsive to determining that the motion profile associated with the prescribed exercise is unachievable with respect to the threshold achievement level, determining, based on the one or more components and the configuration information, at least one missing component needed to achieve, with respect to the threshold achievement level, the motion profile for the prescribed exercise.


Clause 82. The computer-implemented system of any clause herein, wherein the processing device is further configured to generate and output an electromechanical machine configuration file, wherein the electromechanical machine configuration file includes information pertaining to the at least one missing component.


Clause 83. The computer-implemented system of any clause herein, wherein the processing device is further configured to transmit a recommendation to a computing device, wherein the recommendation is associated with a payment system that enables purchasing the at least one missing component.


Clause 84. The computer-implemented system of any clause herein, wherein, responsive to determining the motion profile associated with the prescribed exercise is achievable with respect to the threshold achievement level, execute a transformation function to implement a desired virtual apparatus model configured to implement, by using the electromechanical machine, the motion profile, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain.


Clause 85. The computer-implemented system of any clause herein, wherein the processing device is further to control, using the desired virtual apparatus model, the one or more motors of the electromchanical machine.


Clause 86. The computer-implemented system of any clause herein, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables.


Clause 87. The computer-implemented system of any clause herein, wherein the processing device is further configured to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 88. A method comprising:


receiving data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine;


generate, based on the data, a motion profile for an assembly of the electromechanical machine;


determining, based on a prescribed exercise of the one or more prescribed exercises, one or more components to include to enable the user to perform, using the electromechanical machine, the prescribed exercise;


validating, based on the one or more components and configuration information pertaining to the electromechanical machine, whether the motion profile associated with the prescribed exercise is achievable with respect to a threshold achievement level; and


responsive to determining that the motion profile associated with the prescribed exercise is unachievable with respect to the threshold achievement level, determining, based on the one or more components and the configuration information, at least one missing component needed to achieve, with respect to the threshold achievement level, the motion profile for the prescribed exercise.


Clause 89. The method of any clause herein, further comprising generating and output an electromechanical machine configuration file, wherein the electromechanical machine configuration file includes information pertaining to the at least one missing component.


Clause 90. The method of any clause herein, further comprising transmitting a recommendation to a computing device, wherein the recommendation is associated with a payment system that enables purchasing the at least one missing component.


Clause 91. The method of any clause herein, further comprising, responsive to determining the motion profile associated with the prescribed exercise is achievable with respect to the threshold achievement level, executing a transformation function to implement a desired virtual apparatus model configured to implement, by using the electromechanical machine, the motion profile, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain.


Clause 92. The method of any clause herein, further comprising controlling, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 93. The method of any clause herein, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables.


Clause 94. The method of any clause herein, further comprising controlling the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.


Clause 95. A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to:


receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using an electromechanical machine;


generate, based on the data, a motion profile for an assembly of the electromechanical machine;


determine, based on a prescribed exercise of the one or more prescribed exercises, one or more components to include to enable the user to perform, using the electromechanical machine, the prescribed exercise;


validate, based on the one or more components and configuration information pertaining to the electromechanical machine, whether the motion profile associated with the prescribed exercise is achievable with respect to a threshold achievement level; and


responsive to determining that the motion profile associated with the prescribed exercise is unachievable with respect to the threshold achievement level, determining, based on the one or more components and the configuration information, at least one missing component needed to achieve, with respect to the threshold achievement level, the motion profile for the prescribed exercise.


Clause 96. The computer-readable medium of any clause herein, wherein the processing device is further configured to generate and output an electromechanical machine configuration file, wherein the electromechanical machine configuration file includes information pertaining to the at least one missing component.


Clause 97. The computer-readable medium of any clause herein, wherein the processing device is further configured to transmit a recommendation to a computing device, wherein the recommendation is associated with a payment system that enables purchasing the at least one missing component.


Clause 98. The computer-readable medium of any clause herein, wherein, responsive to determining the motion profile associated with the prescribed exercise is achievable with respect to the threshold achievement level, execute a transformation function to implement a desired virtual apparatus model configured to implement, by using the electromechanical machine, the motion profile, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain.


Clause 99. The computer-readable medium of any clause herein, wherein the processing device is further to control, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.


Clause 100. The computer-readable medium of any clause herein, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables.


Clause 101. A computer-implemented system comprising:


an electromechanical machine comprising one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors; and


a processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to:


receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine,


generate, using a treatment machine description language and based on one or more desired goals of a user, a virtual apparatus model of the electromechanical machine, wherein the virtual apparatus model is generated by a trained machine learning model; and


generate, using the virtual apparatus model and the data, a motion profile; and


control, using the motion profile, the one or more motors.


Clause 102. The computer-implemented system of any clause herein, wherein the treatment machine description language comprises a canonical format including tags identifying values of at least some target information, tags implementing an attribute grammar, tags used for lexical comparisons or equivalence scores, or some combination thereof.


Clause 103. The computer-implemented system of any clause herein, wherein the virtual apparatus model comprises a list of components to use to enable achieving the one or more desired goals, wherein the achieving is measured with respect to a threshold achievement level.


Clause 104. The computer-implemented system of any clause herein, wherein the list of components is associated with the electromechanical machine, another electromechanical machine, an accessory, an apparatus, or some combination thereof.


Clause 105. The computer-implemented system of any clause herein, further comprising:


a headset configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies in the headset an appearance of the electromechanical machine.


Clause 106. The computer-implemented system of any clause herein, further comprising:


a display configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine.


Clause 107. The computer-implemented system of any clause herein, wherein the processing device is further configured to generate, using an artificial intelligence engine, a machine learning model trained to generate the motion profile for the assembly.


Clause 108. A method comprising:


receiving data comprising a treatment plan including one or more prescribed exercises for a user to perform using an electromechanical machine,


generating, using a treatment machine description language and based on one or more desired goals of a user, a virtual apparatus model of the electromechanical machine, wherein the virtual apparatus model is generated by a trained machine learning model; and


generating, using the virtual apparatus model and the data, a motion profile; and


controlling, using the motion profile, the one or more motors.


Clause 109. The method of any clause herein, wherein the treatment machine description language comprises a canonical format including tags identifying values of at least some target information, tags implementing an attribute grammar, tags used for lexical comparisons or equivalence scores, or some combination thereof.


Clause 110. The method of any clause herein, wherein the virtual apparatus model comprises a list of components to use to enable achieving the one or more desired goals, wherein the achieving is measured with respect to a threshold achievement level.


Clause 111. The method of any clause herein, wherein the list of components is associated with the electromechanical machine, another electromechanical machine, an accessory, an apparatus, or some combination thereof.


Clause 112. The method of any clause herein, further comprising:


a headset configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies in the headset an appearance of the electromechanical machine.


Clause 113. The method of any clause herein, further comprising:


a display configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine.


Clause 114. The method of any clause herein, further comprising generating, using an artificial intelligence engine, a machine learning model trained to generate the motion profile for the assembly.


Clause 115. A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to:


receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using an electromechanical machine,


generate, using a treatment machine description language and based on one or more desired goals of a user, a virtual apparatus model of the electromechanical machine, wherein the virtual apparatus model is generated by a trained machine learning model; and


generate, using the virtual apparatus model and the data, a motion profile; and


control, using the motion profile, the one or more motors.


Clause 116. The computer-readable medium of any clause herein, wherein the treatment machine description language comprises a canonical format including tags identifying values of at least some target information, tags implementing an attribute grammar, tags used for lexical comparisons or equivalence scores, or some combination thereof.


Clause 117. The computer-readable medium of any clause herein, wherein the virtual apparatus model comprises a list of components to use to enable achieving the one or more desired goals, wherein the achieving is measured with respect to a threshold achievement level.


Clause 118. The computer-readable medium of any clause herein, wherein the list of components is associated with the electromechanical machine, another electromechanical machine, an accessory, an apparatus, or some combination thereof.


Clause 119. The computer-readable medium of any clause herein, further comprising:


a headset configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies in the headset an appearance of the electromechanical machine.


Clause 120. The computer-readable medium of any clause herein, further comprising:


a display configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine.

Claims
  • 1. A computer-implemented system comprising: an electromechanical machine comprising one or more motors mounted to a body and spaced apart from each other, and a first set of cables, each coupled to a respective one of the motors; anda processing device communicatively coupled to the one or more motors, wherein the processing device executes instructions implementing a control system to: receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using the electromechanical machine;generate, based on the data, a motion profile for an assembly of the electromechanical machine, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of the first set of cables;execute a transformation function to implement a desired virtual apparatus model using the electromechanical machine, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; andcontrol, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.
  • 2. The computer-implemented system of claim 1, wherein the processing device is further configured to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.
  • 3. The computer-implemented system of claim 1, wherein, using the electromechanical machine by controlling the one or more motors based on the motion profile, the plurality of modes, or some combination thereof, the processing device is further configured to enable performing at least one of the one or more prescribed exercises.
  • 4. The computer-implemented system of claim 1, wherein the processing device is further configured to generate, using an artificial intelligence engine, a machine learning model trained to generate the motion profile for the assembly.
  • 5. The computer-implemented system of claim 1, wherein the processing device is disposed in a computing device separate from the electromechanical machine, or the processing device is disposed in the electromechanical machine.
  • 6. The computer-implemented system of claim 1, wherein the processing device is further configured to: use a machine learning model trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof.
  • 7. The computer-implemented system of claim 1, wherein the motion profile comprises a line or a geometrical shape.
  • 8. The computer-implemented system of claim 1, further comprising: a headset configured to present, based on a prescribed exercise of the one or more prescribed exercises, a virtual reality element that modifies an appearance in the headset of the electromechanical machine.
  • 9. The computer-implemented system of claim 1, further comprising: a display configured to present, based on a prescribed exercise of the one or more prescribed exercises, an augmented reality element that modifies on the display an appearance of the electromechanical machine.
  • 10. The computer-implemented system of claim 1, wherein the assembly comprises a pedal assembly and the pedal assembly is rotatably coupled to the carriage.
  • 11. The computer-implemented system of claim 1, wherein the assembly comprises a handlebar assembly, a row assembly, a pedal assembly, a climbable assembly, a step assembly, a paddle assembly, a brace assembly, a lift assembly, a push assembly, or a balance assembly.
  • 12. A method comprising: receiving data comprising a treatment plan including one or more prescribed exercises for a user to perform using an electromechanical machine;generating, based on the data, a motion profile for an assembly of the electromechanical machine, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of a first set of cables;executing a transformation function to implement a desired virtual apparatus model using the electromechanical machine, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; andcontrolling, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.
  • 13. The method of claim 12, further comprising controlling the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.
  • 14. The method of claim 12, wherein, using the electromechanical machine by controlling the one or more motors based on the motion profile, the plurality of modes, or some combination thereof, the method further comprises enabling performing at least one of the one or more prescribed exercises.
  • 15. The method of claim 12, further comprising generating, using an artificial intelligence engine, a machine learning model trained to generate the motion profile for the assembly.
  • 16. The method of claim 12, wherein the processing device is disposed in a computing device separate from the electromechanical machine, or the processing device is disposed in the electromechanical machine.
  • 17. The method of claim 12, further comprising: using a machine learning model trained to control one or more spools of the first set of cables, one or more speeds of the one or more motors, one or more resistances provided by the one or more motors, one or more ranges of motion of the carriage and assembly, or some combination thereof.
  • 18. The method of claim 12, wherein the motion profile comprises a line or a geometrical shape.
  • 19. A tangible, non-transitory computer-readable medium storing instructions that, when executed, cause a processing device to: receive data comprising a treatment plan including one or more prescribed exercises for a user to perform using an electromechanical machine;generate, based on the data, a motion profile for an assembly of the electromechanical machine, wherein the assembly is coupled to a carriage to enable movement along a length of an arm, wherein the carriage is coupled to each cable of a first set of cables;execute a transformation function to implement a desired virtual apparatus model using the electromechanical machine, wherein, to implement the desired virtual apparatus model, the transformation function maps the motion profile to one or more coordinates in a domain; andcontrol, using the desired virtual apparatus model, the one or more motors of the electromechanical machine.
  • 20. The computer-readable medium of claim 19, wherein the processing device is further to control the one or more motors to operate in a plurality of modes comprising an active mode, an active-assist mode, an assisted mode, a passive mode, or some combination thereof.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 18/259,708, filed Jun. 29, 2023, which is a national stage application of International Patent Application No. PCT/US2022/050120, filed Nov. 16, 2022, which claims priority to and the benefit of U.S. Prov. Pat. App. No. 63/280,835, filed Nov. 18, 2021. All applications are incorporated herein in their entirety for all purposes.

Provisional Applications (1)
Number Date Country
63280835 Nov 2021 US
Continuations (1)
Number Date Country
Parent 18259708 Jun 2023 US
Child 18474626 US