WO2022260361A1 - 웨어러블 장치의 제어 파라미터의 값을 조정하는 방법 및 장치 - Google Patents

웨어러블 장치의 제어 파라미터의 값을 조정하는 방법 및 장치 Download PDF

Info

Publication number
WO2022260361A1
WO2022260361A1 PCT/KR2022/007919 KR2022007919W WO2022260361A1 WO 2022260361 A1 WO2022260361 A1 WO 2022260361A1 KR 2022007919 W KR2022007919 W KR 2022007919W WO 2022260361 A1 WO2022260361 A1 WO 2022260361A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
control parameter
user
angular velocity
torque
Prior art date
Application number
PCT/KR2022/007919
Other languages
English (en)
French (fr)
Inventor
임복만
김경록
황중식
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020210160166A external-priority patent/KR20220165172A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to CN202280019199.5A priority Critical patent/CN116916866A/zh
Priority to EP22820489.7A priority patent/EP4257105A1/en
Priority to US17/955,033 priority patent/US20230031376A1/en
Publication of WO2022260361A1 publication Critical patent/WO2022260361A1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H1/00Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
    • A61H1/02Stretching or bending or torsioning apparatus for exercising
    • A61H1/0237Stretching or bending or torsioning apparatus for exercising for the lower limbs
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H1/00Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
    • A61H1/02Stretching or bending or torsioning apparatus for exercising
    • A61H1/0237Stretching or bending or torsioning apparatus for exercising for the lower limbs
    • A61H1/024Knee
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H1/00Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
    • A61H1/02Stretching or bending or torsioning apparatus for exercising
    • A61H1/0237Stretching or bending or torsioning apparatus for exercising for the lower limbs
    • A61H1/0244Hip
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H1/00Apparatus for passive exercising; Vibrating apparatus; Chiropractic devices, e.g. body impacting devices, external devices for briefly extending or aligning unbroken bones
    • A61H1/02Stretching or bending or torsioning apparatus for exercising
    • A61H1/0237Stretching or bending or torsioning apparatus for exercising for the lower limbs
    • A61H1/0266Foot
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H3/00Appliances for aiding patients or disabled persons to walk about
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H3/00Appliances for aiding patients or disabled persons to walk about
    • A61H2003/007Appliances for aiding patients or disabled persons to walk about secured to the patient, e.g. with belts
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/12Driving means
    • A61H2201/1207Driving means with electric or magnetic drive
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/12Driving means
    • A61H2201/1253Driving means driven by a human being, e.g. hand driven
    • A61H2201/1261Driving means driven by a human being, e.g. hand driven combined with active exercising of the patient
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/16Physical interface with patient
    • A61H2201/1602Physical interface with patient kind of interface, e.g. head rest, knee support or lumbar support
    • A61H2201/1628Pelvis
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/16Physical interface with patient
    • A61H2201/1602Physical interface with patient kind of interface, e.g. head rest, knee support or lumbar support
    • A61H2201/164Feet or leg, e.g. pedal
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/16Physical interface with patient
    • A61H2201/1602Physical interface with patient kind of interface, e.g. head rest, knee support or lumbar support
    • A61H2201/165Wearable interfaces
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5005Control means thereof for controlling frequency distribution, modulation or interference of a driving signal
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5007Control means thereof computer controlled
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5058Sensors or detectors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5058Sensors or detectors
    • A61H2201/5061Force sensors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5058Sensors or detectors
    • A61H2201/5069Angle sensors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5058Sensors or detectors
    • A61H2201/5071Pressure sensors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5058Sensors or detectors
    • A61H2201/5079Velocity sensors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5058Sensors or detectors
    • A61H2201/5084Acceleration sensors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5097Control means thereof wireless

Definitions

  • the following disclosure relates to a wearable device, and more particularly, to a method and apparatus for adjusting a control parameter value of the wearable device for outputting a torque to provide force to a user.
  • a method of adjusting a control parameter value performed by a wearable device may include outputting a first torque value to a driver circuit configured to control the wearable device to apply force to a part of the user's body while the wearable device is worn by the user - the first torque
  • the value is determined based on a first value of a control parameter including at least one of size information, output timing information, and sensitivity information, a first value of a first joint of the body of the user associated with an output of the first torque value.
  • the second torque value is determined based on the second value of the control parameter; obtaining a second angular velocity of the first joint of the body of the user associated with an output of the second torque value; , and determining a final value of the control parameter based on the second value of the control parameter based on an end condition for optimization of the parameter that is satisfied after the second angular velocity is obtained;
  • the operation of determining the second value of the control parameter so that the first angular velocity of the first joint can change is based on the end condition that is not satisfied after the second angular velocity is obtained, the first joint and re-determining a second value of the control parameter so that the first angular velocity of the user can change, and the end condition is whether the number of times the value of the control parameter is adjusted corresponds to the number of threshold adjustments, the user's It may include at least one of whether the number of strides corresponds to the threshold number of strides and whether a progress time for adjusting the value of the control parameter corresponds to the threshold time.
  • a non-transitory computer readable recording medium storing a program for performing a method of adjusting a control parameter value performed by a processor in a wearable device.
  • the method may include an operation of outputting a first torque value to a driver circuit configured to control the wearable device to apply force to a part of the user's body while the wearable device is worn by the user -
  • the first torque value is determined based on a first value of a control parameter including at least one of magnitude information, output timing information, and sensitivity information -, a first value of the body of the user associated with an output of the first torque value
  • the operation of determining the second value of the control parameter so that the first angular velocity of the first joint can change is based on the end condition that is not satisfied after the second angular velocity is obtained, and re-determining a second value of the control parameter so that the first angular velocity of the first joint can change, wherein the end condition is whether the number of times the value of the control parameter is adjusted corresponds to the number of threshold adjustments. , whether the number of strides of the user corresponds to a threshold number of strides and whether a progress time for adjusting the value of the control parameter corresponds to a threshold time.
  • a wearable device includes a processor for controlling the wearable device, at least one sensor for measuring the angle of a joint of the user's body, a motor driver circuit controlled by the processor, the motor driver circuit and A motor electrically connected to the body, and a support frame that transmits a torque generated by the motor to a part of the body of the user, wherein the processor is configured to: outputting a first torque value to the motor driver circuit configured to control the motor to apply a force to the portion of the control, wherein the first torque value includes at least one of magnitude information, output timing information, and sensitivity information; Determined based on a first value of a parameter - obtaining a first angular velocity of a first joint of the body of the user associated with an output of the first torque value, and determining the first angular velocity of the first joint based on the first angular velocity.
  • a second value of the control parameter is re-determined so that the angular velocity can change, and the end condition is whether or not the number of adjustments of the value of the control parameter corresponds to the number of threshold adjustments, and the number of strides of the user corresponds to the number of threshold strides Whether or not the progress time for adjusting the value of the control parameter corresponds to the critical time At least one of the parts may be included.
  • a wearable device includes a memory for storing one or more instructions, and a processor configured to execute the one or more instructions, wherein the processor is configured to: To apply force to the part of the body of the user, outputting a first torque value to a driver circuit configured in the wearable device, the first torque value being determined based on a first value of a control parameter; A first angular velocity of a first joint of the body of the user associated with an output of a torque value is acquired, and the second angular velocity of the control parameter is changed based on the first angular velocity.
  • a second angular velocity of the first joint of the body is obtained, and based on an end condition for optimization of the control parameter that is satisfied after the second angular velocity is obtained, based on the second value of the control parameter
  • a final value of the control parameter may be determined.
  • FIGS. 1A, 1B, 1C and 1D are diagrams for explaining a wearable device according to an exemplary embodiment.
  • FIG. 2 is a diagram for describing a wearable device communicating with an electronic device according to an example.
  • 3 and 4 are diagrams for explaining a wearable device according to an example.
  • FIG. 5A illustrates a walking pattern having a slow and narrow stride length according to an example
  • FIG. 5B illustrates a fast dynamic walking pattern according to an example.
  • FIG. 6 illustrates a block diagram for optimizing parameter values of a wearable device according to an example.
  • FIG. 7A is a flowchart of a method of adjusting a parameter value of a wearable device according to an embodiment.
  • 7B is a flowchart of a method of adjusting a second value of a parameter of a wearable device according to an example.
  • FIG. 8 is a flowchart of a method of outputting torque based on a value of a parameter according to an example.
  • FIG. 10 is a flowchart of a method of calculating gait agility based on input torque and output power according to an example.
  • 11 illustrates a method of determining sub-parameter values of a next generation based on sub-parameter values of a previous generation according to an example.
  • 12A and 12B show delay values and gain values that change according to sub-parameter values according to an example.
  • FIG. 13 is a flowchart of a method for determining whether a preset end condition is satisfied to end adjustment of a parameter value according to an example.
  • FIGS. 1A, 1B, 1C and 1D are diagrams for explaining a wearable device according to an exemplary embodiment.
  • the wearable device 100 is worn on a user and assists the user's gait.
  • the wearable device 100 may be a device that assists a user's walking.
  • the wearable device 100 may be an exercise device that not only assists the user's walking, but also provides an exercise function by providing resistance to the user.
  • the resistive force provided to the user may be a force actively applied to the user, such as a force output by a device such as a motor.
  • the resistance force may not be a force that is actively applied to the user, but may be a force that hinders the user's movement, such as a frictional force. In other words, resistance can be expressed as an exercise load.
  • the wearable device 100 of the hip type shows the wearable device 100 of the hip type, but the type of wearable device is not limited to the hip type, and the wearable device may support the entire lower extremity or part of the lower extremity. have. And, the wearable device may be any one of a form supporting a part of the lower extremity, a form supporting up to the knee, a form supporting up to the ankle, and a form supporting the whole body.
  • FIGS. 1AA, 1B, 1C, and 1D may be applied to a hip type, but are not limited thereto and may be applied to various types of wearable devices.
  • the wearable device 100 includes a driving unit 110, a sensor unit 120, an inertial measurement unit (IMU) 130, a control unit 140, a battery 150, and a communication module 152.
  • the IMU 130 and the controller 140 may be provided in the main frame of the wearable device 100 .
  • the IMU 130 and the controller 140 may be included in a housing formed on (or attached to) the outside of the main frame of the wearable device 100 .
  • the driver 110 may include a motor 114 and a motor driver circuit 112 for driving the motor 114 .
  • the sensor unit 120 may include at least one sensor 121 .
  • the controller 140 may include a processor 142 , a memory 144 and an input interface 146 .
  • one sensor 121, one motor driver circuit 112, and one motor 114 are shown in FIG. 1C, this is merely an example, and as in the example shown in FIG. 1D, another example of a wearable device 100-1 may include a plurality of sensors 121 and 121-1, a plurality of motor driver circuits 112 and 112-1, and a plurality of motors 114 and 114-1.
  • the wearable device 100 may include a plurality of processors. The number of motor driver circuits, motors, or processors may vary according to a body part on which the wearable device 100 is worn and functions of the wearable device.
  • the driving unit 110 may drive a user's hip joint.
  • the driving unit 110 may be provided on the user's right hip or left hip.
  • one or more driving units 110 may be provided in a wearable device.
  • the first driving unit may be provided to the user's right hip and the second driving unit may be provided to the user's left hip.
  • the driving unit 110 may be additionally provided to the user's knee and ankle.
  • the driving unit 110 includes a motor 114 capable of generating rotational torque and a motor driver circuit 112 for driving the motor 114 .
  • the sensor unit 120 may measure the angle of the user's hip joint during walking.
  • Information about the hip joint angle sensed by the sensor unit 120 may include a right hip joint angle, a left hip joint angle, a difference between both hip joint angles, and a hip joint movement direction.
  • the sensor 121 may be provided in the driving unit 110 .
  • the sensor unit 120 may additionally measure the user's knee angle and ankle angle.
  • the sensor 121 may be an encoder. Information on the joint angle measured by the sensor unit 120 may be transmitted to the controller 140 .
  • the sensor unit 120 may include a potentiometer.
  • the potentiometer may sense the R-axis joint angle, the L-axis joint angle, the R-axis joint angular velocity, and the L-axis joint angular velocity according to the user's walking motion.
  • the R/L axis may be a reference axis for the user's right/left legs.
  • the R/L axis may be set to be perpendicular to the ground, the front side of the human torso may have a negative value, and the back side of the torso may have a positive value.
  • the IMU 130 may measure acceleration information and posture information during walking. For example, the IMU 130 may sense X-axis, Y-axis, and Z-axis acceleration and X-axis, Y-axis, and Z-axis angular velocity according to the user's walking motion. Acceleration information and attitude information measured by the IMU 130 may be transmitted to the controller 140 .
  • the wearable device 100 may detect a landing point of the user's feet based on the acceleration information measured by the IMU 130 .
  • a pressure sensor may be provided on the sole of the user's foot, and the pressure sensor may detect a landing point of the user's foot.
  • the wearable device 100 includes other sensors (eg, an electromyogram sensor) capable of sensing a change in a user's exercise amount or biosignal according to a walking motion. : EMG sensor)).
  • sensors eg, an electromyogram sensor
  • EMG sensor EMG sensor
  • the controller 140 may control overall operations of the wearable device 100 .
  • the controller 140 may receive information sensed by each of the sensor unit 120 and the IMU 130 .
  • the information sensed by the IMU 130 includes acceleration information and posture information
  • the information sensed by the sensor unit 120 includes the angle of the right hip joint, the angle of the left hip joint, the difference between both hip joint angles, and the direction of motion of the hip joint.
  • the controller 140 may calculate the difference between both hip joint angles based on the right hip joint angle and the left hip joint angle.
  • the control unit 140 may generate a signal for controlling the driving unit 110 based on the sensed information.
  • the generated signal may be an assisting force for assisting a user's walking.
  • the generated signal may be resistance to hinder the user's walking. Resistance may be provided for the user's exercise.
  • the processor 142 of the control unit 140 may control the driving unit 110 to provide resistance to the user.
  • the memory 144 may store one or more instructions or program codes, and the processor 142 may execute one or more instructions or program codes to perform operations of the wearable device.
  • the processor 142 may execute one or more instructions or program codes to control the driver 110 to provide resistance to a user.
  • the driving unit 110 may provide resistance to the user by actively applying force to the user through the motor 114 .
  • the driver 110 may provide resistance to the user by using back-drivability of the motor 114 without actively applying force to the user.
  • the reverse drivability of the motor may refer to the responsiveness of the rotational axis of the motor to an external force, and the higher the reverse drivability of the motor, the easier it can respond to the external force acting on the rotational axis of the motor (that is, , the rotation axis of the motor rotates easily). For example, even if the same external force is applied to the rotating shaft of the motor, the degree of rotation of the rotating shaft of the motor varies according to the degree of reverse driveability.
  • the driving unit 110 may provide resistance to the user by outputting torque in a direction obstructing the user's movement.
  • the processor 142 of the control unit 140 may control the driving unit 110 so that the driving unit 110 outputs torque (or auxiliary torque) for assisting the user's walking.
  • the drive unit 110 may be configured to be provided to the left hip portion and the right hip portion, respectively, and the control unit 140 controls the drive unit 110 to generate torque.
  • a control signal can be output.
  • the driving unit 110 may generate torque based on the control signal output by the control unit 140 .
  • a torque value for generating torque may be externally set or set by the controller 140 .
  • the control unit 140 may use the size of a current for a signal transmitted to the driving unit 110 to indicate the size of a torque value. That is, the greater the magnitude of the current received by the driving unit 110, the greater the torque value.
  • the processor 142 of the control unit 140 transmits a control signal to the motor driver circuit 112 of the driving unit 110, and the motor driver circuit 112 generates a current corresponding to the control signal so that the motor 114 ) can be controlled.
  • the battery 150 supplies power to components of the wearable device 100 .
  • the wearable device 100 converts the power of the battery 150 to match the operating voltage of the components of the wearable device 100 and provides the converted circuit to the components of the wearable device 100 (eg, Power Management (PMIC)). Integrated Circuit)) may be further included. Also, the battery 150 may or may not supply power to the motor 114 according to the operation mode of the wearable device 100 .
  • PMIC Power Management
  • Integrated Circuit Integrated Circuit
  • the wearable device 110 may include a thigh support frame attached to (or coupled to) at least a portion of the user's thigh.
  • the thigh support frame may be connected to the main frame through the driving unit 110 .
  • the thigh support frame may transfer torque generated by the motor 114 to at least a portion of the user's lower limb (eg, a portion of the thigh).
  • the motor 114 of the driving unit 110 outputs torque
  • the thigh support frame may rotate based on the motor 114 . Rotation of the thigh support frame based on the motor 114 may assist (or hinder) a motion of lifting or lowering a user's thigh connected to the thigh support frame.
  • the communication module 152 may support establishing a direct (eg, wired) communication channel or a wireless communication channel between the wearable device 100 and an external electronic device, and performing communication through the established communication channel.
  • the communication module 152 may include one or more communication processors supporting direct (eg, wired) communication or wireless communication.
  • the communication module 152 is a wireless communication module (eg, a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (eg, a local area network (LAN)). ) communication module, or power line communication module).
  • GNSS global navigation satellite system
  • LAN local area network
  • a corresponding communication module is a first network (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (eg, a legacy cellular network, a 5G network, It can communicate with external electronic devices through a next-generation communication network, the Internet, or a computer network
  • a first network eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)
  • a second network eg, a legacy cellular network, a 5G network, It can communicate with external electronic devices through a next-generation communication network, the Internet, or a computer network
  • FIG. 2 is a diagram for describing a wearable device communicating with an electronic device according to an example.
  • the wearable device 100 may communicate with the electronic device 200 .
  • the electronic device 200 may include a smart phone, tablet, smart watch, glasses, and the like, and is not limited to the described embodiment.
  • the electronic device 200 may be a user's electronic device of the wearable device 100 .
  • the electronic device 200 may be an electronic device of a trainer that instructs a user wearing the wearable device 100 .
  • the wearable device 100 and the electronic device 200 may communicate via a server through a short-distance wireless communication method or a cellular mobile communication method.
  • the electronic device 200 may display a user interface (UI) for controlling the operation of the wearable device 100 on the display 200 - 1 .
  • UI user interface
  • the UI may include at least one soft key through which the user can control the wearable device 100 .
  • the user may input a command for controlling the operation of the wearable device 100 through the UI on the display 200-1 of the electronic device 200, and the electronic device 200 generates a control command corresponding to the command. and transmit the generated control command to the wearable device 100 .
  • the wearable device 100 may operate according to the received control command and may transmit a control result to the electronic device 200 .
  • the electronic device 200 may display a control completion message on the display 200 - 1 of the electronic device 200 .
  • 3 and 4 are diagrams for explaining a wearable device according to an example.
  • the actuators 110-1 and 110-2 of the wearable device 100 of FIGS. 1A, 1B, 1C and 1D may be provided near the user's hip joint,
  • the control unit 140 of the wearable device 100 may be provided around the waist.
  • the locations of the driving units 110-1 and 110-2 and the control unit 140 are not limited to the examples shown in FIGS. 3 and 4 . According to another embodiment, the driving units 110-1 and 110-2 and the control unit 140 may be provided at different positions.
  • the wearable device 100 measures (or senses) the user's left hip joint angle q_l and right hip joint angle q_r .
  • the wearable device 100 may measure the user's left hip joint angle q_l through the left encoder and measure the user's right hip joint angle q_r through the right encoder.
  • the left hip joint angle q_l can be a negative number
  • the right hip joint angle q_r is a positive number ( positive number).
  • the right hip joint angle q_r may be a negative number when the right leg is ahead of the reference line 420, and the left hip joint angle q_r when the left leg is behind the reference line 420 Angle q_l may be positive.
  • a negative number for the leg swing rate i.e., negative rad/s
  • a positive number for the leg swing rate i.e., positive rad/s
  • the wearable device 100 determines the torque value ⁇ (t) based on the left hip joint angle q_l , the right hip joint angle q_r , the gain ⁇ , and the delay ⁇ t , and determines the torque value ⁇ (t ). ) may be output.
  • the motor driver circuit 112 of the wearable device 100 may be controlled.
  • the force provided to the user by the torque value ⁇ (t) may be termed force feedback.
  • the wearable device 100 may determine the torque value ⁇ (t) based on [Equation 1] below.
  • y may be a state factor
  • q_r may be a right hip joint angle
  • q_l may be a left hip joint angle.
  • the state factor y may represent the distance between the two legs. For example, when y is 0, the distance between the legs is 0 (i.e., crossing state), and when the absolute value of y is maximum, the angle between the legs is maximum (i.e., landing status) can be displayed.
  • the state factor when q_r and q_l are measured at time t, the state factor may be expressed as y(t) .
  • Gain ⁇ is a parameter representing the magnitude and direction of output torque. As the gain ⁇ increases, stronger torque can be output. If the gain ⁇ is a negative number, torque acting as a resistive force may be output to the user, and if the gain ⁇ is a positive number, torque acting as an auxiliary force may be output to the user.
  • Delay ⁇ t is a parameter related to torque output timing. According to an embodiment, the value of gain ⁇ and the value of delay ⁇ t may be set in advance and may be adjustable by a user or the wearable device 100 .
  • FIG. 5A illustrates a walking pattern having a slow and narrow stride length according to an example
  • FIG. 5B illustrates a fast dynamic walking pattern according to an example.
  • a user who lacks muscle strength or has a disease can walk at a slow pace and with a narrow stride.
  • the user's hip joint angles for slow, narrow stride walking are shown in FIG. 5A.
  • a graph 511 shows the trajectories of the user's hip joint angles with respect to time
  • a graph 512 shows the swing speed of the leg for each of the hip joint angles.
  • the maximum angle at which the user's leg is stepped forward is less than -40°, and the swing speed of the leg does not exceed -5 rad/s.
  • a gait pattern in which the maximum hip joint angle during walking is small and the leg swing speed is low can be evaluated as having low gait agility.
  • a healthy user's gait may be dynamic.
  • the hip joint angles of a healthy user for dynamic gait with high speed and wide stride are shown in FIG. 5B.
  • Graph 521 shows trajectories of healthy user's hip joint angles over time
  • graph 522 shows the swing speed of the leg for each of the hip joint angles.
  • the maximum angle at which a healthy user's leg steps forward is close to -60°
  • the swing speed of the leg exceeds -5 rad/s.
  • a gait pattern in which the maximum hip joint angle during walking is large and the leg swing speed is high can be evaluated as having high gait agility.
  • a negative number for leg swing speed i.e., negative rad/s
  • a positive number for leg swing speed That is, a positive rad/s
  • the wearable device 100 since each user has different gait patterns, such as maximum hip joint angle and leg swing speed, the wearable device 100 needs torque to correspond to the user's gait pattern in order to properly assist the user's gait.
  • the output size and timing may need to be properly adjusted.
  • the magnitude and timing of torque can be adjusted by adjusting the value of the parameter for gain and the value of the parameter for delay. When the parameter values of the gain and the parameter values of the delay are appropriately adjusted, the user can feel comfortable walking and the walking pattern can change more dynamically.
  • the wearable device 100 may not be able to provide an appropriate amount and timing of torque to the user.
  • the user may perform a test walk while wearing the wearable device 100, and the wearable device 100 may determine parameter values suitable for the user's gait through the test walk. have.
  • the wearable device 100 may use gait agility degree as an evaluation index to determine a user's gait pattern or gait style.
  • the value of the gait agility may be determined based on a hip joint angle, a hip joint angular velocity, and a magnitude of torque output by the wearable device 100 during walking.
  • the magnitude and timing of torque output by the wearable device 100 are continuously adjusted. If the size and timing are inconvenient, the value of the gait agility for the corresponding gait may be reduced, and if the magnitude and timing of the torque output by the user are comfortable, the value of the gait agility for the corresponding gait may be maximized. If the value of the gait agility no longer increases for repetitive walking, the output torque and timing may be evaluated as being optimized.
  • a method of adjusting a value of a parameter used for controlling the wearable device 100 based on a value of gait agility will be described in detail below with reference to FIGS. 6 to 13 .
  • optimization may be performed by optimizer 605 .
  • the optimizer may be implemented by a processor, such as processor 142.
  • the wearable device 100 determines a value of a parameter for at least one of a sensitivity 602, a delay 603, and a gain 604 for a torque output from the system 601 during a user's test walking. can determine Parameter values can be continuously adjusted during the test walk.
  • a parameter for at least one of sensitivity to output torque, gain, and delay may be referred to as a control parameter.
  • system 601 may include a sensor, a motor driver circuit, and a motor. However, it is not limited to the disclosed embodiment, and components may be added to or removed from the system 601 .
  • the wearable device 100 determines the first raw angle (eg, q_r_raw ) of the first joint (eg, right hip joint) measured by the sensor unit 120 and the second joint (eg, left hip joint).
  • the first angle and the second angle may be obtained by filtering the second raw angle (eg, q_l_raw ) of ).
  • the wearable device 100 may filter the first raw angle and the second raw angle based on the first and second previous angles measured for the previous time.
  • the wearable device 100 may determine the first state factor based on the first angle and the second angle. State factors can be filtered to reduce user discomfort. For example, the wearable device 100 determines the initial state factor of the current time t based on the first angle and the second angle. and the initial state factor The first state factor y(t) can be determined based on The current time t may mean the processing time for the t-th data (or sample), and the previous time t-1 may mean the processing time for the t-1-th data. For example, the difference between the current time t and the previous time t-1 may be an operation cycle of a processor generating or processing corresponding data.
  • may be a value of a parameter representing the sensitivity 602 .
  • the sensitivity value may be continuously adjusted during the test walk, but the sensitivity value may be preset to a constant value to reduce computational complexity.
  • may be a smoothing factor representing sensitivity.
  • the wearable device 100 uses the first gain value 604 and the first delay value 603 as parameter values determined for the first state factor y( t ) as the first state factor y(t)
  • the first torque value can be determined through [Equation 2] below.
  • the calculated first torque value may include a value for the first joint and a value for the second joint. for example, May be a value for the second joint, the left hip joint, may be a value for the right hip joint, which is the first joint. According to one embodiment, and may have the same magnitude and opposite torque directions.
  • the wearable device 100 may control the motor driver 112 of the wearable device 100 to output torque corresponding to the first torque value.
  • FIG. 7A is a flowchart of a method of adjusting a parameter value of a wearable device according to an embodiment.
  • operations 701 to 705 below may be performed by the controller 140 of the wearable device 100 .
  • operations 701 to 705 may be performed by the processor 142 of the controller 140 .
  • the user may wear the wearable device 100 and perform a test walking. While the test walk is being performed, operations 701 to 705 may be performed to personalize the wearable device 100 for the user. That is, when personalization of the wearable device 100 is terminated, values optimized for control parameters of the wearable device 100 for the corresponding user may be determined.
  • the processor 142 may output a first torque for assisting walking while the user wearing the wearable device 100 is walking. For example, at least one of the magnitude, output timing, and sensitivity of the first torque may be determined based on a first value of a parameter used to output torque.
  • a parameter used to output torque may be a control parameter.
  • the user may perform a test walking for a first time, and a plurality of torques including the first torque may be output for the test walking during the first time.
  • Sensitivity, magnitude, and output timing of each of the plurality of torques may be determined based on a value of a parameter (eg, gain, delay, or sensitivity) used to output the corresponding torque.
  • a parameter eg, gain, delay, or sensitivity
  • values of parameters for a plurality of torques during a first time may be values in a first group (or first generation).
  • the processor 142 may output the first torque to at least a part of the lower leg of the user wearing the wearable device 100 .
  • the processor 142 may output a first torque for folding or unfolding the user's joints by controlling motors provided around the user's hip joint, knee joint, and/or ankle joint.
  • the torque output to stretch the joints may be auxiliary torque, and the torque that prevents the joints from stretching may be resistance torque.
  • a description of the method of outputting the first torque is disclosed in detail with the description of operation 710 of FIG. 7B below.
  • the processor 142 determines the second value of the control parameter to increase the angular velocity of the joint with respect to the output of the torque based on the first angular velocity of the user's joint obtained in association with the output of the first torque.
  • the processor 142 may obtain a first angular velocity of the user's joint associated with the output of the first torque, and increase the angular velocity of the first joint for the output of the torque based on the obtained first angular velocity.
  • a second value of the control parameter may be determined.
  • the processor 142 may calculate the first gait agility representing the degree of the user's gait agility with respect to the first torque by using the first angular velocity of the user's joints.
  • the gait agility may be a parameter defined to numerically represent the user's gait agility.
  • the degree of the user's gait agility may be measured through the gait agility value.
  • the first gait agility may be an angular velocity of a joint.
  • the first gait agility may be a result of a mathematical formula or function (eg, an objective function) for calculating gait agility using the angular velocity of a joint as an input factor.
  • a value of the gait agility calculated based on the angular velocity may also tend to increase.
  • a method for calculating gait agility using joint angular velocity as an input element will be described in detail below with reference to FIG. 7B.
  • the processor 142 may obtain the angle or angular velocity of the joint as first state information at a time when the first torque is output through a sensor (eg, an encoder) disposed on the joint.
  • a sensor eg, an encoder
  • the processor 142 may determine a second value of a parameter used to output torque so that the angular velocity of the user's joint with respect to the output torque may increase. For example, the processor 142 may determine the second value based on the first value of the parameter. According to another embodiment, values of the parameters of the second group may be determined as the second values based on the values of the parameters of the first group.
  • the second value of the parameter may be determined to increase the angular velocity of the joint as the gait agility.
  • a second value of the parameter may be determined to increase the gait agility.
  • the processor 142 may output a second torque for assisting walking while the user wearing the wearable device 100 is walking. For example, at least one of sensitivity, magnitude, and output timing of the second torque may be determined based on the second value of the parameter.
  • the processor 142 may output the second torque to at least a part of the lower leg of the user wearing the wearable device 100 .
  • at least a part of the lower extremity of the user to which the second torque is output may be the same as a part to which the first torque is output.
  • the processor 142 may output the second torque by controlling the motor 144 disposed on the user's hip joint.
  • the user may perform a test walk for a second time following the first time of operation 701, and a plurality of torques including the second torque may be output for the test walk during the second time.
  • values of the parameter for a plurality of torques during the second time period may be values within the second group (or second generation).
  • the processor 142 may obtain a second angular velocity of the second state information of the user's joint associated with the output of the second torque. Since the description of operation 702 can be similarly applied, the description of operation 704 will be omitted below.
  • the second angular velocity of the joint may be obtained as the second gait agility as the gait agility.
  • the second gait agility may be calculated based on the second angular velocity of the joint.
  • the processor 142 may determine a final value of the parameter based on the second value of the parameter when the termination condition for optimization of the parameter is satisfied.
  • the final value may be a value optimized for the user. A description of how to determine the final value of the parameter is described in detail with reference to FIGS. 11, 12 and 13.
  • the above-described operations 702, 703, and 704 may be repeatedly performed. For example, if it is determined that the end condition is not satisfied after operation 704 is performed, operation 702 may be re-performed. In operation 702, if the end condition is not satisfied after the second angular velocity is calculated, the processor 142 controls the angular velocity of the joint for the output torque or the gait agility calculated based on the angular velocity to increase. The second value of can be re-determined. A value of a parameter optimized for a user may be determined by performing repetitive operations 702 to 704 .
  • 7B is a flowchart of a method of determining a second value of a parameter of a wearable device according to an embodiment.
  • operation 701 described above with reference to FIG. 7A may include operation 710 below.
  • the processor 142 may output a first torque for assisting the user's walking at the first time based on the first value of the parameter.
  • the first value of the parameter may be an initial value of a preset parameter.
  • the first value of the parameter may include at least one of a first gain value, a first delay value, and a first sensitivity value. A method of outputting the first torque will be described in detail below with reference to FIG. 8 .
  • the first value of the parameter may be a dimension (ID) value including only one of a first gain value, a first delay value, and a first sensitivity value.
  • ID dimension
  • the first value of the parameter is a 1D value
  • optimization of the value of the corresponding parameter can be performed faster than optimization for 2D and 3D values.
  • the first value of the parameter may indicate a first gain value, and optimization of the gain value may be performed through operations 701 to 705.
  • the first value of the parameter may be a 2D value including any two of a first gain value, a first delay value, and a first sensitivity value.
  • An embodiment in which the first value of the parameter is a 2D value including a first gain value and a first delay value will be described in detail with reference to FIGS. 9, 10, 11, and 12 below.
  • the first value of the parameter may be a 3D value including all of a first gain value, a first delay value, and a first sensitivity value.
  • the optimization speed may be slower than when the first value is a 1D value or a 2D value, but parameter values optimized for the user's gait may be determined.
  • the first value of the parameter may be one of a set of parameter values of a first generation (or first group).
  • a set of parameter values of each generation may include a plurality of sub-parameter values.
  • a first sub-parameter value in the set of parameter values may include a first sensitivity value, a first gain value, and a first delay value.
  • the set of parameter values of each generation is applied to the wearable device 100 for a preset period (eg, first time in operation 701), and when the period ends, a set of parameter values of each generation is applied to the wearable device 100 for a next period (eg, second time in operation 704). time), a set of parameter values of the next generation may be applied to the wearable device 100 .
  • the preset period may be a preset number of strides.
  • the term 'generation' is defined to distinguish a phase of iterative adjustments of the value of a parameter used to optimize the values of the parameter.
  • the parameter values included in the second generation may be generally better than the parameter values included in the first generation. That is, the parameter values of the next generation (eg, the second generation) may be more optimized for the user than the parameter values of the previous generation (eg, the first generation).
  • some of the parameter values included in the second generation may be parameter values that are not improved from those included in the first generation.
  • the processor 142 may output a first torque for assisting the user's walking at a first time point by using a set of parameter values of the first generation.
  • the first torque may be output at a first time based on the first sub-parameter value of the first generation
  • the second torque may be output at a second time based on the second sub-parameter value of the first generation. It can be.
  • the first time and the second time may be included within the first time of operation 701 .
  • the processor 142 may output the first torque to at least a part of the user's lower extremity.
  • the processor 142 controls the motor 114 disposed around the user's hip joint, knee joint and/or ankle joint to output a first torque for folding or unfolding the joint to the user's joint.
  • operation 702 described above with reference to FIG. 7A may include operations 720 to 750 below.
  • the processor 142 may obtain first state information of a first joint (eg, hip joint) of the user at the first time.
  • the first state information of the first joint may include at least one of a joint angle and a joint angular velocity.
  • the first joint may be a joint corresponding to at least a part of the lower extremity to which the first torque is output.
  • the sensor unit 120 (or encoder) provided around the user's joint senses the angle of the joint, and the processor 142 obtains the sensed angle of the joint from the sensor unit 120.
  • the measured angle of the joint may be associated with a time stamp for the measured time.
  • the processor 142 may calculate the joint angular velocity at the first time based on the sensed joint angle.
  • the processor 142 may determine a first power value generated in a first joint based on the first state information.
  • the first gait agility may be a result of a mathematical formula or function (eg, an objective function) for calculating gait agility using the first torque as an additional input factor as well as the first angular velocity.
  • the processor 142 may determine the first power value based on the first angular velocity and the first torque for the first state.
  • the first power value may be calculated as a product of the first angular velocity and the first torque.
  • the calculated first power value may be used as a factor for calculating the first walking agility representing the degree of walking agility of the user with respect to the first torque.
  • the value of power calculated for the case where the torque increases but the angular velocity decreases may be smaller than the value of power calculated for the case where the torque is not relatively large but the angular velocity increases .
  • a case in which the torque is not relatively large may be suitable for obtaining a high angular velocity of the joint.
  • a plurality of torques based on a set of parameter values of the first generation are output, and state information of a first joint for the plurality of output torques (eg: angular velocities) may be obtained, and power values generated at the first joint may be calculated based on the state information.
  • state information of a first joint for the plurality of output torques eg: angular velocities
  • the processor 142 may calculate a first gait agility indicating a degree of gait agility based on the first torque and first power values.
  • the first gait agility calculated in operation 740 may be an evaluation value for a gait of a user who has walked based on a first parameter value (or a plurality of sub-parameter values of the first generation).
  • a first root mean square (RMS) torque is calculated for a first period of time based on the first torque, and a first root mean square (RMS) torque is calculated based on the first power value.
  • An average power value may be calculated, and a first gait agility for a first generation may be calculated based on the first RMS torque and the first average power value.
  • the first gait agility may be an evaluation value indicating suitability of a plurality of torques output to the user during the first time period or parameter values associated with the plurality of torques.
  • a method of determining the first walking agility based on the first RMS torque and the first average power value according to an embodiment will be described in detail below with reference to FIG. 10 .
  • processor 142 determines a second parameter of the parameter such that based on the first gait agility, a value of a second gait agility to be determined thereafter (eg, to be determined for a next generation set of parameter values) may be increased.
  • value can be determined.
  • the second value of the parameter may be determined by adjusting the first value of the parameter.
  • the second value of the parameter may be determined such that the second gait agility calculated for the second generation is greater than the first gait agility calculated for the first generation.
  • the processor 142 may determine the second value of the parameter by adjusting the first value of the parameter using a covariance matrix adaptation evolution strategy (CMA-ES).
  • the second value of the parameter may be one of a set of parameter values of the second generation.
  • CMA-ES regards the process of optimizing the value of a specific parameter as a process of biological evolution to weave the flow of evolutionary strategy, and defines repetitions of calculations as 'generation'.
  • CMA-ES may be characterized by adaptively updating the covariance matrix of a group for a specific value.
  • a covariance matrix for a plurality of sub-parameter values of the first generation is updated using CMA-ES, so that a plurality of sub-parameter values of the second generation, the next generation can be created
  • operation 703 for the second value of the parameter determined in operation 750 may be performed.
  • test walk when the test walk is performed for preset generations (eg, a total of 12 generations), operations 702 to 704 may be performed for each of the generations. Values of parameters adjusted through a plurality of generations will be described in detail below with reference to FIG. 11 .
  • FIG. 8 is a flowchart of a method of outputting torque based on a value of a parameter according to an example.
  • operation 710 described above with reference to FIGS. 7A and 7B may include operations 810, 820, and 830 below.
  • the processor 142 may determine previous state information of the first joint at the user's previous time.
  • Previous state information of the first joint may include at least one of an angle and an angular velocity of the first joint.
  • a time prior to the first time may be time t-1.
  • the previous state of the previous time may be an initial state. Time t is the time when the t th data sample is acquired, and time t ⁇ 1 may be the time when the t ⁇ 1 th data sample is acquired.
  • previous state information of the right hip joint, which is the first joint, and the left hip joint, which is the second joint may be determined.
  • the processor 142 may determine a previous state factor based on the previous state information. For example, y(t-1) can be calculated as the previous state factor.
  • the processor 142 outputs a first torque at a first time (eg, time t) based on the previous state factor and the first value of the parameter (eg, the first sub-parameter value).
  • the first time may be a time delayed by a parameter value from a previous time.
  • the processor 142 may control the motor driver circuit 112 to output the first torque.
  • a basic value 910 of a parameter may be preset in the wearable device 100 .
  • the default value 910 of the parameter may be selected by the user for a test walk.
  • the basic value 910 of the parameter may be a preset parameter value for the test walking.
  • the basic value 910 of the parameter is expressed as a 2D value indicating both a delay value and a gain value, but may be expressed as a 1D value indicating only a gain value or a 3D value indicating a sensitivity value.
  • the parameter basic value 910 may be expressed as a 2D value that simultaneously represents a gain value and a sensitivity value. The complexity of calculation for optimizing the value of the parameter may vary according to the dimension of the value of the parameter.
  • the processor 142 of the wearable device 100 may generate a set of parameter values of the first generation based on the basic value 910 of the parameter.
  • a set of parameter values of a first generation may be generated based on CMA-ES.
  • the set of parameter values of the first generation may be generated by randomly changing the value of the parameter default value 910 .
  • the set of parameter values of the first generation includes a first sub-parameter value 911, a second sub-parameter value 912, a third sub-parameter value 913, a fourth sub-parameter value 914, and a second sub-parameter value 914.
  • a fifth sub-parameter value 915 and a sixth sub-parameter value 916 may be included.
  • the processor 142 applies the first sub-parameter value 911 to output torque during the first period set for the first sub-parameter value 911, and when the first period ends, the second sub-parameter value ( 912), torque can be output during the second period set for the second sub-parameter value 912.
  • the processor 142 inputs the third sub-parameter value 913, the fourth sub-parameter value 914, the fifth sub-parameter value 915, and the sixth sub-parameter value 916, and inputs the sixth sub-parameter value
  • evaluation of the set of parameter values of the first generation may be performed. For example, a first gait agility may be calculated as a result of evaluating a set of parameter values of a first generation.
  • the number of sub-parameter values in the set of parameter values is shown in FIG. 9 as 6, the number of sub-parameter values may be set by the user or the processor 142. For example, the number of sub-parameter values may vary according to the dimension of the sub-parameter value.
  • FIG. 10 is a flowchart of a method of calculating gait agility based on input torque and output power according to an example.
  • operation 740 described above with reference to FIG. 7B may include operations 1010, 1020, and 1030 below.
  • processor 142 may calculate a first root mean square (RMS) torque based on the first torque.
  • RMS root mean square
  • the processor 142 may calculate a first RMS torque for torques output by each of the sub-parameter values in the set of parameter values of the first generation.
  • the first RMS torque may be calculated based on [Equation 3] below.
  • n represents the total number of sub-parameter values in the set of parameter values of the corresponding generation, represents the torque output by the i-th sub-parameter value, represents the RMS torque for that generation.
  • processor 142 may calculate a first average power value based on the first power value.
  • the first power value means a power value generated by outputting the first torque.
  • the first power value is the first torque ( ) and the first angular velocity ( ) can be calculated as the product of The first angular velocity may be obtained based on the first state information of the first joint.
  • the processor 142 determines the first average power value based on torques output by each of the sub-parameter values in the set of parameter values of the first generation and angular velocities obtained at the time the torques are output. can be calculated For example, the first average power value may be calculated based on the first power value and a second power value for a second time point following the first time point. The first average power value may be calculated based on [Equation 4] below.
  • n represents the total number of sub-parameter values in the set of parameter values of the generation
  • MP denotes the average power value for the corresponding generation.
  • the processor 142 may calculate a first gait agility based on the first RMS torque and the first average power value. For example, the processor may calculate gait agility based on [Equation 5] below. A unit of the value of the calculated gait agility may be rad/sec.
  • 11 illustrates a method of determining sub-parameter values of a next generation based on sub-parameter values of a previous generation according to an example.
  • the test walk may be performed for a preset period of time, and the preset period may be based on the number of times the value of the parameter is updated. Updating the value of the parameter may mean a change in the generation of the value of the above-mentioned parameter. For example, the test walk may be performed while the value of the parameter changes from the first generation to the twelfth generation (or the eighth generation).
  • each generation may include a plurality of sub-parameter values (eg, 6) of a preset number.
  • the set of parameter values of the first generation may include sub-parameter values generated based on the basic parameter value 1101, and the processor 142 determines the parameters for the first generation based on the sub-parameter values. Having determined the first gait agility, the processor 142 may generate a set of parameter values of the second generation in a direction in which the second gait agility to be calculated for the second generation may increase.
  • a set of parameter values of the second generation may be generated using a covariance matrix adaptation evolution strategy (CMA-ES).
  • CMA-ES may approximate a Hessian matrix by calculating a covariance matrix at search points. Since CMA-ES generates search points probabilistically in a normal distribution, the derived result does not fall into a local solution and has characteristics that are easy to obtain globally.
  • Cost Cost may be a value of an objective function of CMA-ES calculated based on a specific search point and sub-parameter values.
  • a final value (1110 or 1120) of a parameter for a predetermined threshold generation (eg, the eighth generation or the twelfth generation) may be determined.
  • one of sub-parameter values of the eighth generation may be determined as the final value 1110 of the parameter.
  • the average value of the sub-parameter values of the eighth generation may be determined as the final value 1110 of the parameter.
  • the final value 1110 or 1120 of the parameter may be used as a gait parameter value optimized for the user's gait pattern.
  • 12A and 12B show delay values and gain values that change according to sub-parameter values according to an example.
  • a plurality of sub-parameter values may be successively applied to the wearable device 100 according to a threshold generation (eg, 8th generation or 12th generation).
  • the processor 142 may apply a total of 48 sub-parameter values to the wearable device 100, and if the test walking for the 8th generation is finished, the parameters of the 8th generation Based on the set of values the final value of the parameter can be determined.
  • the delay value of the final parameter value is 0.24
  • the delay value of the final parameter value is 6.17. Even when the critical generation is the 12th generation, the description of the 8th generation can be similarly applied.
  • FIG. 13 is a flowchart of a method for determining whether an end condition set to end adjustment of a parameter value is satisfied, according to an example.
  • operation 1310 below may be further performed.
  • the processor 142 may determine whether the current state during the test walk satisfies an end condition established for optimization of the parameter.
  • the set end condition is whether the number of times the value of the parameter has been adjusted corresponds to the number of threshold adjustments (i.e., whether the threshold generation has been reached), whether the user's number of strides corresponds to the threshold number of strides, and the value of the parameter. It may include at least one of whether the progress time for adjusting the corresponds to the threshold time. Stride means the process until the position of one leg returns to the same point through walking.
  • the stride length may be the distance from the position of the left (or right) heel to the position of the next left heel in walking.
  • processor 142 proceeds to operation 702 of Figure 7A to again perform the determination of optimal parameter values.
  • processor 142 proceeds to operation 705 of Figure 7A to determine the final value of the parameter.
  • the processor 142 may determine the final value of the parameter when the termination condition is satisfied. For example, the value of the most recently adjusted parameter may be used as the final value of the parameter. As another example, the processor 142 may determine the final value based on the parameter value of the last generation when the termination condition is satisfied.
  • a method of adjusting a parameter value of the wearable device 100 has been described in detail with reference to FIGS. 6 to 13 .
  • the method according to an embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks.
  • - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like.
  • program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
  • the hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Epidemiology (AREA)
  • Pain & Pain Management (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Rehabilitation Therapy (AREA)
  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Pathology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Rehabilitation Tools (AREA)

Abstract

사용자에게 힘을 제공하기 위해 출력되는 토크와 연관된 제어 파라미터의 값을 조정하기 위한 방법 및 장치가 제공된다. 제어 파라미터를 조정하기 위해 사용자는 웨어러블 장치를 착용한 상태로 테스트 보행을 수행하고, 테스트 보행을 통해 출력된 토크 및 사용자의 관절의 상태 정보에 기초하여 토크를 출력하기 위해 이용된 제어 파라미터의 값의 적절성을 평가하고, 사용자가 보행에 편안함을 느끼도록 제어 파라미터의 값을 조정할 수 있다.

Description

웨어러블 장치의 제어 파라미터의 값을 조정하는 방법 및 장치
아래의 개시는 웨어러블 장치에 관한 것으로, 보다 상세하게는 사용자에게 힘을 제공하기 위한 토크를 출력하기 위한 웨어러블 장치의 제어 파라미터 값을 조정하는 방법 및 장치에 관한 것이다.
고령화 사회로 진입하면서 노화로 인한 근력 약화 또는 관절 이상으로 보행에 불편과 고통을 호소하는 사람들이 증가하고 있고, 근력이 약화된 노인이나 근관절이 불편한 환자들이 보행을 원활하게 할 수 있는 보행 보조 장치에 대한 관심이 높아지고 있다.
일 실시 예에 따른, 웨어러블 장치에 의해 수행되는, 제어 파라미터 값 조정 방법이 제공된다. 상기의 방법은, 사용자가 상기 웨어러블 장치를 착용한 동안, 상기 사용자의 신체의 일부에 힘을 가하기 위해, 상기 웨어러블 장치를 제어하도록 구성된 드라이버 회로에 제1 토크 값을 출력하는 동작 - 상기 제1 토크 값은 크기 정보, 출력 타이밍 정보 및 민감도 정보 중 적어도 하나를 포함하는 제어 파라미터의 제1 값에 기초하여 결정됨 -, 상기 제1 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 제1 관절의 제1 각속도를 획득하는 동작, 상기 제1 각속도에 기초하여 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작, 상기 드라이버 회로에 상기 제2 토크 값을 출력하는 동작 - 상기 제2 토크 값은 상기 제어 파라미터의 상기 제2 값에 기초하여 결정됨 -, 상기 제2 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 상기 제1 관절의 제2 각속도를 획득하는 동작, 및 상기 제2 각속도가 획득된 이후에 만족되는 상기 파라미터의 최적화에 대한 종료 조건에 기초하여, 상기 제어 파라미터의 상기 제2 값에 기초하여 상기 제어 파라미터의 최종 값을 결정하는 동작을 포함하고, 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작은, 상기 제2 각속도가 획득된 이후에 만족되지 않은 상기 종료 조건에 기초하여, 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 재결정하는 동작을 포함하고, 상기 종료 조건은, 제어 파라미터의 값이 조정된 횟수가 임계 조정 횟수에 대응하는지 여부, 상기 사용자의 스트라이드 횟수가 임계 스트라이드 횟수에 대응하는지 여부 및 제어 파라미터의 값을 조정하기 위한 진행 시간이 임계 시간에 대응하는지 여부 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른, 프로세서가 웨어러블 장치에서 수행하는 제어 파라미터 값을 조정하는 방법을 수행하는 프로그램을 저장하는 비-일시적 컴퓨터 판독가능 기록 매체가 제공될 수 있다. 상기의 방법은 상기의 방법은, 사용자가 상기 웨어러블 장치를 착용한 동안, 상기 사용자의 신체의 일부에 힘을 가하기 위해, 상기 웨어러블 장치를 제어하도록 구성된 드라이버 회로에 제1 토크 값을 출력하는 동작 - 상기 제1 토크 값은 크기 정보, 출력 타이밍 정보 및 민감도 정보 중 적어도 하나를 포함하는 제어 파라미터의 제1 값에 기초하여 결정됨 -, 상기 제1 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 제1 관절의 제1 각속도를 획득하는 동작, 상기 제1 각속도에 기초하여 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작, 상기 드라이버 회로에 상기 제2 토크 값을 출력하는 동작 - 상기 제2 토크 값은 상기 제어 파라미터의 상기 제2 값에 기초하여 결정됨 -, 상기 제2 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 상기 제1 관절의 제2 각속도를 획득하는 동작, 및 상기 제2 각속도가 획득된 이후에 만족되는 상기 파라미터의 최적화에 대한 종료 조건에 기초하여, 상기 제어 파라미터의 상기 제2 값에 기초하여 상기 제어 파라미터의 최종 값을 결정하는 동작을 포함하고, 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작은, 상기 제2 각속도가 획득된 이후에 만족되지 않은 상기 종료 조건에 기초하여, 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 재결정하는 동작을 포함하고, 상기 종료 조건은, 제어 파라미터의 값이 조정된 횟수가 임계 조정 횟수에 대응하는지 여부, 상기 사용자의 스트라이드 횟수가 임계 스트라이드 횟수에 대응하는지 여부 및 제어 파라미터의 값을 조정하기 위한 진행 시간이 임계 시간에 대응하는지 여부 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따라 제공되는, 웨어러블 장치는, 웨어러블 장치를 제어하는 프로세서, 상기 사용자의 신체의 관절의 각도를 측정하는 적어도 하나의 센서, 상기 프로세서에 의해 제어되는 모터 드라이버 회로, 상기 모터 드라이버 회로와 전기적으로 연결된 모터, 및 상기 모터에 의해 생성된 토크를 상기 사용자의 상기 신체의 일부에 전달하는 지지 프레임을 포함하고, 상기 프로세서는, 상기 사용자가 상기 웨어러블 장치를 착용한 동안, 상기 사용자의 상기 신체의 상기 일부에 힘을 가하기 위해, 상기 모터를 제어하도록 구성된 상기 모터 드라이버 회로에 제1 토크 값을 출력하고 - 상기 제1 토크 값은 크기 정보, 출력 타이밍 정보 및 민감도 정보 중 적어도 하나를 포함하는 제어 파라미터의 제1 값에 기초하여 결정됨 -, 상기 제1 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 제1 관절의 제1 각속도를 획득하고, 상기 제1 각속도에 기초하여 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하고, 상기 모터 드라이버 회로에 상기 제2 토크 값을 출력하고 - 상기 제2 토크 값은 상기 제어 파라미터의 상기 제2 값에 기초하여 결정됨 -, 상기 제2 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 상기 제1 관절의 제2 각속도를 획득하고, 상기 제2 각속도가 획득된 이후에 만족되는 상기 파라미터의 최적화에 대한 종료 조건에 기초하여, 상기 제어 파라미터의 상기 제2 값에 기초하여 상기 제어 파라미터의 최종 값을 결정하고, 상기 제2 각속도가 획득된 이후에 만족되지 않은 상기 종료 조건에 기초하여, 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 재결정하고, 상기 종료 조건은 제어 파라미터의 값이 조정된 횟수가 임계 조정 횟수에 대응하는지 여부, 상기 사용자의 스트라이드 횟수가 임계 스트라이드 횟수에 대응하는지 여부 및 제어 파라미터의 값을 조정하기 위한 진행 시간이 임계 시간에 대응하는지 여부 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따라 제공되는, 웨어러블 장치는, 하나 이상의 명령들을 저장하는 메모리, 및 상기 하나 이상의 명령들을 실행하도록 구성되는 프로세서를 포함하고, 상기 프로세서는, 사용자가 상기 웨어러블 장치를 착용한 동안, 상기 사용자의 상기 신체의 상기 일부에 힘을 가하기 위해, 상기 웨어러블 장치를 구성된 드라이버 회로에 제1 토크 값을 출력하고 - 상기 제1 토크 값은 제어 파라미터의 제1 값에 기초하여 결정됨 -, 상기 제1 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 제1 관절의 제1 각속도를 획득하고, 상기 제1 각속도에 기초하여 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하고, 상기 드라이버 회로에 상기 제2 토크 값을 출력하고 - 상기 제2 토크 값은 상기 제어 파라미터의 상기 제2 값에 기초하여 결정됨 -, 상기 제2 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 상기 제1 관절의 제2 각속도를 획득하고, 상기 제2 각속도가 획득된 이후에 만족되는 상기 제어 파라미터의 최적화에 대한 종료 조건에 기초하여, 상기 제어 파라미터의 상기 제2 값에 기초하여 상기 제어 파라미터의 최종 값을 결정할 수 있다.
도 1A, 1B, 1C 및 1D는 일 실시 예에 따른 웨어러블 장치를 설명하기 위한 도면이다.
도 2는 일 예에 따른 전자 장치와 통신하는 웨어러블 장치를 설명하기 위한 도면이다.
도 3 내지 도 4는 일 예에 따른 웨어러블 장치를 설명하기 위한 도면이다.
도 5A는 일 예에 따른 느리고 좁은 보폭을 갖는 보행의 패턴을 도시하고, 도 5B는 일 예에 따른 빠르고 역동적인 보행의 패턴을 도시한다.
도 6은 일 예에 따른 웨어러블 장치의 파라미터 값을 최적화하기 위한 블록도를 도시한다.
도 7A는 일 실시 예에 따른 웨어러블 장치의 파라미터의 값을 조정하는 방법의 흐름도이다.
도 7B는 일 예에 따른 웨어러블 장치의 파라미터 제2 값을 조정하는 방법의 흐름도이다.
도 8은 일 예에 따른 파라미터의 값에 기초하여 토크를 출력하는 방법의 흐름도이다.
도 9는 일 예에 따른 제1 세대의 파라미터 값들의 세트를 도시한다.
도 10은 일 예에 따른 입력 토크 및 출력 파워에 기초하여 보행 민첩도를 계산하는 방법을 흐름도이다.
도 11은 일 예에 따른 이전 세대의 서브 파라미터 값들에 기초하여 다음 세대의 서브 파라미터 값을 결정하는 방법을 도시한다.
도 12A 및 12B는 일 예에 따른 서브 파라미터 값들에 따라 변화하는 딜레이 값 및 게인 값을 도시한다.
도 13은 일 예에 따른 파라미터의 값의 조정을 종료하기 위해 미리 설정된 종료 조건이 만족되는지 여부를 결정하는 방법의 흐름도이다.
이하, 본 기재의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 기재를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 기재의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1A, 1B, 1C 및 1D는 일 실시 예에 따른 웨어러블 장치를 설명하기 위한 도면이다.
도 1A, 1B, 1C 및 1D를 참조하면, 웨어러블 장치(100)는 사용자에게 장착되어 사용자의 보행(gait)을 보조한다. 예를 들어, 웨어러블 장치(100)는 사용자의 보행을 보조하는 장치일 수 있다. 또한, 웨어러블 장치(100)는 사용자의 보행을 보조할 뿐만 아니라, 사용자에게 저항력을 제공함으로써 운동 기능을 제공하는 운동 장치일 수 있다. 예를 들어, 사용자에게 제공되는 저항력은 모터와 같은 장치에 의해 출력되는 힘과 같이 사용자에게 능동적으로 가해지는 힘일 수도 있다. 다른 예로, 저항력은 사용자에게 능동적으로 가해지는 힘은 아니나 마찰력과 같이 사용자의 움직임을 방해하는 힘일 수 있다. 다른 말로, 저항력은 운동 부하로 표현될 수 있다.
도 1A 및 도 1B는 힙 타입의 웨어러블 장치(100)를 도시하고 있으나, 웨어러블 장치의 타입은 힙 타입에 제한되는 것은 아니며, 웨어러블 장치는 하지 전체를 지원하는 형태 또는 하지 일부를 지원하는 타입일 수 있다. 그리고, 웨어러블 장치는 하지 일부를 지원하는 형태, 무릎까지 지원하는 형태, 발목까지 지원하는 형태 및 전신을 지원하는 형태 중 어느 하나일 수 있다.
도 1AA, 1B, 1C 및 1D를 참조하여 설명되는 실시예들은 힙 타입에 대해 적용될 수 있으나, 이에 한정되는 것이 아니며 다양한 타입들의 웨어러블 장치에 대해서 모두 적용될 수 있다.
일 측면에 따르면, 웨어러블 장치(100)는 구동부(110), 센서부(120), IMU(Inertial Measurement Unit)(130), 제어부(140), 배터리(150) 및 통신 모듈(152)을 포함한다. 예를 들어, IMU(130) 및 제어부(140)는 웨어러블 장치(100)의 메인 프레임 내에 제공될 수 있다. 다른 예로, IMU(130) 및 제어부(140)는 웨어러블 장치(100)의 메인 프레임의 외부에 형성(또는, 부착)되는 하우징에 포함될 수 있다.
도 1C를 참조하면, 구동부(110)는 모터(114) 및 모터(114)를 구동시키기 위한 모터 드라이버 회로(112)를 포함할 수 있다. 센서부(120)는 적어도 하나의 센서(121)를 포함할 수 있다. 제어부(140)는 프로세서(142), 메모리(144) 및 입력 인터페이스(146)를 포함할 수 있다. 도 1C에는 하나의 센서(121), 하나의 모터 드라이버 회로(112), 및 하나의 모터(114)가 도시되어 있으나 이는 예시적인 사항일 뿐, 도 1D에 도시된 예와 같이 다른 일례의 웨어러블 장치(100-1)는 복수의 센서들(121 및 121-1), 복수의 모터 드라이버 회로들(112 및 112-1), 및 복수의 모터들(114 및 114-1)을 포함할 수 있다. 또한, 다른 일 예에 따라 웨어러블 장치(100)는 복수의 프로세서들을 포함할 수 있다. 모터 드라이버 회로 개수, 모터 개수, 또는 프로세서 개수는 웨어러블 장치(100)가 착용되는 신체 부위 및 웨어러블 장치의 기능에 따라 달라질 수 있다.
후술할 센서(121), 모터 드라이버 회로(112), 및 모터(114)에 대한 설명은 도 1D에 도시된 센서(121-1), 모터 드라이버 회로(112-1), 및 모터(114-1)에 대해서도 적용될 수 있다.
구동부(110)는 사용자의 힙 관절(hip joint)을 구동시킬 수 있다. 예를 들어, 구동부(110)는 사용자의 오른쪽 힙 또는 왼쪽 힙 부분에 제공될 수 있다. 일 실시 예에 따르면, 하나 이상의 구동부(110)가 웨어러블 장치 내에 제공될 수 있다. 예를 들어, 제1 구동부가 사용자의 오른쪽 힙에 제공되고, 제2 구동부가 사용자의 왼쪽 힙에 제공될 수 있다. 추가적으로, 구동부(110)는 사용자의 무릎 부분 및 발목 부분에 추가적으로 제공될 수 있다. 구동부(110)는 회전 토크를 발생시킬 수 있는 모터(114) 및 모터(114)를 구동시키기 위한 모터 드라이버 회로(112)를 포함한다.
센서부(120)는 보행 시 사용자의 힙 관절의 각도를 측정할 수 있다. 센서부(120)에서 센싱되는 힙 관절의 각도에 대한 정보는 오른쪽 힙 관절의 각도, 왼쪽 힙 관절의 각도, 양쪽 힙 관절 각도들 간의 차이 및 힙 관절 운동 방향을 포함할 수 있다. 예를 들어, 센서(121)는 구동부(110) 내에 제공될 수 있다. 센서(121)의 위치에 따라 센서부(120)는 사용자의 무릎 각도 및 발목 각도를 추가적으로 측정할 수 있다. 센서(121)는 엔코더(encoder)일 수 있다. 센서부(120)에 의해 측정된 관절의 각도에 정보는 제어부(140)로 전송될 수 있다.
일 예에 따르면, 센서부(120)는 포텐셔미터를 포함할 수 있다. 포텐셔미터는 사용자의 보행 동작에 따른 R축 관절 각도, L축 관절 각도, R축 관절 각속도, 및 L축 관절 각속도를 센싱할 수 있다. R/L축은 사용자의 오른쪽/왼쪽 다리에 대한 기준 축일 수 있다. 예를 들어, R/L축은 지면에 수직이 되도록 설정되고, 사람의 몸통의 앞면 쪽이 음수 값을 갖고, 몸통의 뒷면 쪽이 양수 값을 갖도록 설정될 수 있다.
IMU(130)는 보행 시 가속도 정보와 자세 정보를 측정할 수 있다. 예를 들어, IMU(130)는 사용자의 보행 동작에 따른 X축, Y축, Z축 가속도 및 X축, Y축, Z축 각속도를 센싱할 수 있다. IMU(130)에 의해 측정된 가속도 정보와 자세 정보는 제어부(140)로 전송될 수 있다.
웨어러블 장치(100)는 IMU(130)에서 측정된 가속도 정보에 기반하여 사용자의 발이 착지하는 지점을 검출할 수 있다.
일 실시 예에 따르면, 압력 센서가 사용자의 발바닥에 제공되고, 압력 센서는 사용자의 발의 착지 시점을 검출할 수 있다.
웨어러블 장치(100)는 앞서 설명한 센서부(120) 및 IMU(130) 이외에, 보행 동작에 따른 사용자의 운동량 또는 생체 신호 등의 변화를 센싱할 수 있는 다른 센서(예를 들어, 근전도 센서(ElectroMyoGram sensor: EMG sensor))를 포함할 수 있다.
제어부(140)는 웨어러블 장치(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 제어부(140)는 센서부(120) 및 IMU(130) 각각이 센싱된 정보를 수신할 수 있다. IMU(130)에 의해 센싱된 정보는 가속도 정보 및 자세 정보를 포함하고, 센서부(120)에 의해 센싱된 정보는 오른쪽 고관절의 각도, 왼쪽 고관절의 각도, 양쪽 고관절 각도들 간의 차이 및 고관절 운동 방향을 포함할 수 있다. 실시예에 따라, 제어부(140)가 오른쪽 고관절의 각도 및 왼쪽 고관절의 각도에 기초하여 양쪽 고관절 각도들 간의 차이를 계산할 수도 있다. 제어부(140)는 센싱된 정보에 기초하여 구동부(110)를 제어하기 위한 신호를 생성할 수 있다. 예를 들어, 생성된 신호는 사용자의 보행을 보조하기 위한 보조력일 수 있다. 다른 예로, 생성된 신호는 사용자의 보행을 방해하기 위한 저항력일 수 있다. 저항력은 사용자의 운동을 위해 제공될 수 있다.
일 실시 예에 따르면, 제어부(140)의 프로세서(142)는 사용자에게 저항력을 제공하기 위해 구동부(110)를 제어할 수 있다. 일 실시 예에 따르면, 메모리(144)는 하나 이상의 명령어들 또는 프로그램 코드들을 저장할 수 있고, 프로세서(142)는 웨어러블 장치의 동작들을 수행하기 위해 하나 이상의 명령어들 또는 프로그램 코드들을 실행할 수 있다. 예를 들어, 프로세서(142)는 사용자에게 저항력을 제공하도록 구동부(110)를 제어하기 위해 하나 이상의 명령들 또는 프로그램 코드들을 실행할 수 있다.
일 예에 따르면, 구동부(110)는 모터(114)를 통해 사용자에게 능동적인 힘을 가함으로써 사용자에게 저항력을 제공할 수 있다. 다른 예로, 구동부(110)는 사용자에게 능동적인 힘을 가하지 않고, 모터(114)의 역 구동성(back-drivability)을 이용하여 사용자에게 저항력을 제공할 수 있다. 모터의 역 구동성이란, 외부의 힘에 대한 모터의 회전 축의 반응성을 의미할 수 있고, 모터의 역 구동성이 높을수록 모터의 회전 축에 작용하는 외부의 힘에 대해 쉽게 반응할 수 있다(즉, 모터의 회전 축이 쉽게 회전한다). 예를 들어, 모터의 회전 축에 동일한 외부의 힘이 가해지더라도, 역 구동성의 정도에 따라 모터의 회전 축이 회전하는 정도가 달라진다.
다른 일 측면에 따르면, 구동부(110)는 사용자의 움직임에게 방해되는 방향으로 토크를 출력함으로써 사용자에게 저항력을 제공할 수 있다.
일 실시 예에 따르면, 제어부(140)의 프로세서(142)는 구동부(110)가 사용자의 보행을 돕기 위한 토크(또는 보조 토크)를 출력하도록, 구동부(110)를 제어할 수 있다. 예를 들어, 힙 타입의 웨어러블 장치(100)에서, 구동부(110)는 왼쪽 힙 부분 및 오른쪽 힙 부분에 각각 제공되도록 구성될 수 있고, 제어부(140)는 토크가 발생되도록 구동부(110)를 제어하는 제어 신호를 출력할 수 있다.
구동부(110)는 제어부(140)가 출력한 제어 신호에 기반하여, 토크를 발생시킬 수 있다. 토크를 발생시키기 위한 토크 값은 외부에 의해 설정될 수도 있고, 제어부(140)에 의해 설정될 수도 있다. 예를 들어, 제어부(140)는 토크 값의 크기를 나타내기 위해, 구동부(110)로 전송하는 신호에 대한 전류의 크기를 이용할 수 있다. 즉, 구동부(110)가 수신하는 전류의 크기가 클수록, 토크 값이 클 수 있다. 다른 예로, 제어부(140)의 프로세서(142)는 제어 신호를 구동부(110)의 모터 드라이버 회로(112)로 전송하고, 모터 드라이버 회로(112)는 제어 신호에 대응하는 전류를 생성함으로써 모터(114)를 제어할 수 있다.
배터리(150)는 웨어러블 장치(100)의 구성 요소에 전력을 공급한다. 웨러러블 장치(100)는 배터리(150)의 전력을 웨어러블 장치(100)의 구성 요소의 동작 전압에 맞게 변환하여 웨어러블 장치(100)의 구성 요소에 제공하는 회로(예를 들어, PMIC(Power Management Integrated Circuit))를 더 포함할 수 있다. 또한, 웨어러블 장치(100)의 동작 모드에 따라 배터리(150)는 모터(114)에 전력을 공급하거나 공급하지 않을 수 있다.
일 실시 예에 따르면, 웨어러블 장치(110)는 사용자의 허벅지의 적어도 일부에 부착(또는, 결합)되는 허벅지 지지 프레임을 포함할 수 있다. 허벅지 지지 프레임은 구동부(110)를 통해 메인 프레임과 연결될 수 있다. 허벅지 지지 프레임은 모터(114)에 의해 생성된 토크를 사용자의 하지의 적어도 일부(예: 허벅지의 일부)에 전달할 수 있다. 예를 들어, 구동부(110)의 모터(114)가 토크를 출력하는 경우 허벅지 지지 프레임은 모터(114)를 기준으로 회전할 수 있다. 허벅지 지지 프레임이 모터(114)를 기준으로 회전함으로써 허벅지 지지 프레임과 연결된 사용자의 허벅지를 들거나 내리는 동작을 보조(또는, 방해)할 수 있다.
통신 모듈(152)은 웨어러블 장치(100)와 외부 전자 장치 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(152)은 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(152)은 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크를 통하여 외부의 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다.
도 2는 일 예에 따른 전자 장치와 통신하는 웨어러블 장치를 설명하기 위한 도면이다.
도 2에 도시된 예에서, 웨어러블 장치(100)는 전자 장치(200)와 통신할 수 있다. 전자 장치(200)는 스마트폰, 태블릿, 스마트 워치, 글래스 등을 포함할 수 있고, 기재된 실시예로 한정되지 않는다. 예를 들어, 전자 장치(200)는 웨어러블 장치(100)의 사용자의 전자 장치일 수 있다. 다른 예로, 전자 장치(200)는 웨어러블 장치(100)를 착용한 사용자를 지도하는 트레이너의 전자 장치일 수 있다.
구현에 따라, 웨어러블 장치(100)와 전자 장치(200)는 근거리 무선 통신 방식 또는 셀룰러 이동 통신 방식을 통해 서버를 경유하여 통신할 수 있다.
전자 장치(200)는 디스플레이(200-1)에 웨어러블 장치(100)의 동작을 제어하기 위한 UI(user interface)를 표시할 수 있다. 예를 들어, UI는 사용자가 웨어러블 장치(100)를 제어할 수 있는 적어도 하나의 소프트키를 포함할 수 있다.
사용자는 전자 장치(200)의 디스플레이(200-1) 상의 UI를 통해 웨어러블 장치(100)의 동작을 제어하기 위한 명령을 입력할 수 있고, 전자 장치(200)는 명령에 대응하는 제어 명령을 생성하고, 생성된 제어 명령을 웨어러블 장치(100)로 전송할 수 있다. 웨어러블 장치(100)는 수신된 제어 명령에 따라 동작할 수 있고, 제어 결과를 전자 장치(200)로 전송할 수 있다. 전자 장치(200)는 제어 완료 메시지를 전자 장치(200)의 디스플레이(200-1)에 표시할 수 있다.
도 3 내지 도 4는 일 예에 따른 웨어러블 장치를 설명하기 위한 도면이다.
도 3 및 도 4에 도시된 예에서, 도 1A, 1B, 1C 및 도 1D의 웨어러블 장치(100)의 구동부들(110-1 및 110-2)은 사용자의 힙 관절 부근에 제공될 수 있고, 웨어러블 장치(100)의 제어부(140)는 허리 부근에 제공될 수 있다. 구동부들(110-1 및 110-2) 및 제어부(140)의 위치는 도 3 및 도 4에 도시된 예로 제한되지 않는다. 다른 일 실시 예에 따르면, 구동부들(110-1 및 110-2) 및 제어부(140)는 서로 다른 위치에 제공될 수 있다.
웨어러블 장치(100)는 사용자의 왼쪽 힙 관절 각도 q_l과 오른쪽 힙 관절 각도 q_r을 측정(또는, 센싱)한다. 일례로, 웨어러블 장치(100)는 왼쪽 엔코더를 통해 사용자의 왼쪽 힙 관절 각도 q_l을 측정할 수 있고, 오른쪽 엔코더를 통해 사용자의 오른쪽 힙 관절 각도 q_r을 측정할 수 있다. 도 4에 도시된 예에서, 왼쪽 다리는 기준선(420)보다 앞서므로 왼쪽 힙관절 각도 q_l은 음수(negative number)일 수 있고, 오른쪽 다리는 기준선(420)보다 뒤에 있으므로 오른쪽 고관절 각도 q_r은 양수(positive number)일 수 있다. 그러나, 개시된 실시 예로 한정되지 않으며, 다른 일 실시 예에 따르면, 오른쪽 다리가 기준선(420)보다 앞설 때 오른쪽 힙관절 각도 q_r이 음수일 수 있고, 왼쪽 다리가 기준선(420)보다 뒤에 있을 때 왼쪽 고관절 각도 q_l이 양수일 수 있다. 유사하게, 다리 스윙 속도에 대한 음수(즉, 음수 rad/s)는 기준선(420) 앞에 있는 사용자의 다리를 나타내기 위해 제공될 수 있고, 다리 스윙 속도에 대한 양수(즉, 양수 rad/s)는 기준선(420) 뒤에 있는 사용자의 다리를 나타내기 위해 제공될 수 있다.
일 실시 예에 따르면, 웨어러블 장치(100)는 왼쪽 힙 관절 각도 q_l, 오른쪽 힙 관절 각도 q_r, 게인 κ, 및 딜레이 △t를 기초로 토크 값 τ(t)을 결정하고, 결정된 토크 값 τ(t)이 출력되도록 웨어러블 장치(100)의 모터 드라이버 회로(112)를 제어할 수 있다. 토크 값 τ(t)에 의해 사용자에게 제공되는 힘은 포스 피드백으로 명명될 수 있다. 일례로, 웨어러블 장치(100)는 아래의 [수학식 1]에 기초하여 토크 값 τ(t)을 결정할 수 있다.
Figure PCTKR2022007919-appb-img-000001
[수학식 1]에서 y는 상태 인자(state factor)이고, q_r는 오른쪽 힙 관절 각도이고, q_l는 왼쪽 힙 관절 각도일 수 있다. 상기의 [수학식 1]에 따르면, 상태 인자 y는 두 다리들 사이의 거리를 나타낼 수 있다. 예를 들어, y가 0인 경우에는 다리들 사이의 거리가 0인 상태(즉, 교차 상태)를 나타내고, y의 절대 값이 최대인 경우에는 다리들 사이의 각도가 최대인 상태(즉, 랜딩 상태)를 나타낼 수 있다. 일 실시 예에 따르면, q_r q_l이 시각 t에서 측정된 경우, 상태 인자는 y(t)로 표현될 수 있다.
게인 κ는 출력되는 토크의 크기와 방향을 나타내는 파라미터이다. 게인 κ의 크기가 클수록 강한 토크가 출력될 수 있다. 게인 κ가 음수이면 사용자에게 저항력으로 작용하는 토크가 출력될 수 있고 게인 κ가 양수이면 사용자에게 보조력으로 작용하는 토크가 출력될 수 있다. 딜레이 △t는 토크의 출력 타이밍과 관련된 파라미터이다. 일 실시 예에 따르면, 게인 κ의 값 및 딜레이 △t의 값은 미리 설정될 수 있고, 사용자 또는 웨어러블 장치(100)에 의해 조정 가능할 수 있다.
도 5A는 일 예에 따른 느리고 좁은 보폭을 갖는 보행의 패턴을 도시하고, 도 5B는 일 예에 따른 빠르고 역동적인 보행의 패턴을 도시한다.
일 실시 예에 따르면, 근력이 부족하거나, 또는 병환이 있는 사용자는 속도가 느리고, 좁은 보폭으로 보행할 수 있다. 속도가 느리고, 좁은 보폭을 갖는 보행에 대한 사용자의 힙 관절 각도들이 도 5A에 도시된다. 그래프(511)는 시간에 대한 사용자의 힙 관절 각도들의 궤적들을 나타내고, 그래프(512)는 힙 관절 각도들 각각에 대한 다리의 스윙 속도를 나타낸다. 그래프들(511, 512)로 나타난 실시예에서는 사용자가 다리를 앞으로 내딛는 최대 각도가 -40°미만이고, 다리의 스윙 속도도 -5 rad/s를 넘기지 못한다. 보행 시의 최대 힙 관절 각도가 작고, 다리의 스윙 속도가 낮은 보행 패턴은 보행 민첩성(gait agility)이 낮은 것으로 평가될 수 있다.
일 실시 예에 따르면, 건강한 사용자의 보행은 역동적일 수 있다. 속도가 빠르고, 넓은 보폭을 갖는 역동적인 보행에 대한 건강한 사용자의 힙 관절 각도들이 도 5B에 도시된다. 그래프(521)는 시간에 대한 건강한 사용자의 힙 관절 각도들의 궤적들을 나타내고, 그래프(522)는 힙 관절 각도들 각각에 대한 다리의 스윙 속도를 나타낸다. 그래프들(521, 522)로 나타난 실시예에서는 건강한 사용자가 다리를 앞으로 내딛는 최대 각도가 -60°에 가깝고, 다리의 스윙 속도도 -5 rad/s를 넘긴다. 보행 시의 최대 힙 관절 각도가 크고, 다리의 스윙 속도가 높은 보행 패턴은 보행 민첩성이 높은 것으로 평가될 수 있다. 그래프들(512, 522)에서, 다리 스윙 속도에 대한 음수(즉, 음의 rad/s)는 기준선(420) 앞에 있는 사용자의 다리를 나타내기 위해 제공될 수 있고, 다리 스윙 속도에 대한 양수(즉, 양의 rad/s)는 기준선(420) 뒤에 있는 사용자의 다리를 나타내기 위해 제공될 수 있다.
기존에는 사용자의 민첩성의 정도를 측정하기 위해 트레드밀 및 대사 에너지를 측정하기 위한 장치들이 필요하였지만, 사용자가 보행하는 동안 사용자에게 제공되는 토크 대비 사용자가 발생시키는 보행 파워의 값을 보행에 대한 새로운 측정 지표로서 정의함으로써 기존의 방법 보다 간단하게 사용자의 보행 민첩성을 평가할 수 있을 수 있다. 상기와 같이 정의된 보행 민첩성은 사용자의 보행을 보조하기 위한 토크를 출력하는 웨어러블 장치(100)의 개인화를 위한 과정에서 이용될 수 있다.
일 실시 예에 따르면, 사용자 마다 최대 힙 관절 각도 및 다리의 스윙 속도와 같은 보행 패턴이 다 다르므로, 웨어러블 장치(100)가 사용자의 보행을 적절하게 보조하기 위해서는 사용자의 보행 패턴에 대응하도록 토크가 출력되는 크기 및 타이밍이 적절하게 조절되어야 할 수 있다. 토크의 크기 및 타이밍은 게인에 대한 파라미터의 값 및 딜레이에 대한 파라미터의 값을 조정함으로써 조절될 수 있다. 게인의 파라미터 값 및 딜레이의 파라미터 값이 적절하게 조절된 경우 사용자는 보행에 편안함을 느낄 수 있고, 보행의 패턴이 더 역동적으로 변화할 수 있다.
일 실시 예에 따르면, 웨어러블 장치(100)가 사용자에 대해 개인화되지 않은 경우 웨어러블 장치(100)는 사용자에게 적절한 토크의 크기 및 타이밍을 제공하지 못할 수 있다. 웨어러블 장치(100)를 개인화하기 위해, 사용자는 웨어러블 장치(100)를 착용한 상태로 테스트 보행을 수행할 수 있고, 웨어러블 장치(100)는 테스트 보행을 통해 사용자의 보행에 적합한 파라미터 값들을 결정할 수 있다.
일 실시 예에 따르면, 웨어러블 장치(100)는 사용자의 보행 패턴 또는 보행 스타일을 결정하기 위해, 평가적인 지표로서 보행 민첩도(gait agility degree)를 이용할 수 있다. 예를 들어, 보행 민첩도의 값은 보행 시에 나타나는 힙 관절 각도, 힙 관절 각속도 및 웨어러블 장치(100)에 의해 출력되는 토크의 크기에 기초하여 결정될 수 있다.
일 실시 예에 따르면, 사용자가 웨어러블 장치(100)를 착용하고, 테스트 보행을 통해 개인화하는 과정에서 웨어러블 장치(100)가 출력하는 토크의 크기 및 타이밍이 계속적으로 조정되는데, 사용자가 출력되는 토크의 크기 및 타이밍이 불편하다면 해당 보행에 대한 보행 민첩도의 값이 감소하고, 사용자가 출력되는 토크의 크기 및 타이밍이 편안하다면 해당 보행에 대한 보행 민첩도의 값이 최대화될 수 있다. 반복적인 보행에 대해 보행 민첩도의 값이 더 이상 증가하지 않는다면, 출력되는 토크 및 타이밍이 최적화된 것으로 평가될 수 있다.
일 실시 예에 따른, 보행 민첩도의 값에 기초하여 웨어러블 장치(100)의 제어에 이용되는 파라미터의 값을 조정하는 방법에 대해 아래에서 도 6 내지 도 13을 참조하여 상세히 설명된다.
도 6은 일 예에 따른 웨어러블 장치의 파라미터 값을 최적화하기 위한 블록도를 도시한다. 일 실시 예에 따르면, 최적화는 최적화기(optimizer)(605)에 의해 수행될 수 있다. 일 실시 예에 따르면, 최적화기는 프로세서(142)와 같은 프로세서에 의해 구현될 수 있다.
일 실시 예에 따르면, 웨어러블 장치(100)는 사용자의 테스트 보행 동안 시스템(601)으로부터 출력되는 토크에 대한 민감도(602), 딜레이(603), 및 게인(604) 중 적어도 하나에 대한 파라미터의 값을 결정할 수 있다. 파라미터 값은 테스트 보행 동안 계속적으로 조정될 수 있다. 출력되는 토크에 대한 민감도, 게인, 및 딜레이 중 적어도 하나에 대한 파라미터는 제어 파라미터로 명명될 수 있다. 일 실시 예에 따르면, 시스템(601)은 센서, 모터 드라이버 회로 및 모터를 포함할 수 있다. 그러나, 개시된 실시 예에 한정되지 않으며, 시스템(601)에 구성요소들이 추가되거나 제거될 수 있다.
일 실시 예에 따르면, 웨어러블 장치(100)는 센서부(120)가 측정한 제1 관절(예: 오른쪽 힙 관절)의 제1 원시 각도(예: q_r_raw) 및 제2 관절(예: 왼쪽 힙 관절)의 제2 원시 각도(예: q_l_raw)를 필터링함으로써 제1 각도 및 제2 각도를 획득할 수 있다. 예를 들어, 웨어러블 장치(100)는 이전 시각에 대해 측정된 제1 이전 각도 및 제2 이전 각도에 기초하여 제1 원시 각도 및 제2 원시 각도를 필터링할 수 있다.
웨어러블 장치(100)는 제1 각도 및 제2 각도에 기초하여 제1 상태 인자를 결정할 수 있다. 사용자가 느끼는 불편감을 감소시키기 위해 상태 인자가 필터링될 수 있다. 예를 들어, 웨어러블 장치(100)는 제1 각도 및 제2 각도에 기초하여 현재 시각 t의 초기 상태 인자
Figure PCTKR2022007919-appb-img-000002
및 초기 상태 인자
Figure PCTKR2022007919-appb-img-000003
에 기초하여 제1 상태 인자 y(t)를 결정할 수 있다. 현재 시각 t는 t 번째의 데이터(또는, 샘플)에 대한 처리 시각을 의미하고, 이전 시각 t-1는 t-1 번째의 데이터에 대한 처리 시각을 의미할 수 있다. 예를 들어, 현재 시각 t 및 이전 시각 t-1 간의 차이는 해당 데이터들을 생성 또는 처리하는 프로세서의 동작 주기일 수 있다.
일 실시 예에 따르면,α는 민감도(602)를 나타내는 파라미터의 값일 수 있다. 예를 들어, 민감도 값은 테스트 보행 동안 계속적으로 조정될 수 있으나, 계산의 복잡성을 낮추기 위해 민감도 값은 일정한 값으로 미리 설정될 수 있다. 일 실시 예에 따르면, α는 민감도를 나타내는 평활화 인자(smoothing factor)일 수 있다.
일 실시 예에 따르면, 웨어러블 장치(100)는 제1 상태 인자 y(t)에 대해 결정된 파라미터 값으로서 제1 게인 값(604) 및 제1 딜레이 값(603)을 제1 상태 인자 y(t)에 적용함으로써 아래의 [수학식 2]을 통해 제1 토크 값을 결정할 수 있다.
Figure PCTKR2022007919-appb-img-000004
두 다리들에 적용되어야 하므로, 계산된 제1 토크 값은 제1 관절에 대한 값 및 제2 관절에 대한 값을 포함할 수 있다. 예를 들어,
Figure PCTKR2022007919-appb-img-000005
은 제2 관절인 왼쪽 힙 관절에 대한 값일 수 있고,
Figure PCTKR2022007919-appb-img-000006
은 제1 관절인 오른쪽 힙 관절에 대한 값일 수 있다. 일 실시 예에 따르면,
Figure PCTKR2022007919-appb-img-000007
Figure PCTKR2022007919-appb-img-000008
은 크기는 동일하고, 토크의 방향이 반대인 값일 수 있다. 웨어러블 장치(100)는 제1 토크 값에 대응하는 토크가 출력되도록 웨어러블 장치(100)의 모터 드라이버(112)를 제어할 수 있다.
도 7A는 일 실시 예에 따른 웨어러블 장치의 파라미터의 값을 조정하는 방법의 흐름도이다.
일 실시 예에 따르면, 아래의 동작들 701 내지 705가 웨어러블 장치(100)의 제어부(140)에 의해 수행될 수 있다. 예를 들어, 동작들 701 내지 705는 제어부(140)의 프로세서(142)에 의해 수행될 수 있다. 사용자는 웨어러블 장치(100)를 착용하고, 테스트 보행을 수행할 수 있다. 테스트 보행이 수행되는 동안, 동작들 701 내지 705가 사용자에 대한 웨어러블 장치(100)의 개인화를 위해 수행될 수 있다. 즉, 웨어러블 장치(100)의 개인화가 종료된 경우에는 해당 사용자에 대한 웨어러블 장치(100)의 제어 파라미터들에 대해 최적화된 값들이 결정될 수 있다.
동작 701에서, 프로세서(142)는 웨어러블 장치(100)를 착용한 사용자가 보행하는 동안 보행을 보조하기 위한 제1 토크를 출력할 수 있다. 예를 들어, 제1 토크의 크기, 출력 타이밍 및 민감도 중 적어도 하나는 토크를 출력하기 위해 이용되는 파라미터의 제1 값에 기초하여 결정될 수 있다. 토크를 출력하기 위해 이용되는 파라미터는 제어 파라미터일 수 있다.
일 실시 예에 따르면, 사용자는 제1 시간 동안 테스트 보행을 할 수 있고, 제1 시간 동안 제1 토크를 포함하는 복수의 토크들이 테스트 보행을 위해 출력될 수 있다. 복수의 토크들의 각각의 민감도, 크기 및 출력 타이밍은 해당 토크를 출력하기 위해 이용되는 파라미터(예: 게인, 딜레이 또는 민감도)의 값에 기초하여 결정될 수 있다. 예를 들어, 제1 시간 동안 복수의 토크들에 대한 파라미터의 값들은 제1 그룹(또는, 제1 세대) 내의 값들일 수 있다.
일 실시 예에 따르면, 프로세서(142)는 웨어러블 장치(100)가 착용된 사용자의 하지의 적어도 일부에 제1 토크를 출력할 수 있다. 예를 들어, 프로세서(142)는 사용자의 힙 관절, 무릎 관절 및/또는 발목 관절의 주위에 제공된 모터를 제어함으로써 사용자의 관절에 관절을 접거나 펼 수 있는 제1 토크를 출력할 수 있다. 관절이 펴지는 것이 자연스러운 보행 메커니즘에서, 관절을 펴기 위해 출력되는 토크는 보조 토크이고, 관절을 펴는 것을 방해하는 토크는 저항 토크일 수 있다.
제1 토크를 출력하는 방법에 대한 설명이, 아래에서 도 7B의 동작 710에 대한 설명으로 상세히 개시된다.
동작 702에서, 프로세서(142)는 제1 토크의 출력과 연관되어 획득되는 사용자의 관절의 제1 각속도에 기초하여 토크의 출력에 대한 상기의 관절의 각속도가 증가할 수 있도록 제어 파라미터의 제2 값을 결정할 수 있다. 예를 들어, 프로세서(142)는 제1 토크의 출력과 연관된 사용자의 관절의 제1 각속도를 획득하고, 획득된 제1 각속도에 기초하여 토크의 출력에 대한 제1 관절의 각속도가 증가할 수 있도록 제어 파라미터의 제2 값을 결정할 수 있다.
일 실시 예에 따르면 프로세서(142)는 사용자의 관절의 제1 각속도를 이용하여 제1 토크에 대한 사용자의 보행 민첩성의 정도를 나타내는 제1 보행 민첩도를 계산할 수 있다. 보행 민첩도는 사용자의 보행 민첩성을 수치적으로 나타내기 위해 정의된 파라미터일 수 있다. 보행 민첩도의 값을 통해 사용자의 보행 민첩성의 정도가 측정될 수 있다. 예를 들어, 제1 보행 민첩도는 관절의 각속도일 수 있다. 다른 예로, 제1 보행 민첩도는 관절의 각속도를 입력 요소로 하는 보행 민첩도를 계산하기 위한 수학식 또는 함수(예: 목적 함수)의 결과일 수 있다. 수학식 또는 함수를 통해 보행 민첩도를 계산하는 실시 예에서, 관절의 각속도가 증가하는 경우 이에 기초하여 계산된 보행 민첩도의 값도 증가하는 경향이 나타날 수 있다. 관절의 각속도를 입력 요소로 하는 보행 민첩도의 계산 방법에 대해, 아래에서 도 7B를 참조하여 상세히 설명된다.
일 실시 예에 따르면, 사용자가 보행하기 편하게 토크가 출력되는 경우 사용자의 보행은 역동적으로 변화할 수 있고, 보행의 역동성은 관절(특히, 힙 관절)의 각속도가 증가하는 것으로 나타날 수 있다. 이에 따라, 프로세서(142)는 관절에 배치된 센서(예: 엔코더)를 통해 제1 토크가 출력된 시점에서의 관절의 각도 또는 각속도를 제1 상태 정보로서 획득할 수 있다. 관절의 제1 상태 정보를 획득하는 방법에 대한 설명이, 아래에서 도 7B의 동작 720에 대한 설명으로 상세히 개시된다.
일 실시 예에 따르면, 프로세서(142)는 출력되는 토크에 대한 사용자의 관절의 각속도가 증가할 수 있도록 토크를 출력하기 위해 이용되는 파라미터의 제2 값을 결정할 수 있다. 예를 들어, 프로세서(142)는 파라미터의 제1 값에 기초하여 제2 값을 결정할 수 있다. 다른 일 실시 예에 따르면, 제1 그룹의 파라미터의 값들에 기초하여 제2 값으로서 제2 그룹의 파라미터의 값들을 결정할 수 있다.
일 실시 예에 따르면, 관절의 각속도가 보행 민첩도를 나타내는 경우, 보행 민첩도로서 관절의 각속도가 증가할 수 있도록 파라미터의 제2 값이 결정될 수 있다.
일 실시 예에 따르면, 관절의 각속도를 입력 요소로 하는 수학식 또는 함수를 통해 보행 민첩도가 계산되는 경우, 보행 민첩도가 증가할 수 있도록 파라미터의 제2 값이 결정될 수 있다.
동작 703에서, 프로세서(142)는 프로세서(142)는 웨어러블 장치(100)를 착용한 사용자가 보행하는 동안 보행을 보조하기 위한 제2 토크를 출력할 수 있다. 예를 들어, 제2 토크의 민감도, 크기 및 출력 타이밍 중 적어도 하나는 파라미터의 제2 값에 기초하여 결정될 수 있다.
일 실시 예에 따르면, 프로세서(142)는 웨어러블 장치(100)가 착용된 사용자의 하지의 적어도 일부에 제2 토크를 출력할 수 있다. 예를 들어, 제2 토크가 출력되는 사용자의 하지의 적어도 일부는 제1 토크가 출력되는 부분과 동일할 수 있다. 예를 들어, 프로세서(142)는 사용자의 힙 관절에 배치된 모터(144)를 제어함으로써 제2 토크를 출력할 수 있다.
일 실시 예에 따르면, 사용자는 동작 701의 제1 시간에 이어서 제2 시간 동안 테스트 보행을 할 수 있고, 제2 시간 동안 제2 토크를 포함하는 복수의 토크들이 테스트 보행을 위해 출력될 수 있다. 예를 들어, 제2 시간 동안 복수의 토크들에 대한 파라미터의 값들은 제2 그룹(또는, 제2 세대) 내의 값들일 수 있다.
동작 704에서, 프로세서(142)는 제2 토크의 출력과 연관되는 사용자의 관절의 제2 상태 정보의 제2 각속도를 획득할 수 있다. 동작 704에 대한 설명은 동작 702에 대한 설명이 유사하게 적용될 수 있으므로, 이하에서 생략한다.
일 실시 예에 따르면, 관절의 각속도가 보행 민첩도를 나타내는 경우, 보행 민첩도로서 관절의 제2 각속도가 제2 보행 민첩도로 획득될 수 있다.
일 실시 예에 따르면, 관절의 각속도를 입력 요소로 하는 수학식 또는 함수를 통해 보행 민첩도가 계산되는 경우, 관절의 제2 각속도에 기초하여 제2 보행 민첩도가 계산될 수 있다.
동작 705에서, 프로세서(142)는 파라미터의 최적화에 대한 종료 조건이 만족된 경우 파라미터의 제2 값에 기초하여 파라미터의 최종 값을 결정할 수 있다. 최종 값은 사용자에게 최적화된 값일 수 있다. 파라미터의 최종 값을 결정하는 방법에 대한 설명이 도 11, 12 및 13을 참조하여 상세히 설명된다.
일 실시 예에 따르면, 파라미터의 최적화에 대한 종료 조건이 만족되지 않은 경우, 전술된 동작들 702, 703 및 704가 반복적으로 수행될 수 있다. 예를 들어, 동작 704가 수행된 이후 종료 조건이 만족되지 않은 것으로 결정된 경우, 동작 702가 재수행될 수 있다. 동작 702에서, 프로세서(142)는 제2 각속도가 계산된 이후에 종료 조건이 만족되지 않은 경우, 출력되는 토크에 대한 관절의 각속도 또는 각속도에 기초하여 계산되는 보행 민첩도가 증가할 수 있도록 제어 파라미터의 제2 값을 재결정할 수 있다. 반복적인 동작들 702 내지 704의 수행을 통해 사용자에게 최적화된 파라미터의 값이 결정될 수 있다.
도 7B는 일 실시 예에 따른 웨어러블 장치의 파라미터의 제2 값을 결정하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 7A를 참조하여 전술된 동작 701은 아래의 동작 710을 포함할 수 있다.
동작 710에서, 프로세서(142)는 파라미터의 제1 값에 기초하여 제1 시각에서 사용자의 보행을 보조하기 위한 제1 토크를 출력할 수 있다. 예를 들어, 파라미터의 제1 값은 미리 설정된 파라미터의 초기 값일 수 있다. 파라미터의 제1 값은 제1 게인 값, 제1 딜레이 값, 및 제1 민감도 값 중 적어도 하나를 포함할 수 있다. 제1 토크를 출력하는 방법에 대해, 아래에서 도 8을 참조하여 상세히 설명된다.
예를 들어, 파라미터의 제1 값은 제1 게인 값, 제1 딜레이 값, 또는 제1 민감도 값 중 어느 하나만을 포함하는 1D(dimension) 값일 수 있다. 파라미터의 제1 값이 1D 값인 경우 해당 파라미터의 값의 최적화가 2D 값 및 3D 값에 대한 최적화에 비해 빠르게 수행될 수 있다. 예를 들어, 파라미터 제1 값은 제1 게인 값을 나타낼 수 있고, 동작 701 내지 705를 통해 게인 값에 대한 최적화가 수행될 수 있다.
다른 일 실시 예에 따르면, 파라미터의 제1 값은 제1 게인 값, 제1 딜레이 값, 및 제1 민감도 값 중 어느 두 개를 포함하는 2D 값일 수 있다. 파라미터 제1 값이 제1 게인 값 및 제1 딜레이 값을 포함하는 2D 값인 경우의 실시예에 대해, 아래에서 도 9, 10, 11, 및 12를 참조하여 상세히 설명된다.
다른 일 실시 예에 따르면, 파라미터의 제1 값은 제1 게인 값, 제1 딜레이 값, 및 제1 민감도 값을 모두 포함하는 3D 값일 수 있다. 파라미터의 제1 값이 3D 값인 경우 1D 값 및 2D 값인 경우에 비해 최적화의 속도가 늦을 수 있지만, 사용자의 보행에 최적화된 파라미터 값들이 결정될 수 있다.
일 실시예에 따르면, 파라미터의 제1 값은 제1 세대(first generation)(또는, 제1 그룹)의 파라미터 값들의 세트 중 하나일 수 있다. 각 세대의 파라미터 값들의 세트는 복수의 서브 파라미터 값들을 포함할 수 있다. 예를 들어, 파라미터 값들의 세트 내의 제1 서브 파라미터 값은 제1 민감도 값, 제1 게인 값 및 제1 딜레이 값을 포함할 수 있다. 예를 들어, 각 세대의 파라미터 값들의 세트는 미리 설정된 기간(예: 동작 701의 제1 시간) 동안 웨어러블 장치(100)에 적용되고, 기간이 종료된 경우 다음 기간(예: 동작 704의 제2 시간) 동안 다음 세대의 파라미터 값들의 세트가 웨어러블 장치(100)에 적용될 수 있다. 예를 들어, 미리 설정된 기간은 미리 설정된 스트라이드(stride) 횟수일 수 있다. 각 세대의 파라미터 값들의 세트에 대해 아래에서 도 9를 참조하여 상세히 설명된다.
일 실시예에 따르면, 용어 '세대'는 파라미터의 값들을 최적화기 위해 이용되는 반복적인 파라미터의 값의 조정들의 페이즈(phase)를 구분하기 위해 정의된다. 예를 들어, 제2 세대에 포함된 파라미터의 값들은 전반적으로 제1 세대에 포함된 파라미터의 값들 보다 개선될 수 있다. 즉, 다음 세대(예: 제2 세대)의 파라미터의 값은 이전 세대(예: 제1 세대)의 파라미터의 값 보다 사용자에게 최적화된 것일 수 있다. 다만, 잘못된 방향으로의 파라미터의 값이 최적화가 되는 것을 방지하지 위해, 제2 세대에 포함된 파라미터의 값들 중 일부는 제1 세대에 포함된 파라미터의 값들 보다 개선되지 않은 파라미터의 값일 수도 있다.
프로세서(142)는 제1 세대의 파라미터 값들의 세트를 이용하여 제1 시각에서 사용자의 보행을 보조하기 위한 제1 토크를 출력할 수 있다. 예를 들어, 제1 세대의 제1 서브 파라미터 값에 기초하여 제1 토크가 제1 시각에서 출력될 수 있고, 제1 세대의 제2 서브 파라미터 값에 기초하여 제2 토크가 제2 시각에서 출력될 수 있다. 제1 시각 및 제2 시각은 동작 701의 제1 시간 내에 포함될 수 있다.
일 실시예에 따르면, 프로세서(142)는 제1 토크를 사용자의 하지의 적어도 일부에 출력할 수 있다. 예를 들어, 프로세서(142)는 사용자의 힙 관절, 무릎 관절 및/또는 발목 관절의 주위에 배치된 모터(114)를 제어함으로써 사용자의 관절에 관절을 접거나 펼 수 있는 제1 토크를 출력할 수 있다.
일 실시 예에 따르면, 도 7A를 참조하여 전술된 동작 702은 아래의 동작들 720 내지 750을 포함할 수 있다.
동작 720에서, 프로세서(142)는 제1 시각에서의 사용자의 제1 관절(예: 힙 관절)의 제1 상태 정보를 획득할 수 있다. 제1 관절의 제1 상태 정보는 관절 각도 및 관절 각속도 중 적어도 하나를 포함할 수 있다. 예를 들어, 제1 관절은 제1 토크가 출력된 하지의 적어도 일부에 대응하는 관절일 수 있다.
일 실시 예에 따르면, 사용자의 관절 주위에 제공되는 센서부(120)(또는, 엔코더)가 관절의 각도를 센싱하고, 프로세서(142)는 센서부(120)로부터 센싱된 관절의 각도를 획득할 수 있다. 측정된 관절의 각도는 측정된 시각에 대한 타임 스탬프와 연관되어 있을 수 있다. 예를 들어, 프로세서(142)는 센싱된 관절 각도에 기초하여 제1 시각에서의 관절 각속도를 계산할 수 있다.
동작 730에서, 프로세서(142)는 제1 상태 정보에 기초하여 제1 관절에서 발생하는 제1 파워 값을 결정할 수 있다. 제1 보행 민첩도는 제1 각속도 뿐만 아니라, 제1 토크를 추가 입력 요소로 하는 보행 민첩도를 계산하기 위한 수학식 또는 함수(예: 목적 함수)의 결과일 수 있다. 예를 들어, 프로세서(142)는 제1 상태에 대한 제1 각속도 및 제1 토크에 기초하여 제1 파워 값을 결정할 수 있다. 제1 파워 값은 제1 각속도 및 제1 토크의 곱으로 계산될 수 있다. 계산된 제1 파워 값은 제1 토크에 대한 사용자의 보행 민첩성의 정도를 나타내는 제1 보행 민첩도를 계산하기 위한 요소로서 이용될 수 있다. 상기의 계산 방식을 이용하면, 토크가 커지지만, 각속도가 낮아지는 경우에 대해 계산되는 파워의 값은 토크가 상대적으로 크지 않지만, 각속도가 증가하는 경우에 대해 계산되는 파워의 값에 비해 작을 수 있다. 상기의 경우에서는 토크가 상대적으로 크지 않은 경우가 관절의 높은 각속도를 획득하기 위해 적합할 수 있다.
일 실시 예에 따르면, 동작들 710 내지 730이 반복적으로 수행됨으로써 제1 세대의 파라미터 값들의 세트에 기초한 복수의 토크들이 출력되고, 출력된 복수의 토크들에 대한 제1 관절의 상태 정보(예: 각속도)들이 획득되고, 상태 정보들에 기초하여 제1 관절에서 발생하는 파워 값들이 계산될 수 있다.
동작 740에서, 프로세서(142)는 제1 토크 및 제1 파워 값에 기초하여 보행 민첩성의 정도를 나타내는 제1 보행 민첩도를 계산할 수 있다. 예를 들어, 동작 740에서 계산된 제1 보행 민첩도는 파라미터의 제1 값(또는, 제1 세대의 복수의 서브 파라미터 값들)에 기초하여 보행한 사용자의 보행에 대한 평가 값일 수 있다.
일 실시예에 따르면, 제1 토크에 기초하여 제1 세대의 기간 동안의 제1 RMS(root mean square) 토크가 계산되고, 제1 파워 값에 기초하여 계산된 제1 세대의 기간 동안의 제1 평균 파워 값이 계산되고, 제1 RMS 토크 및 제1 평균 파워 값에 기초하여 제1 세대에 대한 제1 보행 민첩도가 계산될 수 있다.
일 실시 예에 따르면, 제1 보행 민첩도는 상기의 제1 시간 동안 사용자에게 출력되는 복수의 토크들 또는 복수의 토크들과 연관된 파라미터의 값들의 적합도를 나타내는 평가 값일 수 있다.
일 실시 예에 따른, 제1 RMS 토크 및 제1 평균 파워 값에 기초하여 제1 보행 민첩도를 결정하는 방법이 아래에서 도 10을 참조하여 상세히 설명될 수 있다.
동작 750에서, 프로세서(142)는 제1 보행 민첩도에 기초하여 이 후에 결정될(예: 다음 세대의 파라미터 값들의 세트에 대해 결정될) 제2 보행 민첩도의 값이 증가할 수 있도록 파라미터의 제2 값을 결정할 수 있다. 예를 들어, 파라미터의 제1 값을 조정함으로써 파라미터의 제2 값을 결정할 수 있다. 예를 들어, 제2 세대에 대해 계산되는 제2 보행 민첩도가 제1 세대에 대해 계산된 제1 보행 민첩도 보다 증가할 수 있도록 파라미터의 제2 값이 결정될 수 있다.
일 실시 예에 따르면, 프로세서(142)는 공분산 행렬 적응 진화 전략(covariance matrix adaptation evolution strategy: CMA-ES)을 이용하여 파라미터 제1 값을 조정함으로써 파라미터의 제2 값을 결정할 수 있다. 파라미터의 제2 값은 제2 세대의 파라미터 값들의 세트 중 하나일 수 있다. CMA-ES는 진화 전략의 흐름을 짜기 위해 특정한 파라미터의 값에 대한 최적화 과정을 생물학적 진화 과정으로 간주하고, 계산들의 반복들을 '세대'로 정의한다. CMA-ES는 적응적으로 특정한 값에 대한 그룹의 공분산 행렬을 갱신하는 것을 특징으로 할 수 있다. CMA-ES를 파라미터의 값을 최적화하는 방법에 적용한다면, CMA-ES를 이용하여 제1 세대의 복수의 서브 파라미터 값들에 대한 공분산 행렬이 갱신됨으로써 다음 세대인 제2 세대의 복수의 서브 파라미터 값들이 생성될 수 있다.
도 7A를 참조하면, 동작 750에서 결정된 파라미터의 제2 값에 대한 동작 703이 수행될 수 있다.
일 실시 예에 따르면, 테스트 보행이 미리 설정된 세대들(예: 총 12 세대) 동안 수행되는 경우, 세대들 각각에 대해 동작들 702 내지 704가 수행될 수 있다. 복수의 세대들을 통해 조정되는 파라미터의 값들에 대해 아래에서 도 11을 참조하여 상세히 설명된다.
도 8은 일 예에 따른 파라미터의 값에 기초하여 토크를 출력하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 7A 및 7B를을 참조하여 전술된 동작 710은 아래의 동작들 810, 820 및 830을 포함할 수 있다.
동작 810에서, 프로세서(142)는 사용자의 이전 시각의 제1 관절의 이전 상태 정보를 결정할 수 있다. 제1 관절의 이전 상태 정보는 제1 관절의 각도 및 각속도 중 적어도 하나를 포함할 수 있다. 예를 들어, 제1 시각이 t시각인 경우, 제1 시각의 이전 시각은 t-1 시각일 수 있다. 다른 일 실시 예에 따르면, 이전 시각의 이전 상태는 초기 상태일 수 있다. t 시각은 t번째 데이터 샘플이 획득된 시각이고, t-1 시각은 t-1 번째 데이터 샘플이 획득된 시각일 수 있다.
일 실시 예에 따르면, 제1 관절인 오른쪽 힙 관절 및 제2 관절인 왼쪽 힙 관절의 이전 상태 정보들이 결정될 수 있다.
동작 820에서, 프로세서(142)는 이전 상태 정보에 기초하여 이전 상태 인자를 결정할 수 있다. 예를 들어, 이전 상태 인자로서 y(t-1)가 계산될 수 있다.
동작 830에서, 프로세서(142)는 이전 상태 인자 및 파라미터의 제1 값(예: 제1 서브 파라미터 값)에 기초하여 제1 시각(예: t 시각)에서 제1 토크를 출력한다. 제1 시각은 이전 시각에서 파라미터의 값에 의해 딜레이된 시각일 수 있다.
프로세서(142)는 제1 토크가 출력되도록 모터 드라이버 회로(112)를 제어할 수 있다.
도 9는 일 예에 따른 제1 세대의 파라미터 값들의 세트를 도시한다.
일 실시 예에 따르면, 웨어러블 장치(100)에 파라미터의 기본 값(910)이 미리 설정될 수 있다. 예를 들어, 파라미터의 기본 값(910)은 테스트 보행을 위해 사용자에 의해 선택될 수 있다. 다른 실시 예에 따르면, 파라미터의 기본 값(910)은 테스트 보행에 대해 미리 설정된 파라미터의 값일 수 있다. 도시된 실시예에서 파라미터의 기본 값(910)은 딜레이 값 및 게인 값을 동시에 나타내는 2D 값으로 표현되었으나, 게인 값 만을 나타내는 1D 값으로 표현되거나, 또는 민감도 값을 더 나타내는 3D 값으로 표현될 수도 있다. 다른 예로, 파라미터 기본 값(910)은 게인 값 및 민감도 값을 동시에 나타내는 2D 값으로 표현될 수 있다. 파라미터의 값의 차원(dimension)에 따라 파라미터의 값의 최적화를 위한 계산의 복잡도가 달라질 수 있다.
일 실시 예에 따르면, 웨어러블 장치(100)의 프로세서(142)는 파라미터의 기본 값(910)에 기초하여 제1 세대의 파라미터 값들의 세트를 생성할 수 있다. 예를 들어, CMA-ES에 기초하여 제1 세대의 파라미터 값들의 세트가 생성될 수 있다. 다른 실시 예에 따르면, 제1 세대의 파라미터 값들의 세트는 파라미터 기본 값(910)의 수치를 임의적으로(randomly) 변경함으로써 생성될 수 있다.
예를 들어, 제1 세대의 파라미터 값들의 세트는 제1 서브 파라미터 값(911), 제2 서브 파라미터 값(912), 제3 서브 파라미터 값(913), 제4 서브 파라미터 값(914), 제5 서브 파라미터 값(915), 및 제6 서브 파라미터 값(916)을 포함할 수 있다. 프로세서(142)는 제1 서브 파라미터 값(911)을 적용함으로써 제1 서브 파라미터 값(911)에 대해 설정된 제1 기간 동안 토크를 출력하고, 제1 기간이 종료된 경우에는 제2 서브 파라미터 값(912)을 적용함으로써 제2 서브 파라미터 값(912)에 대해 설정된 제2 기간 동안 토크를 출력할 수 있다. 프로세서(142)는 제3 서브 파라미터 값(913), 제4 서브 파라미터 값(914), 제5 서브 파라미터 값(915), 및 제6 서브 파라미터 값(916)을 입력하고, 제6 서브 파라미터 값(916)에 대해 설정된 제6 기간이 종료된 경우 제1 세대의 파라미터 값들의 세트에 대한 평가를 수행할 수 있다. 예를 들어, 제1 세대의 파라미터 값들의 세트에 대한 평가의 결과로서 제1 보행 민첩도가 계산될 수 있다.
도 9에서는 파라미터 값들의 세트 내의 서브 파라미터 값들의 개수는 6개가 도시되었으나, 서브 파라미터 값들의 개수는 사용자 또는 프로세서(142)에 의해 설정될 수 있다. 예를 들어, 서브 파라미터 값의 차원에 따라 서브 파라미터 값들의 개수가 달라질 수 있다.
일 실시 예에 따르면, 제1 보행 민첩도를 계산하는 방법이 아래에서 도 10을 참조하여 상세하게 설명된다.
도 10은 일 예에 따른 입력 토크 및 출력 파워에 기초하여 보행 민첩도를 계산하는 방법을 흐름도이다.
일 실시 예에 따르면, 도 7B를 참조하여 전술된 동작 740은 아래의 동작들 1010, 1020 및 1030을 포함할 수 있다.
동작 1010에서, 프로세서(142)는 제1 토크에 기초하여 제1 RMS(root mean square) 토크를 계산할 수 있다.
일 실시 예에 따르면, 프로세서(142)는 제1 세대의 파라미터 값들의 세트 내의 서브 파라미터 값들 각각에 의해 출력된 토크들에 대한 제1 RMS 토크를 계산할 수 있다. 예를 들어, 제1 RMS 토크는 아래의 [수학식 3]에 기초하여 계산될 수 있다.
Figure PCTKR2022007919-appb-img-000009
[수학식 3]에서, n은 해당 세대의 파라미터 값들의 세트 내의 서브 파라미터 값들의 총 수를 나타내고,
Figure PCTKR2022007919-appb-img-000010
는 i번째의 서브 파라미터 값에 의해 출력된 토크를 나타내고,
Figure PCTKR2022007919-appb-img-000011
는 해당 세대에 대한 RMS 토크를 나타낸다.
동작 1020에서, 프로세서(142)는 제1 파워 값에 기초하여 제1 평균 파워 값을 계산할 수 있다. 제1 파워 값은 제1 토크가 출력됨으로써 발생하는 파워 값을 의미한다. 제1 파워 값은 제1 토크(
Figure PCTKR2022007919-appb-img-000012
) 및 제1 각속도(
Figure PCTKR2022007919-appb-img-000013
) 간의 곱으로 계산될 수 있다. 제1 각속도는 제1 관절의 제1 상태 정보에 기초하여 획득될 수 있다.
일 실시 예에 따르면, 프로세서(142)는 제1 세대의 파라미터 값들의 세트 내의 서브 파라미터 값들 각각에 의해 출력된 토크들 및 토크들이 출력된 시각에서 획득된 각속도들에 기초하여 제1 평균 파워 값을 계산할 수 있다. 예를 들어, 제1 평균 파워 값은 제1 파워 값 및 제1 시각 보다 후행하는 제2 시각에 대한 제2 파워 값에 기초하여 제1 평균 파워 값을 계산할 수 있다. 제1 평균 파워 값은 아래의 [수학식 4]에 기초하여 계산될 수 있다.
Figure PCTKR2022007919-appb-img-000014
[수학식 4]에서, n은 해당 세대의 파라미터 값들의 세트 내의 서브 파라미터 값들의 총 수를 나타내고,
Figure PCTKR2022007919-appb-img-000015
는 i번째(또는, 시각 또는 샘플)의 서브 파라미터 값에 의해 출력된 토크를 나타내고,
Figure PCTKR2022007919-appb-img-000016
는 i번째의 각속도를 나타내고, MP는 해당 세대에 대한 평균 파워 값을 나타낸다.
동작 1030에서, 프로세서(142)는 제1 RMS 토크 및 제1 평균 파워 값에 기초하여 제1 보행 민첩도를 계산할 수 있다. 예를 들어, 프로세서는 아래의 [수학식 5]에 기초하여 보행 민첩도를 계산할 수 있다. 계산된 보행 민첩도의 값의 단위는 rad/sec일 수 있다.
Figure PCTKR2022007919-appb-img-000017
도 11은 일 예에 따른 이전 세대의 서브 파라미터 값들에 기초하여 다음 세대의 서브 파라미터 값을 결정하는 방법을 도시한다.
일 실시 예에 따르면, 테스트 보행은 미리 설정된 기간 동안 수행될 수 있고, 미리 설정된 기간은 파라미터의 값을 갱신하는 횟수에 기초할 수 있다. 파라미터의 값의 갱신은 전술된 파라미터의 값의 세대의 변화를 의미할 수 있다. 예를 들어, 테스트 보행은 파라미터의 값이 제1 세대부터 제12 세대(또는, 제8 세대)까지 변화할 동안 수행될 수 있다.
일 실시 예에 따르면 각 세대는 미리 설정된 개수의 복수의 서브 파라미터 값들(예: 6개)을 포함할 수 있다. 예를 들어, 제1 세대의 파라미터 값들의 세트는 기본 파라미터 값(1101)에 의해 기초하여 생성되는 서브 파라미터 값들을 포함할 수 있고, 프로세서(142)는 서브 파라미터 값들에 기초하여 제1 세대에 대한 제1 보행 민첩도를 결정하고, 프로세서(142)는 제2 세대에 대해 계산될 제2 보행 민첩도가 증가할 수 있는 방향으로 제2 세대의 파라미터 값들의 세트를 생성할 수 있다.
일 실시 예에 따르면, 제2 세대의 파라미터 값들의 세트는 CMA-ES(Covariance matrix adaptation evolution strategy)를 이용하여 생성될 수 있다. CMA-ES는 탐색점에서 공분산 행렬을 계산함으로써 헤세 행렬(Hessian matrix)을 근사하는 것일 수 있다. CMA-ES는 정규분포에서 확률적으로 탐색점을 생성하기 때문에 도출된 결과가 국소 해에 빠지지 않고, 대역적(global)으로 얻기 쉬운 특성이 있다.
예를 들어, 제2 세대의 파라미터 값들의 세트 내의 서브 파라미터 값들이 6개인 경우, CMA-ES를 통해 4개는 특정 탐색점으로부터의 비용 코스트가 감소하는 방향으로 결정되고, 2개는 비용 코스트를 증가시키는 방향으로 결정될 수 있다. 비용 코스트는 특정 탐색점 및 서브 파라미터 값들에 기초하여 계산된 CMA-ES의 목적 함수의 값일 수 있다.
상기의 동작들이 반복됨으로써 미리 설정된 임계 세대(예: 제8 세대 또는 제12 세대)에 대한 파라미터의 최종 값(1110 또는 1120)이 결정될 수 있다.
예를 들어, 제8 세대의 서브 파라미터 값들 중 어느 하나가 파라미터의 최종 값(1110)으로 결정될 수 있다. 다른 예로, 제8 세대의 서브 파라미터 값들의 평균 값이 파라미터의 최종 값(1110)으로 결정될 수 있다.
파라미터의 최종 값(1110 또는 1120)은 사용자의 보행 패턴에 최적화된 보행 파라미터의 값으로 이용될 수 있다.
도 12A 및 12B는 일 예에 따른 서브 파라미터 값들에 따라 변화하는 딜레이 값 및 게인 값을 도시한다.
일 실시 예에 따르면, 각 세대가 6개의 서브 파라미터 값들을 포함하는 경우 임계 세대(예: 8세대 또는 12세대)에 따라 복수의 서브 파라미터 값들이 연속적으로 웨어러블 장치(100)에 적용될 수 있다.
예를 들어, 프로세서(142)는 임계 세대가 8세대인 경우 총 48개의 서브 파라미터 값들을 웨어러블 장치(100)에 적용할 수 있고, 제8 세대에 대한 테스트 보행이 종료된 경우 제8 세대의 파라미터 값들의 세트에 기초하여 파라미터의 최종 값이 결정될 수 있다. 도 12A에 도시된 실시예에서는 파라미터 최종 값의 딜레이 값은 0.24이고, 도 12B에 도시된 실시예에서는 파라미터 최종 값의 딜레이 값은 6.17이다. 임계 세대가 12세대인 경우에도 8세대에 대한 설명이 유사하게 적용될 수 있다.
도 13은 일 예에 따른 파라미터의 값의 조정을 종료하기 위해 설정된 종료 조건이 만족되는지 여부를 결정하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 7A를 참조하여 전술된 동작 704이 수행된 후, 아래의 동작(1310)이 더 수행될 수 있다.
동작 1310에서, 프로세서(142)는 테스트 보행 중에 현재 상태가 파라미터의 최적화에 대해 설정된 종료 조건을 만족하는지 여부를 결정할 수 있다. 예를 들어, 설정된 종료 조건은 파라미터의 값이 조정된 횟수가 임계 조정 횟수에 대응하는지 여부(즉, 임계 세대에 도달하였는지 여부), 사용자의 스트라이드 횟수가 임계 스트라이드 횟수에 대응하는지 여부 및 파라미터의 값을 조정하기 위한 진행 시간이 임계 시간에 대응하는지 여부 중 적어도 하나를 포함할 수 있다. 스트라이드는 어느 하나의 다리의 위치가 보행을 통해 다시 동일한 지점으로 돌아오기까지의 과정을 의미한다. 예를 들어, 스트라이드 길이(stride length)는 보행에서 왼쪽(또는, 오른쪽) 발뒤꿈치의 위치에서 다음의 왼쪽 발뒤꿈치의 위치 까지의 거리일 수 있다.
동작 1320에서, 종료 조건이 만족되지 않은 것으로 결정됨에 기초하여 프로세서(142)는 최적 파라미터 값들의 결정을 다시 수행하기 위해 도 7A의 동작 702로 진행한다. 한편, 종료 조건이 만족된다는 결정에 기초하여 프로세서(142)는 파라미터의 최종 값을 결정하기 위해 도 7A의 동작 705로 진행한다. 프로세서(142)는 종료 조건이 만족된 경우, 파라미터의 최종 값을 결정할 수 있다. 예를 들어, 가장 최근에 조정된 파라미터의 값이 파라미터의 최종 값으로 이용될 수 있다. 다른 예로, 프로세서(142)는 종료 조건이 만족된 경우 마지막의 세대의 파라미터의 값에 기초하여 최종 값을 결정할 수 있다.
일 실시 예에 따라, 도 6 내지 도 13을 참조하여 웨어러블 장치(100)의 파라미터의 값을 조정하는 방법이 대해 상세하게 설명되었다. 그러나, 기재된 실시예로 한정되는 것은 아니고, 다른 일 실시 예에 따라 파라미터의 값을 조정하기 위한 다양한 방법 또는 알고리즘이 이용될 수 있다.
일 실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (15)

  1. 웨어러블 장치에 의해 수행되는, 제어 파라미터 값 조정 방법은,
    사용자가 상기 웨어러블 장치를 착용한 동안,상기 사용자의 신체의 일부에 힘을 가하기 위해, 상기 웨어러블 장치를 제어하도록 구성된 드라이버 회로에 제1 토크 값을 출력하는 동작 - 상기 제1 토크 값은 크기 정보, 출력 타이밍 정보 및 민감도 정보 중 적어도 하나를 포함하는 제어 파라미터의 제1 값에 기초하여 결정됨 -;
    상기 제1 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 제1 관절의 제1 각속도를 획득하는 동작;
    상기 제1 각속도에 기초하여 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작;
    상기 드라이버 회로에 상기 제2 토크 값을 출력하는 동작 - 상기 제2 토크 값은 상기 제어 파라미터의 상기 제2 값에 기초하여 결정됨 -;
    상기 제2 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 상기 제1 관절의 제2 각속도를 획득하는 동작; 및
    상기 제2 각속도가 획득된 이후에 만족되는 상기 제어 파라미터의 최적화에 대한 종료 조건에 기초하여, 상기 제어 파라미터의 상기 제2 값에 기초하여 상기 제어 파라미터의 최종 값을 결정하는 동작
    을 포함하고,
    상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작은,
    상기 제2 각속도가 획득된 이후에 만족되지 않은 상기 종료 조건에 기초하여, 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 재결정하는 동작
    을 포함하고,
    상기 종료 조건은, 제어 파라미터의 값이 조정된 횟수가 임계 조정 횟수에 대응하는지 여부, 상기 사용자의 스트라이드 횟수가 임계 스트라이드 횟수에 대응하는지 여부 및 제어 파라미터의 값을 조정하기 위한 진행 시간이 임계 시간에 대응하는지 여부 중 적어도 하나를 포함하는,
    제어 파라미터 값 조정 방법.
  2. 제1항에 있어서,
    상기 제어 파라미터의 제2 값을 결정하는 동작은,
    상기 제1 토크 값의 출력과 연관되어 획득된 상기 사용자의 상기 신체의 상기 제1 관절의 상기 제1 각속도에 기초하여 상기 사용자의 보행 민첩성의 정도를 나타내는 제1 보행 민첩도를 계산하는 동작; 및
    상기 사용자의 보행 민첩성이 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작
    을 포함하는,
    제어 파라미터 값 조정 방법.
  3. 제2항에 있어서,
    상기 제1 보행 민첩도는 상기 제1 토크 값 및 상기 제1 각속도에 기초하여 계산되는,
    제어 파라미터 값 조정 방법.
  4. 제2항에 있어서,
    상기 제1 토크 값에 대한 상기 사용자의 보행 민첩성의 정도를 나타내는 제1 보행 민첩도를 계산하는 동작은,
    상기 제1 토크 값이 출력된 제1 시각에서의 상기 제1 관절의 상기 제1 각속도를 획득하는 동작;
    상기 제1 각속도에 기초하여 상기 제1 관절에서 발생하는 제1 파워 값을 결정하는 동작; 및
    상기 제1 토크 값 및 상기 제1 파워 값에 기초하여 상기 제1 보행 민첩도를 계산하는 동작
    을 포함하는,
    제어 파라미터 값 조정 방법.
  5. 제2항에 있어서,
    상기 사용자의 보행 민첩성이 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작은,
    상기 제1 보행 민첩도에 기초하여 상기 사용자의 보행 민첩성이 증가할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는 동작
    을 포함하는,
    제어 파라미터 값 조정 방법.
  6. 제1항에 있어서,
    상기 제어 파라미터의 제1 값은 제1 게인 값 및 제1 딜레이 값을 포함하는,
    제어 파라미터 값 조정 방법.
  7. 제4항에 있어서,
    상기 제1 각속도에 기초하여 제1 파워 값을 결정하는 동작은,
    상기 제1 각속도 및 상기 제1 토크 값에 기초하여 상기 제1 파워 값을 결정하는 동작
    을 포함하는,
    제어 파라미터 값 조정 방법.
  8. 제4항에 있어서,
    상기 제1 토크 값 및 상기 제1 파워 값에 기초하여 상기 제1 보행 민첩도를 계산하는 동작은,
    상기 제1 토크에 기초하여 제1 RMS(root mean square) 토크 값을 계산하는 동작;
    상기 제1 파워 값에 기초하여 제1 평균 파워 값을 계산하는 동작; 및
    상기 제1 RMS 토크 값 및 상기 제1 평균 파워 값에 기초하여 상기 제1 보행 민첩도를 계산하는 동작
    을 포함하는,
    제어 파라미터 값 조정 방법.
  9. 제8항에 있어서,
    상기 제1 파워 값에 기초하여 제1 평균 파워 값을 계산하는 동작은,
    상기 제1 파워 값 및 상기 제1 시각 보다 후행하는 제2 시각에 대한 제2 파워 값에 기초하여 상기 제1 평균 파워 값을 계산하는 동작
    을 포함하는,
    제어 파라미터 값 조정 방법.
  10. 제1항에 있어서,
    상기 제1 토크 값을 출력하는 동작은,
    상기 사용자가 이전 시각에 상기 웨어러블 장치를 착용하는 동안 상기 사용자의 상기 신체의 상기 일부의 이전 상태 정보를 획득하는 동작;
    상기 이전 상태 정보에 기초하여 이전 상태 인자를 결정하는 동작; 및
    상기 이전 상태 인자 및 상기 제어 파라미터 제1 값에 기초하여 상기 제1 토크 값을 출력하는 동작
    을 포함하는,
    제어 파라미터 값 조정 방법.
  11. 제1항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록매체.
  12. 웨어러블 장치는,
    웨어러블 장치를 제어하는 프로세서;
    상기 사용자의 신체의 관절의 각도를 측정하는 적어도 하나의 센서;
    상기 프로세서에 의해 제어되는 모터 드라이버 회로;
    상기 모터 드라이버 회로와 전기적으로 연결된 모터; 및
    모터에 의해 생성된 토크를 상기 사용자의 상기 신체의 일부에 전달하는 지지 프레임
    을 포함하고,
    상기 프로세서는,
    상기 사용자가 상기 웨어러블 장치를 착용한 동안, 상기 사용자의 상기 신체의 상기 일부에 힘을 가하기 위해, 상기 모터를 제어하도록 구성된 상기 모터 드라이버 회로에 제1 토크 값을 출력하고 - 상기 제1 토크 값은 크기 정보, 출력 타이밍 정보 및 민감도 정보 중 적어도 하나를 포함하는 제어 파라미터의 제1 값에 기초하여 결정됨 -,
    상기 제1 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 제1 관절의 제1 각속도를 획득하고,
    상기 제1 각속도에 기초하여 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하고,
    상기 모터 드라이버 회로에 상기 제2 토크 값을 출력하고 - 상기 제2 토크 값은 상기 제어 파라미터의 상기 제2 값에 기초하여 결정됨 -,
    상기 제2 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 상기 제1 관절의 제2 각속도를 획득하고,
    상기 제2 각속도가 획득된 이후에 만족되는 상기 제어 파라미터의 최적화에 대한 종료 조건에 기초하여, 상기 제어 파라미터의 상기 제2 값에 기초하여 상기 제어 파라미터의 최종 값을 결정하고,
    상기 제2 각속도가 획득된 이후에 만족되지 않은 종료 조건에 기초하여, 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 재결정하고,
    상기 종료 조건은, 제어 파라미터의 값이 조정된 횟수가 임계 조정 횟수에 대응하는지 여부, 상기 사용자의 스트라이드 횟수가 임계 스트라이드 횟수에 대응하는지 여부 및 제어 파라미터의 값을 조정하기 위한 진행 시간이 임계 시간에 대응하는지 여부 중 적어도 하나를 포함하는,
    웨어러블 장치.
  13. 제12항에 있어서,
    상기 프로세서는,
    상기 제1 토크 값의 출력과 연관되어 획득된 상기 사용자의 상기 신체의 상기 제1 관절의 제1 각속도에 기초하여 상기 사용자의 보행 민첩성의 정도를 나타내는 제1 보행 민첩도를 계산하고,
    상기 사용자의 보행 민첩성이 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하는,
    웨어러블 장치.
  14. 제13항에 있어서,
    상기 프로세서는,
    상기 센서를 통해 상기 제1 토크 값이 출력된 제1 시각에서의 상기 제1 관절의 상기 제1 각속도를 획득하고,
    상기 제1 각속도에 기초하여 제1 관절에서 발생하는 제1 파워 값을 결정하고,
    상기 제1 토크 값 및 상기 제1 파워 값에 기초하여 상기 제1 보행 민첩도를 계산하는,
    웨어러블 장치.
  15. 웨어러블 장치는,
    하나 이상의 명령들을 저장하는 메모리; 및
    상기 하나 이상의 명령들을 실행하도록 구성되는 프로세서
    를 포함하고,
    상기 프로세서는,
    사용자가 상기 웨어러블 장치를 착용한 동안, 상기 사용자의 상기 신체의 상기 일부에 힘을 가하기 위해, 상기 웨어러블 장치를 구성된 드라이버 회로에 제1 토크 값을 출력하고 - 상기 제1 토크 값은 제어 파라미터의 제1 값에 기초하여 결정됨 -,
    상기 제1 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 제1 관절의 제1 각속도를 획득하고,
    상기 제1 각속도에 기초하여 상기 제1 관절의 상기 제1 각속도가 변화할 수 있도록 상기 제어 파라미터의 제2 값을 결정하고,
    상기 드라이버 회로에 상기 제2 토크 값을 출력하고 - 상기 제2 토크 값은 상기 제어 파라미터의 상기 제2 값에 기초하여 결정됨 -,
    상기 제2 토크 값의 출력과 연관된 상기 사용자의 상기 신체의 상기 제1 관절의 제2 각속도를 획득하고,
    상기 제2 각속도가 획득된 이후에 만족되는 상기 제어 파라미터의 최적화에 대한 종료 조건에 기초하여, 상기 제어 파라미터의 상기 제2 값에 기초하여 상기 제어 파라미터의 최종 값을 결정하는,
    웨어러블 장치.
PCT/KR2022/007919 2021-06-07 2022-06-03 웨어러블 장치의 제어 파라미터의 값을 조정하는 방법 및 장치 WO2022260361A1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280019199.5A CN116916866A (zh) 2021-06-07 2022-06-03 用于调整可穿戴装置的控制参数值的方法及装置
EP22820489.7A EP4257105A1 (en) 2021-06-07 2022-06-03 Method and device for adjusting value of control parameter of wearable device
US17/955,033 US20230031376A1 (en) 2021-06-07 2022-09-28 Method and apparatus for adjusting control parameter values of wearable device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0073671 2021-06-07
KR20210073671 2021-06-07
KR1020210160166A KR20220165172A (ko) 2021-06-07 2021-11-19 웨어러블 장치의 제어 파라미터의 값을 조정하는 방법 및 장치
KR10-2021-0160166 2021-11-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/955,033 Continuation US20230031376A1 (en) 2021-06-07 2022-09-28 Method and apparatus for adjusting control parameter values of wearable device

Publications (1)

Publication Number Publication Date
WO2022260361A1 true WO2022260361A1 (ko) 2022-12-15

Family

ID=84426189

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/007919 WO2022260361A1 (ko) 2021-06-07 2022-06-03 웨어러블 장치의 제어 파라미터의 값을 조정하는 방법 및 장치

Country Status (3)

Country Link
US (1) US20230031376A1 (ko)
EP (1) EP4257105A1 (ko)
WO (1) WO2022260361A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160062933A (ko) * 2014-11-26 2016-06-03 삼성전자주식회사 보조력 설정 방법 및 장치
KR20170016638A (ko) * 2015-08-04 2017-02-14 삼성전자주식회사 토크 설정 방법 및 장치
JP2018050881A (ja) * 2016-09-28 2018-04-05 サンコール株式会社 歩行動作補助装置
CN108309689B (zh) * 2018-02-02 2020-06-09 哈尔滨工业大学 一种基于外骨骼机器人的渐进式康复训练方法
KR20200085083A (ko) * 2019-01-04 2020-07-14 삼성전자주식회사 보행 보조 장치의 제어 방법 및 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160062933A (ko) * 2014-11-26 2016-06-03 삼성전자주식회사 보조력 설정 방법 및 장치
KR20170016638A (ko) * 2015-08-04 2017-02-14 삼성전자주식회사 토크 설정 방법 및 장치
JP2018050881A (ja) * 2016-09-28 2018-04-05 サンコール株式会社 歩行動作補助装置
CN108309689B (zh) * 2018-02-02 2020-06-09 哈尔滨工业大学 一种基于外骨骼机器人的渐进式康复训练方法
KR20200085083A (ko) * 2019-01-04 2020-07-14 삼성전자주식회사 보행 보조 장치의 제어 방법 및 장치

Also Published As

Publication number Publication date
EP4257105A1 (en) 2023-10-11
US20230031376A1 (en) 2023-02-02

Similar Documents

Publication Publication Date Title
KR100904937B1 (ko) 장착식 동작 보조장치
US20200315900A1 (en) Ankle-less walking assistant apparatus and method for controlling the same
WO2012091038A1 (ja) 装着式動作補助装置、そのインタフェース装置及びプログラム
WO2022260361A1 (ko) 웨어러블 장치의 제어 파라미터의 값을 조정하는 방법 및 장치
CN112472531A (zh) 面向医疗复健和助力行走的下肢外骨骼机器人步态平稳算法
CN112809651B (zh) 一种助力外骨骼控制方法、控制系统和计算机设备
WO2022260362A1 (ko) 사용자에게 힘을 제공하기 위한 토크를 출력하는 방법 및 장치
WO2023219245A1 (ko) 사용자에게 운동 프로그램을 제공하는 방법 및 시스템
Tran et al. Model-learning-based partitioned control of a human-powered augmentation lower exoskeleton
KR20220165172A (ko) 웨어러블 장치의 제어 파라미터의 값을 조정하는 방법 및 장치
WO2024075986A1 (ko) 운동 프로그램을 제공하는 전자 장치 및 웨어러블 장치, 이들의 제어 방법
JP5392671B2 (ja) 歩行計測装置
JPH08141026A (ja) 歩行訓練装置
WO2023128619A1 (ko) 사용자의 보행 지표를 추정하는 방법 및 이를 수행하는 전자 장치 및 웨어러블 장치
WO2024058452A1 (ko) 웨어러블 장치 및 이의 동작 방법
WO2022225235A1 (ko) 웨어러블 장치를 이용한 사용자의 근체력을 측정하는 방법 및 장치
WO2023153691A1 (ko) 신체 능력 측정 모드를 제공하는 전자 장치 및 웨어러블 장치, 이들의 동작 방법
KR20220165180A (ko) 사용자에게 힘을 제공하기 위한 토크를 출력하는 방법 및 장치
KR101802640B1 (ko) 착용형 외골격 로봇의 보행 천이 제어 방법
WO2023080417A1 (ko) 사용자의 심박수에 기초하여 웨어러블 장치를 제어하는 방법 및 장치
Andrade et al. Overground walking with a transparent exoskeleton shows changes in spatiotemporal gait parameters
WO2024106937A1 (ko) 웨어러블 장치의 영점 설정 방법, 및 이를 수행하는 웨어러블 장치 및 전자 장치
TWI759953B (zh) 下肢外骨骼輔助方法及下肢外骨骼機器人
CN114012742B (zh) 一种髋关节助力装置的控制系统
WO2024101705A1 (ko) 웨어러블 장치 및 그 장치를 제어하는 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22820489

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022820489

Country of ref document: EP

Effective date: 20230703

WWE Wipo information: entry into national phase

Ref document number: 202280019199.5

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE