System and method for user intent recognition

The data-driven intent recognition system for exoskeletons addresses real-time prediction challenges by adapting classification rules based on performance data, improving accuracy and responsiveness.

JP7606498B2Active Publication Date: 2024-12-25ROAM ROBOTICS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2022176048
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2017-04-13
Filing Date
2022-11-02
Publication Date
2024-12-25
Estimated Expiration
2038-02-02

AI Technical Summary

Technical Problem

Conventional intent recognition programs for exoskeletons face challenges in accurately predicting user actions in real-time due to sensor noise and the need for expert supervision, leading to delayed and less customized performance.

Method used

A data-driven intent recognition system that adapts over time through unsupervised refinement using sensor data from exoskeletons, allowing for automatic updates of classification rules based on performance data to improve accuracy and responsiveness.

Benefits of technology

Enhances the accuracy and responsiveness of intent recognition in exoskeletons by refining classification methods without human intervention, tailoring performance to individual users and adapting to sensor changes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007606498000001
    Figure 0007606498000001
  • Figure 0007606498000002
    Figure 0007606498000002
  • Figure 0007606498000003
    Figure 0007606498000003
Patent Text Reader

Abstract

A method for operating an exoskeleton system is provided. [Solution] The method includes determining a first state estimate of a current classification program being implemented by the exoskeleton system, determining a second state estimate of a reference classification program, determining that a difference between the first state estimate and the second state estimate is greater than a classification program replacement threshold, generating an updated classification program, and replacing the current classification program with the updated classification program based at least in part on determining that a difference between the first state estimate and the second state estimate is greater than the classification program replacement threshold.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application No. 62 / 454,575, filed February 3, 2017, entitled "SYSTEM AND METHOD FOR USER INTENT RECOGNITION," which is incorporated by reference herein in its entirety for all purposes.

[0002] This application also claims the benefit of U.S. Provisional Patent Application No. 62 / 485,284, filed April 13, 2017, entitled "SYSTEM AND METHOD FOR USER INTENT RECOGNITION," which is incorporated by reference herein in its entirety for all purposes. Summary of the Invention [Means for solving the problem]

[0003] In one aspect, the present application discloses example embodiments relating to the design of a novel program for recognizing the intent of a user of one or more enhanced exoskeletons. The various embodiments described herein provide a significant improvement over intent recognition programs used in conventional devices. For example, conventional methods for intent recognition are expert design of finite state machines with transition guards designed by the developer on the fly 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 adapt to the unique behavior of an individual operator. The various example methods described herein provide intent recognition programs that can improve recognition accuracy, reduce recognition latency, and customize performance for each user. Thus, the various embodiments relate to methods that can be performed automatically without human interaction or with minimal human interaction at limited specific desired times as described herein. [Brief description of the drawings]

[0004] [Figure 1] FIG. 1 is an exemplary diagram illustrating an embodiment of an exoskeleton network. [Diagram 2] FIG. 13 is an exemplary diagram illustrating another embodiment of an exoskeleton network. [Diagram 3] FIG. 1 is an exemplary block diagram illustrating an embodiment of an exoskeleton system. [Figure 4] FIG. 1 illustrates an example of a method for updating a classification rule set. [Diagram 5] FIG. 1 illustrates an example of a method for improving a classification program for multiple exoskeleton systems. [Figure 6] FIG. 1 illustrates an example of a method for updating a classification program based on the state of one or more sensors of an exoskeleton system. [Figure 7] FIG. 1 illustrates an example of a method for adjusting a classification program based at least in part on a user response to a classification decision. [Figure 8] FIG. 13 illustrates a method for determining whether to present a confirmation request for a classification decision. [Figure 9] FIG. 1 illustrates an embodiment of an exoskeleton processing network that includes three processing levels. [Figure 10] 1 is an exemplary diagram of an embodiment of an exoskeleton system. [Figure 11] FIG. 13 is an exemplary diagram of another embodiment of an exoskeleton system. [Figure 12] FIG. 13 is an exemplary diagram of another embodiment of an exoskeleton system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0005] It should be noted that the drawings are not drawn to scale, and that 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 facilitate the description of the preferred embodiments. The drawings do not illustrate every aspect of the described embodiments, nor do they limit the scope of the present disclosure.

[0006] 1, an example of an exoskeleton device network 100 of a first embodiment 100A is shown, including 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 operatively connected directly.

[0007] In various embodiments described in more detail herein, the exoskeleton system 110 can be configured to communicate with a local user device 120, which can act as an input device, display, and / or user interface for the exoskeleton system 110. For example, the user device 120 can present information regarding various conditions of the exoskeleton system 110, and the user device 120 can be used to control the exoskeleton system 110, including providing input regarding the condition classifications discussed herein.

[0008] In the example of FIG. 1, the exoskeleton system 110 and the user device 120 are shown operatively connected directly via a wireless communication channel (e.g., Bluetooth) and indirectly via a 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), etc. However, in some embodiments, one of these operative connections may be absent. For example, in one embodiment, the exoskeleton system 110 may be configured to communicate with the user device 120 only by a direct local connection and not via the network 140. In another embodiment, the exoskeleton system 110 may be configured to communicate with the user device 120 only via a local communication channel and not communicate with devices such as the classification server 130 or the user device 120 via the network 140. However, there are also examples in which the exoskeleton system 110 may communicate with devices such as the classification server 130 via the user device 120.

[0009] In some embodiments, classification server 130 may include one or more devices configured with various capabilities, as described in more detail herein. Although a physical server is shown in the example of Figure 1, in other embodiments classification server 130 may include one or more virtual or non-virtual servers, etc. In some examples classification server 130 may not be present.

[0010] While the user device 120 in the example exoskeleton network 100 is shown as a smartphone, in alternative embodiments, a variety of other suitable devices may include the 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, the user device 120 may be an integrated part of the exoskeleton system 110. In other words, in some examples, the user device 120 and the exoskeleton system 110 may be combined. Additionally, in some embodiments, the user devices 120 may be absent or present in any suitable number.

[0011] As described in more detail herein, the exoskeleton system 110 may be any suitable exoskeleton system having a variety of capabilities. Thus, the example of a leg exoskeleton system 110 shown in FIG. 1 should not be construed as a limitation on the wide variety of exoskeleton systems that are within the scope and spirit of the present disclosure. Furthermore, in some embodiments, the exoskeleton network 100 may include multiple exoskeleton systems 110. For example, FIG. 2 illustrates another embodiment 100B of an exoskeleton network 100 that includes multiple exoskeleton systems 110A, 110B, 110C and a classification server 130.

[0012] 3 is a block diagram of an example embodiment 110D of an external muscle system 110 including 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, a pair of elbow actuators 305E, a pair of front knee actuators 305KA, and a pair of rear knee actuators 305KP, which are disposed on the left and right sides of the body, respectively. For example, as described above, the example external muscle system 110D shown in FIG. 3 may be part of a top suit 110E and / or a bottom suit 110F (e.g., as shown in FIGS. 10 and 11), with the actuators 305 disposed on each part of the body discussed herein. For example, shoulder actuators 305S can be located at the left and right shoulders, elbow actuators 305E can be located at the left and right elbows, and front knee actuators 305KA and rear knee actuators 305KP can be located at the front and rear knees.

[0013] In various embodiments, the example system 110D can be configured to move and / or enhance the movement of a user wearing the exoskeleton system 110D. For example, the exoskeleton device 310 can provide instructions to the pneumatic system 320, which can selectively inflate and / or deflate the actuators 305. Such selective inflation and / or deflation of the actuators 305 can move the body to create and / or enhance physical movements such as walking, running, jumping, climbing, lifting, throwing, crouching, etc.

[0014] In some embodiments, such movements can be controlled and / or programmed by the user wearing the external muscle system 110D or by another person. In some embodiments, the external muscle system 110D can be controlled by the user's movements. For example, the exoskeleton device 310 can sense that the user is walking and carrying a load and can provide power assist to the user via the actuators 305 to reduce the load and the exertion associated with walking. Thus, in various embodiments, the external muscle system 110D can react automatically without direct user interaction. In other embodiments, the movements can be controlled in real time by a controller, joystick, or thought control. Furthermore, instead of being fully controlled, various movements (e.g., walking forward, sitting down, crouching) can be pre-programmed and selectively triggered. In some embodiments, the movements can be controlled by generalized commands (e.g., walk from point A to point B, pick up a box from shelf A and move it to shelf B).

[0015] In various embodiments, the exoskeleton device 310 may be operable to perform methods or portions of methods described in more detail below, including methods 400, 500, 600, 700, 800, etc. For example, the memory 312 may include non-transitory computer readable instructions that, when executed by the processor 311, may cause the exoskeleton system 110 to perform methods or portions of methods described herein. The communication unit 314 may include hardware and / or software that enables the exoskeleton system 110 to communicate directly or over a network (e.g., see FIGS. 1 and 2) with other devices, including the user device 120, the classification server 130, other exoskeleton systems 110, etc.

[0016] In an embodiment, the sensor 313 may include any suitable type of sensor, and the sensor 313 may be located in a central location or may be distributed around the exoskeleton system 110D. For example, in an embodiment, the exoskeleton system 110D may include accelerometers, force sensors, position sensors, etc., at various suitable locations, including the actuators 305 or any other body location. Thus, in an example, the sensor data may correspond to a physical state of one or more actuators 305, a physical state of a portion of the exoskeleton system 110, a physical state of a portion of the exoskeleton system 110 in general, etc. In an embodiment, the exoskeleton system 110D may include a global positioning system (GPS), a camera, a distance detection system, environmental sensors, etc.

[0017] Pneumatic system 320 may include any suitable device or system operable to inflate and / or deflate actuator 305. For example, in one embodiment, pneumatic system may include a diaphragm compressor as discussed in co-pending related patent application Ser. No. 14 / 577,817, filed Dec. 19, 2014, which claims the benefit of U.S. Provisional Patent Application Ser. No. 61 / 918,578, filed Dec. 19, 2013.

[0018] As discussed herein, a variety of suitable exoskeleton systems 110 can be used with the example systems and methods discussed herein, including the exoskeleton systems 110 of Figures 10, 11, and 12 described herein. However, such examples should not be construed as a limitation on the variety of exoskeleton systems 110, or portions thereof, that are within the scope and spirit of the present disclosure. Thus, exoskeleton systems 110 that are more or less complex than the examples of Figures 3, 10, 11, and 12 are within the scope of the present disclosure.

[0019] Additionally, while various examples relate to the exoskeleton system 110 being associated with the legs or lower body of a user, other examples may relate to any suitable part of the user's body, including the torso, arms, head, legs, etc. Also, while various examples relate to exoskeletons, it should be apparent that the present disclosure is applicable to other similar types of technology, including prosthetics, body implants, robots, etc. Additionally, while some examples may relate to human users, other examples may relate to animal users, robot users, etc.

[0020] This disclosure includes various methods for developing example embodiments of a data-driven intent recognition program for application to an exoskeleton. Various preferred embodiments include an intent recognition system that uses data collected from sensors 313 included in one or more exoskeleton systems 110 to enable unsupervised refinement of intent recognition performance.

[0021] 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 time point (t=0) to determine the user's intended action at that time. In other words, the exoskeleton system 110 can execute a program that predicts an intended action of a user wearing the exoskeleton system 110 based at least in part on the received sensor data.

[0022] In some instances, a source of error for such programs or methods may be related to real-time classifiers that, in some cases, deliver accurate predictions of a user's actions before the operator makes significant physical movements to act on their intentions. For example, if these programs are attempting to identify the toe-off phase of a user's gait while wearing the exoskeleton system 110, the intent recognition program may attempt to look for intent related to the toe-off phase when it only has sensor data contained within the set t=[-n:0], assuming the sensors 313 cannot detect behavior that has not yet occurred.

[0023] In various examples, a theoretically ideal program would be able to detect toe-off as soon as the foot-contact signal goes to zero, however, in some systems the program must contend with various imperfections, such as sensor noise, which means that the exoskeleton system 110 cannot react to the contact signal as soon as it goes to zero, but often must wait for the sensor data to repeatedly indicate that contact has ended.

[0024] This can lead to a slowdown in the speed of classification behavior of such classifiers. As a result, some data-driven intent recognition programs incorporate supervision, where an expert analyzes the sensor data and uses the overall context of the sensor data to indicate what is true, so that the data-driven method can be trained to most closely approximate the choices of the supervising expert.

[0025] This disclosure describes several examples of methods that can eliminate the need for expert supervision. In particular, there are examples where the performance of a classification method can be significantly improved if classification of sensor data for times t=[-n:n] around a particular time point of interest is completed. Thus, various embodiments discussed herein relate to methods that focus on classification behavior.

[0026] Some example methods can reconsider the classification of the user's manipulation of the exoskeleton system 110 at a set time in the past, say t=-n, which allows the classification program to use data from the sensors 313 before and after the user's manipulation of the exoskeleton system 110, including times t=[-2n:0]. In some embodiments, such methods can complete classifications with greater accuracy than programs that purport to classify the user's manipulation of the exoskeleton system 110 in real time. Thus, various example methods can use sensor data to refine the real time prediction that occurred at t=-n in order to move the exoskeleton system 110 closer to the likely true data as determined from the foresight classification.

[0027] In one embodiment, the process of comparing and updating the real-time classifications can be performed on an off-board computer (e.g., the user device 120, the classification server 130, etc.), and the refined classifier data can then be redeployed to one or more exoskeleton systems 110 to improve the performance of the one or more exoskeleton systems 110. In such an embodiment, the relevant sensor data can be streamed from the exoskeleton systems 110 and processed at the classification server 130, where an updated or improved classification method can be generated. The resulting classification method data can be deployed to the exoskeleton device 110, enabling the exoskeleton device 110 to execute the refined intent recognition behavior embodied in the classification method data. However, in another embodiment, such processing can be performed on the exoskeleton device 310, or one or more other suitable devices, including the user device 120 (e.g., a smartphone, a laptop computer, a server, or other suitable device).

[0028] In this example method, some embodiments may provide frequent updates of the classification program, as soon as every control loop, while other embodiments have much slower update cycles, such as updating the classification program only once a year. Additionally, other embodiments update the classification program at non-periodic intervals based on other rules, such as updating the classification program local to the exoskeleton system 110 when it is determined that an update improves accuracy by 1% or other suitable amount or metric.

[0029] In an adaptive exoskeleton system 110 used with a human user, it may be important to know the speed at which the adaptive intent recognition adapts. In particular, if the adaptive exoskeleton system 110 adapts too quickly, it may react to intermittent atypical behavior that does not represent the user's typical behavior. If the exoskeleton system 110 adapts a little slower, some embodiments may create an adaptive exoskeleton system 110 that reacts with a bandwidth similar to the user's own internal learning process associated with the user learning how to use the exoskeleton system 110. When implementing such a calibrated adaptation speed, some embodiments may allow the exoskeleton system 110 to start adapting behavior as soon as the user begins to trust how the exoskeleton system 110 operates, resulting in a new learning phase for the user.

[0030] As a result, there are instances where it is important for the adaptive intent-recognition program to adapt at a speed that is significantly different than the user's own internal adaptation. In many embodiments, this can be addressed by adapting the exoskeleton system 110 at a speed that is significantly slower than the user's adaptation. In other embodiments, the adaptation speed of the intent-recognition program may be user-selectable, allowing an operator or administrator to individually select the responsiveness of the exoskeleton system's 110 intent adaptation.

[0031] Thus, in various embodiments, the exoskeleton system 110 can change the speed of adaptation of the intent recognition program running on the exoskeleton system 110 based at least in part on input received at an interface of the exoskeleton system 110, based at least in part on input received at an interface of the user device 120, and / or via instructions received from the classification server 130. In another embodiment, the exoskeleton system 110 can automatically adjust the speed of adaptation of the intent recognition program running on the exoskeleton system 110 based on sensor data or the like without user input. For example, the intent recognition program can determine, based at least in part on sensor data, that it is adapting too quickly for the user, and the exoskeleton system 110 can automatically slow down the speed of the intent recognition program so that the exoskeleton system 110 adapts at a speed that is more consistent with the user's needs.

[0032] For example, FIG. 4 illustrates an example method 400 for updating a classification rule set that may be implemented in a classification program stored in the memory 312 of the exoskeleton system 110. The method 400 begins at 405 with determining an accuracy of the current classification rule set. For example, a baseline accuracy may be determined by applying the current classification rule set to determine an estimate of a device state or user state of the exoskeleton system 110 at a time of interest (t=0). In another example, the accuracy may be determined based at least in part on historical data regarding the current classification rule set. The historical data may include data regarding successful and unsuccessful classification attempts using the current classification rule set. In various embodiments, the accuracy may be based on a ratio of successful and unsuccessful classification attempts.

[0033] At 410, an updated classification rule set may be generated. For example, the updated classification rule set may be generated in a variety of suitable ways, including randomly modifying the current classification rules, modifying the current classification rules based on one or more heuristics, etc. In other words, the updated classification rule set may include modifications or deltas to the current classification rule set. In another embodiment, an updated classification rule set may be generated that is not based on the current classification rule set. In other words, the updated classification rule set, or portions thereof, may be generated without reference or consideration of the current classification rule set. In various embodiments, a baseline classification rule set or baseline classification program may be generated as well.

[0034] The accuracy of the updated classification rule set can be determined at 415. For example, if a current classification rule set is applied to determine a baseline accuracy by determining an estimate of the device state or user state of the exoskeleton system 110 at a time of interest (t=0) as described above, then updated classification rules can be applied a period of time later (t=n) to determine an estimate of the device state or user state of the exoskeleton system 110 at the original time of interest (t=0) using additional sensor information collected at a later time frame (t≧n) and / or prior to the later time frame (e.g., n≧t≧0).

[0035] 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 may include performing 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 and unsuccessful classification attempts with the updated classification rules. For example, successful and unsuccessful classification attempts with the updated classification rules can be determined based on data, such as data used to determine successful and unsuccessful classification attempts with the current classification rules.

[0036] In some examples, updated classification rules may be temporarily implemented for one or more exoskeleton systems 110, and the updated classification rules may be evaluated based on actual usage with one or more exoskeleton systems 110. Additionally, while evaluation of current or updated rules may be based on data from one exoskeleton system 110, in some examples, such evaluation may be based on historical data from multiple exoskeleton systems 110 (e.g., see FIG. 2 ).

[0037] Returning to FIG. 4, method 400 continues at 420 where an accuracy difference between the updated classification rule set and the current classification rule set is determined, and at 425 it is determined whether the accuracy difference is greater than a replacement threshold. If not, at 430 the current classification rule set is maintained, and if so, at 435 the current classification rule set may be replaced with the updated classification rule set. For example, if it is determined that the updated classification rules are significantly improved over the current classification rule set, the current classification rules may be replaced with the improved updated classification rules. As shown in FIG. 4, such method 400 may iteratively refine the current classification rule set. For example, after 430 and 435, method 400 may return to 405 where the new classification rule set or the maintained classification rule set is again evaluated.

[0038] In another example, when estimated device states and / or user states of the exoskeleton system 110 are determined for a current classification rule set and an updated classification rule set, such estimates can be compared. If the results from the current classification rule set differ from the results from the updated classification rule set (which may be more accurate in some examples), the current classification rule set can be adapted to develop a second updated classification rule set designed to better determine the classification accuracy at the time point of interest (t=0). The current classification rule set can be updated or replaced with the second updated classification rule set.

[0039] Thus, in one embodiment, a method for updating a classification rule set may include determining a first state estimate of a current classification program being implemented by the exoskeleton system 110, determining a second state estimate of a reference classification program, determining that a difference between the first state estimate and the second state estimate is greater than a classification program replacement threshold, generating an updated classification program, and replacing the current classification program with the updated classification program 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 program replacement threshold.

[0040] In various embodiments, such methods may be performed locally at the exoskeleton system 110, locally at the user device 120, and / or remotely at the classification server 130. Additionally, the method 300, or portions thereof, may be performed automatically without user input. For example, the exoskeleton system 110 may automatically refine the classification rules used by the exoskeleton system 110 during operation of the exoskeleton system 110 without input from a user, administrator, etc. Similarly, the user device 120 and / or the classification server 130 may automatically refine the classification rules used by the exoskeleton system 110 during operation of the exoskeleton system 110 without input from a user, administrator, etc. Such automation may be preferred to efficiently refine the functionality of one or more exoskeleton systems 110 without requiring input from a user or administrator, or requiring only limited input. Additionally, while classification rules are discussed herein with various examples, it will be apparent that such methods may be applied to classification programs, intent recognition programs, etc. that embody, employ, or implement such classification rules. In various embodiments, the classification program and the intent recognition program may refer to the same type of program, method, algorithm, etc.

[0041] Unsupervised refinement of the intent recognition program can be performed for a variety of reasons. For example, an embodiment can refine the intent recognition classification behavior to improve the performance of the classification across a population of users. In this embodiment, the same classification program can be deployed to multiple exoskeleton systems 110, improving the performance of the exoskeleton systems 110 using a large available pool of data collected across the set of exoskeleton systems 110 in use.

[0042] For example, as shown in FIG. 5 , an example method 500 for improving a classification program of a plurality of exoskeleton systems 110 may begin at 510, where performance data is obtained from the plurality of exoskeleton systems 110. At 520, an updated classification program is generated based on the received performance data, and at 530, the updated classification program is sent to the plurality of exoskeleton systems 110. For example, in some embodiments, the method 500 may be performed by the classification server 130 (see, e.g., FIG. 2 ). However, in some embodiments, the method 500 may be performed by the user device 120 and / or in one or more exoskeleton systems 110. Additionally, generating an updated classification program may include various suitable steps, including those steps described above in method 400 of FIG. 4 .

[0043] In another embodiment, the behavior of the intent recognition program can be refined so that the performance of a particular exoskeleton system 110 can be better tailored to an individual user. Such an embodiment can refine the intent recognition behavior to improve classification accuracy or responsiveness over time for a particular exoskeleton system 110. These improved recognition behavior details for a particular exoskeleton system 110 can then be stored (e.g., in the memory 312 of the exoskeleton system 110, in one or more local devices such as the user device 120, and / or in one or more remote devices such as the classification server 130 or the user device 120) for co-deployment to a replacement exoskeleton system 110 or to a different particular exoskeleton system 110 to enable these particular exoskeleton systems 110 to learn the movements and preferences of the particular user.

[0044] Yet another embodiment can refine the intent-recognition program's behavior over time to respond to changes in the response of the exoskeleton system's 110 sensors 313. These updates to the intent-recognition program can be designed to account for normal variations in sensor behavior over time, to handle catastrophic failures of sensors 313, etc.

[0045] For example, FIG. 6 illustrates an example method 600 for updating a classification program based on the state of one or more sensors 313 of the exoskeleton system 110. The method 600 begins at 610, where the state of the sensors of the exoskeleton device is determined for the exoskeleton system 110 operating with a current classification program. At 620, a determination is made whether there is a change in the state of the exoskeleton. For example, the change in state of one or more sensors 313 may include a sensor being operational / inoperable, a change in calibration state, a change in sensor accuracy, a change in the physical location of the sensor on the exoskeleton system 110, etc. In an embodiment, the change in sensor state may be associated with a change in a portion of the exoskeleton system 110, including a change in one or more actuators 305, the pneumatic system 320, the air tubing 330, etc. For example, a problem, deterioration, and / or a change in material of a portion of the exoskeleton system 110 may be associated with a change in sensor state.

[0046] When a change in the exoskeleton device sensor state is not identified at 620, the method 600 returns to 610 where it continues monitoring the exoskeleton device sensor state at 610. However, if a change in the exoskeleton device sensor state is identified at 620, the method 600 continues to 630 where an updated classification program is generated based at least in part on the identified change in the exoskeleton device sensor state and at 640 the current classification program is replaced with the updated classification program.

[0047] For example, if changes in the exoskeleton system 110 cause the sensors to report sensor data differently, the current classification program of the exoskeleton system 110 may lose accuracy because it has not been adjusted to the changes in the sensor data that it is capturing. Thus, such changes in the sensor state of the exoskeleton device can be identified and the current classification program can be replaced with an updated classification program that is adjusted to the changes in the sensor state of the exoskeleton device.

[0048] With regard to the performance of these programs, the details of the intent recognition classifier design may, in some embodiments, significantly affect the performance of the program. It should be noted that a particular classification program does not limit the application of the methods described by various embodiments. The use of the terms classification or classifier within this description is used to denote an algorithm, program, or method that identifies the intent of the operator of the exoskeleton system 110 at a given point in time under consideration. Classification programs may include, but are not limited to, support vector machines, neural networks, linear discriminant analysis, quadratic discriminant analysis, dynamic Bayes nets, hidden Markov models, and the like.

[0049] For clarity, the programs used to recognize the intent of the exoskeleton system user may be configured to identify various actions from the operator of the exoskeleton system 110. These may include actions, manipulations, movements, postures, gaits, etc., performed consciously and / or unconsciously by the operator. Specific actions that these intent recognition programs may consider, analyze, classify, etc. may include, but are not limited to, walking, standing, running, jumping, crouching, climbing stairs, descending stairs, landing, turning, sitting, grasping, reaching, etc. Similarly, these intent recognition programs may be applied to identify intermediate stages of gait maneuvers that may be significant, which may include, but are not limited to, heel strike, mid-stance, late-stance, toe-off, two-feet-off, ascending, descending, etc.

[0050] The introduction of such new adaptive intent-recognition programs may, in some embodiments, require new ways for users to interact with the exoskeleton system 110. For example, embodiments may provide a manual intent override behavior to the user that the user can use to cause the intent-recognition program to behave as desired when 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.

[0051] One embodiment of such feedback can provide the operator with a manual option to help refine the performance of the exoskeleton system 110 through prescribing new behaviors seen by the exoskeleton system 110. For example, if an instant classifier program believes a person is moving from standing to climbing stairs, but a predictive classifier program believes the person has actually moved to a crouching state, the exoskeleton system 110 may find it beneficial to allow the user to see this change in performance.

[0052] 7 illustrates an example method 700 for adjusting a classification program based at least in part on a user response to a classification decision. The method 700 begins at 705, where a state change of the exoskeleton system 110 is sensed, and a classification of the sensed state change is determined at 710. For example, the exoskeleton system 110 can obtain data from the sensor 313 indicating that a user of the exoskeleton system 110 is initiating a new movement or change in movement. The classification program of the exoskeleton system 110 can classify the new movement.

[0053] At 715, the classification is presented to a user associated with the exoskeleton system 110, and at 720, a classification response is obtained from a user associated with the exoskeleton system 110. For example, in one embodiment, the classification can be presented on a display (e.g., on the user device 120, the exoskeleton device 310, etc.) and the user can provide a response (e.g., indicating rejection or confirmation of the classification) via user input such as a touch screen, button, etc. The user being presented with the classification and / or providing a response to the classification can be a user wearing the exoskeleton system 110, an administrator working with a user wearing the exoskeleton system 110, etc.

[0054] At 725, it is determined whether the classification response is confirmation or rejection, and if the user response is a rejection of the classification decision, then at 730 the classification program is adjusted to weaken the classification decision. However, if the user response is a confirmation of the classification decision, then at 730 the classification program is adjusted to strengthen the classification decision. For example, if the user confirms the classification decision, the classification program can be modified to strengthen the decision methodology used to make the classification decision. In another example, if the user confirms the classification decision, a classification success can be recorded, and if not, a record of classification failure can be generated. Such records of classification success and failure can be used as discussed herein (e.g., in method 300 above).

[0055] Many items may influence the determination of why to ask for user confirmation, but one metric may be that the refined classification is to ask for confirmation any time the device transitions to a device state that behaves significantly differently than it did in its original behavior. In other words, in one embodiment, user confirmation may be limited to changes in the exoskeleton state that exceed a threshold that defines a large change compared to a small change.

[0056] For example, Figure 8 illustrates a method 800 for determining whether to present a request for confirmation of a classification determination. 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, it is determined whether the difference between the first device state and the second device state exceeds a performance difference threshold. For example, in one embodiment, the difference exceeds the performance difference threshold, in which case the second behavior classification has transitioned to a state of the exoskeleton where the exoskeleton device behaves significantly differently than it did under the first behavior classification.

[0057] If it is determined that the difference between the first device state and the second device state exceeds the performance difference threshold, then a confirmation request for the second classification is presented to the user at 830. See, for example, step 710 of method 700 of Figure 7. However, if it is determined that the difference between the first device state and the second device state does not exceed the performance difference threshold, then a confirmation request for the second classification is not presented to the user at 835.

[0058] Another embodiment can provide the user with feedback that is tailored to contribute to the device experience, such as manipulating the balance between classification accuracy and classification latency. For example, if the user is interested in maximizing performance, but is in a safe scenario where they can tolerate the possibility of high classification errors, the user may choose to have the exoskeleton system 110 make intent recognition decisions with a lower confidence level, causing the exoskeleton system 110 to respond as quickly as possible. For clarity, the medium for these feedback functions is not particularly important in various embodiments. Feedback can be initiated by the user (e.g., via the exoskeleton system 110 and / or the user device 120) through a variety of input methods, including, but not limited to, a cell phone, a personal computer, a remote control, a wearable companion controller, and the like. Additionally, input from the user can be provided in a variety of forms, including physical input, such as a touch screen, buttons, audio input (e.g., voice commands), and the like. Similarly, presentation to the user can be provided in a variety of suitable forms using a variety of suitable interfaces, including a screen, audio output, haptic feedback, and the like.

[0059] Similar to how these new programs can require new interactions from the user of the exoskeleton system 110, in some embodiments, such new programs may also introduce new developer or end user interaction needs that allow the developer or end user to understand how the exoskeleton system 110 is operating. One embodiment includes a user interface that demonstrates the performance of the exoskeleton system 110 to an interested party. For example, the user interface can visually display allowable transitions of maneuvers and identify transitions that the exoskeleton system 110 indicated were unlikely to be classified correctly. Other embodiments may include information over time regarding the accuracy of these intent recognition classifications. Still other embodiments may provide insight into how to improve intent recognition program performance through identifying specific maneuvers for which sufficient information has not yet been collected, or by identifying changes in the behavior of the exoskeleton system 110 that may lead to changes in intent recognition program performance.

[0060] Other embodiments can provide feedback to the designer of the exoskeleton system 110 as to which sensors 313 have the greatest impact on the performance of the exoskeleton system 110. For example, the designer can visualize the transitions of the exoskeleton system 110 and attempt to improve the accuracy of a particular transition. The user interface can suggest adding other sensors 313 or increasing the accuracy of sensors that have been shown in previous training examples to improve this classification.

[0061] For clarity, the various examples in this disclosure focus on the design and implementation of the exoskeleton system 110. However, other examples apply to a wide range of wearable devices that use on-board sensors for the purpose of recognizing the intended behavior of the user. A specific example of this is the potential for footwear, and in particular active footwear, where the device uses equipped sensors to determine the intended behavior of the operator and can therefore report statistics or adapt performance characteristics to suit the user.

[0062] The methods described herein may be employed in a variety of suitable operating environments. For example, embodiments may include an exoskeleton system 110 including one or more sensors 313 disposed about the exoskeleton device and configured to sense various conditions of the exoskeleton system 110, including movement, rotation, acceleration, orientation, temperature, etc. As discussed herein, such an exoskeleton system 110 may be associated with one or more body parts of a user. For example, some embodiments may be associated with only the legs of a user, while other embodiments may be associated with the legs, torso, and arms.

[0063] The exoskeleton system 110 may include one or more actuators to move the exoskeleton system 110 in various suitable manners. Such actuators may include fluid actuators (e.g., actuator 305), powered actuators, etc. The exoskeleton system 110 may also include a control system operable to control the actuators, and such control system may be operably coupled to the sensors and actuators. The exoskeleton system 110 may also include components such as a power source, a processor 311, and a memory 312, along with software or firmware operable to perform at least some of the methods described herein.

[0064] Some embodiments may include multiple processing levels. For example, FIG. 9 illustrates an embodiment of an exoskeleton processing network 900 that includes three processing levels. The first architectural level of the network 900 may include local processing elements at the exoskeleton system 110, including a data collection process 910 and a classification program execution process 920. For example, the data collection process 910 may acquire and process data acquired from the sensors 313 (see, e.g., FIG. 3) and send such processed data to a classification execution process 920, which executes a classification program, which may include the classification programs discussed herein. Various embodiments may implement processing at the exoskeleton system 110 through a variety of methods, including, but not limited to, a single centralized embedded DSP, a distributed set of processors, a background computation process, a real-time process, etc.

[0065] A second architectural level of the network 900 may include a nearby secondary processing unit, which may include a user device 120 or the like (see, e.g., FIG. 1). The user device may execute a feature extraction process 930 that receives data from the data collection process 910 in the exoskeleton system 110 and performs actions including feature extraction or the like. As discussed herein, the user device 120 may be operatively coupled to the exoskeleton system 110 through an appropriate communication channel, such as a Bluetooth connection. This second layer may run on a processing unit that may be monitored by a user of the user device 120. This second layer may run on a variety of suitable user devices 120 as discussed herein, including cell phones, personal computers, and the like.

[0066] The third processing level may include a network-based processing system, such as the classification server 130 (see, e.g., FIGS. 1 and 2), that is remote from the user device 120 and the exoskeleton system 110 and, in various embodiments, is not directly controlled by the users of the exoskeleton system 110 and the user device 120. The third processing level of the classification server 130 may include a label derivation process 940, which may receive data from the feature extraction process 930 at the user device 120 and perform label derivation on the received data. Data resulting from the label derivation in the label derivation process 940 may be provided to a classification program update process 950, which generates an updated classification program based at least in part on the data generated by the label derivation process 940. The classification program update process 950 can send updated classification program data to the user device 120, which can send the updated classification program data to the classification program execution process 920 of the exoskeleton system 110, where the current classification program being executed by the classification program execution process 920 can be replaced with an updated classification program implemented with the received updated classification program data.

[0067] For clarity, other embodiments may add to, remove from, or rearrange aspects of the example processing layers shown in Figure 9. Thus, this example should not be construed as limiting the wide variety of alternative embodiments that are within the scope and spirit of the present disclosure.

[0068] Various embodiments may include several discrete processes. These may include a data collection process 910, a feature extraction process 930, a label derivation process 940, a classification program update process 950, a classification program execution process 920, etc. Some of these discrete process examples may be executed in a specific processing unit as shown in the example of FIG. 9, while others may be designed and executed at various processing levels. For example, the data collection process 910 and the classification program execution process 920 may be executed in the user device 120, while other processes are deployed to other processing levels including the classification server 130 or the exoskeleton system 110. Thus, although a specific example is shown in FIG. 9, other suitable process configurations are within the scope and spirit of the present disclosure.

[0069] Another aspect of the present disclosure relates to the frequency and delivery of classification program updates. In many embodiments, value of classification program updates can be provided by the periodic delivery of improved classification programs. Such delivery is often driven by the high capital cost of most conventional exoskeleton 110 hardware. However, in some embodiments, the cost of hardware may alter the best value distribution method. In this embodiment, it may be most beneficial for the update method to collect data from devices in the field and then update the classification program, but only deploy the updated classification program to new versions of hardware.

[0070] One embodiment may use footwear as the device hardware. In this embodiment, hardware retailers may use updated algorithms to drive the fitment of new versions of their footwear, as their business model is centered on selling models each year. This embodiment may also fully utilize the features of the embodiments described herein, but may use a separate deployment architecture in the aforementioned related patent application Ser. No. 62 / 454,575, in which intent classifiers trained through unsupervised learning are deployed on new hardware, rather than on old hardware that is expected to become obsolete within a few months.

[0071] 10, an embodiment 110E of a pneumatic exoskeleton system 110 is shown that includes multiple actuators 305 positioned on a shirt 1020 worn by a user 1001. A shoulder actuator 305S is shown located on the shoulder 1005 of the user 1001. An elbow actuator 305E is located on the elbow 1003 of the user 1001. A wrist actuator 305W is located on the wrist 1004 of the user 1001.

[0072] 11 shows another embodiment 110F of a pneumatic external muscle system 110 including multiple actuators 305 arranged at leggings 1120 on the legs 1101 of a user 1001. A front knee actuator 305KA and a rear knee actuator 305KP are located at the front 1102A and rear 1102P of the knee 1102 of the user 1001, respectively. A front hip actuator 305HA and a rear hip actuator 305HP are located at the front 1103A and rear 1103P of the hip 1103 of the user 1001, respectively. An ankle actuator 305A is located at the ankle 1104 of the user 1001.

[0073] 10 and 11 show separate top suit 110E and bottom suit 110F, in various embodiments, the pneumatic external 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 external muscle system 110 can be implemented in a full body suit, arm sleeves, leg sleeves, gloves, socks, etc. Additionally, while actuators 305 are shown as being located at elbows 103, wrists 104, shoulders 105, knees 1102, hips 1103, and ankles 1104, any one or more of these actuators 305 may be absent and / or additional actuators 305 may be present at any other suitable locations. For example, actuators 305 may be present at hands, feet, neck, torso, etc. FIG. 12 shows an example embodiment 110G of the exoskeleton system 110 including an ankle actuator 305A located at the ankle 1104 of the user 1001.

[0074] Additionally, while this disclosure discusses various embodiments of the pneumatic external muscle system 110 worn by a human user 1001, in other embodiments, the pneumatic external muscle system 110 may be adapted for use by a non-human user (e.g., an animal) or may be adapted for use with a non-living device, such as a robot. For example, one embodiment includes the use of the pneumatic external muscle system 110 and / or one or more actuators 305 in a robotic arm not attached to a body 1001, also known as a robotic manipulator.

[0075] Embodiments of the present disclosure are described in the following clauses. 1. A wearable pneumatic exoskeleton system, comprising: a plurality of pneumatic actuators configured to be associated with a body portion of a user wearing the pneumatic exoskeleton; a pneumatic system configured to introduce pneumatic fluid to the plurality of actuators to actuate the plurality of actuators; 1. An exoskeleton computing device, comprising: A plurality of sensors; a memory for storing at least a classification program; a processor executing the classification program to control the pneumatic system based at least in part on classifications generated by the classification program of sensor data obtained from the plurality of sensors; the exoskeleton computing device comprising: the wearable pneumatic exoskeleton system, a user device local to the wearable pneumatic exoskeleton and in operative communication with the wearable pneumatic exoskeleton; a classification server remote from the user device and the wearable pneumatic exoskeleton and in operative communication with the wearable pneumatic exoskeleton and the user device; In an exoskeleton network, The exoskeleton network comprises: determining a first state estimate of a current classification program being executed by the wearable pneumatic exoskeleton; determining a second state estimate for the reference classification program; determining that a difference between the first state estimate and the second state estimate exceeds a classification program switch threshold; Generate an updated classification program; and replacing the current classification program with the updated classification program based at least in part on determining that the difference between the first state estimate and the second state estimate exceeds the classification program replacement threshold. The exoskeleton network.

[0076] 2. 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 portion of a user wearing the pneumatic exoskeleton; a pneumatic system configured to introduce pneumatic fluid to the plurality of actuators to actuate the plurality of actuators; 1. An exoskeleton computing device, comprising: A plurality of sensors; a memory for storing at least a classification program; a processor executing 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; the exoskeleton computing device comprising: 2. The exoskeleton network of claim 1, comprising:

[0077] 3. The exoskeleton network described in clause 2, wherein the classification server replaces each current classification program of the plurality of exoskeleton systems with the updated classification program 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.

[0078] 4. An exoskeleton network described in any one of clauses 1 to 3, wherein the classification server generates the updated classification program.

[0079] 5. The exoskeleton network of claim 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.

[0080] 6. An exoskeleton system comprising: A plurality of actuators configured to be associated with body parts of a user wearing the exoskeleton; 1. An exoskeleton computing device, comprising: A plurality of sensors; a memory for storing at least a classification program; a processor executing the classification program to control the plurality of actuators based at least in part on classifications generated by the classification program of sensor data obtained from the plurality of sensors; the exoskeleton computing device, In the exoskeleton system, The exoskeleton system comprises: determining a first state estimate of a current classification program being executed by the exoskeleton system; determining a second state estimate for the reference classification program; determining that a difference between the first state estimate and the second state estimate is greater than a classification program replacement threshold; Generate an updated classification program; and replacing the current classification program with the updated classification program 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 program replacement threshold. The exoskeleton system.

[0081] 7. The exoskeleton system further comprises: Identifying a change in state of a sensor of the exoskeleton device exceeding a threshold; generating a second updated classification program based at least in part on the identified changes in state of a sensor of the exoskeleton device; and replacing the updated classification program with the second updated classification program; 7. An exoskeleton system as defined in clause 6.

[0082] 8. The exoskeleton system further comprises: Senses changes in the state of the exoskeleton, determining a first classification of a change in condition of the exoskeleton using the updated classification program; presenting the first classification to a user associated with the exoskeleton system; obtaining a classification response associated with the first classification provided; modifying the classification program based at least in part on the classification response. 8. An exoskeleton system according to clause 6 or 7.

[0083] 9. The exoskeleton system described in clause 8, wherein the first classification is presented to the user via a display screen associated with the exoskeleton system.

[0084] 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.

[0085] 11. The exoskeleton system further comprises: determining a previous classification of a previous exoskeleton state occurring prior to said exoskeleton state change; determining that a difference between the previous classification and the first classification at least meets a performance difference threshold; and presenting the first classification 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 meets the performance difference threshold. 9. An exoskeleton system as defined in clause 8.

[0086] 12. A method of operating an exoskeleton system, comprising: determining a first state estimate of a current classification program being implemented by the exoskeleton system; and determining a second state estimate of the reference classification program; determining that a difference between the first state estimate and the second state estimate is greater than a classification program replacement threshold; generating an updated classification program; replacing the current classification program with the updated classification program 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 program replacement threshold; and A method of operating the exoskeleton system comprising:

[0087] 13. The method of operating an exoskeleton system of clause 12, further comprising generating the updated classification program based at least in part on classification program performance data generated by the exoskeleton system.

[0088] 14. Sense changes in the state of the exoskeleton; and determining a first classification of a state change of the exoskeleton using the updated classification program; 14. A method of operating the exoskeleton system of clause 12 or 13, further comprising:

[0089] 15. Presenting the first classification to a user associated with the exoskeleton system; and obtaining a classification response associated with the presented first classification; and modifying the classification program based at least in part on the classification response; and 15. A method of operating the exoskeleton system of claim 14, further comprising:

[0090] 16. A method of operating the exoskeleton system of clause 14, wherein the first category includes at least one of walking, standing, running, jumping, crouching, climbing stairs, descending stairs, landing, turning, sitting, grasping, or reaching.

[0091] 17. The method of operating an exoskeleton system of clause 16, wherein said classification is based at least in part on sensor data obtained from a plurality of sensors associated with said exoskeleton system.

[0092] 18. A method of operating an exoskeleton system according to clause 17, wherein each of the plurality of sensors is associated with a set of actuators of the exoskeleton system.

[0093] 19. The method of operating an exoskeleton system of clause 14, wherein the current classification program and the updated classification program include at least one of a support vector machine, a neural network, a linear discriminant analysis, a quadratic discriminant analysis, a dynamic Bayes net, or a hidden Markov model.

[0094] 20. The method of operating an exoskeleton system of clause 14, further comprising varying a speed of adaptation of the updated classification program based at least in part on input received from a user.

[0095] The described embodiments may be susceptible to various modifications and alternative forms, and specific examples of the embodiments have been shown by way of example in the drawings and are described in detail herein. It is to be understood, however, that the described embodiments are not limited to the specific forms and methods disclosed, but on the contrary, the disclosure covers all modifications, equivalents and alternative forms.

[0096] The described embodiments may be susceptible to various modifications and alternative forms, and specific examples of the embodiments have been shown by way of example in the drawings and are described in detail herein. It is to be understood, however, that the described embodiments are not limited to the specific forms and methods disclosed, but on the contrary, the disclosure covers all modifications, equivalents and alternative forms.

Claims

1. 1. A wearable pneumatic exoskeleton system, comprising: a plurality of pneumatic actuators configured to be associated with a body portion of a user wearing the pneumatic exoskeleton system; a pneumatic system configured to introduce pneumatic fluid to the plurality of pneumatic actuators to actuate the plurality of pneumatic actuators; 1. An exoskeleton computing device, comprising: A plurality of sensors; a memory for storing at least a classification program; a processor executing the classification program to control the pneumatic system based at least in part on classifications generated by the classification program of sensor data obtained from the plurality of sensors; the exoskeleton computing device, the wearable pneumatic exoskeleton system, a user device local to the wearable pneumatic exoskeleton system and in operative communication with the wearable pneumatic exoskeleton system; a classification server remote from the user device and the wearable pneumatic exoskeleton system and in operative communication with the wearable pneumatic exoskeleton system and the user device; In an exoskeleton network, The exoskeleton network comprises: processing at least a portion of the sensor data acquired from the plurality of sensors in the exoskeleton system to generate processed sensor data; sending, by the exoskeleton system, the processed sensor data to the user device; performing, by the user device, feature extraction on the processed sensor data to generate feature-extracted sensor data; sending, by the user device, the feature extraction sensor data to the classification server; performing, by the classification server, label derivation on the feature extracted sensor data to generate label derivation resulting data; generating, by the classification server, updated classification program data based at least in part on data resulting from the label derivation; sending, by the classification server, the updated classification program data to the user device; sending, by the user device, the updated classification program data received from the classification server to the exoskeleton system; replacing, by the exoskeleton system, a current classification program in the memory of the exoskeleton system with an updated classification program embedded with the updated classification program data received from the user device; The exoskeleton network.

2. and 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 portion of a user wearing the pneumatic exoskeleton system; a pneumatic system configured to introduce pneumatic fluid to the plurality of pneumatic actuators to actuate the plurality of actuators; 1. An exoskeleton computing device, comprising: A plurality of sensors; a memory for storing at least a classification program; a processor executing 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; and the exoskeleton computing device comprising: Each of the plurality of wearable pneumatic exoskeleton systems comprises: processing at least a portion of the sensor data acquired from the plurality of sensors in the exoskeleton system to generate processed sensor data; sending, by the exoskeleton system, the processed sensor data to a local user device, the local user device being local to the wearable pneumatic exoskeleton system and in operative communication with the wearable pneumatic exoskeleton system; receiving, in the exoskeleton system, the updated classification program data generated at the classification server from the user device to the exoskeleton system; replacing, by the exoskeleton system, a current classification program local in the memory of the exoskeleton system with an updated classification program embedded with the updated classification program data received from the user device; The exoskeleton network of claim 1 .

3. the classification server comprises one or more virtual or non-virtual servers remote from the user device and the exoskeleton system and in operative communication with at least one of the exoskeleton system and the user device via an internet; The exoskeleton network of claim 1 , wherein the classification server is not directly controllable by a user who can control the exoskeleton system and the user device.

4. The exoskeleton network of claim 1 , wherein the exoskeleton system is configured to communicate with the user device only via a direct local connection, and communication over a long-range network enabling communication between the user device and the classification server is not operational.

5. The exoskeleton network of claim 1 , wherein the user device is a smartphone or is an integral part of the exoskeleton system.

6. 1. An exoskeleton network having an exoskeleton system, comprising: The exoskeleton system comprises: a plurality of actuators configured to be associated with body parts of a user wearing the exoskeleton system; Exoskeleton computing device and the exoskeleton computing device comprising: A plurality of sensors; a memory for storing at least a classification program; a processor executing the classification program to control the plurality of actuators based at least in part on classifications generated by the classification program of sensor data obtained from the plurality of sensors; Including, The exoskeleton network comprises: a user device local to the exoskeleton system and in operative communication with the exoskeleton system; a classification server that is remote to the user device and the exoskeleton system and in operative communication with at least one of the exoskeleton system and the user device; Including, The exoskeleton network comprises: 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 label derivation resulting data; generating an updated classification program based at least in part on data resulting from said label derivation; replacing a current classification program in the memory of the exoskeleton system with the updated classification program; the user device performing feature extraction on the processed sensor data to generate feature-extracted sensor data; the classification server performs the label derivation on the feature extracted sensor data to generate label derivation resulting data; the classification server generating the updated classification program based at least in part on data resulting from the label derivation. The exoskeleton network.

7. The classification server sends the updated classification program to the exoskeleton system via the user device. The exoskeleton network of claim 6.

8. the classification server cannot be directly controlled by a user who can control the exoskeleton system and the user device; The exoskeleton network of claim 6.

9. the classification server comprises one or more virtual or non-virtual servers remote from the user device and the exoskeleton system and in operative communication with at least one of the exoskeleton system and the user device via an internet; The exoskeleton network of claim 6.

10. the exoskeleton system is configured to communicate with the user device only via a direct local connection and not via a long range network enabling communication between the user device and the classification server; The exoskeleton network of claim 6.

11. The user device is a smartphone or is an integral part of the exoskeleton system. The exoskeleton network of claim 6.

12. 1. An exoskeleton network comprising: an exoskeleton system including one or more sensors and a memory; a user device local to the exoskeleton system and in operative communication with the exoskeleton system; a classification server in operative communication with at least one of the exoskeleton system and the user device; The exoskeleton network comprises: 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 label derivation resulting data; replacing a current classification program in the memory of the exoskeleton system with an updated classification program; the user device performing feature extraction on sensor data obtained from the one or more sensors to generate feature-extracted sensor data; the classification server performs the label derivation on the feature extracted sensor data to generate label derivation resulting data; the classification server generating the updated classification program based at least in part on data resulting from the label derivation. Exoskeleton network.

13. the exoskeleton network generates a classification program based at least in part on data resulting from the label derivation; storing the classification program in the memory of the exoskeleton system; 13. The exoskeleton network of claim 12.

14. the classification server generates a classification program based at least in part on data resulting from the label derivation; the classification server sends the classification program to the exoskeleton system and stores the classification program in the memory of the exoskeleton system; 14. The exoskeleton network of claim 13.

15. the user device performing feature extraction on the sensor data to generate feature-extracted sensor data.

13. The exoskeleton network of claim 12.

16. the classification server cannot be directly controlled by a user who can control the exoskeleton system and the user device; 13. The exoskeleton network of claim 12.

17. the classification server comprises one or more virtual or non-virtual servers remote from the user device and the exoskeleton system and in operative communication with at least one of the exoskeleton system and the user device over a long range network; the exoskeleton system is configured to communicate with the user device only via a direct local connection and is not capable of communicating over a long range network enabling communication between the user device and the classification server; 13. The exoskeleton network of claim 12.

18. The user device is a smartphone or is part of the exoskeleton system.

13. The exoskeleton network of claim 12.

Citation Information

Patent Citations

  • Work support device, work support method, positioning work support device and power assist work support device

    JP2005118959A

  • Exoskeleton suit

    JP2016521212A

  • Systems and methods for reproducing body motions via networks

    US20110071417A1

  • Classification estimating system and classification estimating program

    WO2011007569A1