At least one example embodiment relate to a walking assistance method and/or an apparatus performing the same.
With the onset of rapidly aging societies, many people may experience inconvenience and pain from joint problems, and interest in walking assistance apparatuses enabling the elderly or patients with joint problems to walk with less effort, may increase. Furthermore, walking assistance apparatuses for intensifying muscular strength of human bodies may be useful for military purposes.
In general, walking assistance apparatuses may include body frames disposed on a trunk of a user, pelvic frames coupled to lower sides of the body frames to cover pelvises of the user, femoral frames disposed on thighs of the user, sural frames disposed on calves of the user, and/or pedial frames disposed on feet of the user. The pelvic frames and femoral frames may be connected rotatably by hip joint portions, the femoral frames and sural frames may be connected rotatably by knee joint portions, and/or the sural frames and pedial frames may be connected rotatably by ankle joint portions.
Some example embodiments relate to a walking assistance method.
In some example embodiments, the walking assistance method may include receiving at least one abnormal gait type selected from a plurality of abnormal gait types, and differently controlling a walking assistance apparatus based on the at least one abnormal gait type in response to the receiving.
The controlling may include generating an assist torque profile based on the at least one abnormal gait type and controlling the walking assistance apparatus based on the assist torque profile, and the assist torque profile may include at least one torque parameter for controlling the walking assistance apparatus.
When the at least one abnormal gait type includes a first abnormal gait type and a second abnormal gait type, the generating may include generating the assist torque profile based on first torque parameters corresponding to a first assist torque profile of the first abnormal gait type and second torque parameters corresponding to a second assist torque profile of the second abnormal gait type.
The generating of the assist torque profile based on the first torque parameters and the second torque parameters may include generating the assist torque profile by combining the first torque parameters and the second torque parameters.
The generating of the assist torque profile based on the first torque parameters and the second torque parameters may include generating the assist torque profile by adding the first torque parameters and the second torque parameters based on a weight.
The at least one abnormal gait type may include at least one of a crouch gait, a steppage gait, an antalgic gait, an ataxic gait type, a festinating gait, a vaulting gait, a lurching gait, an equinus gait, a short leg gait, a hemiplegic gait, a circumduction gait, a tabetic gait, a neurogenic gait, a scissoring gait, and a Parkinsonian gait.
The walking assistance method may further include displaying the plurality of abnormal gait types.
The plurality of abnormal gait types may be displayed on at least one of the walking assistance apparatus and an external apparatus of the walking assistance apparatus.
The external apparatus may be at least one of an electronic apparatus and a remote controller configured to control the walking assistance apparatus, and the electronic apparatus may be configured to communicate with the walking assistance apparatus and the remote controller.
The walking assistance method may further include storing torque parameters corresponding to each of assist torque profiles of the plurality of abnormal gait types.
The storing may include computing a first torque mapped to each joint of a user for each of the plurality of abnormal gait types and a second torque to be generated by the walking assistance apparatus for assisting a gait of the user, and generating a gait motion based on the first torque and the second torque, calculating an objective function based on the gait motion, and generating the torque parameters based on a result of the calculating.
The generating of the gait motion may include performing a forward dynamics computation on the first torque and the second torque, and generating the gait motion based on a result of the forward dynamics computation.
Other example embodiments relate to a walking assistance apparatus.
In some example embodiments, the walking assistance apparatus may include a driver configured to assist a gait of a user, and a controller configured to receive at least one abnormal gait type selected from a plurality of abnormal gait types and differently control the driver based on the at least one abnormal gait type.
The controller may be configured to generate an assist torque profile based on the at least one abnormal gait type, the driver may be configured to control the walking assistance apparatus based on the assist torque profile, and the assist torque profile may include at least one torque parameter for controlling the walking assistance apparatus.
When the at least one abnormal gait type includes a first abnormal gait type and a second abnormal gait type, the controller may be configured to generate the assist torque profile based on first torque parameters corresponding to a first assist torque profile of the first abnormal gait type and second torque parameters corresponding to a second assist torque profile of the second abnormal gait type.
The controller may be configured to generate the assist torque profile by combining the first torque parameters and the second torque parameters.
The controller may be configured to generate the assist torque profile by adding the first torque parameters and the second torque parameters based on a weight.
The at least one abnormal gait type may include at least one of a crouch gait, a steppage gait, an antalgic gait, an ataxic gait, a festinating gait, a vaulting gait, a lurching gait, an equinus gait, a short leg gait, a hemiplegic gait, a circumduction gait, a tabetic gait, a neurogenic gait, a scissoring gait, and a Parkinsonian gait.
The at least one abnormal gait type may be displayed on a display.
The display may be included in at least one of the walking assistance apparatus and an external apparatus of the walking assistance apparatus.
The external apparatus may be at least one of an electronic apparatus and a remote controller configured to control the walking assistance apparatus, and the electronic apparatus may be configured to communicate with at least one of the walking assistance apparatus and the remote controller.
The walking assistance apparatus may further include a memory configured to store torque parameters corresponding to each assist torque profile of the plurality of abnormal gait types.
The torque parameters may be generated by calculating an objective function based on a gait motion generated using a first torque mapped to each joint of a user for each of the plurality of abnormal gait types and a second torque to be generated by the walking assistance apparatus.
Other example embodiments relate to a walking assistance system.
In some example embodiments, the walking assistance system may include the walking assistance apparatus and a remote controller configured to control the walking assistance apparatus.
Other example embodiments relate to a walking assistance system.
In some example embodiments, the walking assistance system may include the walking assistance apparatus, and a parameter generation apparatus configured to generate a gait motion based on a first torque mapped to each joint of a user for each of the plurality of abnormal gait types and a second torque to be generated by the walking assistance apparatus, calculating an object function based on the gait motion, and generating torque parameters corresponding to each of assist torque profiles of the abnormal gait types based on a result of the calculating.
Some example embodiments relate to walking assistance apparatus.
In some example embodiments, the walking assistance apparatus includes a support configured to support at least a portion of a body of a user; a driver configured to generate power to move the support to assist a motion of a user; and a controller including a processor configured to control the driver based on an abnormality associated with a gait of a user.
In some example embodiments, the abnormality is one of a plurality of abnormalities, and the controller is configured to control the driver such that the driver is driven based on an assistance torque profile that depends on which one of the plurality of abnormalities is associated with the user.
In some example embodiments, the controller is configured to determine which one of the plurality of abnormalities is associated with the user by receiving an input from the user indicating same.
In some example embodiments, the controller is configured to generate the assistance torque profile based on received torque parameters corresponding to the abnormality associated with the gait of the user.
In some example embodiments, the torque parameters include at least a peak torque applied to the body of the user and a time associated with a start thereof.
Additional aspects of example embodiments will be set forth in part in the description which follows and, in part, will be apparent from the description, or may be learned by practice of the disclosure.
These and/or other aspects will become apparent and more readily appreciated from the following description of example embodiments, taken in conjunction with the accompanying drawings of which:
Hereinafter, some example embodiments will be described in detail with reference to the accompanying drawings. Regarding the reference numerals assigned to the elements in the drawings, it should be noted that the same elements will be designated by the same reference numerals, wherever possible, even though they are shown in different drawings. Also, in the description of embodiments, detailed description of well-known related structures or functions will be omitted when it is deemed that such description will cause ambiguous interpretation of the present disclosure.
It should be understood, however, that there is no intent to limit this disclosure to the particular example embodiments disclosed. On the contrary, example embodiments are to cover all modifications, equivalents, and alternatives falling within the scope of the example embodiments. Like numbers refer to like elements throughout the description of the figures.
In addition, terms such as first, second, A, B, (a), (b), and the like may be used herein to describe components. Each of these terminologies is not used to define an essence, order or sequence of a corresponding component but used merely to distinguish the corresponding component from other component(s). It should be noted that if it is described in the specification that one component is “connected”, “coupled”, or “joined” to another component, a third component may be “connected”, “coupled”, and “joined” between the first and second components, although the first component may be directly connected, coupled or joined to the second component.
Spatially relative terms, such as “beneath,” “below,” “lower,” “under,” “above,” “upper,” and the like, may be used herein for ease of description to describe one element or feature's relationship to another element(s) or feature(s) as illustrated in the figures. It will be understood that the spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. For example, if the device in the figures is turned over, elements described as “below,” “beneath,” or “under,” other elements or features would then be oriented “above” the other elements or features. Thus, the example terms “below” and “under” may encompass both an orientation of above and below. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly. In addition, when an element is referred to as being “between” two elements, the element may be the only element between the two elements, or one or more other intervening elements may be present.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the singular forms “a,” “an,” and “the,” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. Expressions such as “at least one of,” when preceding a list of elements, modify the entire list of elements and do not modify the individual elements of the list. Also, the term “exemplary” is intended to refer to an example or illustration.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which example embodiments belong. Terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and/or this disclosure, and should not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
It should also be noted that in some alternative implementations, the functions/acts noted may occur out of the order noted in the figures. For example, two figures shown in succession may in fact be executed substantially concurrently or may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
Example embodiments may be described with reference to acts and symbolic representations of operations (e.g., in the form of flow charts, flow diagrams, data flow diagrams, structure diagrams, block diagrams, etc.) that may be implemented in conjunction with units and/or devices discussed in more detail below. Although discussed in a particularly manner, a function or operation specified in a specific block may be performed differently from the flow specified in a flowchart, flow diagram, etc. For example, functions or operations illustrated as being performed serially in two consecutive blocks may actually be performed simultaneously, or in some cases be performed in reverse order.
Units and/or devices according to one or more example embodiments may be implemented using hardware, software, and/or a combination thereof. For example, hardware devices may be implemented using processing circuity such as, but not limited to, a processor, Central Processing Unit (CPU), a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a System-on-Chip (SoC), a programmable logic unit, a microprocessor, or any other device capable of responding to and executing instructions in a defined manner.
Software may include a computer program, program code, instructions, or some combination thereof, for independently or collectively instructing or configuring a hardware device to operate as desired. The computer program and/or program code may include program or computer-readable instructions, software components, software modules, data files, data structures, and/or the like, capable of being implemented by one or more hardware devices, such as one or more of the hardware devices mentioned above. Examples of program code include both machine code produced by a compiler and higher level program code that is executed using an interpreter.
For example, when a hardware device is a computer processing device (e.g., a processor, Central Processing Unit (CPU), a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a microprocessor, etc.), the computer processing device may be configured to carry out program code by performing arithmetical, logical, and input/output operations, according to the program code. Once the program code is loaded into a computer processing device, the computer processing device may be programmed to perform the program code, thereby transforming the computer processing device into a special purpose computer processing device. In a more specific example, when the program code is loaded into a processor, the processor becomes programmed to perform the program code and operations corresponding thereto, thereby transforming the processor into a special purpose processor.
Software and/or data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, or computer storage medium or device, capable of providing instructions or data to, or being interpreted by, a hardware device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. In particular, for example, software and data may be stored by one or more computer readable recording mediums, including the tangible or non-transitory computer-readable storage media discussed herein.
According to one or more example embodiments, computer processing devices may be described as including various functional units that perform various operations and/or functions to increase the clarity of the description. However, computer processing devices are not intended to be limited to these functional units. For example, in one or more example embodiments, the various operations and/or functions of the functional units may be performed by other ones of the functional units. Further, the computer processing devices may perform the operations and/or functions of the various functional units without sub-dividing the operations and/or functions of the computer processing units into these various functional units.
Units and/or devices according to one or more example embodiments may also include one or more storage devices. The one or more storage devices may be tangible or non-transitory computer-readable storage media, such as random access memory (RAM), read only memory (ROM), a permanent mass storage device (such as a disk drive), solid state (e.g., NAND flash) device, and/or any other like data storage mechanism capable of storing and recording data. The one or more storage devices may be configured to store computer programs, program code, instructions, or some combination thereof, for one or more operating systems and/or for implementing the example embodiments described herein. The computer programs, program code, instructions, or some combination thereof, may also be loaded from a separate computer readable storage medium into the one or more storage devices and/or one or more computer processing devices using a drive mechanism. Such separate computer readable storage medium may include a Universal Serial Bus (USB) flash drive, a memory stick, a Blu-ray/DVD/CD-ROM drive, a memory card, and/or other like computer readable storage media. The computer programs, program code, instructions, or some combination thereof, may be loaded into the one or more storage devices and/or the one or more computer processing devices from a remote data storage device via a network interface, rather than via a local computer readable storage medium. Additionally, the computer programs, program code, instructions, or some combination thereof, may be loaded into the one or more storage devices and/or the one or more processors from a remote computing system that is configured to transfer and/or distribute the computer programs, program code, instructions, or some combination thereof, over a network. The remote computing system may transfer and/or distribute the computer programs, program code, instructions, or some combination thereof, via a wired interface, an air interface, and/or any other like medium.
The one or more hardware devices, the one or more storage devices, and/or the computer programs, program code, instructions, or some combination thereof, may be specially designed and constructed for the purposes of the example embodiments, or they may be known devices that are altered and/or modified for the purposes of example embodiments.
A hardware device, such as a computer processing device, may run an operating system (OS) and one or more software applications that run on the OS. The computer processing device also may access, store, manipulate, process, and create data in response to execution of the software. For simplicity, one or more example embodiments may be exemplified as one computer processing device; however, one skilled in the art will appreciate that a hardware device may include multiple processing elements and multiple types of processing elements. For example, a hardware device may include multiple processors or a processor and a controller. In addition, other processing configurations are possible, such as parallel processors.
Various example embodiments will now be described more fully with reference to the accompanying drawings in which some example embodiments are shown. In the drawings, the thicknesses of layers and regions are exaggerated for clarity.
Referring to
The walking assistance apparatus 100 may be worn by a target body, for example, a user, to assist the user during an exercise and/or walking. The target body may be, for example, a person, an animal, and a robot, however, an example of the target body is not limited thereto.
The walking assistance apparatus 100 may assist a gait and/or a motion of, for example, a hand, an upper arm, a lower arm, and the other part of an upper body of the user. Alternatively, the walking assistance apparatus 100 may assist a gait and/or a motion of, for example, a foot, a calf, a thigh, and the other part of a lower body of the user. Thus, the walking assistance apparatus 100 may assist a gait and/or a motion of a part of the user.
The walking assistance apparatus 100 may receive at least one abnormal gait type, for example, a pathological gait type, selected from a plurality of abnormal gait types. In response to the receiving, the walking assistance apparatus 100 may be differently controlled based on the at least one abnormal gait type. As an example, the walking assistance apparatus 100 may select at least one abnormal gait type corresponding to an input of a user and assist a gait of the user based on an assist torque profile corresponding to the at least one abnormal gait type. Thus, the walking assistance apparatus 100 may effectively assist various types of abnormal gaits without using a sensor for sensing a joint motion.
An abnormal gait may indicate a gait evolved to continue an abnormal or pathological gait pattern when a normal gait pattern collapses as a result of a functional disorder due to, for example, a partial damage, weakness, a loss of flexibility, a pain, a bad habit, and a neural or muscular injury. The abnormal gait may indicate, for example, a pathological gait pattern. In this disclosure, the term “abnormal” may be interchangeably used with the term “pathological”.
In an example, the at least one abnormal gait type may include at least one of a crouch gait or genu recurvatum gait, a steppage gait or footdrop gait, an antalgic gait, an ataxic gait, a festinating gait, a vaulting gait, a lurching gait, an equinus gait, a short leg gait, a hemiplegic gait, a circumduction gait, a tabetic gait, a neurogenic gait, a scissoring gait, and a Parkinsonian gait. The lurching gait may indicate any form of staggering gait and include, for example, a waddling gait, a gluteus maximus gait, and a trendelenburg gait. The waddling gait may indicate a gait characterized in swaying from side to side. The gluteus maximus gait may indicate a gait in which a chest is bent backward to maintain a hip extension and a trunk movement is suddenly exaggerated to walk from time to time. The trendelenburg gait may indicate a gait performed by tilting a chest toward a weakened leg to maintain a center of gravity and prevent a pelvis of a weakened side from drooping when standing on the ground with a weakened lower limb.
The crouch gait may indicate a gait performed with a posture of hunching all joints of a hip, a knee, and an ankle to overcome a gait instability. The steppage gait may indicate a gait in which toes are bent downward to the ground and a top of a foot is dropped to the ground. The antalgic gait may indicate a gait for avoiding a pain on a painful portion. The ataxic gait may indicate a gait characterized by an unsteady stride, a wide space between feet, a shaken body, and an unstable step appearing intoxicated. The festinating gait may indicate a gait performed with stiff arms, a trunk flexed forward, a short stance, and accelerating steps as if unbreakable. The vaulting gait may indicate a gait using a leg of a non-affected side, for example, a non-paralyzed side, in lieu of a leg of an affected side, for example, a paralyzed side when a knee joint is not extendable. The equines gait may indicate a gait performed using tiptoes while heels are not in contact with the ground. The hemiplegic gait may indicate a gait in which, due to a stiffness, an entire body is slightly tilted to the affected side, a swing of an upper arm in the affected side is lost, a shoulder of the affected side is in a descending state, and the lower limb appears in a primitively curved form. The circumduction gait may indicate a gait in which an entire leg swings due to a difficulty in bending the knee. The scissoring gait may indicate a gait performed by crossing or grazing legs or knees against to one another with a squatting posture in a state in which the legs are slightly bent inward. The Parkinsonian gait may indicate a gait performed as if shuffling a sole on the ground with an anterior flexion posture.
The parameter generation apparatus 200 may generate torque parameters corresponding to each assist torque profile of a plurality of abnormal gait types. The parameter generation apparatus 200 may generate torque parameters to which unique characteristics of an abnormal gait are applied. Descriptions related to the parameter generation apparatus 200 will also be provided with reference to
The walking assistance apparatus 100 may store the torque parameters corresponding to each assist torque profile of the plurality of abnormal gait types generated in the parameter generation apparatus 200.
Although
Referring to
Although
The display 110 may display a plurality of abnormal gait types to be viewed by a user 300. For example, the user 300 may select a gait type of the user 300 from the displayed abnormal gait types.
As an example, the abnormal gait type may be displayed on the display 110 as illustrated in
The display 110 may be implemented as, for example, a touch screen, a liquid crystal display (LCD), a thin film transistor-liquid crystal display (TFT-LCD), a liquid emitting diode (LED) display, an organic LED (OLED) display, an active matrix OLED (AMOLED) display, and a flexible display.
The controller 120 may include a memory 125 and a processor (not shown).
The memory may be a non-transitory computer-readable storage media configured to store program code that, when executed by the processor, configures the processor as a special purpose computer to determine at least one of the plurality of abnormal gait types in response to an input of the user 300, generate an assist torque profile based on torque parameters corresponding to the determined abnormal gait type, and control the driver 140 to output an assistance torque based on the assist torque profile. Therefore, the controller 120 may improve the functioning of the walking assistance apparatus 100 itself by effectively assist various types of abnormal gaits without using a sensor for sensing a joint motion.
Although
The memory 125 may store the torque parameters corresponding to each assist torque profile of the plurality of abnormal gait types. The torque parameters may correspond to each assist torque profile of the abnormal gait types. In some example embodiments, the torque parameters stored in the memory 125 may be, for example, the torque parameters generated in the parameter generation apparatus 200.
The controller 120 may control an overall operation of the walking assistance apparatus 100. For example, the controller 120 may control the driver 140 to output a driving force to assist a gait of the user 300. The driving force may be, for example, an assistance torque.
The controller 120 may select at least one type from the plurality of abnormal gait types in response to an input of the user 300, and generate the assist torque profile such that the assist torque profile corresponds to the selected one of the plurality of abnormal gait types. For example, the controller 120 may generate an assist torque profile of the at least one type based on the torque parameters corresponding to the at least one type stored in the memory 125. The assist torque profile may include at least one torque parameter for controlling the walking assistance apparatus 100.
When the at least one abnormal gait type includes a first abnormal gait type and a second abnormal gait type, the controller 120 may generate the assist torque profile based on the at least one abnormal gait type using first torque parameters corresponding to a first assist torque profile of the first abnormal gait type and second torque parameters corresponding to a second assist torque profile of the second abnormal gait type.
As an example, the controller 120 may generate the assist torque profile by combining the first torque parameters and the second torque parameters.
As another example, the controller 120 may generate the assist torque profile by adding the first torque parameters and the second torque parameters based on a weight. For example, the weight of the first abnormal gait type and the second abnormal gait type may be determined based on a ratio between the first abnormal gait type and the second abnormal gait type indicated in the gait type of the user 300.
The driver 130 may be disposed on each of a left hip portion and a right hip portion of the user 300 to drive both hip joints of the user 300.
The driver 130 may generate a force to assist a gait of the user 300 based on the assist torque profile generated in the controller 120.
The fixing member 140 may be attached to a part, for example, a waist of the user 300. The fixing member 140 may be in contact with at least a portion of an external surface of the user 300. The fixing member 140 may cover along the external surface of the user 300.
The force transmitting member 150 may be disposed between the driver 130 and the supporting member 160 to connect the driver 130 and the supporting member 160. The force transmitting member 150 may transmit the driving force received from the driver 130 to the supporting member 160. As an example, the force transmitting member 150 may be a longitudinal member such as, for example, a wire, a cable, a string, a rubber band, a spring, a belt, and a chain.
The supporting member 160 may support a target part, for example, a thigh of the user 300. The supporting member 160 may be disposed to cover at least a portion of the user 300. The supporting member 160 may exert a force on the target part of the user 300 using the driving force received from the force transmitting member 150. In some example embodiments, the supporting member 160 may include a strap configured to attach to a portion, for example, the thigh of the user 300.
Referring to
lstart denotes a point in time at which an assist torque profile is applied. dascd denotes a period of time during which the assist torque profile reaches a peak. lpeak denotes a point in time at which the assist torque profile reaches the peak. τpeak denotes a quantity of torque corresponding to the point in time at which the assist torque profile reaches the peak. dpeak denotes a duration in which the assist torque profile is maintained after reaching the peak. ddsed denotes a duration in which the assist torque profile decreases after reaching the peak.
Thus, the controller 120 may generate the assist torque profile τassist corresponding to the abnormal gait type based on the torque parameters lstart, dascd, lpeak, τpeak, dpeak, and ddsed.
In
A state S1 may indicate a state in which a right leg is on a verge of landing to a ground after swinging while a left leg is stepped on the ground. When the left leg and the right leg cross each other in the state S1, a state may be shifted from the state S1 to a state S2.
The state S2 may indicate a state in which the left leg swings while the right leg is stepped on the ground. When a swing of the left leg ends in the state S2, a state may be shifted from the state S2 to a state S3.
The state S3 may indicate a state in which the left leg is on the verge of landing to the ground after swinging while the right leg is stepped on the ground. When the left leg and the right leg cross each other in the state S3, a state may be shifted from the state S3 to a state S4.
The state S4 may indicate a state in which the right leg swings while the left leg is stepping on the ground.
A left step ST2 may occur in response to a shift from the state S2 to the state S3. A right step ST1 or ST3 may occur in response to a shift from the state S4 to the state S1.
As illustrated in
Hereinafter, a method and/or an apparatus for generating torque parameters corresponding to assist torque parameters of a plurality of abnormal gait types will be explained with reference to the following descriptions.
Referring to
The parameter generation apparatus 200 may include a gait controller 210, a gait assistance controller 230, and a simulator 250.
The gait controller 210 may compute a first torque τ mapped to each joint of a user for each of abnormal gait types based on first control parameters Shuman. The first torque τ may be mapped to each joint of the human model 910.
The first control parameters Shuman may include a gait control variable related to a muscular force control and a gait posture control. The first control parameters Shuman may be control parameters optimized to compute the first torque τ suitable for each joint of the user with respect to each of the abnormal gait types.
In this example, the first torque τ may include a torque Tm driven by a muscle tendon unit (MTU) and a torque τn driven by a non-MTU.
The gait controller 210 may generate the torque τm to which muscle features corresponding to each of the abnormal gait types are applied.
As an example, in operation 1010, the gait controller 210 may activate a muscle, for example, a main pelvic limb muscle of the simulation human model 910. In operation 1020, the gait controller 210 may calculate a force Fm to be generated by the MTU when the activated main pelvic limb muscle is contracted. The force Fm may be, for example, an MTU force. In operation 1030, the gait controller 210 may reduce the force Fm based on a ratio a in consideration of muscle features corresponding to a plurality of abnormal gait types. The ratio a may be a ratio to which a gait condition, for example, the muscle features, for each of the abnormal gait types. The gait controller 210 may generate the torque Tm mapped to each joint of, for example, a hip, a knee, and an ankle, based on a reduced force αFm.
The gait assistance controller 230 may compute a second torque τassist to be generated by the walking assistance apparatus 100 for each of the abnormal gait types based on second control parameters Swad. The second torque τassist may be mapped to each torque generated by the simulation apparatus model 930.
The second control parameters Swad may be control parameters optimized to compute the second torque τassist to be generated by the walking assistance apparatus 100 for each of the abnormal gait types.
The simulator 250 may generate a gait motion corresponding to each of the abnormal gait types based on the first torque T and the second torque τassist. For example, the simulator 250 may perform a forward dynamics computation on the first torque T and the second torque τassist as shown in Equation 1.
τ+τassist=M{umlaut over (q)}+b(q, {dot over (q)})+JcTFc+JaTFa [Equation 1]
M(q): mass matrix
b(q, {dot over (q)}): Coriolis, centrifugal, and gravity terms
Jc, Fc: contact Jacobian, forces for foot-ground interaction
Ja, Fa: contact Jacobian, forces for wad-human interaction
The simulator 250 may generate the gait motion based on a forward dynamics computation result. The forward dynamics computation result may include a joint angle, a speed, and an acceleration value of each joint in the simulation human model 910 wearing the simulation apparatus model 930. As an example, the simulator 250 may generate the gait motion from a simulation start time, for example, a start time of the gait motion, to a simulation termination time, for example, a termination time of the gait motion, based on the joint angle, the speed, and the acceleration value of each joint. Concisely, the simulator 250 may generate the gait motion based on a trajectory of each joint while the simulation is performed. Through this, the simulator 250 may generate the gait motion corresponding to each of the abnormal gait types.
The simulator 250 may calculate an objective function based on the gait motion. The objective function may be calculated based on Equation 2. In Equation 2, the objective function may be an optimal objective function.
The objective function may include a gait energy consumption, Jenergy, a gait style error, Jstyle, and a gait balance, Jbalance.
Jm denotes a metabolic energy expenditure of an MTU. Jt denotes a torque consumption of a non-MTU. Js denotes a reference walking speed. Jo, denotes a reference walking orientation.
Jf denotes a fall over penalty, Jr denotes a walking regularity index indicating a gait regularity, Jp denotes a torso pose angle, and w denotes a weighting factor. For example,. the gait balance may include a stride time variability coefficient variation (CV) index indicating a gait symmetry and the gait regularity, and a posture degree to which an upper body is bent. Also, the simulator 250 may apply a penalty score, for example, the fall over penalty, when the simulation human model 910 falls down. Through this, the simulator 250 may generate a gait posture, for example, the gait motion for preventing the simulation human model 910 from falling down.
The simulator 250 may determine the torque parameters corresponding to each assist torque profile of the abnormal gait types based on an objective function calculation result. In this example, the simulator 250 may perform a dynamic optimization process to increase a gait performance index of the simulation human model 910 wearing the simulation apparatus model 930. The simulator 250 may repetitively perform the simulation by adjusting control parameters, for example, the first control parameters Shuman, and the second control parameters Swad through the dynamic optimization process.
The simulator 250 may determine the control parameters, for example, the first control parameters Shuman, and the second control parameters Swad used in the simulation in which the objective function calculation result satisfies a convergence condition, to be optimization control parameters. In an example, the simulator 250 may determine the optimization control parameters, for example, the second control parameters Swad included in the second torque τassist to be generated by the walking assistance apparatus 100.
The convergence condition may be satisfied when a difference in objective function values between a previous simulation and a current simulation is less than or equal to a desired (or, alternatively, a predetermined) value. The desired (or, alternatively, the predetermined) value may be set experimentally.
The simulator 250 may generate the optimization control parameters determined for each of the abnormal gait types through the dynamic optimization process, as the torque parameters corresponding to each of the assist torque profiles of the abnormal gait types.
The optimization control parameters may be provided as represented in Table 1. Also, the optimization control parameters may be stored in the memory 125 of the walking assistance apparatus 100 as the torque parameters corresponding to each of the assist torque profiles of the abnormal gait types.
Accordingly, the parameter generation apparatus 200 may establish a torque parameter data set to be used as a guideline for various types of abnormal gaits, by using a virtual gait training model based on a dynamics simulation in consideration of an interaction between a user and the walking assistance apparatus 100. Based on the torque parameter data set, the walking assistance apparatus 100 may perform a gait assistance to prevent a safety accident due to an abnormal gait of the user 300.
Referring to
In operation 1120, the gait controller 210 may compute a first torque τ mapped to each joint of a user for each of a plurality of abnormal gait types based on the first control parameters Shuman, and the gait assistance controller 230 may compute a second torque τassist to be generated by the walking assistance apparatus 100 for each of the abnormal gait types based on the second control parameters Swad.
In operation 1130, the simulator 250 may perform a forward dynamics computation on the first torque τ and the second torque τassist based on Equation 1.
In operation 1140, based on a forward dynamics computation result, the simulator 250 may generate a gait motion for a period of time from a simulation start time, for example, a start time of the gait motion, to a simulation termination time, for example, a termination time of the gait motion.
In operation 1150, based on the gait motion, the simulator 250 may calculate an objective function using Equation 2. In operation 1160, the simulator 250 may verify whether an objective function calculation result satisfies a convergence condition.
When the convergence condition is not satisfied, the simulator 250 may adjust the control parameters in operation 1170. Subsequently, the parameter generation apparatus 200 may perform operations 1110 through 1160 based on the adjusted control parameters. Concisely, the parameter generation apparatus 200 may repetitively perform operations 1110 through 1170 until the convergence condition is satisfied.
When the convergence condition is satisfied, the simulator 250 may terminate the simulation. The simulator 250 may determine the control parameters, for example, the second control parameters Swad, used in the simulation in which the objective function calculation result satisfies the convergence condition, as optimization control parameters included in the second torque τassist to be generated by the walking assistance apparatus 100.
Referring to
Referring to
Referring to
In operation 1430, the controller 120 may generate an assist torque profile corresponding to the at least one type. In this example, the at least one type may include a first abnormal gait type and a second abnormal gait type. In operation 1510, the controller 120 may search the memory 125 for first torque parameters corresponding to a first assist torque profile of the first abnormal gait type. In operation 1530, the controller 120 may search the memory 125 for second torque parameters corresponding to a second assist torque profile of the second abnormal gait type. In operation 1550, the controller 120 may generate an assist torque profile based on the first torque parameters and the second torque parameters.
In operation 1450, the driver 130 may assist a gait of the user 300 based on the assist torque profile.
Referring to
The remote controller 1610 may control an overall operation of the walking assistance apparatus 100 in response to a user input. For example, the remote controller 1610 may initiate and suspend an operation of the walking assistance apparatus 100. Also, the remote controller 1610 may control an output of an assist torque profile to control a gait assistance performed on the user 300 of the walking assistance apparatus 100.
The remote controller 1610 may include a display 1630. The display 1630 may be implemented as, for example, a touch screen, an LCD, a TFT-LCD, an LED display, an OLED display, an AMOLED display, and a flexible display.
The display 1630 may display the abnormal gait types to be viewed by the user 300. For example, the user 300 may select a gait type of the user 300 from the abnormal gait types displayed on the display 1630.
Also, the remote controller 1610 may provide a user interface (UI) and/or a menu corresponding to a function to manipulate the walking assistance apparatus 100 to the user 300 through the display 1630.
The display 1630 may display an operating state of the walking assistance appaatus 100 to be viewed by the user 300 under a control of the remote controller 1610.
Referring to
A configuration and an operation of the remote controller 1710 may be substantially the same as a configuration and an operation of the remote controller 1610 in
The electronic apparatus 1730 may mutually communicate with the walking assistance apparatus 100 and/or the remote controller 1710. The electronic apparatus 1730 may include a display 1750. The display 1750 may be implemented as, for example, a touch screen, an LCD, a TFT-LCD, an LED display, an OLED display, an AMOLED display, and a flexible display.
The display 1750 may display the abnormal gait types to be viewed by the user 300. For example, the user 300 may select a gait type of the user 300 from the abnormal gait types displayed on the display 1750.
Also, the electronic apparatus 1730 may provide a UI and/or a menu corresponding to a function to manipulate the walking assistance apparatus 100 to the user 300 through the display 1750.
The display 1750 may display an operating state of the walking assistance appaatus 100 to be viewed by the user 300.
The units and/or modules described herein may be implemented using hardware components and software components. For example, the hardware components may include microphones, amplifiers, band-pass filters, audio to digital convertors, and processing devices. A processing device may be implemented using one or more hardware device configured to carry out and/or execute program code by performing arithmetical, logical, and input/output operations. The processing device(s) may include a processor, a controller and an arithmetic logic unit, a digital signal processor, a microcomputer, a field programmable array, a programmable logic unit, a microprocessor or any other device capable of responding to and executing instructions in a defined manner. The processing device may run an operating system (OS) and one or more software applications that run on the OS. The processing device also may access, store, manipulate, process, and create data in response to execution of the software. For purpose of simplicity, the description of a processing device is used as singular; however, one skilled in the art will appreciated that a processing device may include multiple processing elements and multiple types of processing elements. For example, a processing device may include multiple processors or a processor and a controller. In addition, different processing configurations are possible, such a parallel processors.
The software may include a computer program, a piece of code, an instruction, or some combination thereof, to independently or collectively instruct and/or configure the processing device to operate as desired, thereby transforming the processing device into a special purpose processor. Software and data may be embodied permanently or temporarily in any type of machine, component, physical or virtual equipment, computer storage medium or device, or in a propagated signal wave capable of providing instructions or data to or being interpreted by the processing device. The software also may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. The software and data may be stored by one or more non-transitory computer readable recording mediums.
The methods according to the above-described example embodiments may be recorded in non-transitory computer-readable media including program instructions to implement various operations of the above-described example embodiments. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. The program instructions recorded on the media may be those specially designed and constructed for the purposes of example embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of non-transitory computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROM discs, DVDs, and/or Blue-ray discs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory (e.g., USB flash drives, memory cards, memory sticks, etc.), and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The above-described devices may be configured to act as one or more software modules in order to perform the operations of the above-described example embodiments, or vice versa.
A number of example embodiments have been described above. Nevertheless, it should be understood that various modifications may be made to these example embodiments. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2015-0104385 | Jul 2015 | KR | national |
This application is a continuation application of U.S. application Ser. No. 14/972,941, filed on Dec. 17, 2015, which claims under 35 U.S.C. §119 to Korean Patent Application No. 10-2015-0104385, filed on Jul. 23, 2015, in the Korean Intellectual Property Office, the entire contents of each of which are incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | 14972941 | Dec 2015 | US |
Child | 17123633 | US |