System and method for user intent recognition
By adopting data-driven intention recognition programs in the powered exoskeleton system and using sensor data and classifier technology, the problems of low accuracy and high latency in the prior art are solved, and high accuracy and fast response personality are achieved Recognize user intentions.
Patent Information
- Application Number
- CN202111540872.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2017-04-13
- Filing Date
- 2018-02-02
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2038-02-02
AI Technical Summary
The prior art has low accuracy and high latency when identifying the intentions of a dynamic exoskeleton user, and is difficult to adapt to personalized user behavior.
Using a data-driven intent recognition program, data is processed using a classifier to identify user intents, and to improve identification accuracy and response speed through learning and adaptive mechanisms.
Improves the accuracy and response speed of intention recognition, enables customized performance for each user, and reduces human interaction needs.
Smart Images

Figure CN114248263B_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. Provisional Application No. 62 / 454,575, filed on February 3, 2017, entitled “SYSTEM AND METHOD FOR USER INTENT RECOGNITION,” which is incorporated herein by reference in its entirety and for all purposes.
[0003] This application also claims the benefit of U.S. Provisional Application No. 62 / 485,284, filed on April 13, 2017, entitled “SYSTEM AND METHOD FOR USER INTENT RECOGNITION,” which is incorporated herein by reference in its entirety and for all purposes. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Figure 1 is an exemplary diagram illustrating an embodiment of an exoskeleton network.
[0005] Figure 2 is an exemplary diagram illustrating another embodiment of an exoskeleton network.
[0006] Figure 3 is an exemplary block diagram illustrating an embodiment of an exoskeleton system.
[0007] Figure 4 An example method of updating a set of classification rules is shown.
[0008] Figure 5 An example method for improving a classification procedure for multiple exoskeleton systems is shown.
[0009] Figure 6 An example method for updating a classification program based on a state of one or more sensors of an exoskeleton system is shown.
[0010] Figure 7 An example method of tuning a classification program based at least in part on user responses to classification determinations is shown.
[0011] Figure 8 A method of determining whether to present a confirmation request for an allocation determination is shown.
[0012] Fig. 9 One embodiment of an exoskeleton processing network comprising three processing stages is shown.
[0013] Fig.10 is an exemplary illustration of an embodiment of an exoskeleton system.
[0014] Fig.11 is an exemplary illustration of another embodiment of an exoskeleton system.
[0015] Fig.12 is an exemplary illustration of yet another embodiment of an exoskeleton system.
[0016] It should be noted that the drawings are not drawn to scale, and elements of similar structure or function are generally represented by similar reference numerals throughout the drawings for illustrative purposes. It should also be noted that the drawings are intended only to aid in the description of the preferred embodiments. The drawings do not illustrate every aspect of the described embodiments and do not limit the scope of the present disclosure. DETAILED DESCRIPTION
[0017] In one aspect, the present application discloses example embodiments relating to the design of novel programs for identifying the intent of users of one or more powered exoskeletons. The various embodiments described herein provide substantial improvements to the intent recognition programs used in conventional devices. For example, conventional methods of intent recognition are expert designs of finite state machines that include designed transition protections that are specifically established by developers to improve accuracy. In contrast, the various example methods described herein allow the intent recognition program to adapt over time based on learned performance, or to the unique behavior of individual operators. The various example methods described herein provide for intent recognition programs that are capable of increasing recognition accuracy, reducing recognition latency, and customizing performance for each user. Therefore, the various embodiments relate to methods that can be performed automatically without human interaction, or with minimal human interaction at limited specific expected times as described herein.
[0018] Go to Figure 1 , shows an example exoskeleton device network 100 of a first embodiment 100A, which includes an exoskeleton system 110, a user device 120, and a classification server 130 operatively connected via a network 140. Additionally, the exoskeleton system 110 and the user device 120 are shown as being directly operatively connected.
[0019] In various embodiments described in greater detail herein, exoskeleton system 110 can be configured to communicate with local user device 120, which can function as an input device, display, and / or user interface for exoskeleton system 110. For example, user device 120 can present information regarding various states of exoskeleton system 110, and user device 120 can be used to control exoskeleton system 110, including providing input related to state classifications, as discussed herein.
[0020] exist Figure 1In the examples of FIG. 1 , exoskeleton system 110 and user device 120 are shown as being directly operably connected via a wireless communication channel (e.g., Bluetooth) and indirectly connected via network 140, which may include one or more wired and / or wireless networks, including the Internet, a Wi-Fi network, a cellular network, a local area network (LAN), a wide area network (WAN), and the like. However, in some embodiments, one of these operably connected connections may not exist. For example, in one embodiment, exoskeleton system 110 may be configured to communicate with user device 120 only via a direct local connection and not via network 140. In another embodiment, exoskeleton system 110 may be configured to communicate with user device 120 only via a local communication channel, but may not be able to communicate with a device such as classification server 130 or user device 120 via network 140. However, in some examples, exoskeleton system 110 may communicate with a device such as classification server 130 via user device 120.
[0021] In some embodiments, the classification server 130 may include one or more devices configured to have various capabilities, which are described in more detail herein. Figure 1 A physical server is shown in the example of FIG, but in other embodiments, the classification server 130 may include one or more virtual or non-virtual servers, etc. In some embodiments, the classification server 130 may not exist.
[0022] Although user device 120 in example exoskeleton network 100 is shown as a smartphone, in other embodiments, various other suitable devices may include user device 120, including tablet computers, smart watches, laptop computers, desktop computers, gaming devices, entertainment devices, home automation devices, embedded systems, etc. Additionally, in some examples, user device 120 may be an integral part of exoskeleton system 110. In other words, in some examples, user device 120 and exoskeleton system 110 may be combined. Additionally, in some embodiments, user device 120 may not exist or may exist in any suitable plurality of user devices.
[0023] As described in more detail herein, exoskeleton system 110 may be any suitable exoskeleton system having a variety of capabilities. Figure 1 The example leg exoskeleton system 110 shown in FIG. 1 should not be construed as limiting the wide variety of exoskeleton systems within the scope and spirit of the present disclosure. Additionally, in some embodiments, the exoskeleton network 100 may include multiple exoskeleton systems 110. For example, Figure 2 Another embodiment 100B of an exoskeleton network 100 including a plurality of exoskeleton systems 110A, 110B, 110C and a classification server 130 is shown.
[0024] Figure 3 1 is a block diagram of an example embodiment 110D of an exomuscle system 110, which includes an exoskeleton device 310 operably connected to a pneumatic system 320. The exoskeleton device 310 includes a processor 311, a memory 312, one or more sensors 313, and a communication unit 314. A plurality of actuators 305 are operably coupled to the pneumatic system 320 via respective pneumatic lines 330. The plurality of actuators 305 include a pair of shoulder actuators 305S, an elbow actuator 305E, a front knee actuator 305KA, and a rear knee actuator 305KP positioned on the right and left sides of the body. For example, as described above, Figure 3 The example external muscle system 110D shown may be an upper suit 110E and / or a lower suit 110F (e.g., Fig.10 and Fig.11 305KP) can be positioned on the front and back of the knee.
[0025] In various embodiments, the example system 110D can be configured to move and / or enhance the movement of a user wearing the exo-muscle system 110D. For example, the exoskeleton device 310 can provide instructions to the pneumatic system 320 so that the actuators 305 can be selectively inflated and / or deflated. Such selective inflation and / or deflation of the actuators 305 can move the body to generate and / or enhance physical movements, such as walking, running, jumping, climbing, lifting, throwing, squatting, etc.
[0026] In some embodiments, such movement can be controlled and / or programmed by the user or another person wearing the external muscle system 110D. In some embodiments, the external muscle system 110D can be controlled by the user's movement. For example, the exoskeleton device 310 can sense that the user is walking and carrying a load, and can provide power assistance to the user via the actuator 305 to reduce the effort associated with the load and walking. Therefore, in various embodiments, the external muscle system 110D can react automatically without direct user interaction. In other embodiments, the movement can be controlled in real time by a controller, a joystick or thought control. In addition, various movements can be pre-programmed and selectively triggered (e.g., walking forward, sitting down, squatting), rather than being completely controlled. In some embodiments, the movement can be controlled by generalized instructions (e.g., walking from point A to point B, picking up a box from shelf A and moving to shelf B).
[0027] In various embodiments, exoskeleton device 310 may be operable to perform methods or portions of methods described in greater detail below, including methods 400, 500, 600, 700, 800, etc. For example, memory 312 may include non-transitory computer-readable instructions that, if executed by processor 311, may cause exoskeleton system 110 to perform the methods or portions of methods described herein. Communication unit 314 may include a communication interface that allows exoskeleton system 110 to communicate directly or via a network (e.g., see Figure 1 and Figure 2 ) hardware and / or software for communicating with other devices (including user devices 120, classification servers 130, other exoskeleton systems 110, etc.).
[0028] In some embodiments, sensors 313 may include any suitable type of sensor, and sensors 313 may be located in a central location or may be distributed around exoskeleton system 110D. For example, in some embodiments, the system (exoskeleton system 110D) may include a plurality of accelerometers, force sensors, position sensors, and the like at various suitable locations, including at actuators 305 or any other body location. Thus, in some examples, sensor data may correspond to a physical state of one or more actuators 305, a physical state of a portion of exoskeleton system 110, a physical state of a portion of exoskeleton system 110 as a whole, and the like. In some embodiments, exoskeleton system 110D may include a global positioning system (GPS), a camera, a range sensing system, environmental sensors, and the like.
[0029] The pneumatic system 320 may include any suitable device or system operable to inflate and / or deflate the actuator 305. For example, in one embodiment, the pneumatic system may include a diaphragm compressor, such as disclosed in co-pending related patent application 14 / 577,817 filed on December 19, 2014, which claims the benefit of U.S. Provisional Application No. 61 / 918,578 filed on December 19, 2013.
[0030] As discussed herein, various suitable exoskeleton systems 110 may be used with the example systems and methods discussed herein, including Fig.10 , Fig.11 and Fig.12 exoskeleton system 110, as described herein. However, such examples should not be construed as limiting the wide variety of exoskeleton systems 110 or portions thereof that are within the scope and spirit of the present disclosure. Figure 3 , Fig.10 , Fig.11 and Fig.12 Examples of more or less complex exoskeleton systems 110 are within the scope of the present disclosure.
[0031] Additionally, while various examples relate to an exoskeleton system 110 associated with a user's legs or lower extremities, other examples may relate to any suitable portion of a user's body, including a torso, arms, head, legs, etc. Moreover, while various examples relate to exoskeletons, it should be appreciated that the present disclosure may be applied to other similar types of technology, including prosthetics, human implants, robotics, etc. Furthermore, while some examples may relate to human users, other examples may relate to animal users, robotic users, etc.
[0032] The present disclosure includes various methods for developing example embodiments of a data-driven intent recognition program for exoskeleton applications. Various preferred embodiments include an intent recognition system that uses data collected from sensors 313 included in one or more exoskeleton systems 110 to allow unsupervised refinement of intent recognition performance.
[0033] For example, the data-driven intent recognition program may include a classifier or other program that processes sensor data (e.g., data received from one or more sensors 313) up to a point in time (t=0) to determine the user's intended manipulation at that point in time. In other words, exoskeleton system 110 may run a program that anticipates the intended actions of a user wearing exoskeleton system 110 based at least in part on the received sensor data.
[0034] In some examples, sources of error for such programs or methods may be related to the ability of real-time classifiers to deliver accurate predictions of user movements (in some cases, before the operator makes significant physical movements to act on their intent). For example, if such programs desire to identify the toe-off phase of a user's gait wearing exoskeleton system 110, then the intent recognition program may attempt to discover the intent of the toe-off phase when having only the sensor data contained in the following set t=[-n:0], given that sensors 313 cannot detect actions that have not yet occurred.
[0035] In various examples, an ideal program would theoretically be able to detect a toe-off as soon as all ground contact signals at the foot go to zero. However, in some systems, the program may have to contend with various imperfections such as sensor noise, which means that the exoskeleton system 110 may not be able to respond to a signal at the moment the ground contact signal drops to zero, and in many cases will need to wait for sensor data to repeatedly indicate that ground contact has ended.
[0036] This can result in a delay in the speed of the classification behavior of such classifiers. Therefore, some data-driven intent recognition programs incorporate supervision, where an expert is able to parse the sensor data and point out facts in the context of the full sensor data, so that the data-driven methods can train themselves to best approximate the choices of the supervising expert.
[0037] This disclosure describes some example methods that can eliminate the need for an expert supervisor. Specifically, in some examples, if the classification of sensor data is completed at moments before and after a specific moment of interest t=[-n:n], the behavior of the classification method can be significantly improved. Therefore, various embodiments discussed herein are directed to methods that focus on the behavior of classification.
[0038] Some example methods may reconsider the classification of manipulations by the user of exoskeleton system 110 at set moments in the past (consider t=-n), which may allow the classification procedure to use data from sensors 313 before and after the manipulations by the user of exoskeleton system 110 in question, which includes time t=[-2n:0]. In some embodiments, classification via such methods may be accomplished more accurately than a procedure responsible for instantaneously classifying manipulations by the user of exoskeleton system 110. Thus, various example methods may use sensor data to refine instantaneous predictions of what will occur at t=-n, thereby attempting to cause exoskeleton system 110 to perform more like the assumed factual data determined from the foresight classification.
[0039] In one embodiment, the process of comparing and updating the instantaneous classifications may be performed on an external computer (e.g., user device 120, classification server 130, etc.), and the refined classifier data may then be redeployed to one or more exoskeleton systems 110 in order to improve the performance of one or more exoskeleton systems 110. In such an embodiment, the relevant sensor data may be streamed from the exoskeleton system 110 and processed on the classification server 130, where an updated or improved classification method may be generated. The generated classification method data may be deployed to the exoskeleton device 110 to allow it to perform the refined intent recognition behavior embodied in the classification method data. However, in other embodiments, such processing may occur on one or more other suitable devices, including at the exoskeleton device 310 or at the user device 120 (e.g., a smartphone, laptop, server, or other suitable device).
[0040] Some embodiments of this example method may provide high frequency updates to the classification program as fast as each control loop, while other embodiments may have significantly slower update cycles, such as embodiments that update the classification program only once a year. Still other embodiments may update the classification program at non-periodic intervals based on other rules, such as embodiments that update the local classification program of the exoskeleton system 110 when it is determined that an update will improve accuracy by 1% or other suitable amount or metric.
[0041] In some examples of adaptive exoskeleton systems 110 used in conjunction with a human user, it may be important to know how quickly the adaptive intent recognition is adapting. Specifically, if the adaptive exoskeleton system 110 adapts too quickly, it may respond to intermittent atypical behaviors that do not represent typical movements of the user. If the exoskeleton system 110 adapts slightly slower, then in some embodiments, an adaptive exoskeleton system 110 may be created that responds with a similar bandwidth to the user's own internal learning process associated with the user learning how to use the exoskeleton system 110. Where such a tuned adaptation speed is implemented, in some embodiments, the exoskeleton system 110 may begin to adapt its behavior just as the user begins to trust how the exoskeleton system 110 works, thereby resulting in a new learning phase for the user.
[0042] Thus, in some examples, it may be important that the adaptive intent recognition program adapts at a significantly different rate than the user's own internal adaptation. In many embodiments, this can be addressed by having the exoskeleton system 110 adapt at a significantly slower rate than the user. In other embodiments, the adaptation rate of the intent recognition program may be user selectable to allow an operator or administrator to individually select the responsiveness of the exoskeleton system 110's intent adaptation.
[0043] Thus, in various embodiments, exoskeleton system 110 may change the speed of adaptation of an intent recognition program running on exoskeleton system 110 based at least in part on input received at an interface of exoskeleton system 110, based at least in part on input received at an interface of user device 120, and / or via instructions received from classification server 130. In other embodiments, exoskeleton system 110 may automatically tune the speed of adaptation of an intent recognition program running on exoskeleton system 110 based on sensor data, among other things. For example, a determination may be made based at least in part on sensor data that the intent recognition program is adapting too quickly for the user, and exoskeleton system 110 may automatically slow down the speed of the intent recognition program so that exoskeleton system 110 adapts at a speed that better meets the needs of the user.
[0044] For example, Figure 4An example method 400 for updating a set of classification rules is shown, which may be embodied in a classification program stored in memory 312 of exoskeleton system 110. Method 400 exists at 405, where the accuracy of a current set of classification rules is determined. For example, a baseline accuracy may be determined by applying the current set of classification rules to determine an estimate of an exoskeleton system 110 device state or a user state at a time of interest (t=0). In other examples, the accuracy may be determined based at least in part on historical data associated with the current set of classification rules, which may include data regarding successful and unsuccessful classification attempts using the current set of classification rules. In various embodiments, the accuracy may be based on a ratio of successful classification attempts to unsuccessful classification attempts.
[0045] At 410, an updated set of classification rules can be generated. For example, the updated set of classification rules can be generated in various suitable ways, including via random changes to the current classification rules, changes to the current classification rules based on one or more heuristics, and the like. In other words, the updated set of classification rules can include changes to the current set of classification rules or increments thereof. In other embodiments, an updated set of classification rules can be generated that is not based on the current set of classification rules. In other words, an updated set of classification rules can be generated without reference to or consideration of the current set of classification rules. In various embodiments, a reference set of classification rules or a reference classification program can be generated in a similar manner.
[0046] At 415, the accuracy of the updated set of classification rules may be determined, for example, where a baseline accuracy is determined by applying the current set of classification rules to determine an estimate of the exoskeleton system 110 device state or user state at a time of interest (t=0), as described above, and then the updated classification rules may be applied at a later fixed time (t=n) to determine an estimate of the exoskeleton system 110 device state or user state at the original time of interest (t=0) using additional sensor information collected at a later time frame (t≥n) and / or before the later time frame (e.g., n≥t≥0).
[0047] In other examples, the accuracy of the updated set of classification rules can be determined based at least in part on historical data associated with the exoskeleton system 110, which can include making classification attempts using the historical data, and then analyzing such attempts to determine whether such classification attempts were successful or unsuccessful. The accuracy of the updated classification rules can be based on a ratio of successful classification attempts made by the updated classification rules to unsuccessful classification attempts. For example, successful classification attempts and unsuccessful classification attempts made by the updated classification rules can be determined based on data, such as data used to determine successful classification attempts and unsuccessful classification attempts made by the current classification rules.
[0048] In some examples, updated classification rules may be temporarily implemented on one or more exoskeleton systems 110, and the updated classification rules may be evaluated based on actual use of the one or more exoskeleton systems 110. Additionally, while the evaluation of current rules or updated rules may be based on data from a single exoskeleton system 110, in some examples, such evaluation may be based on data from multiple exoskeleton systems 110 (e.g., see Figure 2 ) historical data.
[0049] return Figure 4 , method 400 continues to 420, where a difference in accuracy between the updated set of classification rules and the current set of classification rules is determined, and at 425, a determination is made whether the difference in accuracy is greater than a replacement threshold. If not, the current set of classification rules is maintained at 430, and if so, the current set of classification rules is replaced by the updated set of classification rules at 435. For example, in the event that it is determined that the updated classification rules provide a substantial improvement over the current set of classification rules, the current classification rules may be replaced by the improved updated classification rules. Figure 4 As shown, such a method 400 can iteratively improve a current set of classification rules. For example, after 430 and 435, the method 400 can loop back to 405, where a new or maintained set of classification rules is evaluated again.
[0050] In other examples, where an estimated exoskeleton system 110 device state and / or user state is determined for a current and updated set of classification rules, such estimates may be compared. If the results from the current set of classification rules differ from the results from the updated set of classification rules (which may be more accurate in some cases), then the current set of classification rules may be adapted to develop a second updated set of classification rules designed to better determine classification accuracy at a time of interest (t=0). The current set of classification rules may be updated with or may be replaced by the second updated set of classification rules.
[0051] Thus, in some embodiments, a method for updating a set of classification rules may include: determining a first state estimate of a current classification procedure implemented by the exoskeleton system 110; determining a second state estimate of a reference classification procedure; determining that a difference between the first state estimate and the second state estimate is greater than a classification procedure replacement threshold; generating an updated classification procedure; and replacing the current classification procedure with the updated classification procedure based at least in part on determining that the difference between the first state estimate and the second state estimate is greater than the classification procedure replacement threshold.
[0052] In various embodiments, such methods may be performed locally at exoskeleton system 110, locally at user device 120, and / or remotely at classification server 130. Additionally, method 300 or portions thereof may be performed automatically without user input. For example, exoskeleton system 110 may automatically improve classification rules used by exoskeleton system 110 during operation of exoskeleton system 110 without input from a user, administrator, etc. Similarly, user device 120 and / or classification server 130 may similarly automatically improve classification rules used by exoskeleton system 110 during operation of exoskeleton system 110 without input from a user, administrator, etc. Such automation may be desirable to effectively improve the functionality of one or more exoskeleton systems 110 without requiring or requiring limited input from a user or administrator. Additionally, while classification rules are discussed in various examples herein, it should be understood that such methods may be applied to classification programs, intent recognition programs, and the like that embody, employ, or implement such classification rules. In various embodiments, classification programs and intent recognition programs may refer to the same type of programs, methods, algorithms, and the like.
[0053] Unsupervised refinement of the intent recognition program may be performed for a variety of reasons. For example, one embodiment may refine the intent recognition classification behavior in order to improve the performance of the classification on a group of users. In this embodiment, the same classification program may be deployed to multiple exoskeleton systems 110 and used to increase the performance of the exoskeleton system 110 using the larger pool of available data collected on the group of exoskeleton systems 110.
[0054] For example, Figure 5 As shown, an example method 500 for improving a classification procedure for a plurality of exoskeleton systems 110 may begin at 510, where performance data is obtained from a plurality of exoskeleton systems 110. At 520, an updated classification procedure is generated based on the received performance data, and at 530, the updated classification procedure is sent to the plurality of exoskeleton systems 110. For example, in some embodiments, the method 500 may be performed by a classification server 130 (e.g., see Figure 2 However, in some embodiments, method 500 may be performed by user device 120 and / or at one or more exoskeleton systems 110. Additionally, generating an updated classification program may include various suitable steps, including as described above in Figure 4 The steps described in method 400.
[0055] In another embodiment, the behavior of the intent recognition program can be refined to allow for better performance of a specific exoskeleton system 110 for an individual user. Such an embodiment can refine the behavior of intent recognition to improve the accuracy or responsiveness of the classification of a specific exoskeleton system 110 over time. The details of these improved recognition behaviors of a specific exoskeleton system 110 can then be stored (e.g., on one or more local devices, such as in memory 312 of the exoskeleton system 110, at a user device 120, and / or at one or more remote devices, such as a classification server 130 or a user device 120) for full deployment to replacement exoskeleton systems 110 or different specific exoskeleton systems 110 to allow these specific exoskeleton systems 110 to learn the movements and preferences of a specific user.
[0056] Yet another embodiment may refine the behavior of the intent recognition program to adapt to changes in the response of the sensors 313 of the exoskeleton system 110 over time. These updates to the intent recognition program may be designed to account for normal changes in sensor behavior over time, to account for catastrophic failures of sensors 313, and the like.
[0057] For example, Figure 6 An example method 600 for updating a classification procedure based on the state of one or more sensors 313 of an exoskeleton system 110 is shown. Method 600 begins at 610, where an exoskeleton device sensor state is determined for an exoskeleton system 110 operating with a current classification procedure. At 620, a determination is made as to whether there is a change in the exoskeleton state. For example, a change in the state of one or more sensors 313 may include sensor operability / inoperability, a change in calibration state, a change in sensor accuracy, a change in the physical location of a sensor on the exoskeleton system 110, and the like. In some embodiments, a sensor state change may be associated with a change in a portion of the exoskeleton system 110, including a change in one or more actuators 305, pneumatic system 320, pneumatic line 330, and the like. For example, problems, degradation, and / or material changes in a portion of the exoskeleton system 110 may be associated with a change in sensor state.
[0058] In the event that a change in the exoskeleton device sensor state is not identified at 620, method 600 loops back to 610, where the exoskeleton device sensor state continues to be monitored. However, when a change in the exoskeleton device sensor state is identified at 620, method 600 continues to 630, where an updated classification procedure is generated based at least in part on the identified change in the exoskeleton device sensor state, and at 640, the current classification procedure is replaced by the updated classification procedure.
[0059] For example, in the event that a change in the exoskeleton system 110 causes sensors to report sensor data differently, the current classification procedure of the exoskeleton system 110 may lose accuracy because it is not tuned to the change in sensor data absorbed by the current classification procedure. Accordingly, such a change in the sensor state of the exoskeleton device may be identified and the current classification procedure replaced with an updated classification procedure tuned to the change in the sensor state of the exoskeleton device.
[0060] As to the performance of these programs, in some embodiments, the details of the intent recognition classifier design can have a significant impact on the performance of the program. It is important to note that the specific classification program does not limit the application of the method according to various embodiments. The terms classification or classifier are used in this specification to refer to an algorithm, program or method that specifies the intent of the operator of the exoskeleton system 110 at a certain time under consideration. Classification programs can include, but are not limited to, support vector machines, neural networks, linear discriminant analysis, quadratic discriminant analysis, dynamic Bayesian networks, hidden Markov models, etc.
[0061] For clarity, the programs used to identify the intentions of the user of the exoskeleton system may be configured to recognize a variety of movements from the operator of the exoskeleton system 110. These may include movements, manipulations, movements, stances, gaits, etc. performed consciously and / or subconsciously by the operator. Specific movements that these intention recognition programs may consider, analyze, classify, etc. may include, but are not limited to, walking, standing, running, jumping, squatting, climbing stairs, descending stairs, landing, turning, sitting, grasping, reaching, etc. Similarly, these intentions are applied by the programs to identify the intermediate manipulation stages of gait that may be important, which may include, but are not limited to, heel strike, mid-stance, late stance, toe-off, flying, up, down, etc.
[0062] In some embodiments, the introduction of such new adaptive intent recognition procedures may require new methods for the user to interact with the exoskeleton system 110. For example, an embodiment may provide the user with a manual intent override behavior that the user may use to force the intent recognition program into a desired behavior in the event that the intent recognition program is not behaving as expected or desired. Another set of embodiments may include user feedback that allows the operator of the exoskeleton system 110 to influence the learning behavior of the data-driven program.
[0063] One such feedback embodiment may provide the operator with a manual option to help refine the performance of the exoskeleton system 110 by refining new behaviors that the exoskeleton system 110 has seen. For example, if the transient classifier program believes that the person is moving from standing to walking up stairs, but the look-ahead classifier program believes that the person is actually transitioning to squatting, the exoskeleton system 110 may find it useful to allow the user to confirm this change in execution.
[0064] For example, Figure 7 An example method 700 is shown for tuning a classification program based at least in part on a user response to a classification determination. Method 700 exists at 705 where a change in state of exoskeleton system 110 is sensed, and a classification of the sensed change in state is determined at 710. For example, exoskeleton system 110 may obtain data from sensor 313 indicating that a user of exoskeleton system 110 initiated a new movement or change in movement. A classification program of exoskeleton system 110 may classify the new movement.
[0065] At 715, the classification is presented to a user associated with exoskeleton system 110, and at 720, a classification response is obtained from the user associated with exoskeleton system 110. For example, in some embodiments, the classification can be presented on a display (e.g., of user device 120, exoskeleton device 310, etc.), and the user can provide a response (e.g., indicating rejection or confirmation of the classification) via a user input such as a touch screen, a button, etc. The user presented with the classification and / or providing a response to the classification can be the user wearing exoskeleton system 110, an administrator working with the user wearing exoskeleton system 110, and the like.
[0066] At 725, a determination is made as to whether the classification response is a confirmation or a rejection, and if the user response is a rejection of the classification determination, then at 730, the classification program is tuned to weaken the classification determination. However, if the user response is a confirmation of the classification determination, then at 730, the classification program is tuned to strengthen the classification determination. For example, in the case where the user confirms the classification determination, the classification program can be changed to strengthen the determination method used to make the classification determination. In another example, in the case where the user confirms the classification determination, a record can be made of successful classifications, and if not, then a record of unsuccessful classifications can be generated. Such records of successful and unsuccessful classifications can be used, as discussed herein (e.g., in method 300 discussed above).
[0067] While many items may influence determining why user confirmation is sought, one metric may be to ask for confirmation whenever the refined classification moves to a state where the device would be substantially different from the state it would have performed under the original behavior. In other words, in some embodiments, user confirmation may be limited to changes in the state of the exoskeleton above a threshold that defines a significant change as opposed to a minor change.
[0068] For example, Figure 8A method 800 of determining whether to present a confirmation request for an allocation determination is shown. The method 800 begins at 810, where a first classification associated with a first device state is determined, and at 820, a second classification associated with a second device state is determined. At 830, a difference between the first device state and the second device state is determined, and at 840, a determination is made whether the difference between the first device state and the second device state is above a performance difference threshold. For example, in some embodiments, the difference may be above a performance difference threshold, where the second behavior classification moves the exoskeleton device to a state where it is substantially different from the exoskeleton state it was performing under the first behavior classification.
[0069] If it is determined that the difference between the first device state and the second device state is above the performance difference threshold, then at 830, a confirmation request for the second classification is presented to the user. Figure 7 However, if it is determined that the difference between the first device state and the second device state is not above the performance difference threshold, then at 835, a confirmation request for the second classification is not presented to the user.
[0070] Another embodiment can provide feedback to the user, which is directed toward the empirical adjustment of the device, such as manipulating the balance between classification accuracy and classification delay. For example, if the user is interested in maximizing performance but is in a safe situation where they can absorb a higher possible classification error, the user can recommend that the exoskeleton system 110 make an intent recognition decision with a lower confidence level so that the exoskeleton system 110 responds as quickly as possible. For the purpose of clarity, in various embodiments, the medium of these feedback features is not particularly important. Feedback can be initiated by the user through various input methods, including, but not limited to, mobile phones, personal computers, remote control devices, wearable companion controllers, etc. (e.g., via the exoskeleton system 110 and / or user device 120). In addition, input from the user can be provided in various suitable ways, including via physical input such as a touch screen, buttons, audio input (e.g., voice commands), etc. Similarly, presentation to the user can be provided in various suitable ways using various suitable interfaces, including via a screen, audio output, tactile feedback, etc.
[0071] Similar to how these new programs may require new interactions for the user in the exoskeleton system 110, in some embodiments, such new programs may also introduce the need for new interactions for the developer or end-user to allow them to understand how the exoskeleton system 110 operates. One embodiment includes a user interface that displays the performance of the exoskeleton system 110 to interested parties. For example, the user interface may graphically depict allowable manipulation transitions and identify transitions that the exoskeleton system 110 has demonstrated a low likelihood of accurate classification. Other embodiments may include information about the accuracy of these intent recognition classifications over time. Still other embodiments may provide insights into how to improve the performance of the intent recognition program by identifying specific manipulations without collecting sufficient information or by identifying changes in the behavior of the exoskeleton system 110 that may result in changes in the performance of the intent recognition program.
[0072] Other embodiments may provide feedback to the designer of the exoskeleton system 110 regarding which sensors 313 have the greatest impact on the performance of the exoskeleton system 110. For example, if the designer envisions a transition to the exoskeleton system 110 and is trying to improve the accuracy of a specific transition, the user interface may suggest adding other sensors 313 or sensor accuracy that have been shown in previous training examples to improve this classification.
[0073] For purposes of clarity, various examples of the present disclosure focus on the design and implementation of an exoskeleton system 110; however, other examples apply to a wide range of wearable devices where the device uses onboard sensors for the purpose of identifying the intended behavior of a user. A specific example of this is footwear, and in particular perhaps athletic footwear, where the device uses the included sensors to determine the intended behavior of the operator so that it can report statistics or adapt performance characteristics to the user.
[0074] The methods described herein can be used in a variety of suitable operating environments. For example, an embodiment can include an exoskeleton system 110 having one or more sensors 313 disposed around the exoskeleton device and configured to sense various states of the exoskeleton system 110, including movement, rotation, acceleration, orientation, temperature, and the like. As discussed herein, such an exoskeleton system 110 can be associated with one or more body parts of a user. For example, some embodiments can be associated only with the legs of a user, while other embodiments can be associated with the legs, torso, and arms.
[0075] Exoskeleton system 110 may include one or more actuators configured to move exoskeleton system 110 in various suitable ways. Such actuators may include fluidic actuators (e.g., actuator 305), motor actuators, and the like. Exoskeleton system 110 may also include a control system operable to control the actuators, and such a control system may be operably coupled to the sensors and actuators. Exoskeleton system 110 may also include components such as a power supply, processor 311, and memory 312, wherein software or firmware may be operable to perform at least a portion of the methods described herein.
[0076] Some embodiments may include multiple processing stages. For example, Fig. 9 One embodiment of an exoskeleton processing network 900 is shown that includes three processing stages. The first architectural stage of the network 900 may include local processing elements on the exoskeleton system 110, including a data collection process 910 and a classifier process 920. For example, the data collection process 910 may obtain and process data from the sensors 313 (e.g., see Figure 3 ) and sends such processed data to a classification execution process 920, which runs a classification program, which may include a classification program as discussed herein. Various embodiments may implement processing at the exoskeleton system 110 by various methods, including, but not limited to, a single centralized embedded DSP, a group of distributed processors, a background computing process, a real-time process, and the like.
[0077] The second architectural level of the network 900 may include nearby auxiliary processing units, which may include user devices 120, etc. (see, for example, Figure 1 ). The user device may perform a feature extraction process 930 that receives data from the data collection process 910 at the exoskeleton system 110, performs actions including feature extraction, etc. As discussed herein, this user device 120 may be operably coupled to the exoskeleton system 110 via a suitable communication channel such as a Bluetooth connection, etc. This second layer may operate on a processing unit that can be monitored by a user of the user device 120. This second layer may operate on a variety of suitable user devices 120 as discussed herein, including cell phones, personal computers, etc.
[0078] The third processing stage may include a network-based processing system, such as a classification server 130 (see, e.g., Figure 1 and Figure 2), and in various embodiments, the classification server is not directly controlled by the user of the exoskeleton system 110 and the user device 120. The third processing stage at the classification server 130 may include a label derivation process 940 that receives data from the feature extraction process 930 at the user device 120 and performs label derivation on the received data. The date of the label derivation derived from the label derivation process 940 may be provided to a classifier update process 950 that generates an updated classifier based at least in part on the data generated by the label derivation process 940. The classifier update process 950 may send the updated classifier to the user device 120, and the user device 120 may send the updated classifier data to the classifier execution process 920 at the exoskeleton system 110, wherein the current classification process executed by the classifier execution process 920 may be replaced by the updated classifier embodied in the received updated classifier data.
[0079] Other implementations may be added to, removed from, or reconfigured for clarity. Fig. 9 The illustrated examples deal with aspects of the layers. Therefore, the examples should not be construed as limiting the wide variety of alternative embodiments that are within the scope and spirit of the present disclosure.
[0080] Various embodiments may include many discrete processes. These may include a data collection process 910, a feature extraction process 930, a label derivation process 940, a classifier update process 950, a classifier execution process 920, and the like. Although some of these example discrete processes may be executed on specific processing units, such as Fig. 9 Although some processes may be structured and processed at various processing levels, as shown in the example in FIG. 1 , data processing process 910 and classification program execution process 920 may be executed on user device 120, with other processes deployed at other processing levels, including at classification server 130 or at exoskeleton system 110. Therefore, although Fig. 9 Specific examples are shown in FIG. 1 , but other suitable configurations of the process are within the scope and spirit of the disclosure.
[0081] Another aspect of the present disclosure is regarding the frequency and distribution of classifier updates. In many embodiments, the value of classifier updates can be provided by a regular distribution of improved classifiers. In many cases, this can be driven by the high capital cost associated with the hardware of most conventional exoskeletons 110. However, in some embodiments, the cost of the hardware can change the highest value distribution method. In this embodiment, it may prove most valuable to update the method to acquire data from devices in the field and then update the classifier, but only deploy the updated classifier on new versions of the hardware.
[0082] One embodiment may use footwear as device hardware. In this embodiment, hardware dealers may use updated algorithms to drive acceptance of their new versions of footwear, as their business model is centered around annual model sales. This embodiment may leverage features of the embodiments described herein and in related patent application 62 / 454,575 referenced above, however, it may use a discrete deployment architecture that deploys intent classifiers that have been trained via unsupervised learning onto new hardware, as opposed to old hardware that is expected to be retired within a few months.
[0083] Go to Fig.10 , one embodiment 110E of the pneumatic exo-muscle system 110 is shown to include a plurality of actuators 305 disposed at locations of a shirt 1020 expressed by a user 1001. A shoulder actuator 305S is shown positioned above a shoulder 1005 of the user 1001. An elbow actuator 305E is shown positioned above an elbow 1003 of the user 1001. A wrist actuator 305W is shown positioned above a wrist 1004 of the user 1001.
[0084] Similarly, Fig.11 Another embodiment 110F of the pneumatic exo-muscle system 110 is shown, which is shown to include a plurality of actuators 305 disposed at locations on a legging 1120 worn on the leg 1101 of the user 1001. The front knee actuator actuator 305KA and the rear knee actuator 305KP are shown positioned on the respective front side 1102A and rear side 1102P of the knee 1102 of the user 1001. The front hip actuator actuator 305HA and the rear hip actuator 305HP are shown positioned on the respective front side 1103A and rear side 1103P of the hip 1103 of the user 1001. The ankle actuator 305A is shown positioned on the ankle 1104 of the user 1001.
[0085] although Fig.10 and Fig.11 Separate upper suits 110E and lower suits 110F are shown, but in various embodiments, the pneumatic exo-muscle system 110 can be configured to cover the entire body of the user 1001 or a portion of the body of the user 1001. For example, the pneumatic exo-muscle system 110 can be embodied in a full body suit, sleeves, leg covers, gloves, socks, etc. Additionally, although the actuators 305 are depicted as being positioned above the elbows 103, wrists 104, shoulders 105, knees 1102, hips 1103, and ankles 1104, any one or more of these actuators 305 may not be present and / or additional actuators 305 may be present in any other suitable location. For example, the actuators 305 may be present on the hands, feet, neck, torso, etc. Fig.12An example embodiment 110G of an exoskeleton system 110 including an ankle actuator 305A positioned on an ankle 1104 of a user 1001 is shown.
[0086] In addition, the present disclosure discusses various embodiments of the pneumatic exo-muscle system 110 worn by a human user 1001, but in other embodiments, the pneumatic exo-muscle system 110 can be adapted for use by a non-human user (e.g., an animal) or adapted for use with a non-living device such as a robot. For example, one embodiment includes using the pneumatic exo-muscle system 110 and / or one or more actuators 305 in a robotic arm (also referred to as a mechanical manipulator) that is not worn on the body 1001.
[0087] Embodiments of the present disclosure may be described in terms of the following:
[0088] 1. An exoskeleton network, comprising:
[0089] A wearable pneumatic exoskeleton system, the wearable pneumatic exoskeleton system comprising:
[0090] a plurality of pneumatic actuators configured to be associated with a body part of a user wearing the pneumatic exoskeleton,
[0091] a pneumatic system configured to introduce a pneumatic fluid to the plurality of actuators to actuate the plurality of actuators, and
[0092] An exoskeleton computing device, the exoskeleton computing device comprising:
[0093] Multiple sensors;
[0094] a memory storing at least a classification program, and
[0095] a processor that executes the classification program, the classification program controlling the pneumatic system based at least in part on a classification of sensor data obtained from the plurality of sensors generated by the classification program;
[0096] a user device local to the wearable pneumatic exoskeleton and in operable communication with the wearable pneumatic exoskeleton; and
[0097] a classification server remote from the user device and the wearable pneumatic exoskeleton and in operable communication with the wearable pneumatic exoskeleton and the user device,
[0098] The exoskeleton network:
[0099] determining a first state estimate of a current classification procedure implemented by the wearable pneumatic exoskeleton;
[0100] determining a second state estimate of the reference classification procedure;
[0101] determining that a difference between the first state estimate and the second state estimate is greater than a classifier replacement threshold;
[0102] Generate updated classification procedures; and
[0103] The current classification procedure is replaced with the updated classification procedure based at least in part on determining that the difference between the first state estimate and the second state estimate is greater than the classification procedure replacement threshold.
[0104] 2. The exoskeleton network of clause 1, further comprising a plurality of wearable pneumatic exoskeleton systems in operative communication with the classification server, each of the plurality of wearable pneumatic exoskeleton systems comprising:
[0105] a plurality of pneumatic actuators configured to be associated with a body part of a user wearing the pneumatic exoskeleton,
[0106] a pneumatic system configured to introduce a pneumatic fluid to the plurality of actuators to actuate the plurality of actuators, and
[0107] An exoskeleton computing device, the exoskeleton computing device comprising:
[0108] Multiple sensors;
[0109] a memory storing at least a classification program, and
[0110] A processor executes the classification program to control the pneumatic system based at least in part on classification of sensor data obtained from the plurality of sensors by the classification program.
[0111] 3. An exoskeleton network as described in clause 2, wherein the classification server replaces the corresponding current classification programs of the plurality of exoskeleton systems with the updated classification programs based at least in part on determining that the accuracy difference between the first accuracy and the second accuracy is greater than the classification program replacement threshold.
[0112] 4. An exoskeleton network as described in any one of clauses 1 to 3, wherein the classification server generates the updated classification program.
[0113] 5. The exoskeleton network of clause 4, wherein the classification server generates the updated classification program based at least in part on classification program performance data received from a plurality of exoskeleton systems.
[0114] 6. An exoskeleton system, comprising:
[0115] a plurality of actuators configured to be associated with a body part of a user wearing the exoskeleton, and
[0116] An exoskeleton computing device, the exoskeleton computing device comprising:
[0117] Multiple sensors;
[0118] a memory storing at least a classification program, and
[0119] a processor that executes the classification program, the classification program controlling the plurality of actuators based at least in part on a classification of sensor data obtained from the plurality of sensors generated by the classification program;
[0120] The exoskeleton system:
[0121] determining a first state estimate of a current classification procedure implemented by the exoskeleton system;
[0122] determining a second state estimate of the reference classification procedure;
[0123] determining that a difference between the first state estimate and the second state estimate is greater than a classifier replacement threshold;
[0124] Generate updated classification procedures; and
[0125] The current classification procedure is replaced with the updated classification procedure based at least in part on determining that the difference between the first state estimate and the second state estimate is greater than the classification procedure replacement threshold.
[0126] 7. An exoskeleton system as described in clause 6, wherein the exoskeleton system further:
[0127] identifying a change in exoskeleton device sensor state above a threshold;
[0128] generating a second updated classification procedure based at least in part on the identified change in the exoskeleton device sensor state; and
[0129] The updated categorizer is replaced with the second updated categorizer.
[0130] 8. An exoskeleton system as described in clause 6 or 7, wherein the exoskeleton system further:
[0131] Sensing exoskeleton state changes;
[0132] determining a first classification of a change in state of the exoskeleton using the updated classification procedure;
[0133] presenting the first classification to a user associated with the exoskeleton system;
[0134] obtaining a classification response associated with the presented first classification; and
[0135] The classification procedure is modified based at least in part on the classification response.
[0136] 9. The exoskeleton system of clause 8, wherein the first classification is presented to the user via a display screen associated with the exoskeleton system.
[0137] 10. The exoskeleton system of clause 8, wherein the classification response is obtained from a user selection via a button or touch screen associated with the exoskeleton system.
[0138] 11. The exoskeleton system of clause 8, wherein the exoskeleton system further:
[0139] determining a previous classification of a previous exoskeleton state occurring before said exoskeleton state change;
[0140] determining that a difference between a previous classification and the first classification at least satisfies a performance difference threshold; and
[0141] The first classification is presented to a user associated with the exoskeleton system based at least in part on determining that the difference between the previous classification and the first classification at least satisfies the performance difference threshold.
[0142] 12. A method of operating an exoskeleton system, comprising:
[0143] determining a first state estimate of a current classification procedure implemented by the exoskeleton system;
[0144] determining a second state estimate of the reference classification procedure;
[0145] determining that a difference between the first state estimate and the second state estimate is greater than a classifier replacement threshold;
[0146] Generate updated classification procedures; and
[0147] The current classification procedure is replaced with the updated classification procedure based at least in part on determining that the difference between the first state estimate and the second state estimate is greater than the classification procedure replacement threshold.
[0148] 13. The method of operating the exoskeleton system of clause 12, further comprising generating the updated classification program based at least in part on classification program performance data generated at the exoskeleton system.
[0149] 14. A method of operating the exoskeleton system as described in clause 12 or 13, further comprising:
[0150] sensing exoskeleton state changes; and
[0151] A first classification of a change in state of the exoskeleton is determined using the updated classification procedure.
[0152] 15. The method of operating the exoskeleton system of clause 14, further comprising:
[0153] presenting the first classification to a user associated with the exoskeleton system;
[0154] obtaining a classification response associated with the presented first classification; and
[0155] The classification procedure is modified based at least in part on the classification response.
[0156] 16. A method of operating the exoskeleton system as described in clause 14, wherein the first classification includes at least one of the following: walking, standing, running, jumping, squatting, climbing stairs, descending stairs, landing, turning, sitting, grasping, or reaching.
[0157] 17. The method of operating the exoskeleton system of clause 16, wherein the classification is based at least in part on sensor data obtained from a plurality of sensors associated with the exoskeleton system.
[0158] 18. The method of operating the exoskeleton system of clause 17, wherein the plurality of sensors are respectively associated with a set of actuators of the exoskeleton system.
[0159] 19. The method of operating the exoskeleton system of clause 14, wherein the current classification procedure and the updated classification procedure comprise at least one of: a support vector machine, a neural network, a linear discriminant analysis, a quadratic discriminant analysis, a dynamic Bayesian network, or a hidden Markov model.
[0160] 20. The method of operating the exoskeleton system of clause 14, further comprising varying an adaptation speed of the updated classification procedure based at least in part on input received from a user.
[0161] The described embodiments are susceptible to various modifications and alternative forms, but specific examples thereof have been illustrated by way of example in the drawings and described in detail herein. However, it should be understood that the described embodiments are not limited to the particular forms or methods disclosed, but on the contrary, the present disclosure covers all modifications, equivalents and alternatives.
Claims
1. An exoskeleton network, comprising: A wearable pneumatic exoskeleton system, the wearable pneumatic exoskeleton system comprising: a plurality of pneumatic actuators configured to be associated with a body part of a user wearing the pneumatic exoskeleton system, a pneumatic system configured to introduce a pneumatic fluid to the plurality of pneumatic actuators to actuate the plurality of pneumatic actuators, and An exoskeleton computing device, the exoskeleton computing device comprising: Multiple sensors; a memory storing at least a classification program, and a processor that executes the classification program, the classification program controlling the pneumatic system based at least in part on a classification of sensor data obtained from the plurality of sensors generated by the classification program; a user device local to and in operable communication with the wearable pneumatic exoskeleton system; and a classification server remote from the user device and the wearable pneumatic exoskeleton system and in operable communication with the wearable pneumatic exoskeleton system and the user device, The exoskeleton network: processing, at the exoskeleton system, at least a portion of the sensor data obtained from the plurality of sensors to generate processed sensor data; The exoskeleton system sends the processed sensor data to the user device; performing feature extraction on the processed sensor data by the user device to generate feature extracted sensor data; The user device sends the feature-extracted sensor data to a classification server; performing label derivation on the feature extracted sensor data by the classification server to generate labeled sensor data; generating, by the classification server, updated classification program data based at least in part on the tag sensor data; The classification server sends the updated classification program data to the user device; transmitting, by the user device, updated classification program data received from the classification server to the exoskeleton system; and The current classification program is replaced, by the exoskeleton system, in a memory of the exoskeleton system with the updated classification program embodied in the updated classification program data received from the user device.
2. The exoskeleton network of claim 1, further comprising a plurality of wearable pneumatic exoskeleton systems in operative communication with the classification server, each of the plurality of wearable pneumatic exoskeleton systems comprising: a plurality of pneumatic actuators configured to be associated with a body part of a user wearing the pneumatic exoskeleton system, a pneumatic system configured to introduce a pneumatic fluid into the plurality of pneumatic actuators to actuate the plurality of pneumatic actuators, and An exoskeleton computing device, comprising: Multiple sensors, a memory storing at least a classification program, and a processor that executes a classification program for controlling a pneumatic system that classifies sensor data obtained from a plurality of sensors based at least in part on the classification program, Wherein, each of the plurality of wearable pneumatic exoskeleton systems is configured to: processing, at the exoskeleton system, at least a portion of the sensor data obtained from the plurality of sensors to generate processed sensor data; The exoskeleton system transmits the processed sensor data to a local user device local to the wearable pneumatic exoskeleton system and operatively communicates with the wearable pneumatic exoskeleton system, receiving, at the exoskeleton system, updated classification program data generated at the classification server from the user device to the exoskeleton system; and The local current classification program is replaced, by the exoskeleton system, in a memory of the exoskeleton system with an updated classification program embodied in the updated classification program data received from the user device.
3. The exoskeleton network according to claim 1, wherein: The classification server includes one or more virtual or non-virtual servers, the virtual or non-virtual servers are remote from the user device and the exoskeleton system, and are in operable communication with at least one of the exoskeleton system and the user device via the Internet, and Wherein the classification server is not directly controlled by a user who can control the exoskeleton system and the user device.
4. The exoskeleton network according to claim 1, wherein: The exoskeleton system is configured to communicate with the user device only via a direct local connection and is not operable to communicate via a long distance network that would allow the user device to communicate with a classification server.
5. The exoskeleton network according to claim 1, wherein: The user device is a smartphone, or is a component of the exoskeleton system.
6. An exoskeleton network, comprising: An exoskeleton system, the exoskeleton system comprising: a plurality of actuators configured to be associated with a body part of a user wearing the exoskeleton system, and An exoskeleton computing device, the exoskeleton computing device comprising: Multiple sensors; a memory storing at least a classification program, and a processor that executes the classification program, the classification program controlling the plurality of actuators based at least in part on a classification of sensor data obtained from the plurality of sensors generated by the classification program; a user device local to the exoskeleton system and in operable communication with the exoskeleton system; and a classification server remote from the user device and the exoskeleton system and in operable communication with the exoskeleton system and the user device, The exoskeleton network: processing at least a portion of the sensor data obtained from the plurality of sensors to generate processed sensor data; performing feature extraction on the processed sensor data to generate feature extracted sensor data; performing label derivation on the feature extracted sensor data to generate labeled sensor data; generating an updated classification procedure based at least in part on the tag sensor data; and The current classification program is replaced with the updated classification program in the memory of the exoskeleton system. 7 . The exoskeleton network of claim 6 , wherein the user device performs feature extraction on the processed sensor data to generate feature extracted sensor data.
8. The exoskeleton network according to claim 6, wherein: The classification server performs label derivation on the feature extracted sensor data to generate the label sensor data; and Therein, the classification server generates an updated classification program based at least in part on the tag sensor data.
9. The exoskeleton network according to claim 8, wherein: The classification server sends the updated classification program to the exoskeleton system via the user device.
10. The exoskeleton network according to claim 6, wherein: The classification server cannot be directly controlled by a user who can control the exoskeleton system and the user device.
11. The exoskeleton network according to claim 6, wherein: The classification server includes one or more virtual or non-virtual servers, which are remote from the user device and the exoskeleton system and are in operative communication with at least one of the exoskeleton system and the user device via the Internet.
12. The exoskeleton network according to claim 6, wherein: The exoskeleton system is configured to communicate with the user device only via a direct local connection and not via a long distance network that would allow the user device to communicate with a classification server.
13. The exoskeleton network according to claim 6, wherein: The user device is a smartphone, or is a component of the exoskeleton system.
14. An exoskeleton network, comprising: An exoskeleton system, the exoskeleton system comprising: one or more sensors, and Memory; a user device local to the exoskeleton system and in operable communication with the exoskeleton system; and a classification server in operable communication with at least one of the exoskeleton system and the user device, The exoskeleton network: performing feature extraction on sensor data obtained from the one or more sensors to generate feature extracted sensor data; performing label derivation on the feature extracted sensor data to generate labeled sensor data; and generating a classification procedure based at least in part on the tag sensor data; and storing a classification program in a memory of the exoskeleton system, wherein the classification server generates the classification program based at least in part on the tag sensor data, and wherein the classification server sends the classification program to the exoskeleton system to store the classification program in a memory of the exoskeleton system; The current classification program is replaced with the updated classification program in the memory of the exoskeleton system.
15. The exoskeleton network according to claim 14, wherein: The user device performs feature extraction on the sensor data to generate feature extracted sensor data.
16. The exoskeleton network according to claim 14, wherein: The classification server cannot be directly controlled by a user who can control the exoskeleton system and the user device.
17. The exoskeleton network according to claim 14, wherein: The classification server includes one or more virtual or non-virtual servers, the virtual or non-virtual servers being remote from the user device and the exoskeleton system and in operable communication with at least one of the exoskeleton system and the user device via a long-distance network; as well as Therein, the exoskeleton system is configured to communicate with the user device only via a direct local connection and not via a long-distance network that allows the user device and the classification server to communicate.
18. The exoskeleton network according to claim 14, wherein: The user device is a smartphone or a part of the exoskeleton system.
Citation Information
Patent Citations
Diaphragm compressor system and method
US20150285238A1
Exoskeleton
US20080009771A1
Exoskeleton Ankle Robot
US20160331557A1