WO2023153694A1 - 제어 파라미터의 값을 결정하는 방법 및 그 방법을 수행하는 전자 장치 - Google Patents

제어 파라미터의 값을 결정하는 방법 및 그 방법을 수행하는 전자 장치 Download PDF

Info

Publication number
WO2023153694A1
WO2023153694A1 PCT/KR2023/001381 KR2023001381W WO2023153694A1 WO 2023153694 A1 WO2023153694 A1 WO 2023153694A1 KR 2023001381 W KR2023001381 W KR 2023001381W WO 2023153694 A1 WO2023153694 A1 WO 2023153694A1
Authority
WO
WIPO (PCT)
Prior art keywords
pattern
torque
value
wearable device
gait
Prior art date
Application number
PCT/KR2023/001381
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 KR1020220121696A external-priority patent/KR20230121681A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of WO2023153694A1 publication Critical patent/WO2023153694A1/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
    • 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
    • A61H37/00Accessories for massage
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls

Definitions

  • This application relates to a technology for controlling a wearable device.
  • a wearable device includes a processor controlling the wearable device, at least one sensor measuring a joint angle of a thigh support frame, a motor driver circuit controlled by the processor, and a motor electrically connected to the motor driver circuit. and a thigh support frame transmitting torque generated by the motor to at least a part of the lower leg of the user, wherein the processor generates a gait pattern of the user wearing the wearable device based on the joint angle.
  • An operation of determining an optimal value of the control parameter may be performed based on the second value of .
  • a method of determining a value of a control parameter, performed by a wearable device includes generating a gait pattern of a user wearing the wearable device based on a joint angle of a thigh support frame of the wearable device.
  • an electronic device includes a communication module for exchanging data with an external device, and at least one processor for controlling the electronic device, wherein the processor performs a thigh support from a wearable device connected to the electronic device.
  • An operation of determining a first value of an objective function for a first torque pattern for the output torque, a second torque corresponding to the gait pattern for a second value changed based on the first value of the control parameter An operation of calculating a pattern, an operation of determining a second value of the objective function for the second torque pattern, an operation of determining an optimum value of the control parameter based on the second value of the objective function, and the control An operation of transmitting the optimal value of the parameter to the wearable device may be performed.
  • FIG. 1 is a configuration diagram of a system for providing an exercise program to a user according to an embodiment.
  • FIG. 2 is a block diagram of an electronic device in a network environment according to an embodiment.
  • 3A, 3B, 3C, and 3D are diagrams for describing a wearable device according to an exemplary embodiment.
  • FIG. 4 is a diagram for describing a wearable device communicating with an electronic device, according to an exemplary embodiment.
  • 5 and 6 are diagrams for explaining a torque output method of a wearable device according to an exemplary embodiment.
  • FIG. 7 is a flowchart of a method of determining a value of a control parameter for controlling a wearable device, according to an embodiment.
  • FIG. 8 illustrates a joint angle pattern and a joint angular velocity pattern of a gait pattern according to an example.
  • FIG. 9 is a flowchart of a method of outputting a torque corresponding to a gait pattern based on a first value of a control parameter, according to an example
  • FIG. 10 illustrates a first torque pattern, according to an example.
  • FIG. 11 is a flowchart of a method of calculating a second torque pattern corresponding to a gait pattern for a changed second value based on a first value of a control parameter, according to an example.
  • FIG. 13 is a flowchart of a method of outputting torque based on an optimal torque pattern determined based on an optimal value of a control parameter, according to an example.
  • FIG. 14 illustrates values of control parameters changed according to a walking speed of a user, according to an example.
  • 15 is a flowchart of a method of determining a value of a control parameter for controlling a wearable device, performed by an electronic device, according to an embodiment.
  • FIG. 1 is a configuration diagram of a system for providing an exercise program to a user according to an embodiment.
  • the system 100 for providing an exercise program to a user may include an electronic device 110 , a wearable device 120 , an additional device 130 , and a server 140 .
  • the electronic device 110 may be a user terminal that can be connected to the wearable device 120 using short-range wireless communication.
  • the electronic device 110 may transmit a control signal for controlling the wearable device 120 to the wearable device 120 .
  • the electronic device 110 is described in detail with reference to FIG. 2 below, and transmission of a control signal is described in detail with reference to FIG. 4 below.
  • the wearable device 120 may provide a user wearing the wearable device 120 with an assisting force to assist gait or a resistance force to hinder gait. Resistance may be provided for the user's exercise. As the values of various control parameters used in the wearable device 120 are controlled, the assisting force or resistive force output by the wearable device 120 may be controlled.
  • the structure and driving method of the wearable device 120 will be described in detail with reference to FIGS. 3A, 3B, 3C, 3D, 4, 5 and 6 below.
  • the electronic device 110 may be connected to the additional device 130 (eg, the wireless earphone 131, the smart watch 132, or the smart glasses 133) using short-range wireless communication.
  • the electronic device 110 may output information indicating the state of the electronic device 110 or the state of the wearable device 120 to the user through the additional device 130 .
  • feedback information about a walking state of a user wearing the wearable device 120 may be output through a haptic device, a speaker device, and a display device of the additional device 130 .
  • the electronic device 110 may be connected to the server 140 using short-range wireless communication or cellular communication.
  • the server 140 may include a database storing information about a plurality of exercise modes that may be provided to the user through the wearable device 120 .
  • the exercise mode may be based on a motion control model in which the wearable device 120 controls the wearable device 120 to provide the user with an appropriate torque for the user's target motion.
  • the server 140 may manage user accounts for users of the electronic device 110 or the wearable device 120 .
  • the server 140 may store and manage an exercise mode performed by the user, a result of the exercise mode, and the like in association with a user account.
  • the system 100 may provide a user with an exercise program for a motion desired by the user.
  • the motion desired by the user may be a standardized in-place motion such as squat, lunge, or kick back.
  • the motion desired by the user may be a motion arbitrarily configured by the user.
  • a force (or torque) preset to correspond to the corresponding movement is provided to the user through the wearable device 120.
  • the force provided to the user may be assistive force.
  • the force provided to the user may be a resistive force.
  • the output timing and magnitude of the force provided to the user by the wearable device 120 may be controlled by the user modifying an existing exercise mode or creating a new exercise mode.
  • the motion control model may control the wearable device 120 to provide an exercise mode to the user.
  • the exercise mode may include a walking mode and a running mode, and is not limited to the described embodiment.
  • the motion control model may be a model that controls the wearable device 120 so that torque corresponding to the user's motion is output through the wearable device 120 .
  • the motion control model can output torque based on the values of the control parameters.
  • the control parameters are used to adjust at least one of the magnitude, direction, and timing of torque to be output through the wearable device 120, sensitivity to joint angles of the wearable device 120, or an offset angle between joint angles.
  • the control parameters may include secondary parameters expressed as a combination of the above primary parameters.
  • the secondary parameter may be a parameter indicating how much to shift an existing torque pattern for a corresponding exercise mode based on a time axis (or walking cycle).
  • the value of the control parameter is appropriately determined, the user may not feel discomfort due to torque output while performing the corresponding exercise mode.
  • a method of determining a value of a control parameter for controlling a wearable device will be described in detail with reference to FIGS. 7 to 15 below.
  • FIG. 2 is a block diagram of an electronic device in a network environment according to an embodiment.
  • FIG. 2 is a block diagram of an electronic device 201 (eg, the electronic device 110 of FIG. 1 ) within the network environment 200 according to an embodiment.
  • an electronic device 201 communicates with an electronic device 202 through a first network 298 (eg, a short-range wireless communication network) or through a second network 299. It may communicate with at least one of the electronic device 204 or the server 208 through (eg, a long-distance wireless communication network).
  • the electronic device 201 may communicate with the electronic device 204 through the server 208 .
  • the electronic device 201 includes a processor 220, a memory 230, an input module 250, a sound output module 255, a display module 260, an audio module 270, a sensor module ( 276), interface 277, connection terminal 278, haptic module 279, camera module 280, power management module 288, battery 289, communication module 290, subscriber identification module 296 , or the antenna module 297 may be included.
  • at least one of these components eg, the connection terminal 278) may be omitted or one or more other components may be added.
  • some of these components eg, sensor module 276, camera module 280, or antenna module 297) are integrated into a single component (eg, display module 260). It can be.
  • the processor 220 for example, executes software (eg, the program 240) to cause at least one other component (eg, hardware or software component) of the electronic device 201 connected to the processor 220. It can control and perform various data processing or calculations. According to one embodiment, as at least part of data processing or operation, the processor 220 transfers instructions or data received from other components (eg, sensor module 276 or communication module 290) to volatile memory 232. , process the command or data stored in the volatile memory 232, and store the resulting data in the non-volatile memory 234.
  • software eg, the program 240
  • the processor 220 transfers instructions or data received from other components (eg, sensor module 276 or communication module 290) to volatile memory 232. , process the command or data stored in the volatile memory 232, and store the resulting data in the non-volatile memory 234.
  • the processor 220 may include a main processor 221 (eg, a central processing unit or an application processor) or a secondary processor 223 (eg, a graphic processing unit, a neural network processing unit ( NPU: neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor).
  • a main processor 221 eg, a central processing unit or an application processor
  • a secondary processor 223 eg, a graphic processing unit, a neural network processing unit ( NPU: neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor.
  • NPU neural network processing unit
  • the secondary processor 223 may be implemented separately from or as part of the main processor 221 .
  • the secondary processor 223 may, for example, take the place of the main processor 221 while the main processor 221 is in an inactive (eg, sleep) state, or when the main processor 221 is active (eg, running an application). ) state, together with the main processor 221, at least one of the components of the electronic device 201 (eg, the display module 260, the sensor module 276, or the communication module 290) It is possible to control at least some of the related functions or states.
  • the auxiliary processor 223 eg, an image signal processor or a communication processor
  • the auxiliary processor 223 may include a hardware structure specialized for processing an artificial intelligence model.
  • AI models can be created through machine learning. Such learning may be performed, for example, in the electronic device 201 itself where the artificial intelligence model is performed, or may be performed through a separate server (eg, the server 208).
  • the learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning or reinforcement learning, but in the above example Not limited.
  • the artificial intelligence model may include a plurality of artificial neural network layers.
  • Artificial neural networks include deep neural networks (DNNs), convolutional neural networks (CNNs), recurrent neural networks (RNNs), restricted boltzmann machines (RBMs), deep belief networks (DBNs), bidirectional recurrent deep neural networks (BRDNNs), It may be one of deep Q-networks or a combination of two or more of the foregoing, but is not limited to the foregoing examples.
  • the artificial intelligence model may include, in addition or alternatively, software structures in addition to hardware structures.
  • the memory 230 may store various data used by at least one component (eg, the processor 220 or the sensor module 276) of the electronic device 201 .
  • the data may include, for example, input data or output data for software (eg, program 240) and commands related thereto.
  • the memory 230 may include volatile memory 232 or non-volatile memory 234 .
  • the program 240 may be stored as software in the memory 230 and may include, for example, an operating system 242 , middleware 244 , or an application 246 .
  • the input module 250 may receive a command or data to be used by a component (eg, the processor 220) of the electronic device 201 from an outside of the electronic device 201 (eg, a user).
  • the input module 250 may include, for example, a microphone, a mouse, a keyboard, a key (eg, a button), or a digital pen (eg, a stylus pen).
  • the sound output module 255 may output sound signals to the outside of the electronic device 201 .
  • the sound output module 255 may include, for example, a speaker or a receiver.
  • the speaker can be used for general purposes such as multimedia playback or recording playback.
  • a receiver may be used to receive an incoming call. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
  • the display module 260 can visually provide information to the outside of the electronic device 201 (eg, a user).
  • the display module 260 may include, for example, a display, a hologram device, or a projector and a control circuit for controlling the device.
  • the display module 260 may include a touch sensor configured to detect a touch or a pressure sensor configured to measure the intensity of force generated by the touch.
  • the audio module 270 may convert sound into an electrical signal or vice versa. According to an embodiment, the audio module 270 acquires sound through the input module 250, the sound output module 255, or an external electronic device connected directly or wirelessly to the electronic device 201 (eg: Sound may be output through the electronic device 202 (eg, a speaker or a headphone).
  • the audio module 270 acquires sound through the input module 250, the sound output module 255, or an external electronic device connected directly or wirelessly to the electronic device 201 (eg: Sound may be output through the electronic device 202 (eg, a speaker or a headphone).
  • the sensor module 276 detects an operating state (eg, power or temperature) of the electronic device 201 or an external environmental state (eg, a user state), and generates an electrical signal or data value corresponding to the detected state. can do.
  • the sensor module 276 may include, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a bio sensor, It may include a temperature sensor, humidity sensor, or light sensor.
  • the interface 277 may support one or more specified protocols that may be used to directly or wirelessly connect the electronic device 201 to an external electronic device (eg, the electronic device 202).
  • the interface 277 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
  • HDMI high definition multimedia interface
  • USB universal serial bus
  • SD card interface Secure Digital Card interface
  • audio interface audio interface
  • the connection terminal 278 may include a connector through which the electronic device 201 may be physically connected to an external electronic device (eg, the electronic device 202).
  • the connection terminal 278 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
  • the haptic module 279 may convert electrical signals into mechanical stimuli (eg, vibration or movement) or electrical stimuli that a user may perceive through tactile or kinesthetic senses.
  • the haptic module 279 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
  • the camera module 280 may capture still images and moving images.
  • the camera module 280 may include one or more lenses, image sensors, image signal processors, or flashes.
  • the power management module 288 may manage power supplied to the electronic device 201 .
  • the power management module 288 may be implemented as at least part of a power management integrated circuit (PMIC), for example.
  • PMIC power management integrated circuit
  • the battery 289 may supply power to at least one component of the electronic device 201 .
  • the battery 289 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
  • the communication module 290 is a direct (eg, wired) communication channel or a wireless communication channel between the electronic device 201 and an external electronic device (eg, the electronic device 202, the electronic device 204, or the server 208). Establishment and communication through the established communication channel may be supported.
  • the communication module 290 may include one or more communication processors that operate independently of the processor 220 (eg, an application processor) and support direct (eg, wired) communication or wireless communication.
  • the communication module 290 is a wireless communication module 292 (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 294 (eg, : a local area network (LAN) communication module or a power line communication module).
  • a corresponding communication module is a first network 298 (eg, a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 299 (eg, a legacy communication module).
  • the wireless communication module 292 uses the subscriber information stored in the subscriber identification module 296 (eg, International Mobile Subscriber Identifier (IMSI)) within a communication network such as the first network 298 or the second network 299.
  • IMSI International Mobile Subscriber Identifier
  • the wireless communication module 292 may support a 5G network after a 4G network and a next-generation communication technology, for example, NR access technology (new radio access technology).
  • NR access technologies include high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and access of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low latency (URLLC)). -latency communications)) can be supported.
  • the wireless communication module 292 may support a high frequency band (eg, mmWave band) to achieve a high data rate, for example.
  • a high frequency band eg, mmWave band
  • the wireless communication module 292 uses various technologies for securing performance in a high frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. Technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna may be supported.
  • the wireless communication module 292 may support various requirements defined for the electronic device 201, an external electronic device (eg, the electronic device 204), or a network system (eg, the second network 299).
  • the wireless communication module 292 is a peak data rate for eMBB realization (eg, 20 Gbps or more), a loss coverage for mMTC realization (eg, 164 dB or less), or a U-plane latency for URLLC realization (eg, Example: downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less) may be supported.
  • eMBB peak data rate for eMBB realization
  • a loss coverage for mMTC realization eg, 164 dB or less
  • U-plane latency for URLLC realization eg, Example: downlink (DL) and uplink (UL) each of 0.5 ms or less, or round trip 1 ms or less
  • the antenna module 297 may transmit or receive signals or power to the outside (eg, an external electronic device).
  • the antenna module 297 may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (eg, PCB).
  • the antenna module 297 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 298 or the second network 299 is selected from the plurality of antennas by, for example, the communication module 290. can be chosen A signal or power may be transmitted or received between the communication module 290 and an external electronic device through the selected at least one antenna.
  • other components eg, a radio frequency integrated circuit (RFIC) may be additionally formed as a part of the antenna module 297 in addition to the radiator.
  • RFIC radio frequency integrated circuit
  • the antenna module 297 may form a mmWave antenna module.
  • the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (eg, bottom surface) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band), and the above It may include a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second surface (eg, a top surface or a side surface) of the printed circuit board and capable of transmitting or receiving signals of the designated high frequency band.
  • a mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (eg, bottom surface) of the printed circuit board and capable of supporting a designated high frequency band (eg, mmWave band), and the above It may include a plurality of antennas (eg, an array antenna) disposed on or adjacent to a second surface (eg, a top surface or
  • peripheral devices eg, a bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
  • signal e.g. commands or data
  • commands or data may be transmitted or received between the electronic device 201 and the external electronic device 204 through the server 208 connected to the second network 299 .
  • Each of the external electronic devices 202 or 204 may be the same as or different from the electronic device 201 .
  • all or part of operations executed in the electronic device 201 may be executed in one or more external electronic devices among the external electronic devices 202 , 204 , or 208 .
  • the electronic device 201 when the electronic device 201 needs to perform a certain function or service automatically or in response to a request from a user or other device, the electronic device 201 instead of executing the function or service by itself.
  • one or more external electronic devices may be requested to perform the function or at least part of the service.
  • One or more external electronic devices receiving the request may execute at least a part of the requested function or service or an additional function or service related to the request, and deliver the execution result to the electronic device 201 .
  • the electronic device 201 may provide the result as at least part of a response to the request as it is or additionally processed.
  • cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology may be used.
  • the electronic device 201 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
  • the external electronic device 204 may include an internet of things (IoT) device.
  • Server 208 may be an intelligent server using machine learning and/or neural networks.
  • the external electronic device 204 or server 208 may be included in the second network 299 .
  • the electronic device 201 may be applied to intelligent services (eg, smart home, smart city, smart car, or health care) based on 5G communication technology and IoT-related technology.
  • Electronic devices may be devices of various types.
  • the electronic device may include, for example, a portable communication device (eg, a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance.
  • a portable communication device eg, a smart phone
  • a computer device e.g., a smart phone
  • a portable multimedia device e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a portable medical device
  • a camera e.g., a camera
  • a wearable device e.g., a smart bracelet
  • first, second, or first or secondary may simply be used to distinguish that component from other corresponding components, and may refer to that component in other respects (eg, importance or order) is not limited.
  • a (eg, first) component is said to be “coupled” or “connected” to another (eg, second) component, with or without the terms “functionally” or “communicatively.”
  • the certain component may be connected to the other component directly (eg by wire), wirelessly, or through a third component.
  • module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeably interchangeable with terms such as, for example, logic, logic blocks, components, or circuits.
  • a module may be an integrally constructed component or a minimal unit of components or a portion thereof that performs one or more functions.
  • the module may be implemented in the form of an application-specific integrated circuit (ASIC).
  • ASIC application-specific integrated circuit
  • a storage medium eg, internal memory 236 or external memory 238, readable by a machine (eg, electronic device 201). It may be implemented as software (eg, the program 240) including them.
  • a processor eg, the processor 220 of a device (eg, the electronic device 201) may call at least one command among one or more instructions stored from a storage medium and execute it. This enables the device to be operated to perform at least one function according to the at least one command invoked.
  • the one or more instructions may include code generated by a compiler or code executable by an interpreter.
  • the device-readable storage medium may be provided in the form of a non-transitory storage medium.
  • the storage medium is a tangible device and does not contain a signal (e.g. electromagnetic wave), and this term refers to the case where data is stored semi-permanently in the storage medium. It does not discriminate when it is temporarily stored.
  • a signal e.g. electromagnetic wave
  • the method according to various embodiments disclosed in this document may be included and provided in a computer program product.
  • Computer program products may be traded between sellers and buyers as commodities.
  • a computer program product is distributed in the form of a device-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
  • a device-readable storage medium e.g. compact disc read only memory (CD-ROM)
  • an application store e.g. Play StoreTM
  • two user devices e.g. It can be distributed (eg downloaded or uploaded) online, directly between smart phones.
  • at least part of the computer program product may be temporarily stored or temporarily created in a device-readable storage medium such as a manufacturer's server, an application store server, or a relay server's memory.
  • each component (eg, module or program) of the components described above may include a single object or a plurality of objects, and some of the multiple objects may be separately disposed in other components.
  • one or more components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added.
  • a plurality of components eg modules or programs
  • the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by a corresponding component of the plurality of components prior to the integration. .
  • operations performed by modules, programs, or other components are executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations are executed in a different order, omitted, or , or one or more other operations may be added.
  • 3A, 3B, 3C, and 3D are diagrams for describing a wearable device according to an exemplary embodiment.
  • a wearable device 300 may be worn on a user to assist the user in walking.
  • the wearable device 300 may be a device that assists a user's walking.
  • the wearable device 300 may be an exercise device that not only assists the user's movement (eg, walking or exercise), 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 300 of the hip type, but the type of wearable device is not limited to the hip type, and the wearable device supports the entire lower extremity or part of the lower extremity. can be of type 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. 3A, 3B, 3C, and 3D 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 300 includes a driving unit 310, a sensor unit 320, an inertial measurement unit (IMU) 330, a controller 340, a battery 350, and a communication module 352.
  • the IMU 330 and the controller 340 may be disposed within the main frame of the wearable device 300 .
  • the IMU 330 and the controller 340 may be included in a housing formed on (or attached to) the outside of the main frame of the wearable device 300 .
  • the driving unit 310 may include a motor 314 and a motor driver circuit 312 for driving the motor 314 .
  • the sensor unit 320 may include at least one sensor 321 .
  • the controller 340 may include a processor 342 , a memory 344 and an input interface 346 .
  • FIG. 3C one sensor 321, one motor driver circuit 312, and one motor 314 are shown, but this is merely an example, and another example of a wearable device like the example shown in FIG. 3D 300-1 may include a plurality of sensors 321 and 321-1, a plurality of motor driver circuits 312 and 312-1, and a plurality of motors 314 and 314-1.
  • the wearable device 300 may include a plurality of processors. The number of motor driver circuits, the number of motors, or the number of processors may vary according to a body part on which the wearable device 300 is worn.
  • the driving unit 310 may drive a user's hip joint.
  • the driving unit 310 may be located on the user's right hip and/or left hip.
  • the driving unit 310 may be additionally located at the user's knee and ankle.
  • the driving unit 310 includes a motor 314 capable of generating rotational torque and a motor driver circuit 312 for driving the motor 314 .
  • the sensor unit 320 may measure the angle of the user's hip joint during walking.
  • the angle of the hip joint may be a rotation angle of the thigh support frame caused by a user's motion or rotation of the motor 314 .
  • Information about the hip joint angle sensed by the sensor unit 320 may include a right hip joint angle, a left hip joint angle, a difference between both hip joint angles, and a hip joint motion direction.
  • the sensor 321 may be located within the driving unit 310 .
  • the sensor unit 320 may additionally measure the user's knee angle and ankle angle.
  • the sensor 321 may be an encoder. Information on the joint angle measured by the sensor unit 320 may be transmitted to the controller 340 .
  • the sensor unit 320 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 330 may measure acceleration information and posture information during walking. For example, the IMU 330 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 330 may be transmitted to the controller 340 .
  • the wearable device 300 includes a sensor capable of sensing a change in a user's exercise amount or biosignal according to a walking motion (eg, an electromyogram sensor: EMG sensor)) may be included.
  • a sensor capable of sensing a change in a user's exercise amount or biosignal according to a walking motion eg, an electromyogram sensor: EMG sensor
  • the controller 340 may control overall operations of the wearable device 300 .
  • the control unit 340 may receive information sensed by each of the sensor unit 320 and the IMU 330 .
  • the information sensed by the IMU 330 includes acceleration information and posture information
  • the information sensed by the sensor unit 320 includes the right hip joint angle, the left hip joint angle, the difference between both hip joint angles, and It may include the direction of motion of the hip joint.
  • the controller 340 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 340 may generate a signal for controlling the driving unit 310 based on the sensed information.
  • the generated signal may be an auxiliary force for assisting a user's movement.
  • the generated signal may be a resistive force to hinder a user's movement. Resistance may be provided for the user's exercise.
  • the magnitude of the exercise load or torque
  • it when the magnitude is negative, it means resistive force
  • the magnitude when the magnitude is positive, it means auxiliary force.
  • the processor 342 of the control unit 340 may control the driving unit 310 to provide resistance to the user.
  • the driver 310 may provide resistance to the user by actively applying force to the user through the motor 314 .
  • the driver 310 may provide resistance to the user by using back-drivability of the motor 314 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). Even when the same external force is applied to the rotating shaft of the motor, the degree of rotation of the rotating shaft of the motor may vary according to the degree of reverse driving performance.
  • the processor 342 of the control unit 340 may control the driving unit 310 so that the driving unit 310 outputs torque (or auxiliary torque) for assisting the user's movement.
  • the driver 310 may be configured to be disposed on the left hip and the right hip, respectively, and the controller 340 controls the driver 310 to generate torque.
  • a control signal can be output.
  • the driving unit 310 may generate torque based on the control signal output by the control unit 340 .
  • a torque value for generating torque may be externally set or may be set by the controller 340 .
  • the control unit 340 may use the size of current for a signal transmitted to the driving unit 310 to indicate the size of the torque value. That is, the greater the magnitude of the current received by the driving unit 310, the greater the torque value.
  • the processor 342 of the control unit 340 transmits a control signal to the motor driver circuit 312 of the driving unit 310, and the motor driver circuit 312 generates a current corresponding to the control signal to generate a motor ( 314) can be controlled.
  • the battery 350 supplies power to components of the wearable device 300 .
  • the wearable device 300 converts the power of the battery 350 to the operating voltage of the components of the wearable device 300 and provides the converted circuit to the components of the wearable device 300 (eg, Power Management Integrated Circuit (PMIC)). Circuit)) may be further included. Also, the battery 350 may or may not supply power to the motor 314 according to the operation mode of the wearable device 300 .
  • PMIC Power Management Integrated Circuit
  • the communication module 352 may support establishing a direct (eg, wired) communication channel or a wireless communication channel between the wearable device 300 and an external electronic device, and performing communication through the established communication channel.
  • the communication module 352 may include one or more communication processors supporting direct (eg, wired) communication or wireless communication.
  • the communication module 352 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
  • the electronic device 201 described above with reference to FIG. 2 may be included in the wearable device 300 .
  • the electronic device 201 described above with reference to FIG. 2 may be a separate device physically separated from the wearable device 300, and the electronic device 201 and the wearable device 300 may be short-range wireless They can be connected through communication.
  • FIG. 4 is a diagram for describing a wearable device communicating with an electronic device, according to an exemplary embodiment.
  • the wearable device 300 described above with reference to FIGS. 3A, 3B, 3C, and 3D is the electronic device 201 described above with reference to FIG. 2 ) (eg, the electronic device 110 of FIG. 1).
  • the electronic device 201 may be a user's electronic device of the wearable device 300 .
  • the wearable device 300 and the electronic device 201 may be connected using a short-range wireless communication method.
  • the electronic device 201 may display a user interface (UI) for controlling the operation of the wearable device 300 on the display 201-1.
  • UI user interface
  • the UI may include at least one soft key through which the user can control the wearable device 300 .
  • the user may input a command for controlling the operation of the wearable device 300 through the UI on the display 201-1 of the electronic device 201, and the electronic device 201 generates a control command corresponding to the command. And, the generated control command may be transmitted to the wearable device 300 .
  • the wearable device 300 may operate according to the received control command and may transmit a control result to the electronic device 201 .
  • the electronic device 201 may display a control completion message on the display 201-1 of the electronic device 201.
  • 5 and 6 are diagrams for explaining a torque output method of a wearable device according to an exemplary embodiment.
  • the drive units 310-1 and 310-2 of the wearable device 300 of FIG. 3 are located near the user's hip joint. position, and the control unit 340 of the wearable device 300 may be located near the waist. Positions of the driving units 310-1 and 310-2 and the controller 340 are not limited to the examples shown in FIGS. 5 and 6 .
  • the wearable device 300 measures (or senses) the user's left hip joint angle q_l and right hip joint angle q_r .
  • the wearable device 300 may measure the user's left hip joint angle q_l through a left sensor (eg, Hall sensor or encoder), and measure the user's right hip joint angle q_l through a right sensor (eg, Hall sensor or encoder).
  • the hip joint angle q_r can be measured.
  • the left hip joint angle q_l can be a negative number
  • the right hip joint angle q_r is It can be a positive number.
  • the right hip joint angle q_r may be a negative number when the right leg is ahead of the reference line 620 and the left hip joint angle q_l may be a positive number when the left leg is behind the reference line 620 .
  • the wearable device 300 determines the first raw angle (eg, q_r_raw ) of the first joint (eg, right hip joint) measured by the sensor unit 320 and the second joint (eg, left hip joint). ), the first angle (eg, q_r ) and the second angle ( q_l ) may be obtained by filtering the second raw angle ( eg, q_l_raw ). For example, the wearable device 300 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 filtering degree of raw angular filtering can be adjusted based on the value of the control parameter representing the sensitivity to angular change.
  • the wearable device 300 generates a torque value ⁇ (t) based on a left hip joint angle q_l , a right hip joint angle q_r , an offset angle c, a sensitivity ⁇ , a gain ⁇ , and a delay ⁇ t ) may be determined, and the motor driver circuit 312 of the wearable device 300 may be controlled to output the determined torque value ⁇ (t) .
  • the force provided to the user by the torque value ⁇ (t) may be termed force feedback.
  • the wearable device 300 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 be related to 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. The value of the gain ⁇ and the value of the delay ⁇ t may be set in advance and may be adjustable by the user, the wearable device 300 or the electronic device 201 described above with reference to FIG. 2 .
  • a model that outputs torque acting as an auxiliary force to the user using [Equation 1] may be defined as a torque output model (or torque output algorithm).
  • the wearable device 300 or the electronic device 201 may determine the magnitude and delay of torque to be output by inputting the input parameter values received through the sensors to the torque output model.
  • the wearable device 300 or the electronic device 201 applies a first gain value and a first delay value as parameter values determined for the state factor y(t) to 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. and may have the same magnitude and have opposite torque directions.
  • the wearable device 300 may control the motor driver 312 of the wearable device 300 to output torque corresponding to the first torque value.
  • the wearable device 300 may provide an asymmetric torque to both legs of the user to assist the asymmetric gait.
  • a stronger assisting force can be provided to a leg with a short stride or slow swing speed.
  • a leg having a small stride length or a slow swing speed is referred to as an affected leg or a target leg.
  • the swing time of the affected leg may be shorter or the stride length may be shorter than that of the unaffected leg.
  • a method of adjusting the timing of torque acting on the affected leg to assist the user's walking may be considered.
  • an offset angle may be added to an actual joint angle of the affected leg in order to increase an output time of torque for assisting a swing motion of the affected leg.
  • c may be a value of a parameter representing an offset angle between joint angles.
  • a value of an input parameter input to a torque output model mounted on (or applied to) the wearable device 300 may be adjusted.
  • the values of q_r and q_l may be adjusted through [Equation 3] below.
  • c r may mean an offset angle with respect to the right hip joint
  • c l may mean an offset angle with respect to the left hip joint.
  • the wearable device 300 may filter state factors in order to reduce discomfort felt by the user due to irregular output of torque.
  • the wearable device 300 or the electronic device 201 determines the initial state factor yraw(t) of the current time t based on the first angle of the first joint and the second angle of the second joint, and The first state factor y(t) may be determined based on the previous state factor yprv and the initial state factor yraw(t ) determined for time t-1.
  • 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.
  • 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.
  • Sensitivity ⁇ may be a value of a parameter representing sensitivity.
  • 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.
  • the embodiment described with reference to FIG. 6 calculates the state factor y using the left hip joint angle q_l and the right hip joint angle q_r , and calculates torque values for the left leg and right leg based on the state factor y It's about examples.
  • a gait pattern for the left leg based on the left hip joint angle q_l and a gait pattern for the right leg based on the right hip joint angle q_r are generated, respectively, and the generated gait patterns
  • An embodiment in which torque values for the left leg and the right leg are respectively calculated using the torque values may also be considered.
  • the description referring to FIGS. 7 to 14 below may be applied to one leg (eg, right leg) of the two legs, but may be equally applied to the other leg (eg, left leg).
  • FIG. 7 is a flowchart of a method of determining a value of a control parameter for controlling a wearable device, according to an embodiment.
  • Operations 710 to 770 below may be performed by a wearable device (eg, the wearable device 120 of FIG. 1 or the wearable device 300 of FIG. 3 ).
  • a wearable device eg, the wearable device 120 of FIG. 1 or the wearable device 300 of FIG. 3 .
  • the wearable device may acquire joint angles of the thigh support frame. For example, when a user walks while wearing a wearable device, a thigh support frame arranged to correspond to a user's hip joint may rotate, and a rotation angle of the thigh support frame may be obtained as a joint angle.
  • a joint angle of the thigh support frame may be generated by a Hall sensor located at a part where the thigh support frame rotates.
  • the wearable device may generate a gait pattern of the user based on the joint angle.
  • a person's gait may have repetitive movements of both legs, and repetitive leg movements may represent a gait cycle.
  • a gait pattern appearing in one gait cycle may include at least one of a joint angle pattern or a joint angular velocity pattern of a hip joint (or a thigh support frame) according to time.
  • the joint angle pattern and the joint angular velocity pattern are described in detail below with reference to FIG. 8 .
  • the gait pattern may include at least one of a left gait pattern with respect to the left thigh support frame and a right gait pattern with respect to the right thigh support frame. For example, if the walking of the user's left leg and right leg are balanced and symmetrical, a gait pattern for one leg may be generated and a gait pattern for the other leg may not be generated. For example, when the gait of the user's left leg and right leg are unbalanced, gait patterns for each of the two legs may be generated.
  • operation 730 below may be performed after the user's gait pattern is generated.
  • the gait pattern generated through the operations 710 and 720 may be a gait pattern generated in real time while the user is wearing the wearable device, rather than a previously stored gait pattern for the user.
  • the wearable device may output a torque corresponding to the gait pattern based on the first value of the control parameter.
  • the control parameters may include at least one of a torque output timing parameter, a torque magnitude parameter, a torque offset parameter, or a combination thereof.
  • the control parameter (eg, gain) for the magnitude of torque may include a swing gain applied in a swing state and a support gain applied in a support state.
  • the first value of the control parameter may be a basic value or a most recently determined (or stored) value of the control parameter.
  • the first value of the control parameter may be a predetermined value for a gait speed corresponding to a gait pattern of the user.
  • the first value of the control parameter predetermined to correspond to the walking speed may be a value personalized for the user.
  • the wearable device may determine a current gait degree of the user based on a gait pattern, and output a torque corresponding to the determined gait degree.
  • a method of outputting a torque corresponding to the current walking level will be described in detail with reference to FIG. 9 below.
  • the wearable device may determine a first value of an objective function for a first torque pattern with respect to the output torque.
  • the first torque pattern may be a trajectory of torque values output during one walking cycle.
  • the objective function may be a function for quantifying whether torque is appropriately output to the user.
  • the objective function may include a first factor related to power calculated based on the joint angular velocity pattern of the gait pattern and the first torque pattern.
  • the first factor related to the power may be a factor related to a ratio of a section in which the power is a positive number to a section in which the power is a negative number. Since the section in which the power rate is a positive number is the section in which the assisting force is applied in the direction of the user's movement, it can be determined that the wearable device operates efficiently as the ratio of the section in which the power rate is a positive number increases when the wearable device operates in the assist mode. .
  • the section in which the power is negative is the section in which resistance is applied in the direction opposite to the direction of the user's movement, when the wearable device operates in exercise mode, the higher the ratio of the section in which the power is negative, the more efficiently the wearable device operates. can be determined
  • the objective function may include a second factor related to the first work rate of the right thigh support frame and the second work rate of the left thigh support frame, which are calculated based on the joint angular velocity pattern of the gait pattern and the first torque pattern.
  • the second factor may represent the difference between the powers of the right leg and the left leg. Reducing the difference between the work rates may increase the balance of the right leg and left leg.
  • the objective function may include a third torque related to a first work rate for a first section and a second work rate for a second section of a user's walking cycle, which are calculated based on the joint angular velocity pattern and the first torque pattern of the walking pattern.
  • the first section may correspond to a swing phase and the second section may correspond to a stance phase. For example, reducing the difference between the work rate for the swing state and the work rate for the supported state may increase the balance of that leg.
  • the objective function includes a fourth factor related to a first peak value of a first torque pattern for a first section and a second peak value of a first torque pattern for a second section during a walking cycle of the user. can do.
  • the fourth factor may be an absolute value of a difference between the value of the first peak and the value of the second peak.
  • the objective function may include a combination of at least two or more of the aforementioned first factor, second factor, third factor, and fourth factor.
  • a weight may be set for each of the factors included in the objective function.
  • the wearable device may calculate a second torque pattern corresponding to a gait pattern for a second value changed based on the first value of the control parameter. For example, the wearable device may determine the second value of the control parameter based on the first value of the control parameter. The wearable device may calculate the output second torque pattern based on the determined second value of the control parameter. For example, when the control parameter is a parameter for torque output timing, a second torque pattern may be calculated when the value of the torque output timing is changed from the first value to the second value.
  • a method for calculating the second torque pattern will be described in detail below with reference to FIG. 11 .
  • 2 N second torque patterns may be calculated.
  • the first value of the control parameters may be a first set value including the first values of the N control parameters.
  • the wearable device may determine a second value increased compared to the first value and a second value decreased compared to the first value for the first control parameter.
  • 2 N set values may be determined, and 2 N second torque patterns for the 2 N set values may be calculated.
  • the wearable device may determine a second value of an objective function for the second torque pattern.
  • the above objective function may be the same as the objective function used to determine the first value of the objective function in operation 740 .
  • the second value of the objective function may also be 2N .
  • the wearable device may determine an optimal value of the control parameter based on the second value of the objective function. For example, when maximizing the value of the objective function indicates efficient control, the optimum value of the control parameter may be determined such that the calculated value of the objective function increases from a previous value. For example, if minimization of the value of the objective function indicates efficient control, the optimum value of the control parameter may be determined such that the calculated value of the objective function is less than the previous value.
  • a target set value of control parameters representing the maximum value (or minimum value) among the 2 N second values is selected. It can be determined as the optimal value of the control parameter.
  • operation 760 for determining an optimal value of a control parameter may be repeatedly performed.
  • a gradient decent may be used to determine an amount of change in a value of a control parameter (eg, a difference between a first value and a second value).
  • the amount of change in the value of the control parameter may be determined to be proportional to the amount of change in the value of the objective function compared to the amount of change in the value of the control parameter.
  • the change amount of the value of the control parameter may be reduced as the value of the objective function is approached.
  • the wearable device may output torque to the user using the determined optimal value of the control parameter.
  • a method of outputting torque to the user using the determined optimal value of the control parameter will be described in detail below with reference to FIG. 13 .
  • the user's gait pattern may change as the user's gait speed changes.
  • the above-described operations 710 to 770 may be repeatedly performed in order to determine an optimal value of a control parameter suitable for the changed gait pattern.
  • FIG. 8 illustrates a joint angle pattern and a joint angular velocity pattern of a gait pattern according to an example.
  • the wearable device (eg, the wearable device 120 of FIG. 1 or the wearable device 300 of FIG. 3 ) includes at least one sensor (eg, a hall sensor or an encoder) for measuring the joint angle of the thigh support frame. ), the current joint angle of the thigh support frame may be continuously received.
  • the wearable device may determine the user's gait cycle based on the received joint angles, and generate a joint angle pattern 810 for the determined gait cycle as a gait pattern.
  • the gait cycle may indicate a progress level for one gait.
  • the user may walk with a similar joint angle pattern 810 at a walking speed within a certain range, and when the user's joint motion changes as the walking speed changes, the joint angle pattern 810 may change to a different pattern.
  • the wearable device may generate a joint angular velocity pattern 820 as a gait pattern based on the joint angle pattern 810 .
  • the joint angular velocity pattern 820 may be a pattern for a variation amount of the joint angle pattern 810 .
  • FIG. 9 is a flowchart of a method of outputting a torque corresponding to a gait pattern based on a first value of a control parameter, according to an example
  • operation 730 described above with reference to FIG. 7 may include operations 910 to 930 below.
  • Operations 910 to 930 may be performed by a wearable device (eg, the wearable device 120 of FIG. 1 or the wearable device 300 of FIG. 3 ).
  • the wearable device may receive the current joint angle of the thigh support frame.
  • the current joint angle may be a joint angle acquired in real time.
  • the wearable device may determine the current gait degree of the user's gait cycle based on the gait pattern and the current joint angle. For example, the wearable device may determine a point corresponding to the current joint angle among values of the joint angle pattern, and determine a gait degree indicated by the corresponding point as the current gait degree. For example, when the gait cycle is expressed as 0 to 100%, the current gait degree may be determined as 49%.
  • the wearable device may output a torque corresponding to the current gait level based on the first torque pattern.
  • the first torque pattern may be a basic torque pattern preset to correspond to the user's current walking speed.
  • the first torque pattern may be a torque pattern output in a previous gait cycle of the user.
  • the first torque pattern may be a torque pattern changed based on a value of a control parameter determined for a current gait cycle based on a torque pattern output in a previous gait cycle.
  • FIG. 10 illustrates a first torque pattern, according to an example.
  • the first torque pattern 1010 may be generated to correspond to a walking cycle.
  • the first point 1011 of the first torque pattern 1010 may correspond to a walking degree of x 1 (eg, 49%) and a torque value of y 1 during the walking cycle.
  • x 1 e.g. 49%
  • y 1 a torque value of y 1 during the walking cycle.
  • the value of the torque output to the user may be y 1 .
  • the first torque pattern 1010 may be a basic torque pattern preset to correspond to the user's current walking speed.
  • the first torque pattern 1010 may be a torque pattern output in a previous gait cycle of the user.
  • the first torque pattern 1010 may be a torque pattern that is changed based on a value of a control parameter determined for a current gait cycle based on a torque pattern output in a previous gait cycle.
  • the first torque pattern 1010 may have a sine function or a cosine function.
  • the user's walking cycle may be divided into a plurality of sections, and different gains may be applied to each section.
  • the walking cycle may be divided into a swing state and a support state, and in the swing state, a gain of ⁇ 1 may be applied and a gain of ⁇ 2 may be applied.
  • constraint conditions for each of ⁇ 1 and ⁇ 2 may be set in advance.
  • the limiting condition may be that the sum of ⁇ 1 and ⁇ 2 satisfies a preset value (eg, 2).
  • the limiting condition may be that the sum of ⁇ 1 and ⁇ 2 is equal to or less than a preset value (eg, 2).
  • Each of ⁇ 1 and ⁇ 2 may be a control parameter.
  • FIG. 11 is a flowchart of a method of calculating a second torque pattern corresponding to a gait pattern for a changed second value based on a first value of a control parameter, according to an example.
  • operation 750 described above with reference to FIG. 7 may include operations 1110 and 1120 below.
  • Operations 1110 to 1120 may be performed by a wearable device (eg, the wearable device 120 of FIG. 1 or the wearable device 300 of FIG. 3 ).
  • the wearable device may determine a second value of the control parameter to maximize or minimize the value of the objective function based on the operation mode of the wearable device.
  • the operation mode of the wearable device may be an assistance mode or an exercise mode.
  • torque may be provided in the same direction as the user's movement.
  • exercise mode torque may be provided in a direction opposite to the user's motion.
  • the wearable device may determine the second value of the control parameter such that the first factor related to the work rate described above with reference to FIG. 7 among the factors of the objective function is maximized. For example, any one of values within a preset range based on the first value of the control parameter may be determined as the second value of the control parameter.
  • the above range may be preset in order to prevent rapid change in torque value.
  • the wearable device may determine the second value of the control parameter such that the first factor related to the work rate described above with reference to FIG. 7 among the factors of the objective function is minimized.
  • values of the second set of control parameters may be determined.
  • the second value determined for each control parameter may be either increased or decreased compared to the first value.
  • N 2 N second set values may be determined.
  • the wearable device may calculate a second torque pattern for the second value of the control parameter. As the value of the control parameter changes from the first value to the second value, the torque pattern may also change.
  • 2 N second torque patterns for a second set of values of 2 N control parameters may be calculated.
  • operation 760 described above with reference to FIG. 7 may be performed.
  • the determined second values of the objective function may also be 2N .
  • the wearable device may determine a maximum value or a minimum value among 2 N second values based on the operation mode.
  • the wearable device may determine a target set value of control parameters representing the determined maximum value or minimum value as an optimal value of the control parameter.
  • the second torque patterns 1220 and 1230 may be generated based on the first torque pattern 1210 by changing the value of the control parameter.
  • the control parameter may be a parameter related to torque output timing.
  • a parameter related to torque output timing may be named a phase lead parameter.
  • the phase lead parameter may be adjusted in % based on the gait cycle.
  • the wearable device may generate the second torque pattern 1220 advancing the torque output timing compared to the first torque pattern 1210 by adjusting a parameter related to torque output timing.
  • the second talk pattern 1220 may be ahead of the first talk pattern 1210 by 2% based on a walking cycle.
  • the wearable device may generate a second torque pattern 1230 that delays a torque output timing compared to the first torque pattern 1230 by adjusting a parameter related to torque output timing.
  • the second torque pattern 1230 may be 2% slower than the first torque pattern 1210 based on a walking cycle.
  • the wearable device may calculate power rates for the second torque patterns 1220 and 1230 as an objective function factor (eg, the first factor described above with reference to FIG. 7 ).
  • the calculated work rates may be expressed as a logarithmic value of a negative to positive work ratio.
  • Power patterns 1260 and 1270 are shown for the powers calculated for second torque patterns 1220 and 1230 .
  • the power pattern 1260 is the power calculated for the second torque pattern 1220, and 3.81 may be calculated as a log NP work ratio value.
  • the power pattern 1270 is the power calculated for the second torque pattern 1230, and 4.29 may be calculated as a log NP work ratio value.
  • the power pattern 1250 is the power calculated for the first torque pattern 1210, and 4.29 may be calculated as a value of log NP work ratio.
  • the second torque pattern 1230 may be determined as a more appropriate torque pattern change than the second torque pattern 1220 .
  • FIG. 13 is a flowchart of a method of outputting torque based on an optimal torque pattern determined based on an optimal value of a control parameter, according to an example.
  • operations 1310 to 1330 below may be further performed.
  • Operations 1310 to 1330 may be performed by a wearable device (eg, the wearable device 120 of FIG. 1 or the wearable device 300 of FIG. 3 ).
  • the wearable device may receive a current joint angle of the thigh support frame.
  • the wearable device may determine the current gait degree of the user's gait cycle based on the gait pattern and the current joint angle.
  • the wearable device may output a torque corresponding to the current gait degree based on the optimal torque pattern determined based on the optimal value of the control parameter.
  • the optimum value of the control parameter may be the second value of the aforementioned control parameter.
  • the optimal torque pattern may be a torque pattern generated based on the second value of the control parameter.
  • FIG. 14 illustrates values of control parameters changed according to a walking speed of a user, according to an example.
  • control parameter may include a parameter for support gain and a phase lead parameter.
  • the value of the support gain may be determined based on the value of the swing gain.
  • the value of the support gain and the value of the swing gain may be preset values (eg, 2).
  • a user wearing a wearable device may start walking at a speed of 3.5 km/h (Step 1).
  • the wearable device may optimize while changing the value of the control parameter.
  • the value of the support gain changes in an increasing direction
  • the phase lead parameter changes in a decreasing direction.
  • the user of the wearable device may change the walking speed from 3.5 km/h to 3.0 km/h (step 2). According to the results shown, there is no significant change in the value of the support gain and the phase lead parameter in the second step.
  • the user of the wearable device may change the walking speed from 3.0 km/h to 4.0 km/h (Step 3). According to the results shown, in step 3, the value of the support gain changes in a decreasing direction, and the phase lead parameter changes in an increasing direction.
  • 15 is a flowchart of a method of determining a value of a control parameter for controlling a wearable device, performed by an electronic device, according to an embodiment.
  • the following operations 1510 to 1580 are performed on an electronic device (eg, the electronic device 110 in FIG. 1 or the electronic device 110 in FIG. 2 ) connected to a wearable device (eg, the wearable device 120 in FIG. It can be performed by the electronic device 201.
  • an electronic device eg, the electronic device 110 in FIG. 1 or the electronic device 110 in FIG. 2
  • a wearable device eg, the wearable device 120 in FIG. It can be performed by the electronic device 201.
  • the electronic device may receive the joint angle of the thigh support frame from the wearable device.
  • the electronic device may receive the joint angle through a wireless communication channel with the wearable device.
  • the electronic device may generate a gait pattern of the user based on the joint angle.
  • a detailed description of operation 1520 may be replaced with a description of operation 720 described above with reference to FIG. 7 .
  • the electronic device may receive information about torque corresponding to the gait pattern output based on the first value of the control parameter.
  • the wearable device may output torque through operation 730 described above with reference to FIG. 7 and then transmit information on the output torque to the electronic device.
  • the electronic device may determine a first value of an objective result for a first torque pattern for torque.
  • a detailed description of operation 1540 may be replaced with a description of operation 740 described above with reference to FIG. 7 .
  • the electronic device may calculate a second torque pattern corresponding to a gait pattern for a changed second value based on the first value of the control parameter.
  • a detailed description of operation 1550 may be replaced with a description of operation 750 described above with reference to FIG. 7 .
  • the electronic device may determine a second value of an objective function for the second torque pattern.
  • a detailed description of operation 1560 may be replaced with a description of operation 760 described above with reference to FIG. 7 .
  • the electronic device may determine an optimal value of the control parameter based on the second value of the objective function.
  • a detailed description of operation 1570 may be replaced with a description of operation 770 described above with reference to FIG. 7 .
  • the electronic device may transmit the optimal value of the control parameter to the wearable device.
  • the wearable device may output torque based on an optimal value of a control parameter received from the electronic device.
  • the wearable device 120; 300 may include a processor 342 that controls the wearable device. According to an embodiment, the wearable device 120; 300 may include at least one sensor 321 that measures a joint angle of the thigh support frame. According to an embodiment, the wearable device 120; 300 may include a motor driver circuit 312 controlled by a processor. According to an embodiment, the wearable device 120; 300 may include a motor 314 electrically connected to a motor driver circuit. According to an embodiment, the wearable device 120; 300 may include a thigh support frame that transmits a torque generated by a motor to at least a part of a lower leg of a user.
  • the processor may perform an operation 720 of generating a gait pattern of a user wearing the wearable device based on the joint angle. According to an embodiment, the processor may perform an operation of outputting a torque corresponding to a gait pattern based on a first value of a control parameter. According to an embodiment, the processor may perform an operation 740 of determining a first value of an objective function for a first torque pattern with respect to the output torque. According to an embodiment, the processor may perform an operation 750 of calculating a second torque pattern corresponding to a gait pattern for a second value changed based on the first value of the control parameter. According to an embodiment, the processor may perform an operation 760 of determining a second value of the objective function for a second torque pattern. According to an embodiment, the processor may perform an operation 770 of determining an optimal value of a control parameter based on the second value of the objective function.
  • the gait pattern may include at least one of a joint angle pattern and a joint angular velocity pattern corresponding to a user's gait cycle.
  • the gait pattern may include at least one of a left gait pattern with respect to the left thigh support frame and a right gait pattern with respect to the right thigh support frame.
  • control parameter may be a parameter for torque output timing.
  • control parameter may be a parameter for the magnitude of torque.
  • control parameter may be a parameter for an offset with respect to torque.
  • operation 730 may include operation 910 of receiving a current joint angle of the thigh support frame. According to an embodiment, operation 730 may include an operation 920 of determining a current gait degree during a gait cycle of the user based on a gait pattern and a current joint angle. According to an embodiment, operation 730 may include an operation 930 of outputting a torque corresponding to the current walking degree based on the first torque pattern.
  • the objective function may include a factor related to a power calculated based on a joint angular velocity pattern of a gait pattern and a first torque pattern.
  • the factor related to power may be a factor related to a ratio of a section in which the power is a positive number to a section in which the power is a negative number.
  • the objective function may include factors related to the first work rate of the right thigh support frame and the second work rate of the left thigh support frame, which are calculated based on the joint angular velocity pattern of the gait pattern and the first torque pattern. .
  • the objective function is related to a first work rate for a first section and a second work rate for a second section of a user's gait cycle, which are calculated based on the joint angular velocity pattern and the first torque pattern of the gait pattern.
  • the objective function includes a factor related to a first peak value of a first torque pattern for a first section and a second peak value of a first torque pattern for a second section during a user's walking cycle. can do.
  • operation 750 may include operation 1110 of determining the second value of the control parameter such that the value of the objective function is maximized or minimized based on the operation mode of the wearable device.
  • operation 750 may include operation 1120 of calculating a second torque pattern for the second value of the control parameter.
  • the operation mode may be any one of an assistance mode for assisting the user's movement or an exercise mode for interfering with the user's movement.
  • the above method may include an operation 750 of calculating a second torque pattern corresponding to a gait pattern for a changed second value based on the first value of the control parameter.
  • the above method may include an operation 760 of determining a second value of an objective function for a second torque pattern.
  • the above method may include an operation 770 of determining an optimal value of a control parameter based on a second value of an objective function.
  • a method of determining a value of a control parameter may include an operation 1310 of receiving a current joint angle of the thigh support frame.
  • the method may include an operation 1320 of determining a current gait degree during a gait cycle of the user based on a gait pattern and a current joint angle.
  • the above method may include an operation 1330 of outputting a torque corresponding to a current walking degree based on an optimal torque pattern determined based on an optimal value of a control parameter.
  • control parameter may be a parameter for torque output timing.
  • control parameter may be a parameter for the magnitude of torque.
  • control parameter may be a parameter for an offset with respect to torque.
  • the above operation 730 may include an operation 910 of receiving a current joint angle of the thigh support frame. According to an embodiment, the above operation 730 may include an operation 920 of determining a current gait degree during a gait cycle of the user based on a gait pattern and a current joint angle. According to an embodiment, the above operation 730 may include an operation 930 of outputting a torque corresponding to the current gait level based on the first torque pattern.
  • the objective function may include a factor related to a power calculated based on a joint angular velocity pattern of a gait pattern and a first torque pattern.
  • the objective function may include factors related to the first work rate of the right thigh support frame and the second work rate of the left thigh support frame, which are calculated based on the joint angular velocity pattern of the gait pattern and the first torque pattern. .
  • the objective function is related to a first work rate for a first section and a second work rate for a second section of a user's gait cycle, which are calculated based on the joint angular velocity pattern and the first torque pattern of the gait pattern.
  • the electronic device 110; 201 may include a communication module 290 exchanging data with an external device.
  • the electronic device 110 (201) may include at least one processor 220 that controls the electronic device.
  • the processor may perform an operation 1510 of receiving a joint angle of the thigh support frame from a wearable device connected to the electronic device.
  • the processor may perform an operation 1520 of generating a gait pattern of a user wearing a wearable device based on joint angles.
  • the processor may perform an operation 1530 of receiving information about a torque corresponding to a gait pattern output based on a first value of a control parameter.
  • the processor may perform an operation 1540 of determining a first value of an objective function for a first torque pattern with respect to torque. According to an embodiment, the processor may perform an operation 1550 of calculating a second torque pattern corresponding to a gait pattern for a second value changed based on the first value of the control parameter. According to an embodiment, the processor may perform an operation 1560 of determining a second value of an objective function for a second torque pattern. According to an embodiment, the processor may perform an operation 1570 of determining an optimal value of the control parameter based on the second value of the objective function. According to an embodiment, the processor may perform an operation 1580 of transmitting the optimal value of the control parameter to the wearable device.
  • the embodiments described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components.
  • the devices, methods, and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA) ), a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and software applications running on the operating system.
  • a processing device may also access, store, manipulate, process, and generate data in response to execution of software.
  • the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include.
  • a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
  • Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. You can command the device.
  • Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. , or may be permanently or temporarily embodied in a transmitted signal wave.
  • Software may be distributed on networked computer systems and stored or executed in a distributed manner.
  • Software and data may be stored on computer readable media.
  • the method according to the 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, and the program instructions recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in the art of 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.
  • Examples of 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 device described above may be configured to operate as one or a plurality of software modules to perform the operation of the embodiment, and vice versa.

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Mechanical Engineering (AREA)
  • Epidemiology (AREA)
  • Pain & Pain Management (AREA)
  • Robotics (AREA)
  • Rehabilitation Therapy (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Rehabilitation Tools (AREA)

Abstract

일 실시 예에 따른, 웨어러블 장치는 관절 각도에 기초하여 사용자의 보행 패턴을 생성하고, 제어 파라미터의 제1 값에 기초하여 보행 패턴에 대응하는 토크를 출력하고, 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하고, 제어 파라미터의 제1 값에 기초하여 변경된 제2 값에 대한 보행 패턴에 대응하는 제2 토크 패턴을 계산하고, 제2 토크 패턴에 대한 목적함수의 제2 값을 결정하고, 목적함수의 제2 값에 기초하여 제어 파라미터의 최적 값을 결정할 수 있다.

Description

제어 파라미터의 값을 결정하는 방법 및 그 방법을 수행하는 전자 장치
본 출원은 웨어러블 장치를 제어하는 기술에 관한 것이다.
고령화 사회로 진입하면서 노화로 인한 근력 약화 또는 관절 이상으로 보행에 불편과 고통을 호소하는 사람들이 증가하고 있고, 근력이 약화된 노인이나 근관절이 불편한 환자들이 보행을 원활하게 할 수 있는 보행 보조 장치에 대한 관심이 높아지고 있다.
일 실시 예에 따른, 웨어러블 장치는, 웨어러블 장치를 제어하는 프로세서, 허벅지 지지 프레임의 관절 각도를 측정하는 적어도 하나의 센서, 상기 프로세서에 의해 제어되는 모터 드라이버 회로, 상기 모터 드라이버 회로와 전기적으로 연결된 모터, 및 모터에 의해 생성된 토크를 상기 사용자의 하지의 적어도 일부에 전달하는 허벅지 지지 프레임을 포함하고, 상기 프로세서는, 상기 관절 각도에 기초하여 상기 웨어러블 장치를 착용한 사용자의 보행 패턴을 생성하는 동작, 제어 파라미터의 제1 값에 기초하여 상기 보행 패턴에 대응하는 토크를 출력하는 동작, 상기 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하는 동작, 상기 제어 파라미터의 상기 제1 값에 기초하여 변경된 제2 값에 대한 상기 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작, 상기 제2 토크 패턴에 대한 상기 목적함수의 제2 값을 결정하는 동작, 및 상기 목적함수의 상기 제2 값에 기초하여 상기 제어 파라미터의 최적 값을 결정하는 동작을 수행할 수 있다.
일 실시 예에 따른, 웨어러블 장치에 의해 수행되는, 제어 파라미터의 값을 결정하는 방법은, 상기 웨어러블 장치의 허벅지 지지 프레임의 관절 각도에 기초하여 상기 웨어러블 장치를 착용한 사용자의 보행 패턴을 생성하는 동작, 제어 파라미터의 제1 값에 기초하여 상기 보행 패턴에 대응하는 토크를 출력하는 동작, 상기 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하는 동작, 상기 제어 파라미터의 상기 제1 값에 기초하여 변경된 제2 값에 대한 상기 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작, 상기 제2 토크 패턴에 대한 상기 목적함수의 제2 값을 결정하는 동작, 및 상기 목적함수의 상기 제2 값에 기초하여 상기 제어 파라미터의 최적 값을 결정하는 동작을 포함할 수 있다.
일 실시 예에 따른, 전자 장치에 있어서, 외부 장치와 데이터를 교환하는 통신 모듈, 및 상기 전자 장치를 제어하는 적어도 하나의 프로세서를 포함하고, 상기 프로세서는, 상기 전자 장치와 연결된 웨어러블 장치로부터 허벅지 지지 프레임의 관절 각도를 수신하는 동작, 상기 관절 각도에 기초하여 상기 웨어러블 장치를 착용한 사용자의 보행 패턴을 생성하는 동작, 제어 파라미터의 제1 값에 기초하여 상기 보행 패턴에 대응하는 토크를 출력하는 동작, 상기 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하는 동작, 상기 제어 파라미터의 상기 제1 값에 기초하여 변경된 제2 값에 대한 상기 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작, 상기 제2 토크 패턴에 대한 상기 목적함수의 제2 값을 결정하는 동작, 상기 목적함수의 상기 제2 값에 기초하여 상기 제어 파라미터의 최적 값을 결정하는 동작, 및 상기 제어 파라미터의 상기 최적 값을 상기 웨어러블 장치로 전송하는 동작을 수행할 수 있다.
도 1은 일 실시 예에 따른, 사용자에게 운동 프로그램을 제공하기 위한 시스템의 구성도이다.
도 2는 일 실시 예에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 3a, 도 3b, 도 3c 및 도 3d는 일 실시 예에 따른, 웨어러블 장치를 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른, 전자 장치와 통신하는 웨어러블 장치를 설명하기 위한 도면이다.
도 5 및 도 6은 일 실시 예에 따른, 웨어러블 장치의 토크 출력 방법을 설명하기 위한 도면이다.
도 7은 일 실시 예에 따른, 웨어러블 장치를 제어하기 위한 제어 파라미터의 값을 결정하는 방법의 흐름도이다.
도 8은 일 예에 따른, 보행 패턴의 관절 각도 패턴 및 관절 각속도 패턴을 도시한다.
도 9는 일 예에 따른, 제어 파라미터의 제1 값에 기초하여 보행 패턴에 대응하는 토크를 출력하는 방법의 흐름도이다.
도 10은 일 예에 따른, 제1 토크 패턴을 도시한다.
도 11은 일 예에 따른, 제어 파라미터의 제1 값에 기초하여 변경된 제2 값에 대한 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 방법의 흐름도이다.
도 12는 일 예에 따른, 토크 패턴들 및 토크 패턴들에 기초하여 계산되는 일률들을 도시한다.
도 13은 일 예에 따른, 제어 파라미터의 최적 값에 기초하여 결정된 최적 토크 패턴에 기초하여 토크를 출력하는 방법의 흐름도이다.
도 14는 일 예에 따른, 사용자의 보행 속도에 따라 변화되는 제어 파라미터의 값들을 도시한다.
도 15는 일 실시 예에 따른, 전자 장치에 의해 수행되는 웨어러블 장치를 제어하기 위한 제어 파라미터의 값을 결정하는 방법의 흐름도이다.
이하, 본 기재의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 기재를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 기재의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다.
도 1은 일 실시 예에 따른, 사용자에게 운동 프로그램을 제공하기 위한 시스템의 구성도이다.
일 실시 예에 따른, 사용자에게 운동 프로그램을 제공하기 위한 시스템(100)은 전자 장치(110), 웨어러블 장치(120), 부가 장치(130), 및 서버(140)를 포함할 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 근거리 무선 통신을 이용하여 웨어러블 장치(120)와 연결될 수 있는 사용자 단말일 수 있다. 예를 들어, 전자 장치(110)는 웨어러블 장치(120)를 제어하기 위한 제어 신호를 웨어러블 장치(120)로 전송할 수 있다. 전자 장치(110)에 대해 아래에서 도 2를 참조하여 상세히 설명되고, 제어 신호의 전송에 대해 아래에서 도 4를 참조하여 상세히 설명된다.
일 실시 예에 따르면, 웨어러블 장치(120)는 웨어러블 장치(120)를 착용한 사용자에게 보행(gait)을 보조하기 위한 보조력 또는 보행을 방해하기 위한 저항력을 제공할 수 있다. 저항력은 사용자의 운동을 위해 제공될 수 있다. 웨어러블 장치(120)에서 이용되는 다양한 제어 파라미터들의 값들이 제어됨으로써 웨어러블 장치(120)에 의해 출력되는 보조력 또는 저항력이 제어될 수 있다. 웨어러블 장치(120)의 구조 및 구동 방법에 대해 아래에서 도 3a, 3b, 3c, 3d, 4, 5 및 6을 참조하여 상세히 설명된다.
일 실시 예에 따르면, 전자 장치(110)는 근거리 무선 통신을 이용하여 부가 장치(130)(예: 무선 이어폰(131), 스마트 워치(132) 또는 스마트 글래스(133))와 연결될 수 있다. 예를 들어, 전자 장치(110)는 전자 장치(110)의 상태 또는 웨어러블 장치(120)의 상태 등을 나타내는 정보를 부가 장치(130)를 통해 사용자에게 출력할 수 있다. 예를 들어, 부가 장치(130)의 햅틱 장치, 스피커 장치 및 디스플레이 장치를 통해 웨어러블 장치(120)를 착용한 사용자의 보행 상태에 대한 피드백 정보가 출력될 수 있다.
일 실시 예에 따르면, 전자 장치(110)는 근거리 무선 통신 또는 셀룰러 통신을 이용하여 서버(140)와 연결될 수 있다. 예를 들어, 서버(140)는 웨어러블 장치(120)를 통해 사용자에게 제공될 수 있는 복수의 운동 모드들에 대한 정보가 저장된 데이터베이스를 포함할 수 있다. 운동 모드는 사용자의 목표 움직임에 대해 웨어러블 장치(120)가 적절한 토크를 사용자에게 제공하도록 웨어러블 장치(120)를 제어하는 움직임 제어 모델에 기초할 수 있다. 예를 들어, 서버(140)는 전자 장치(110) 또는 웨어러블 장치(120)의 사용자에 대한 사용자 계정을 관리할 수 있다. 서버(140)는 사용자가 수행한 운동 모드 및 운동 모드에 대한 수행 결과 등을 사용자 계정과 연관하여 저장하고, 관리할 수 있다.
일 실시 예에 따르면, 시스템(100)은 사용자가 원하는 움직임에 대한 운동 프로그램을 사용자에게 제공할 수 있다. 예를 들어, 사용자가 원하는 움직임은 Squat, Lunge 또는 Kick back과 같이 정형화된 제자리 운동일 수 있다. 예를 들어, 사용자가 원하는 움직임은 사용자에 의해 임의적으로 구성된 운동일 수 있다.
일 실시 예에 따르면, 운동 모드는 웨어러블 장치(120)를 착용한 사용자가 해당 움직임을 수행할 때, 해당 움직임에 대응하도록 미리 설정된 힘(또는, 토크)를 웨어러블 장치(120)를 통해 사용자에게 제공할 수 있다. 예를 들어, 사용자에게 제공되는 힘은 보조력일 수 있다. 예를 들어, 사용자에게 제공되는 힘은 저항력일 수 있다. 웨어러블 장치(120)에 의해 사용자에게 제공되는 힘의 출력 타이밍 및 크기는 사용자가 기존의 운동 모드를 수정하거나 또는 새로운 운동 모드를 저작함으로써 제어될 수 있다.
일 실시 예에 따르면, 움직임 제어 모델은 운동 모드를 사용자에게 제공하기 위해 웨어러블 장치(120)를 제어할 수 있다. 예를 들어, 운동 모드는 걷기 모드 및 달리기 모드 등을 포함할 수 있고, 기재된 실시예로 한정되지 않는다. 예를 들어, 움직임 제어 모델은 사용자의 움직임에 대응하는 토크가 웨어러블 장치(120)를 통해 출력되도록 웨어러블 장치(120)를 제어하는 모델일 수 있다. 움직임 제어 모델은 제어 파라미터들의 값들에 기초하여 토크를 출력할 수 있다. 예를 들어, 제어 파라미터들은 웨어러블 장치(120)를 통해 출력될 토크의 크기, 방향 및 타이밍, 웨어러블 장치(120)의 관절 각도들에 대한 민감도, 또는 관절 각도들 간의 오프셋 각도 중 적어도 하나를 조절하기 위한 1차적인 파라미터들을 포함할 수 있다. 예를 들어, 제어 파라미터들은 상기의 1차적인 파라미터들의 조합으로 표현되는 2차적인 파라미터들을 포함할 수 있다. 예를 들어, 2차적인 파라미터는 해당 운동 모드에 대한 기존의 토크 패턴을 시간 축(또는, 보행 싸이클)을 기준으로 어느 정도 이동시킬지를 나타내는 파라미터일 수 있다. 제어 파라미터의 값이 적절하게 결정되는 경우 사용자는 해당 운동 모드를 수행하는 동안 출력되는 토크에 의한 불편감을 느끼지 않을 수 있다.
아래에서 도 7 내지 도 15를 참조하여 웨어러블 장치를 제어하기 위한 제어 파라미터의 값을 결정하는 방법에 대해 상세히 설명된다.
도 2는 일 실시 예에 따른, 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시 예에 따른, 네트워크 환경(200) 내의 전자 장치(201)(예: 도 1의 전자 장치(110))의 블록도이다. 도 2를 참조하면, 네트워크 환경(200)에서 전자 장치(201)는 제1 네트워크(298)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(202)와 통신하거나, 또는 제2 네트워크(299)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(204) 또는 서버(208) 중 적어도 하나와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(201)는 서버(208)를 통하여 전자 장치(204)와 통신할 수 있다. 일 실시 예에 따르면, 전자 장치(201)는 프로세서(220), 메모리(230), 입력 모듈(250), 음향 출력 모듈(255), 디스플레이 모듈(260), 오디오 모듈(270), 센서 모듈(276), 인터페이스(277), 연결 단자(278), 햅틱 모듈(279), 카메라 모듈(280), 전력 관리 모듈(288), 배터리(289), 통신 모듈(290), 가입자 식별 모듈(296), 또는 안테나 모듈(297)을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치(201)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(278))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시 예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(276), 카메라 모듈(280), 또는 안테나 모듈(297))은 하나의 구성요소(예: 디스플레이 모듈(260))로 통합될 수 있다.
프로세서(220)는, 예를 들면, 소프트웨어(예: 프로그램(240))를 실행하여 프로세서(220)에 연결된 전자 장치(201)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일 실시 예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(220)는 다른 구성요소(예: 센서 모듈(276) 또는 통신 모듈(290))로부터 수신된 명령 또는 데이터를 휘발성 메모리(232)에 저장하고, 휘발성 메모리(232)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(234)에 저장할 수 있다. 일 실시 예에 따르면, 프로세서(220)는 메인 프로세서(221)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(223)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(201)가 메인 프로세서(221) 및 보조 프로세서(223)를 포함하는 경우, 보조 프로세서(223)는 메인 프로세서(221)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(223)는 메인 프로세서(221)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(223)는, 예를 들면, 메인 프로세서(221)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(221)를 대신하여, 또는 메인 프로세서(221)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(221)와 함께, 전자 장치(201)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(260), 센서 모듈(276), 또는 통신 모듈(290))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일 실시 예에 따르면, 보조 프로세서(223)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(280) 또는 통신 모듈(290))의 일부로서 구현될 수 있다. 일 실시 예에 따르면, 보조 프로세서(223)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(201) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(208))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(230)는, 전자 장치(201)의 적어도 하나의 구성요소(예: 프로세서(220) 또는 센서 모듈(276))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(240)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(230)는, 휘발성 메모리(232) 또는 비휘발성 메모리(234)를 포함할 수 있다.
프로그램(240)은 메모리(230)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(242), 미들 웨어(244) 또는 어플리케이션(246)을 포함할 수 있다.
입력 모듈(250)은, 전자 장치(201)의 구성요소(예: 프로세서(220))에 사용될 명령 또는 데이터를 전자 장치(201)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(250)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(255)은 음향 신호를 전자 장치(201)의 외부로 출력할 수 있다. 음향 출력 모듈(255)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일 실시 예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(260)은 전자 장치(201)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(260)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 디스플레이 모듈(260)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(270)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시 예에 따르면, 오디오 모듈(270)은, 입력 모듈(250)을 통해 소리를 획득하거나, 음향 출력 모듈(255), 또는 전자 장치(201)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(202))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(276)은 전자 장치(201)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일 실시 예에 따르면, 센서 모듈(276)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(277)는 전자 장치(201)가 외부 전자 장치(예: 전자 장치(202))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일 실시 예에 따르면, 인터페이스(277)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(278)는, 그를 통해서 전자 장치(201)가 외부 전자 장치(예: 전자 장치(202))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일 실시 예에 따르면, 연결 단자(278)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(279)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일 실시 예에 따르면, 햅틱 모듈(279)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(280)은 정지 영상 및 동영상을 촬영할 수 있다. 일 실시 예에 따르면, 카메라 모듈(280)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(288)은 전자 장치(201)에 공급되는 전력을 관리할 수 있다. 일 실시 예에 따르면, 전력 관리 모듈(288)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(289)는 전자 장치(201)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일 실시 예에 따르면, 배터리(289)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(290)은 전자 장치(201)와 외부 전자 장치(예: 전자 장치(202), 전자 장치(204), 또는 서버(208)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(290)은 프로세서(220)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(290)은 무선 통신 모듈(292)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(294)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(298)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(299)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(204)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(292)은 가입자 식별 모듈(296)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 사용하여 제1 네트워크(298) 또는 제2 네트워크(299)와 같은 통신 네트워크 내에서 전자 장치(201)를 확인 또는 인증할 수 있다.
무선 통신 모듈(292)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(292)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(292)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(292)은 전자 장치(201), 외부 전자 장치(예: 전자 장치(204)) 또는 네트워크 시스템(예: 제2 네트워크(299))에 규정되는 다양한 요구사항을 지원할 수 있다. 일 실시 예에 따르면, 무선 통신 모듈(292)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(297)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일 실시 예에 따르면, 안테나 모듈(297)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일 실시 예에 따르면, 안테나 모듈(297)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제1 네트워크(298) 또는 제2 네트워크(299)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(290)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(290)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시 예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(297)의 일부로 형성될 수 있다.
일 실시 예에 따르면, 안테나 모듈(297)은 mmWave 안테나 모듈을 형성할 수 있다. 예를 들어, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일 실시 예에 따르면, 명령 또는 데이터는 제2 네트워크(299)에 연결된 서버(208)를 통해서 전자 장치(201)와 외부의 전자 장치(204)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(202, 또는 204) 각각은 전자 장치(201)와 동일한 또는 다른 종류의 장치일 수 있다. 일 실시 예에 따르면, 전자 장치(201)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(202, 204, 또는 208) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(201)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(201)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(201)로 전달할 수 있다. 전자 장치(201)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 사용될 수 있다. 전자 장치(201)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 사용하여 초저지연 서비스를 제공할 수 있다. 다른 실시 예에 있어서, 외부의 전자 장치(204)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(208)는 기계 학습 및/또는 신경망을 사용한 지능형 서버일 수 있다. 일 실시 예에 따르면, 외부의 전자 장치(204) 또는 서버(208)는 제2 네트워크(299) 내에 포함될 수 있다. 전자 장치(201)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
본 문서에 개시된 다양한 실시 예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트 폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시 예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시 예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시 예들로 한정하려는 것이 아니며, 해당 실시 예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시 예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일 실시 예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(201)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(236) 또는 외장 메모리(238))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(240))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(201))의 프로세서(예: 프로세서(220))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
도 3a, 3b, 3c 및 3d는 일 실시 예에 따른, 웨어러블 장치를 설명하기 위한 도면이다.
도 3a, 3b, 3c 및 3d를 참조하면, 웨어러블 장치(300)(예: 도 1의 웨어러블 장치(120))는 사용자에게 장착되어 사용자의 보행을 보조할 수 있다. 예를 들어, 웨어러블 장치(300)는 사용자의 보행을 보조하는 장치일 수 있다. 또한, 웨어러블 장치(300)는 사용자의 움직임(예: 보행 또는 운동)을 보조할 뿐만 아니라, 사용자에게 저항력을 제공함으로써 운동 기능을 제공하는 운동 장치일 수 있다. 예를 들어, 사용자에게 제공되는 저항력은 모터와 같은 장치에 의해 출력되는 힘과 같이 사용자에게 능동적으로 가해지는 힘일 수도 있다. 예를 들어, 저항력은 사용자에게 능동적으로 가해지는 힘은 아니나 마찰력과 같이 사용자의 움직임을 방해하는 힘일 수 있다. 다른 말로, 저항력은 운동 부하로 표현될 수 있다.
도 3a, 3b, 3c 및 3d는 힙 타입의 웨어러블 장치(300)를 도시하고 있으나, 웨어러블 장치의 타입은 힙 타입에 제한되는 것은 아니며, 웨어러블 장치는 하지 전체를 지원하는 형태 또는 하지 일부를 지원하는 타입일 수 있다. 그리고, 웨어러블 장치는 하지 일부를 지원하는 형태, 무릎까지 지원하는 형태, 발목까지 지원하는 형태 및 전신을 지원하는 형태 중 어느 하나일 수 있다.
도 3a, 3b, 3c 및 3d를 참조하여 설명되는 실시예들은 힙 타입에 대해 적용될 수 있으나, 이에 한정되는 것이 아니며 다양한 타입들의 웨어러블 장치에 대해서 모두 적용될 수 있다.
일 실시 예에 따르면, 웨어러블 장치(300)는 구동부(310), 센서부(320), IMU(Inertial Measurement Unit)(330), 제어부(340), 배터리(350) 및 통신 모듈(352)을 포함한다. 예를 들어, IMU(330) 및 제어부(340)는 웨어러블 장치(300)의 메인 프레임 내에 배치될 수 있다. 예를 들어, IMU(330) 및 제어부(340)는 웨어러블 장치(300)의 메인 프레임의 외부에 형성(또는, 부착)되는 하우징에 포함될 수 있다.
구동부(310)는 모터(314) 및 모터(314)를 구동시키기 위한 모터 드라이버 회로(312)를 포함할 수 있다. 센서부(320)는 적어도 하나의 센서(321)를 포함할 수 있다. 제어부(340)는 프로세서(342), 메모리(344) 및 입력 인터페이스(346)를 포함할 수 있다. 도 3c에는 하나의 센서(321), 하나의 모터 드라이버 회로(312), 및 하나의 모터(314)가 도시되어 있으나 이는 예시적인 사항일 뿐, 도 3d에 도시된 예와 같이 다른 일례의 웨어러블 장치(300-1)는 복수의 센서들(321 및 321-1), 복수의 모터 드라이버 회로들(312 및 312-1), 및 복수의 모터들(314 및 314-1)을 포함할 수 있다. 또한, 구현에 따라 웨어러블 장치(300)는 복수의 프로세서들을 포함할 수 있다. 모터 드라이버 회로 개수, 모터 개수, 또는 프로세서 개수는 웨어러블 장치(300)가 착용되는 신체 부위에 따라 달라질 수 있다.
후술할 센서(321), 모터 드라이버 회로(312), 및 모터(314)에 대한 설명은 도 3d에 도시된 센서(321-1), 모터 드라이버 회로(312-1), 및 모터(314-1)에 대해서도 적용될 수 있다.
구동부(310)는 사용자의 힙 관절(hip joint)을 구동시킬 수 있다. 예를 들어, 구동부(310)는 사용자의 오른쪽 힙 및/또는 왼쪽 힙 부분에 위치할 수 있다. 구동부(310)는 사용자의 무릎 부분 및 발목 부분에 추가적으로 위치할 수 있다. 구동부(310)는 회전 토크를 발생시킬 수 있는 모터(314) 및 모터(314)를 구동시키기 위한 모터 드라이버 회로(312)를 포함한다.
센서부(320)는 보행 시 사용자의 힙 관절의 각도를 측정할 수 있다. 힙 관절의 각도는 사용자의 움직임 또는 모터(314)의 회전에 의해 나타나는 허벅지 지지 프레임의 회전 각도일 수 있다. 센서부(320)에서 센싱되는 힙 관절의 각도에 대한 정보는 오른쪽 힙 관절의 각도, 왼쪽 힙 관절의 각도, 양쪽 힙 관절 각도들 간의 차이 및 힙 관절 운동 방향을 포함할 수 있다. 예를 들어, 센서(321)는 구동부(310) 내에 위치할 수 있다. 센서(321)의 위치에 따라 센서부(320)는 사용자의 무릎 각도 및 발목 각도를 추가적으로 측정할 수 있다. 센서(321)는 엔코더(encoder)일 수 있다. 센서부(320)에 의해 측정된 관절의 각도에 정보는 제어부(340)로 전송될 수 있다.
일 실시 예에 따르면, 센서부(320)는 포텐셔미터를 포함할 수 있다. 포텐셔미터는 사용자의 보행 동작에 따른 R축 관절 각도, L축 관절 각도, R축 관절 각속도, 및 L축 관절 각속도를 센싱할 수 있다. R/L축은 사용자의 오른쪽/왼쪽 다리에 대한 기준 축일 수 있다. 예를 들어, R/L축은 지면에 수직이 되도록 설정되고, 사람의 몸통의 앞면 쪽이 음수 값을 갖고, 몸통의 뒷면 쪽이 양수 값을 갖도록 설정될 수 있다.
IMU(330)는 보행 시 가속도 정보와 자세 정보를 측정할 수 있다. 예를 들어, IMU(330)는 사용자의 보행 동작에 따른 X축, Y축, Z축 가속도 및 X축, Y축, Z축 각속도를 센싱할 수 있다. IMU(330)에 의해 측정된 가속도 정보와 자세 정보는 제어부(340)로 전송될 수 있다.
웨어러블 장치(300)는 앞서 설명한 센서부(320) 및 IMU(330) 이외에, 보행 동작에 따른 사용자의 운동량 또는 생체 신호 등의 변화를 센싱할 수 있는 센서(예를 들어, 근전도 센서(ElectroMyoGram sensor: EMG sensor))를 포함할 수 있다.
제어부(340)는 웨어러블 장치(300)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 제어부(340)는 센서부(320) 및 IMU(330) 각각이 센싱된 정보를 수신할 수 있다. IMU(330)에 의해 센싱된 정보는 가속도 정보 및 자세 정보를 포함하고, 센서부(320)에 의해 센싱된 정보는 오른쪽 힙 관절의 각도, 왼쪽 힙 관절의 각도, 양쪽 힙 관절 각도들 간의 차이 및 힙 관절 운동 방향을 포함할 수 있다. 일 실시 예에 따르면, 제어부(340)는 오른쪽 힙 관절의 각도 및 왼쪽 힙 관절의 각도에 기초하여 양쪽 힙 관절 각도들 간의 차이를 계산할 수 있다. 제어부(340)는 센싱된 정보에 기초하여 구동부(310)를 제어하기 위한 신호를 생성할 수 있다. 예를 들어, 생성된 신호는 사용자의 움직임을 보조하기 위한 보조력일 수 있다. 예를 들어, 생성된 신호는 사용자의 움직임을 방해하기 위한 저항력일 수 있다. 저항력은 사용자의 운동을 위해 제공될 수 있다. 이하의 설명에서, 운동 부하(또는, 토크)의 크기가 음수인 것은 저항력을 의미하고, 크기가 양수인 것은 보조력을 의미할 수 있다.
일 실시 예에 따르면, 제어부(340)의 프로세서(342)는 사용자에게 저항력을 제공하기 위해 구동부(310)를 제어할 수 있다. 예를 들어, 구동부(310)는 모터(314)를 통해 사용자에게 능동적인 힘을 가함으로써 사용자에게 저항력을 제공할 수 있다. 예를 들어, 구동부(310)는 사용자에게 능동적인 힘을 가하지 않고, 모터(314)의 역 구동성(back-drivability)을 이용하여 사용자에게 저항력을 제공할 수 있다. 모터의 역 구동성이란, 외부의 힘에 대한 모터의 회전 축의 반응성을 의미할 수 있고, 모터의 역 구동성이 높을수록 모터의 회전 축에 작용하는 외부의 힘에 대해 쉽게 반응할 수 있다(즉, 모터의 회전 축이 쉽게 회전한다). 모터의 회전 축에 동일한 외부의 힘이 가해지더라도, 역 구동성의 정도에 따라 모터의 회전 축이 회전하는 정도가 달라질 수 있다.
일 실시 예에 따르면, 제어부(340)의 프로세서(342)는 구동부(310)가 사용자의 움직임을 돕기 위한 토크(또는 보조 토크)를 출력하도록, 구동부(310)를 제어할 수 있다. 예를 들어, 힙 타입의 웨어러블 장치(300)에서, 구동부(310)는 왼쪽 힙 부분 및 오른쪽 힙 부분에 각각 배치되도록 구성될 수 있고, 제어부(340)는 토크가 발생되도록 구동부(310)를 제어하는 제어 신호를 출력할 수 있다.
구동부(310)는 제어부(340)가 출력한 제어 신호에 기반하여, 토크를 발생시킬 수 있다. 토크를 발생시키기 위한 토크 값은 외부에 의해 설정될 수도 있고, 제어부(340)에 의해 설정될 수도 있다. 예를 들어, 제어부(340)는 토크 값의 크기를 나타내기 위해, 구동부(310)로 전송하는 신호에 대한 전류의 크기를 이용할 수 있다. 즉, 구동부(310)가 수신하는 전류의 크기가 클수록, 토크 값이 클 수 있다. 예를 들어, 제어부(340)의 프로세서(342)는 제어 신호를 구동부(310)의 모터 드라이버 회로(312)로 전송하고, 모터 드라이버 회로(312)는 제어 신호에 대응하는 전류를 생성함으로써 모터(314)를 제어할 수 있다.
배터리(350)는 웨어러블 장치(300)의 구성 요소에 전력을 공급한다. 웨어러블 장치(300)는 배터리(350)의 전력을 웨어러블 장치(300)의 구성 요소의 동작 전압에 맞게 변환하여 웨어러블 장치(300)의 구성 요소에 제공하는 회로(예를 들어, PMIC(Power Management Integrated Circuit))를 더 포함할 수 있다. 또한, 웨어러블 장치(300)의 동작 모드에 따라 배터리(350)는 모터(314)에 전력을 공급하거나 공급하지 않을 수 있다.
통신 모듈(352)은 웨어러블 장치(300)와 외부 전자 장치 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(352)은 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일 실시 예에 따르면, 통신 모듈(352)은 무선 통신 모듈(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제2 네트워크(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크를 통하여 외부의 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다.
일 실시 예에 따르면, 도 2를 참조하여 전술된 전자 장치(201)는 웨어러블 장치(300)에 포함될 수 있다.
일 실시 예에 따르면, 도 2를 참조하여 전술된 전자 장치(201)는 웨어러블 장치(300)와는 물리적으로 분리된 별개의 장치일 수 있고, 전자 장치(201) 및 웨어러블 장치(300)는 근거리 무선 통신을 통해 연결될 수 있다.
도 4는 일 실시 예에 따른, 전자 장치와 통신하는 웨어러블 장치를 설명하기 위한 도면이다.
도 4에 도시된 예에서, 도 3a, 3b, 3c 및 3d을 참조하여 전술된 웨어러블 장치(300)(예: 도 1의 웨어러블 장치(120))는 도 2를 참조하여 전술된 전자 장치(201)(예: 도 1의 전자 장치(110))와 통신할 수 있다. 예를 들어, 전자 장치(201)는 웨어러블 장치(300)의 사용자의 전자 장치일 수 있다. 일 실시 예에 따르면, 웨어러블 장치(300)와 전자 장치(201)는 근거리 무선 통신 방식을 이용하여 연결될 수 있다.
전자 장치(201)는 디스플레이(201-1)에 웨어러블 장치(300)의 동작을 제어하기 위한 UI(user interface)를 표시할 수 있다. 예를 들어, UI는 사용자가 웨어러블 장치(300)를 제어할 수 있는 적어도 하나의 소프트키를 포함할 수 있다.
사용자는 전자 장치(201)의 디스플레이(201-1) 상의 UI를 통해 웨어러블 장치(300)의 동작을 제어하기 위한 명령을 입력할 수 있고, 전자 장치(201)는 명령에 대응하는 제어 명령을 생성하고, 생성된 제어 명령을 웨어러블 장치(300)로 전송할 수 있다. 웨어러블 장치(300)는 수신된 제어 명령에 따라 동작할 수 있고, 제어 결과를 전자 장치(201)로 전송할 수 있다. 전자 장치(201)는 제어 완료 메시지를 전자 장치(201)의 디스플레이(201-1)에 표시할 수 있다.
도 5 및 도 6은 일 실시 예에 따른, 웨어러블 장치의 토크 출력 방법을 설명하기 위한 도면이다.
도 5 및 도 6에 도시된 예에서, 도 3의 웨어러블 장치(300)(예: 도 1의 웨어러블 장치(120))의 구동부들(310-1 및 310-2)은 사용자의 힙 관절 부근에 위치할 수 있고, 웨어러블 장치(300)의 제어부(340)는 허리 부근에 위치할 수 있다. 구동부들(310-1 및 310-2) 및 제어부(340)의 위치는 도 5 및 도 6에 도시된 예로 제한되지 않는다.
웨어러블 장치(300)는 사용자의 왼쪽 힙 관절 각도 q_l과 오른쪽 힙 관절 각도 q_r을 측정(또는, 센싱)한다. 예를 들어, 웨어러블 장치(300)는 왼쪽 센서(예: 홀 센서 또는 엔코더)를 통해 사용자의 왼쪽 힙 관절 각도 q_l을 측정할 수 있고, 오른쪽 센서(예: 홀 센서 또는 엔코더)를 통해 사용자의 오른쪽 힙 관절 각도 q_r을 측정할 수 있다. 도 6에 도시된 일 예에서, 왼쪽 다리는 기준선(620)보다 앞서므로 왼쪽 힙관절 각도 q_l은 음수(negative number)일 수 있고, 오른쪽 다리는 기준선(620)보다 뒤에 있으므로 오른쪽 힙 관절 각도 q_r은 양수(positive number)일 수 있다. 구현 예에 따라, 오른쪽 다리가 기준선(620)보다 앞설 때 오른쪽 힙관절 각도 q_r이 음수일 수 있고 왼쪽 다리가 기준선(620)보다 뒤에 있을 때 왼쪽 힙 관절 각도 q_l이 양수일 수 있다.
일 실시 예에 따르면, 웨어러블 장치(300)는 센서부(320)가 측정한 제1 관절(예: 오른쪽 힙 관절)의 제1 원시 각도(예: q_r_raw) 및 제2 관절(예: 왼쪽 힙 관절)의 제2 원시 각도(예: q_l_raw)를 필터링함으로써 제1 각도(예: q_r) 및 제2 각도(q_l)를 획득할 수 있다. 예를 들어, 웨어러블 장치(300)는 이전 시각에 대해 측정된 제1 이전 각도 및 제2 이전 각도에 기초하여 제1 원시 각도 및 제2 원시 각도를 필터링할 수 있다. 원시 각도 필터링의 필터링 정도는 각도 변화의 민감도를 나타내는 제어 파라미터의 값에 기초하여 조절될 수 있다.
일 실시 예에 따르면, 웨어러블 장치(300)는 왼쪽 힙 관절 각도 q_l, 오른쪽 힙 관절 각도 q_r, 오프셋 각도(offset angle) c, 민감도 α, 게인 κ, 및 딜레이 △t를 기초로 토크 값 τ(t)을 결정하고, 결정된 토크 값 τ(t)이 출력되도록 웨어러블 장치(300)의 모터 드라이버 회로(312)를 제어할 수 있다. 토크 값 τ(t)에 의해 사용자에게 제공되는 힘은 포스 피드백으로 명명될 수 있다. 예를 들어, 웨어러블 장치(300)는 아래의 [수학식 1]에 기초하여 토크 값 τ(t)을 결정할 수 있다.
Figure PCTKR2023001381-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의 값은 미리 설정될 수 있고, 사용자, 웨어러블 장치(300) 또는 도 2를 참조하여 전술된 전자 장치(201)에 의해 조정 가능할 수 있다.
[수학식 1]을 이용하여 사용자에게 보조력으로 작용하는 토크를 출력하는 모델은 토크 출력 모델(또는, 토크 출력 알고리즘)로 정의될 수 있다. 웨어러블 장치(300) 또는 전자 장치(201)는 센서들을 통해 수신한 입력 파라미터들의 값들을 토크 출력 모델에 입력함으로써 출력될 토크의 크기 및 딜레이를 결정할 수 있다.
일 실시 예에 따르면, 웨어러블 장치(300) 또는 전자 장치(201)는 상태 인자 y(t)에 대해 결정된 파라미터 값으로서 제1 게인 값 및 제1 딜레이 값을 제1 상태 인자 y(t)에 적용함으로써 아래의 [수학식 2]를 통해 제1 토크 값을 결정할 수 있다.
Figure PCTKR2023001381-appb-img-000002
두 다리들에 적용되어야 하므로, 계산된 제1 토크 값은 제1 관절에 대한 값 및 제2 관절에 대한 값을 포함할 수 있다. 예를 들어,
Figure PCTKR2023001381-appb-img-000003
은 제2 관절인 왼쪽 힙 관절에 대한 값일 수 있고,
Figure PCTKR2023001381-appb-img-000004
은 제1 관절인 오른쪽 힙 관절에 대한 값일 수 있다.
Figure PCTKR2023001381-appb-img-000005
Figure PCTKR2023001381-appb-img-000006
은 크기는 동일하고, 토크의 방향이 반대인 값일 수 있다. 웨어러블 장치(300)는 제1 토크 값에 대응하는 토크가 출력되도록 웨어러블 장치(300)의 모터 드라이버(312)를 제어할 수 있다.
일 실시 예에 따르면, 사용자가 왼쪽 다리와 오른쪽 다리가 비대칭인 보행을 수행하는 경우, 웨어러블 장치(300)는 비대칭 보행을 보조하기 위해 비대칭적인 토크를 사용자의 양쪽 다리들에 각각 제공할 수 있다. 예를 들어, 보폭이 작거나 또는 스윙 속도가 느린 다리 쪽에 더 강한 보조력을 제공할 수 있다. 이하에서, 보폭이 작거나 또는 스윙 속도가 느린 다리를 환측 다리(affected leg) 또는 타겟 다리(target leg)로 명명한다.
일반적으로 환측 다리는 건측 다리에 비해 스윙 시간이 짧거나, 보폭이 작을 수 있다. 일 실시 예에 따르면, 사용자의 보행을 보조하기 위해 환측 다리에 작용하는 토크의 타이밍을 조절하는 방식이 고려될 수 있다. 예를 들어, 환측 다리의 스윙 동작을 보조하기 위한 토크의 출력 시간을 증가시키기 위해 환측 다리에 대한 실제의 관절 각도에 오프셋 각도가 부가될 수 있다. c는 관절 각도들 간의 오프셋 각도를 나타내는 파라미터의 값일 수 있다. 환측 다리의 실제의 관절 각도에 오프셋 각도가 부가됨으로써 웨어러블 장치(300)에 탑재(또는, 적용)된 토크 출력 모델에 입력되는 입력 파라미터의 값이 조정될 수 있다. 예를 들어, q_r q_l의 값이 아래의 [수학식 3]을 통해 조정될 수 있다. cr은 오른쪽 힙 관절에 대한 오프셋 각도를 의미하고, cl은 왼쪽 힙 관절에 대한 오프셋 각도를 의미할 수 있다.
Figure PCTKR2023001381-appb-img-000007
일 실시 예에 따르면, 웨어러블 장치(300)는 불규칙한 토크의 출력에 의해 사용자가 느끼는 불편감을 감소시키기 위해 상태 인자를 필터링할 수 있다. 예를 들어, 웨어러블 장치(300) 또는 전자 장치(201)는 제1 관절의 제1 각도 및 제2 관절의 제2 각도에 기초하여 현재 시각 t의 초기 상태 인자 yraw(t)를 결정하고, 이전 시각 t-1에 대해 결정된 이전 상태 인자 yprv 및 초기 상태 인자 yraw(t)에 기초하여 제1 상태 인자 y(t)를 결정할 수 있다. 현재 시각 t는 t 번째의 데이터(또는, 샘플)에 대한 처리 시각을 의미하고, 이전 시각 t-1는 t-1 번째의 데이터에 대한 처리 시각을 의미할 수 있다. 예를 들어, 현재 시각 t 및 이전 시각 t-1 간의 차이는 해당 데이터들을 생성 또는 처리하는 프로세서의 동작 주기일 수 있다. 민감도 α는 민감도를 나타내는 파라미터의 값일 수 있다. 예를 들어, 민감도 값은 테스트 보행 동안 계속적으로 조정될 수 있으나, 계산의 복잡성을 낮추기 위해 민감도 값은 일정한 값으로 미리 설정될 수 있다.
도 6을 참조하여 설명된 실시예는 왼쪽 힙 관절 각도 q_l 및 오른쪽 힙 관절 각도 q_r를 이용하여 상태 인자 y를 계산하고, 상태 인자 y에 기초하여 왼쪽 다리 및 오른쪽 다리에 대한 토크 값들을 계산하는 실시예에 관한 것이다.
도 6의 실시예와는 다른 실시예로서 왼쪽 힙 관절 각도 q_l에 기초하여 왼쪽 다리에 대한 보행 패턴 및 오른쪽 힙 관절 각도 q_r에 기초하여 오른쪽 다리에 대한 보행 패턴을 각각 생성하고, 생성된 보행 패턴들을 이용하여 왼쪽 다리 및 오른쪽 다리에 대한 토크 값들을 각각 계산하는 실시예도 고려될 수 있다. 아래의 도 7 내지 도 14를 참조한 설명은 두 다리들 중 어느 한쪽의 다리(예: 오른쪽 다리)에 적용되는 설명일 수 있나, 다른 한쪽의 다리(예: 왼쪽)에 대해서도 동일하게 적용될 수 있다.
도 7은 일 실시 예에 따른, 웨어러블 장치를 제어하기 위한 제어 파라미터의 값을 결정하는 방법의 흐름도이다.
아래의 동작들 710 내지 770은 웨어러블 장치(예: 도 1의 웨어러블 장치(120) 또는 도 3의 웨어러블 장치(300))에 의해 수행될 수 있다.
동작 710에서, 웨어러블 장치는 허벅지 지지 프레임의 관절 각도를 획득할 수 있다. 예를 들어, 사용자가 웨어러블 장치를 착용한 상태에서 보행하는 경우, 사용자의 힙 관절에 대응하도록 배치된 허벅지 지지 프레임이 회전할 수 있고, 허벅지 지지 프레임의 회전 각도가 관절 각도로서 획득될 수 있다. 예를 들어, 허벅지 지지 프레임이 회전하는 부분에 위치한 홀 센서에 의해 허벅지 지지 프레임의 관절 각도가 생성될 수 있다.
동자 720에서, 웨어러블 장치는 관절 각도에 기초하여 사용자의 보행 패턴을 생성할 수 있다. 사람의 보행은 반복적인 두 다리들의 움직임을 가질 수 있고, 반복적인 다리의 움직임은 보행 싸이클을 나타낼 수 있다. 예를 들어, 하나의 보행 싸이클에서 나타나는 보행 패턴은 시간에 따른 힙 관절(또는, 허벅지 지지 프레임)의 관절 각도 패턴 또는 관절 각속도 패턴 중 적어도 하나를 포함할 수 있다. 관절 각도 패턴 및 관절 각속도 패턴에 대해 아래에서 도 8을 참조하여 상세히 설명된다.
일 실시 예에 따르면, 보행 패턴은 왼쪽 허벅지 지지 프레임에 대한 왼쪽 보행 패턴 또는 오른쪽 허벅지 지지 프레임에 대한 오른쪽 보행 패턴 중 적어도 하나를 포함할 수 있다. 예를 들어, 사용자의 왼쪽 다리의 보행 및 오른쪽 다리의 보행이 균형적이고, 대칭적인 경우 어느 한쪽의 다리에 대한 보행 패턴이 생성되고, 다른 쪽 다리에 대한 보행 패턴은 생성되지 않을 수 있다. 예를 들어, 사용자의 왼쪽 다리의 보행 및 오른쪽 다리의 보행이 불균형적인 경우 두 다리들 각각에 대한 보행 패턴들이 생성될 수 있다.
일 실시 예에 따르면, 사용자의 보행 패턴이 생성된 후에 아래의 동작 730이 수행될 수 있다. 예를 들어, 동작들 710 및 720을 통해 생성되는 보행 패턴은 이전에 저장된 사용자에 대한 보행 패턴이 아닌 사용자가 웨어러블 장치를 착용하고 있는 동안에 실시간으로 생성되는 보행 패턴일 수 있다.
동작 730에서, 웨어러블 장치는 제어 파라미터의 제1 값에 기초하여 보행 패턴에 대응하는 토크를 출력할 수 있다. 예를 들어, 제어 파라미터들은 토크의 출력 타이밍에 대한 파라미터, 토크의 크기에 대한 파라미터, 토크에 대한 오프셋에 대한 파라미터 또는 이들의 조합 중 적어도 하나를 포함할 수 있다. 예를 들어, 토크의 크기에 대한 제어 파라미터(예: 게인)는 스윙 상태에서 적용되는 스윙 게인 및 지지 상태에서 적용되는 지지 게인을 포함할 수 있다. 상기의 예와 같이 동일한 제어(예: 토크의 크기 제어)를 위한 제어 파라미터들인 경우에도 적용되는 시점에 따라 서로 다른 제어 파라미터들로 구분될 수 있다.
일 실시 예에 따르면, 제어 파라미터의 제1 값은 기본 값 또는 가장 최근에 결정(또는, 저장)되었던 제어 파라미터의 값일 수 있다. 예를 들어, 제어 파라미터의 제1 값은 사용자의 보행 패턴에 대응하는 보행 속도에 대해 미리 결정된 값일 수 있다. 예를 들어, 보행 속도에 대응하도록 미리 결정된 제어 파라미터의 제1 값은 사용자에 대해 개인화된 값일 수 있다.
일 실시 예에 따르면, 웨어러블 장치는 보행 패턴에 기초하여 사용자의 현재 보행 정도를 결정하고, 결정된 보행 정도에 대응하는 토크를 출력할 수 있다. 아래에서 도 9를 참조하여 현재 보행 정도에 대응하는 토크를 출력하는 방법에 대해 상세히 설명된다.
동작 740에서, 웨어러블 장치는 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정할 수 있다. 예를 들어, 제1 토크 패턴은 하나의 보행 싸이클 동안 출력되는 토크의 값들의 궤적일 수 있다.
일 실시 예에 따르면, 목적함수는 토크가 적절하게 사용자에게 출력되고 있는지를 수치화하기 위한 함수일 수 있다.
예를 들어, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는 일률(power)과 관련된 제1 인자를 포함할 수 있다. 예를 들어, 일률과 관련된 제1 인자는 일률이 양수로 나타나는 구간 대비 음수로 나타나는 구간의 비율과 관련된 인자일 수 있다. 일률이 양수로 나타나는 구간은 사용자의 움직임 방향으로 보조력이 가해진 구간이므로, 웨어러블 장치가 보조 모드로 동작하는 경우 일률이 양수로 나타나는 구간의 비율이 높을수록 웨어러블 장치가 효율적으로 동작하는 것으로 결정될 수 있다. 일률이 음수로 나타나는 구간은 사용자의 움직임 방향과 반대되는 방향으로 저항력이 가해진 구간이므로, 웨어러블 장치가 운동 모드로 동작하는 경우 일률이 음수로 나타나는 구간의 비율이 높을수록 웨어러블 장치가 효율적으로 동작하는 것으로 결정될 수 있다.
예를 들어, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는 오른쪽 허벅지 지지 프레임의 제1 일률 및 왼쪽 허벅지 지지 프레임의 제2 일률과 관련된 제2 인자를 포함할 수 있다. 제2 인자는 오른쪽 다리 및 왼쪽 다리에 나타나는 일률들의 차이를 나타낼 수 있다. 일률들 간의 차이를 감소시키는 것은 오른쪽 다리 및 왼쪽 다리의 균형을 높이는 것일 수 있다.
예를 들어, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는, 사용자의 보행 싸이클 중 제1 구간에 대한 제1 일률 및 제2 구간에 대한 제2 일률과 관련된 제3 인자를 포함할 수 있다. 예를 들어, 제1 구간은 스윙 상태(swing phase)에 대응하고, 제2 구간은 지지 상태(stance phase)에 대응할 수 있다. 예를 들어, 스윙 상태에 대한 일률 및 지지 상태에 대한 일률 간의 차이를 감소시키는 것은 해당 다리의 균형을 높이는 것일 수 있다.
예를 들어, 목적함수는 사용자의 보행 싸이클 중 제1 구간에 대한 제1 토크 패턴의 제1 피크의 값 및 제2 구간에 대한 제1 토크 패턴의 제2 피크의 값과 관련된 제4 인자를 포함할 수 있다. 예를 들어, 제4 인자는 제1 피크의 값 및 제2 피크의 값 간의 차이의 절대값일 수 있다.
예를 들어, 목적함수는 전술된 제1 인자, 제2 인자, 제3 인자, 및 제4 인자 중 적어도 둘 이상의 조합을 포함할 수 있다. 목적함수에 포함되는 인자들 각각에는 가중치가 설정될 수 있다.
동작 750에서, 웨어러블 장치는 제어 파라미터의 제1 값에 기초하여 변경된 제2 값에 대한 보행 패턴에 대응하는 제2 토크 패턴을 계산할 수 있다. 예를 들어, 웨어러블 장치는 제어 파라미터의 제1 값을 기준으로 제어 파라미터의 제2 값을 결정할 수 있다. 웨어러블 장치는 결정된 제어 파라미터의 제2 값에 기초하여 출력되는 제2 토크 패턴을 계산할 수 있다. 예를 들어, 제어 파라미터가 토크 출력 타이밍에 대한 파라미터인 경우, 토크 출력 타이밍의 값이 제1 값에서 제2 값으로 변경되었을 경우에 대한 제2 토크 패턴이 계산될 수 있다.
아래에서 도 11을 참조하여 제2 토크 패턴을 계산하는 방법에 대해 상세히 설명된다.
일 실시 예에 따라, 제어 파라미터들의 개수가 N개인 경우, 2N개의 제2 토크 패턴이 계산될 수 있다. 예를 들어, 제어 파라미터들의 개수가 N개인 경우, 제어 파라미터들의 제1 값은, N개의 제어 파라미터들의 제1 값들을 포함하는 제1 세트 값일 수 있다. 웨어러블 장치는 제1 제어 파라미터에 대해 제1 값에 비해 증가된 제2 값 및 제1 값에 비해 감소된 제2 값을 각각 결정할 수 있다. 상기의 실시예에 따르면, 제어 파라미터들의 개수가 N개인 경우, 2N개의 세트 값들이 결정될 수 있고, 2N개의 세트 값들에 대한 2N개의 제2 토크 패턴이 계산될 수 있다.
동작 760에서, 웨어러블 장치는 제2 토크 패턴에 대한 목적함수의 제2 값을 결정할 수 있다. 상기의 목적함수는 동작 740에서 목적함수의 제1 값을 결정하기 위해 이용된 목적함수와 동일할 수 있다.
일 실시 예에 따라, 제2 토크 패턴들이 개수가 2N개인 경우, 목적함수의 제2 값도 2N개일 수 있다.
동작 760에서, 웨어러블 장치는 목적함수의 제2 값에 기초하여 제어 파라미터의 최적 값을 결정할 수 있다. 예를 들어, 목적함수의 값의 최대화가 효율적인 제어를 나타내는 경우, 계산된 목적함수의 값이 이전의 값보다 증가하도록 제어 파라미터의 최적 값이 결정될 수 있다. 예를 들어, 목적함수의 값의 최소화가 효율적인 제어를 나타내는 경우, 계산된 목적함수의 값이 이전의 값보다 감소하도록 제어 파라미터의 최적 값이 결정될 수 있다.
일 실시 예에 따라, 전술된 동작 750에서 계산된 목적함수의 제2 값들의 개수가 2N개인 경우, 2N개의 제2 값들 중 최대값(또는, 최소값)을 나타내는 제어 파라미터들의 타겟 세트 값을 제어 파라미터의 최적 값으로 결정할 수 있다.
일 실시 예에 따르면, 제어 파라미터의 최적 값을 결정하기 위한 동작 760은 반복적으로 수행될 수 있다. 예를 들어, 제어 파라미터의 값의 변화량(예: 제1 값과 제2 값 간의 차이)을 결정하기 위해 경사 하강법(gradient decent)이 이용될 수 있다. 제어 파라미터의 값의 변화량 대비 목적함수의 값의 상 변화량에 비례하도록 제어 파라미터의 값의 변화량이 결정될 수 있다. 상기의 방식에 따르면, 목적함수의 망대(또는, 망소) 값에 가까워질수록 제어 파라미터의 값의 변화량이 작아질 수 있다.
동작 760이 수행된 후, 웨어러블 장치는 결정된 제어 파라미터의 최적 값을 이용하여 사용자에게 토크를 출력할 수 있다. 결정된 제어 파라미터의 최적 값을 이용하여 사용자에게 토크를 출력하는 방법에 대해 아래에서 도 13을 참조하여 상세히 설명된다.
일 실시 예에 따라, 사용자의 보행 속도가 변화함에 따라 사용자의 보행 패턴이 변경될 수 있다. 이러한 경우에는 변경된 보행 패턴에 적절한 제어 파라미터의 최적 값을 결정하기 위해, 전술된 동작들 710 내지 770이 반복적으로 수행될 수 있다.
도 8은 일 예에 따른, 보행 패턴의 관절 각도 패턴 및 관절 각속도 패턴을 도시한다.
일 실시 예에 따르면, 웨어러블 장치(예: 도 1의 웨어러블 장치(120) 또는 도 3의 웨어러블 장치(300))는 허벅지 지지 프레임의 관절 각도를 측정하는 적어도 하나의 센서(예: 홀 센서 또는 엔코더)로부터 허벅지 지지 프레임의 현재 관절 각도를 연속적으로 수신할 수 있다. 웨어러블 장치는 수신한 관절 각도들에 기초하여 사용자의 보행 싸이클을 결정할 수 있고, 결정된 보행 싸이클에 대한 관절 각도 패턴(810)을 보행 패턴으로서 생성할 수 있다. 예를 들어, 보행 싸이클은 한번의 보행에 대한 진행 정도를 나타낼 수 있다. 사용자는 일정 범위 내의 보행 속도에서는 유사한 관절 각도 패턴(810)으로 보행할 수 있고, 보행 속도가 변화함에 따라 사용자의 관절 움직임이 달라지는 경우에는 관절 각도 패턴(810)이 다른 패턴으로 변화할 수 있다.
일 실시 예에 따르면, 웨어러블 장치는 관절 각도 패턴(810)에 기초하여 관절 각속도 패턴(820)을 보행 패턴으로서 생성할 수 있다. 예를 들어, 관절 각속도 패턴(820)은 관절 각도 패턴(810)의 변화량에 대한 패턴일 수 있다.
도 9는 일 예에 따른, 제어 파라미터의 제1 값에 기초하여 보행 패턴에 대응하는 토크를 출력하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 7을 참조하여 전술된 동작 730은 아래의 동작들 910 내지 930을 포함할 수 있다. 동작들 910 내지 930은 웨어러블 장치(예: 도 1의 웨어러블 장치(120) 또는 도 3의 웨어러블 장치(300))에 의해 수행될 수 있다.
동작 910에서, 웨어러블 장치는 허벅지 지지 프레임의 현재 관절 각도를 수신할 수 있다. 예를 들어, 현재 관절 각도는 실시간으로 획득되는 관절 각도일 수 있다.
동작 920에서, 웨어러블 장치는 보행 패턴 및 현재 관절 각도에 기초하여 사용자의 보행 싸이클 중 현재 보행 정도를 결정할 수 있다. 예를 들어, 웨어러블 장치는 관절 각도 패턴의 값들 중 현재 관절 각도에 대응하는 지점을 결정하고, 해당 지점이 나타내는 보행 정도를 현재 보행 정도로 결정할 수 있다. 예를 들어, 보행 싸이클이 0 내지 100%로 표현되는 경우, 현재 보행 정도가 49%로 결정될 수 있다.
동작 930에서, 웨어러블 장치는 제1 토크 패턴에 기초하여 현재 보행 정도에 대응하는 토크를 출력할 수 있다. 예를 들어, 제1 토크 패턴은 사용자의 현재 보행 속도에 대응하도록 미리 설정된 기본 토크 패턴일 수 있다. 예를 들어, 제1 토크 패턴은 사용자의 이전 보행 주기에서 출력되었던 토크 패턴일 수 있다. 예를 들어, 제1 토크 패턴은 이전 보행 주기에서 출력되었던 토크 패턴에 기초하여 현재 보행 주기에 대해 결정된 제어 파라미터의 값에 기초하여 변화된 토크 패턴일 수 있다.
도 10은 일 예에 따른, 제1 토크 패턴을 도시한다.
일 실시 예에 따른, 제1 토크 패턴(1010)은 보행 싸이클에 대응하도록 생성될 수 있다. 예를 들어, 제1 토크 패턴(1010)의 제1 포인트(1011)는 보행 싸이클 중 x1(예: 49%)의 보행 정도 및 y1의 토크 값에 대응할 수 있다. 다시 말하지면, 사용자의 보행 정도가 x1으로 결정된 경우, 사용자에게 출력되는 토크의 값은 y1일 수 있다.
일 실시 예에 따르면, 제1 토크 패턴(1010)은 사용자의 현재 보행 속도에 대응하도록 미리 설정된 기본 토크 패턴일 수 있다.
일 실시 예에 따르면, 제1 토크 패턴(1010)은 사용자의 이전 보행 주기에서 출력되었던 토크 패턴일 수 있다.
일 실시 예에 따르면, 제1 토크 패턴(1010)은 이전 보행 주기에서 출력되었던 토크 패턴에 기초하여 현재 보행 주기에 대해 결정된 제어 파라미터의 값에 기초하여 변화된 토크 패턴일 수 있다
일 실시 예에 따르면, 제1 토크 패턴(1010)은 싸인 함수 또는 코싸인 함수의 형태를 가질 수 있다. 예를 들어, 사용자의 보행 싸이클은 복수의 구간들로 구분될 수 있고, 각 구간들마다 서로 다른 게인이 적용될 수 있다. 예를 들어, 보행 싸이클은 스윙 상태 및 지지 상태로 구분될 수 있고, 스윙 상태에서는 κ1의 게인이 적용되고, κ2의 게인이 적용될 수 있다. 일 실시 예에 따르면, κ1κ2 각각에 대한 제한 조건이 미리 설정될 수 있다. 예를 들어, 제한 조건은 κ1κ2 의 합이 미리 설정된 값(예: 2)을 만족하는 것일 수 있다. 예를 들어, 제한 조건은 κ1κ2 의 합이 미리 설정된 값(예: 2) 이하인 것일 수 있다. κ1κ2의 각각은 제어 파라미터일 수 있다.
도 11은 일 예에 따른, 제어 파라미터의 제1 값에 기초하여 변경된 제2 값에 대한 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 7을 참조하여 전술된 동작 750은 아래의 동작들 1110 및 1120을 포함할 수 있다. 동작들 1110 내지 1120은 웨어러블 장치(예: 도 1의 웨어러블 장치(120) 또는 도 3의 웨어러블 장치(300))에 의해 수행될 수 있다.
동작 1110에서, 웨어러블 장치는 웨어러블 장치의 동작 모드에 기초하여 목적함수의 값이 최대화 또는 최소화되도록 제어 파라미터의 제2 값을 결정할 수 있다. 예를 들어, 웨어러블 장치의 동작 모드는 보조 모드 또는 운동 모드일 수 있다. 보조 모드에서는 사용자의 움직임과 동일한 방향으로 토크가 제공될 수 있다. 운동 모드에서는 사용자의 움직임과 반대 방향으로 토크가 제공될 수 있다.
일 실시 예에 따르면, 동작 모드가 보조 모드인 경우, 웨어러블 장치는 목적함수의 인자들 중 도 7을 참조하여 전술된 일률과 관련된 제1 인자가 최대화되도록 제어 파라미터의 제2 값을 결정할 수 있다. 예를 들어, 제어 파라미터의 제1 값을 기준으로 미리 설정된 범위 내의 값들 중 어느 하나가 제어 파라미터의 제2 값으로 결정될 수 있다. 상기의 범위는 급격한 토크 값의 변화를 방지하기 위해 미리 설정될 수 있다.
일 실시 예에 따르면, 동작 모드가 운동 모드인 경우, 웨어러블 장치는 목적함수의 인자들 중 도 7을 참조하여 전술된 일률과 관련된 제1 인자가 최소화되도록 제어 파라미터의 제2 값을 결정할 수 있다.
일 실시 예에 따르면, 제어 파라미터들의 개수가 복수인 경우, 제어 파라미터들의 제2 세트 값이 결정될 수 있다. 각각의 제어 파라미터에 대해 결정된 제2 값은 제1 값에 비해 증가하거나 또는 감소되는 두 가지의 경우들 중 어느 하나일 수 있다. 상기의 경우들을 고려한다면, 제어 파라미터들의 개수가 N개인 경우 2N개의 제2 세트 값들이 결정될 수 있다.
동작 1120에서, 웨어러블 장치는 제어 파라미터의 제2 값에 대한 제2 토크 패턴을 계산할 수 있다. 제어 파라미터의 값이 제1 값에서 제2 값으로 변화됨에 따라 토크 패턴도 변화할 수 있다.
일 실시 예에 따르면, 2N개의 제어 파라미터의 제2 세트 값들에 대한 2N개의 제2 토크 패턴들이 계산될 수 있다.
일 실시 예에 따르면, 동작 1120이 수행된 후, 도 7을 참조하여 전술된 동작 760이 수행될 수 있다. 예를 들어, 계산된 제2 토크 패턴들이 개수가 2N개인 경우, 결정되는 목적함수의 제2 값도 2N개일 수 있다.
일 실시 예에 따르면, 도 7을 참조하여 전술된 동작 770에서, 웨어러블 장치는 동작 모드에 기초하여 2N개의 제2 값들 중 최대값 또는 최소값을 결정할 수 있다. 웨어러블 장치는 결정된 최대값 또는 최소값을 나타내는 제어 파라미터들의 타겟 세트 값을 제어 파라미터의 최적 값으로 결정할 수 있다.
도 12는 일 예에 따른, 토크 패턴들 및 토크 패턴들에 기초하여 계산되는 일률들을 도시한다.
일 실시 예에 따르면, 제어 파라미터의 값을 변경함으로써 제1 토크 패턴(1210)에 기초하여 제2 토크 패턴들(1220, 1230)이 생성될 수 있다. 예를 들어, 제어 파라미터는 토크의 출력 타이밍과 관련된 파라미터일 수 있다. 토크의 출력 타이밍과 관련된 파라미터는 페이즈 리드(phase lead) 파라미터로 명명될 수 있다. 페이즈 리드 파라미터는 보행 싸이클 기준으로 % 단위로 조절될 수 있다.
웨어러블 장치는 토크의 출력 타이밍과 관련된 파라미터를 조절함으로써 제1 토크 패턴(1210)에 비해 토크 출력 시점을 앞당기는 제2 토크 패턴(1220)을 생성할 수 있다. 예를 들어, 제2 토크 패턴(1220)은 제1 토크 패턴(1210)에 비해 보행 싸이클 기준으로 2% 앞설 수 있다.
웨어러블 장치는 토크의 출력 타이밍과 관련된 파라미터를 조절함으로써 제1 토크 패턴(1230)에 비해 토크 출력 시점을 늦추는 제2 토크 패턴(1230)을 생성할 수 있다. 예를 들어, 제2 토크 패턴(1230)은 제1 토크 패턴(1210)에 비해 보행 싸이클 기준으로 2% 느릴 수 있다.
일 실시 예에 따르면, 웨어러블 장치는 목적함수의 인자(예: 도 7를 참조하여 전술된 제1 인자)로서 제2 토크 패턴들(1220 및 1230)에 대한 일률들을 계산할 수 있다. 예를 들어, 계산된 일률들은 음수의 일률 대비 양수의 일률에 대한 비율(negative to positive work ratio)의 로그 값으로 표현될 수 있다. 제2 토크 패턴들(1220 및 1230)에 대해 계산된 일률들에 대한 일률 패턴들(1260 및 1270)이 도시된다. 예를 들어, 일률 패턴(1260)은 제2 토크 패턴(1220)에 대해 계산된 일률이고, log NP work ratio의 값으로 3.81이 계산될 수 있다. 예를 들어, 일률 패턴(1270)은 제2 토크 패턴(1230)에 대해 계산된 일률이고, log NP work ratio의 값으로 4.29이 계산될 수 있다. 예를 들어, 일률 패턴(1250)은 제1 토크 패턴(1210)에 대해 계산된 일률이고, log NP work ratio의 값으로 4.29가 계산될 수 있다. 계산된 일률의 값을 증가시키는 것이 목적함수의 값을 증가시키는 것에 대응하는 경우, 제2 토크 패턴(1220) 보다는 제2 토크 패턴(1230)이 더 적절한 토크 패턴의 변경으로 결정될 수 있다.
도 13은 일 예에 따른, 제어 파라미터의 최적 값에 기초하여 결정된 최적 토크 패턴에 기초하여 토크를 출력하는 방법의 흐름도이다.
일 실시 예에 따르면, 도 7을 참조하여 전술된 동작 770이 수행된 후 아래의 동작들 1310 내지 1330이 더 수행될 수 있다. 동작들 1310 내지 1330은 웨어러블 장치(예: 도 1의 웨어러블 장치(120) 또는 도 3의 웨어러블 장치(300))에 의해 수행될 수 있다.
동작 1310에서, 웨어러블 장치는 허벅지 지지 프레임의 현재 관절 각도를 수신할 수 있다.
동작 1320에서, 웨어러블 장치는 보행 패턴 및 현재 관절 각도에 기초하여 사용자의 보행 싸이클 중 현재 보행 정도를 결정할 수 있다.
동작 1330에서, 웨어러블 장치는 제어 파라미터의 최적 값에 기초하여 결정된 최적 토크 패턴에 기초하여 현재 보행 정도에 대응하는 토크를 출력할 수 있다. 예를 들어, 제어 파라미터의 최적 값은 전술된 제어 파라미터의 제2 값일 수 있다. 예를 들어, 최적 토크 패턴은 제어 파라미터의 제2 값에 기초하여 생성된 토크 패턴일 수 있다.
도 14는 일 예에 따른, 사용자의 보행 속도에 따라 변화되는 제어 파라미터의 값들을 도시한다.
일 실시 예에 따르면, 제어 파라미터는 지지 게인에 대한 파라미터 및 페이즈 리드 파라미터를 포함할 수 있다. 예를 들어, 지지 게인의 값은 스윙 게인의 값에 기초하여 결정될 수 있다. 예를 들어, 지지 게인의 값 및 스윙 게인의 값은 미리 설정된 값(예: 2)일 수 있다.
웨어러블 장치(예: 도 1의 웨어러블 장치(120) 또는 도 3의 웨어러블 장치(300))를 착용한 사용자는 3.5 km/h의 속도로 보행을 시작할 수 있다(1 단계). 1 단계의 보행 동안 웨어러블 장치는 제어 파라미터의 값을 변경하면서 최적화할 수 있다. 도시된 결과에 따르면, 1 단계에서 지지 게인의 값은 증가하는 방향으로 변화하고, 페이즈 리드 파라미터는 감소하는 방향으로 변화한다.
웨어러블 장치를 사용자는 3.5km/h의 속도에서 3.0km/h의 속도로 보행 속도를 변경할 수 있다(2 단계). 도시된 결과에 따르면, 2 단계에서 지지 게인의 값 및 페이즈 리드 파라미터의 값은 크게 변화가 없다.
웨어러블 장치를 사용자는 3.0km/h의 속도에서 4.0km/h의 속도로 보행 속도를 변경할 수 있다(3 단계). 도시된 결과에 따르면, 3 단계에서 지지 게인의 값은 감소하는 방향으로 변화하고, 페이즈 리드 파라미터는 증가하는 방향으로 변화한다.
도 15는 일 실시 예에 따른, 전자 장치에 의해 수행되는 웨어러블 장치를 제어하기 위한 제어 파라미터의 값을 결정하는 방법의 흐름도이다.
아래의 동작들 1510 내지 1580은 웨어러블 장치(예: 도 1의 웨어러블 장치(120) 또는 도 3의 웨어러블 장치(300))와 연결된 전자 장치(예: 도 1의 전자 장치(110) 또는 도 2의 전자 장치(201)에 의해 수행될 수 있다.
동작 1510에서, 전자 장치는 웨어러블 장치로부터 허벅지 지지 프레임의 관절 각도를 수신할 수 있다. 예를 들어, 전자 장치는 웨어러블 장치와의 무선 통신 채널을 통해 관절 각도를 수신할 수 있다.
동작 1520에서, 전자 장치는 관절 각도에 기초하여 사용자의 보행 패턴을 생성할 수 있다. 동작 1520에 대한 상세한 설명은 도 7을 참조하여 전술된 동작 720에 대한 설명으로 대체될 수 있다.
동작 1530에서, 전자 장치는 제어 파라미터의 제1 값에 기초하여 출력된 보행 패턴에 대응하는 토크에 대한 정보를 수신할 수 있다. 예를 들어, 웨어러블 장치는 도 7을 참조하여 전술된 동작 730을 통해 토크를 출력한 후, 출력된 토크에 대한 정보를 전자 장치로 전송할 수 있다.
동작 1540에서, 전자 장치는 토크에 대한 제1 토크 패턴에 대한 목적합수의 제1 값을 결정할 수 있다. 동작 1540에 대한 상세한 설명은 도 7을 참조하여 전술된 동작 740에 대한 설명으로 대체될 수 있다.
동작 1550에서, 전자 장치는 제어 파라미터의 제1 값에 기초하여 변경된 제2 값에 대한 보행 패턴에 대응하는 제2 토크 패턴을 계산할 수 있다. 동작 1550에 대한 상세한 설명은 도 7을 참조하여 전술된 동작 750에 대한 설명으로 대체될 수 있다.
동작 1560에서, 전자 장치는 제2 토크 패턴에 대한 목적함수의 제2 값을 결정할 수 있다. 동작 1560에 대한 상세한 설명은 도 7을 참조하여 전술된 동작 760에 대한 설명으로 대체될 수 있다.
동작 1570에서, 전자 장치는 목적합수의 제2 값에 기초하여 제어 파라미터의 최적 값을 결정할 수 있다. 동작 1570에 대한 상세한 설명은 도 7을 참조하여 전술된 동작 770에 대한 설명으로 대체될 수 있다.
동작 1580에서, 전자 장치는 제어 파라미터의 최적 값을 웨어러블 장치로 전송할 수 있다.
예를 들어, 웨어러블 장치는 전자 장치로부터 수신한 제어 파라미터의 최적 값에 기초하여 토크를 출력할 수 있다.
일 실시 예에 따른, 웨어러블 장치(120; 300)는 웨어러블 장치를 제어하는 프로세서(342)를 포함할 수 있다. 일 실시 예에 따른, 웨어러블 장치(120; 300)는 허벅지 지지 프레임의 관절 각도를 측정하는 적어도 하나의 센서(321)를 포함할 수 있다. 일 실시 예에 따른, 웨어러블 장치(120; 300)는 프로세서에 의해 제어되는 모터 드라이버 회로(312)를 포함할 수 있다. 일 실시 예에 따른, 웨어러블 장치(120; 300)는 모터 드라이버 회로와 전기적으로 연결된 모터(314)를 포함할 수 있다. 일 실시 예에 따른, 웨어러블 장치(120; 300)는 모터에 의해 생성된 토크를 사용자의 하지의 적어도 일부에 전달하는 허벅지 지지 프레임을 포함할 수 있다. 일 실시 예에 따른, 상기의 프로세서는 상기 관절 각도에 기초하여 상기 웨어러블 장치를 착용한 사용자의 보행 패턴을 생성하는 동작(720)을 수행할 수 있다. 일 실시 예에 따른, 상기의 프로세서는 제어 파라미터의 제1 값에 기초하여 보행 패턴에 대응하는 토크를 출력하는 동작을 수행할 수 있다. 일 실시 예에 따른, 상기의 프로세서는 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하는 동작(740)을 수행할 수 있다. 일 실시 예에 따른, 상기의 프로세서는 제어 파라미터의 제1 값에 기초하여 변경된 제2 값에 대한 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작(750)을 수행할 수 있다. 일 실시 예에 따른, 상기의 프로세서는 제2 토크 패턴에 대한 상기 목적함수의 제2 값을 결정하는 동작(760)을 수행할 수 있다. 일 실시 예에 따른, 상기의 프로세서는 목적함수의 제2 값에 기초하여 제어 파라미터의 최적 값을 결정하는 동작(770)을 수행할 수 있다.
일 실시 예에 따른, 보행 패턴은 사용자의 보행 싸이클에 대응하는 관절 각도 패턴 및 관절 각속도 패턴 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른, 보행 패턴은 왼쪽 허벅지 지지 프레임에 대한 왼쪽 보행 패턴 또는 오른쪽 허벅지 지지 프레임에 대한 오른쪽 보행 패턴 중 적어도 하나를 포함할 수 있다.
일 실시 예에 따른, 제어 파라미터는 토크의 출력 타이밍에 대한 파라미터일 수 있다. 일 실시 예에 따른, 제어 파라미터는 토크의 크기에 대한 파라미터일 수 있다. 일 실시 예에 따른, 제어 파라미터는 토크에 대한 오프셋에 대한 파라미터일 수 있다.
일 실시 예에 따른, 동작(730)은 허벅지 지지 프레임의 현재 관절 각도를 수신하는 동작(910)을 포함할 수 있다. 일 실시 예에 따른, 동작(730)은 보행 패턴 및 현재 관절 각도에 기초하여 사용자의 보행 싸이클 중 현재 보행 정도를 결정하는 동작(920)을 포함할 수 있다. 일 실시 예에 따른, 동작(730)은 제1 토크 패턴에 기초하여 현재 보행 정도에 대응하는 토크를 출력하는 동작(930)을 포함할 수 있다.
일 실시 예에 따른, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는 일률과 관련된 인자를 포함할 수 있다. 일 실시 예에 따른, 일률과 관련된 인자는 일률이 양수로 나타나는 구간 대비 음수로 나타나는 구간의 비율과 관련된 인자일 수 있다.
일 실시 예에 따른, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는 오른쪽 허벅지 지지 프레임의 제1 일률 및 왼쪽 허벅지 지지 프레임의 제2 일률과 관련된 인자를 포함할 수 있다.
일 실시 예에 따른, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는, 사용자의 보행 싸이클 중 제1 구간에 대한 제1 일률 및 제2 구간에 대한 제2 일률과 관련된 인자를 포함할 수 있다.
일 실시 예에 따른, 목적함수는 사용자의 보행 싸이클 중 제1 구간에 대한 제1 토크 패턴의 제1 피크의 값 및 제2 구간에 대한 제1 토크 패턴의 제2 피크의 값과 관련된 인자를 포함할 수 있다.
일 실시 예에 따른, 동작(750)은 웨어러블 장치의 동작 모드에 기초하여 목적함수의 값이 최대화 또는 최소화되도록 상기 제어 파라미터의 상기 제2 값을 결정하는 동작(1110)을 포함할 수 있다. 일 실시 예에 따른, 동작(750)은 제어 파라미터의 제2 값에 대한 제2 토크 패턴을 계산하는 동작(1120)을 포함할 수 있다. 일 실시 예에 따른, 동작 모드는 사용자의 움직임을 보조하는 보조 모드 또는 사용자의 움직임을 방해하는 운동 모드 중 어느 하나일 수 있다.
일 실시 예에 따른, 웨어러블 장치(120; 300)에 의해 수행되는, 제어 파라미터의 값을 결정하는 방법은 웨어러블 장치의 허벅지 지지 프레임의 관절 각도에 기초하여 웨어러블 장치를 착용한 사용자의 보행 패턴을 생성하는 동작(720)을 포함할 수 있다. 일 실시 예에 따른, 상기의 방법은 제어 파라미터의 제1 값에 기초하여 상기 보행 패턴에 대응하는 토크를 출력하는 동작(730)을 포함할 수 있다. 일 실시 예에 따른, 상기의 방법은 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하는 동작(740)을 포함할 수 있다. 일 실시 예에 따른, 상기의 방법은 제어 파라미터의 제1 값에 기초하여 변경된 제2 값에 대한 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작(750)을 포함할 수 있다. 일 실시 예에 따른, 상기의 방법은 제2 토크 패턴에 대한 목적함수의 제2 값을 결정하는 동작(760)을 포함할 수 있다. 일 실시 예에 따른, 상기의 방법은 목적함수의 제2 값에 기초하여 제어 파라미터의 최적 값을 결정하는 동작(770)을 포함할 수 있다.
일 실시 예에 따른, 제어 파라미터의 값을 결정하는 방법은 허벅지 지지 프레임의 현재 관절 각도를 수신하는 동작(1310)을 포함할 수 있다. 일 실시 예에 따른, 상기의 방법은 보행 패턴 및 현재 관절 각도에 기초하여 사용자의 보행 싸이클 중 현재 보행 정도를 결정하는 동작(1320)을 포함할 수 있다. 일 실시 예에 따른, 상기의 방법은 제어 파라미터의 최적 값에 기초하여 결정된 최적 토크 패턴에 기초하여 현재 보행 정도에 대응하는 토크를 출력하는 동작(1330)을 포함할 수 있다.
일 실시 예에 따른, 제어 파라미터는 토크의 출력 타이밍에 대한 파라미터일 수 있다. 일 실시 예에 따른, 제어 파라미터는 토크의 크기에 대한 파라미터일 수 있다. 일 실시 예에 따른, 제어 파라미터는 토크에 대한 오프셋에 대한 파라미터일 수 있다.
일 실시 예에 따른, 상기의 동작(730)은 허벅지 지지 프레임의 현재 관절 각도를 수신하는 동작(910)을 포함할 수 있다. 일 실시 예에 따른, 상기의 동작(730)은 보행 패턴 및 현재 관절 각도에 기초하여 사용자의 보행 싸이클 중 현재 보행 정도를 결정하는 동작(920)을 포함할 수 있다. 일 실시 예에 따른, 상기의 동작(730)은 제1 토크 패턴에 기초하여 현재 보행 정도에 대응하는 토크를 출력하는 동작(930)을 포함할 수 있다.
일 실시 예에 따른, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는 일률과 관련된 인자를 포함할 수 있다.
일 실시 예에 따른, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는 오른쪽 허벅지 지지 프레임의 제1 일률 및 왼쪽 허벅지 지지 프레임의 제2 일률과 관련된 인자를 포함할 수 있다.
일 실시 예에 따른, 목적함수는 보행 패턴의 관절 각속도 패턴 및 제1 토크 패턴에 기초하여 계산되는, 사용자의 보행 싸이클 중 제1 구간에 대한 제1 일률 및 제2 구간에 대한 제2 일률과 관련된 인자를 포함할 수 있다.
일 실시 예에 따른, 전자 장치(110; 201)는 외부 장치와 데이터를 교환하는 통신 모듈(290)을 포함할 수 있다. 일 실시 예에 따른, 전자 장치(110; 201)는 전자 장치를 제어하는 적어도 하나의 프로세서(220)를 포함할 수 있다. 일 실시 예에 따른, 프로세서는, 전자 장치와 연결된 웨어러블 장치로부터 허벅지 지지 프레임의 관절 각도를 수신하는 동작(1510)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는, 관절 각도에 기초하여 웨어러블 장치를 착용한 사용자의 보행 패턴을 생성하는 동작(1520)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는, 제어 파라미터의 제1 값에 기초하여 출력된 보행 패턴에 대응하는 토크에 대한 정보를 수신하는 동작(1530)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는, 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하는 동작(1540)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는, 제어 파라미터의 제1 값에 기초하여 변경된 제2 값에 대한 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작(1550)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는, 제2 토크 패턴에 대한 목적함수의 제2 값을 결정하는 동작(1560)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는, 목적함수의 제2 값에 기초하여 제어 파라미터의 최적 값을 결정하는 동작(1570)을 수행할 수 있다. 일 실시 예에 따른, 프로세서는, 제어 파라미터의 최적 값을 웨어러블 장치로 전송하는 동작(1580)을 수행할 수 있다.
이상에서 설명된 실시 예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시 예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 범용 컴퓨터 또는 특수 목적 컴퓨터를 사용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 컨트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있으며 매체에 기록되는 프로그램 명령은 실시 예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
위에서 설명한 하드웨어 장치는 실시 예의 동작을 수행하기 위해 하나 또는 복수의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시 예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 이를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (15)

  1. 웨어러블 장치는,
    웨어러블 장치를 제어하는 프로세서;
    허벅지 지지 프레임의 관절 각도를 측정하는 적어도 하나의 센서;
    상기 프로세서에 의해 제어되는 모터 드라이버 회로;
    상기 모터 드라이버 회로와 전기적으로 연결된 모터; 및
    모터에 의해 생성된 토크를 상기 사용자의 하지의 적어도 일부에 전달하는 허벅지 지지 프레임
    을 포함하고,
    상기 프로세서는,
    상기 관절 각도에 기초하여 상기 웨어러블 장치를 착용한 사용자의 보행 패턴을 생성하는 동작;
    제어 파라미터의 제1 값에 기초하여 상기 보행 패턴에 대응하는 토크를 출력하는 동작;
    상기 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하는 동작;
    상기 제어 파라미터의 상기 제1 값에 기초하여 변경된 제2 값에 대한 상기 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작;
    상기 제2 토크 패턴에 대한 상기 목적함수의 제2 값을 결정하는 동작;
    상기 목적함수의 상기 제2 값에 기초하여 상기 제어 파라미터의 최적 값을 결정하는 동작
    을 수행하는,
    웨어러블 장치.
  2. 제1항에 있어서,
    상기 보행 패턴은 상기 사용자의 보행 싸이클에 대응하는 관절 각도 패턴 및 관절 각속도 패턴 중 적어도 하나를 포함하는,
    웨어러블 장치.
  3. 제1항에 있어서,
    상기 보행 패턴은 왼쪽 허벅지 지지 프레임에 대한 왼쪽 보행 패턴 또는 오른쪽 허벅지 지지 프레임에 대한 오른쪽 보행 패턴 중 적어도 하나를 포함하는,
    웨어러블 장치.
  4. 제1항에 있어서,
    상기 제어 파라미터는 상기 토크의 출력 타이밍에 대한 파라미터, 상기 토크의 크기에 대한 파라미터, 또는 상기 토크에 대한 오프셋에 대한 파라미터 중 어느 하나인,
    웨어러블 장치.
  5. 제1항에 있어서,
    상기 제어 파라미터의 제1 값에 기초하여 상기 보행 패턴에 대응하는 토크를 출력하는 동작은,
    상기 허벅지 지지 프레임의 현재 관절 각도를 수신하는 동작;
    상기 보행 패턴 및 현재 관절 각도에 기초하여 상기 사용자의 보행 싸이클 중 현재 보행 정도를 결정하는 동작;
    상기 제1 토크 패턴에 기초하여 상기 현재 보행 정도에 대응하는 토크를 출력하는 동작
    을 포함하는,
    웨어러블 장치.
  6. 제1항에 있어서,
    상기 목적함수는 상기 보행 패턴의 관절 각속도 패턴 및 상기 제1 토크 패턴에 기초하여 계산되는 일률(power)과 관련된 인자를 포함하는,
    웨어러블 장치.
  7. 제6항에 있어서,
    상기 일률과 관련된 인자는 상기 일률이 양수로 나타나는 구간 대비 음수로 나타나는 구간의 비율과 관련된 인자인,
    웨어러블 장치.
  8. 제1항에 있어서,
    상기 목적함수는 상기 보행 패턴의 관절 각속도 패턴 및 상기 제1 토크 패턴에 기초하여 계산되는 오른쪽 허벅지 지지 프레임의 제1 일률 및 왼쪽 허벅지 지지 프레임의 제2 일률과 관련된 인자를 포함하는,
    웨어러블 장치.
  9. 제1항에 있어서,
    상기 목적함수는 상기 보행 패턴의 관절 각속도 패턴 및 상기 제1 토크 패턴에 기초하여 계산되는, 상기 사용자의 보행 싸이클 중 제1 구간에 대한 제1 일률 및 제2 구간에 대한 제2 일률과 관련된 인자를 포함하는,
    웨어러블 장치.
  10. 제1항에 있어서,
    상기 목적함수는 상기 사용자의 보행 싸이클 중 제1 구간에 대한 상기 제1 토크 패턴의 제1 피크의 값 및 제2 구간에 대한 상기 제1 토크 패턴의 제2 피크의 값과 관련된 인자를 포함하는,
    웨어러블 장치.
  11. 제1항에 있어서,
    상기 제어 파라미터의 상기 제1 값에 기초하여 변경된 제2 값에 대한 상기 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작은,
    상기 웨어러블 장치의 동작 모드에 기초하여 상기 목적함수의 값이 최대화 또는 최소화되도록 상기 제어 파라미터의 상기 제2 값을 결정하는 동작; 및
    상기 제어 파라미터의 상기 제2 값에 대한 상기 제2 토크 패턴을 계산하는 동작
    을 포함하는,
    웨어러블 장치.
  12. 제11항에 있어서,
    상기 동작 모드는 상기 사용자의 움직임을 보조하는 보조 모드 또는 상기 사용자의 움직임을 방해하는 운동 모드 중 어느 하나인,
    웨어러블 장치.
  13. 웨어러블 장치에 의해 수행되는, 제어 파라미터의 값을 결정하는 방법에 있어서,
    상기 웨어러블 장치의 허벅지 지지 프레임의 관절 각도에 기초하여 상기 웨어러블 장치를 착용한 사용자의 보행 패턴을 생성하는 동작;
    제어 파라미터의 제1 값에 기초하여 상기 보행 패턴에 대응하는 토크를 출력하는 동작;
    상기 출력된 토크에 대한 제1 토크 패턴에 대한 목적함수의 제1 값을 결정하는 동작;
    상기 제어 파라미터의 상기 제1 값에 기초하여 변경된 제2 값에 대한 상기 보행 패턴에 대응하는 제2 토크 패턴을 계산하는 동작;
    상기 제2 토크 패턴에 대한 상기 목적함수의 제2 값을 결정하는 동작; 및
    상기 목적함수의 상기 제2 값에 기초하여 상기 제어 파라미터의 최적 값을 결정하는 동작
    을 포함하는,
    제어 파라미터의 값 결정 방법.
  14. 제13항에 있어서,
    상기 허벅지 지지 프레임의 현재 관절 각도를 수신하는 동작;
    상기 보행 패턴 및 현재 관절 각도에 기초하여 상기 사용자의 보행 싸이클 중 현재 보행 정도를 결정하는 동작; 및
    상기 제어 파라미터의 상기 최적 값에 기초하여 결정된 최적 토크 패턴에 기초하여 상기 현재 보행 정도에 대응하는 토크를 출력하는 동작
    을 더 포함하는,
    제어 파라미터의 값 결정 방법.
  15. 제13항에 있어서,
    상기 제어 파라미터의 제1 값에 기초하여 상기 보행 패턴에 대응하는 토크를 출력하는 동작은,
    상기 허벅지 지지 프레임의 현재 관절 각도를 수신하는 동작;
    상기 보행 패턴 및 현재 관절 각도에 기초하여 상기 사용자의 보행 싸이클 중 현재 보행 정도를 결정하는 동작;
    상기 제1 토크 패턴에 기초하여 상기 현재 보행 정도에 대응하는 토크를 출력하는 동작
    을 포함하는,
    제어 파라미터의 값 결정 방법.
PCT/KR2023/001381 2022-02-11 2023-01-31 제어 파라미터의 값을 결정하는 방법 및 그 방법을 수행하는 전자 장치 WO2023153694A1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0018375 2022-02-11
KR20220018375 2022-02-11
KR10-2022-0121696 2022-09-26
KR1020220121696A KR20230121681A (ko) 2022-02-11 2022-09-26 제어 파라미터의 값을 결정하는 방법 및 그 방법을 수행하는 전자 장치

Publications (1)

Publication Number Publication Date
WO2023153694A1 true WO2023153694A1 (ko) 2023-08-17

Family

ID=87564631

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/001381 WO2023153694A1 (ko) 2022-02-11 2023-01-31 제어 파라미터의 값을 결정하는 방법 및 그 방법을 수행하는 전자 장치

Country Status (1)

Country Link
WO (1) WO2023153694A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8419804B2 (en) * 2008-09-04 2013-04-16 Iwalk, Inc. Hybrid terrain-adaptive lower-extremity systems
KR101317354B1 (ko) * 2011-11-21 2013-10-11 서강대학교산학협력단 보행보조토크 제어방법 및 보행보조장치
KR20160062933A (ko) * 2014-11-26 2016-06-03 삼성전자주식회사 보조력 설정 방법 및 장치
KR20170011568A (ko) * 2015-07-23 2017-02-02 삼성전자주식회사 보행 보조 방법 및 이를 수행하는 장치들
KR20180137543A (ko) * 2016-06-02 2018-12-27 가부시키가이샤 스페이스 바이오 라보라토리스 보행 동작 보조 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8419804B2 (en) * 2008-09-04 2013-04-16 Iwalk, Inc. Hybrid terrain-adaptive lower-extremity systems
KR101317354B1 (ko) * 2011-11-21 2013-10-11 서강대학교산학협력단 보행보조토크 제어방법 및 보행보조장치
KR20160062933A (ko) * 2014-11-26 2016-06-03 삼성전자주식회사 보조력 설정 방법 및 장치
KR20170011568A (ko) * 2015-07-23 2017-02-02 삼성전자주식회사 보행 보조 방법 및 이를 수행하는 장치들
KR20180137543A (ko) * 2016-06-02 2018-12-27 가부시키가이샤 스페이스 바이오 라보라토리스 보행 동작 보조 장치

Similar Documents

Publication Publication Date Title
WO2022191435A1 (ko) 사용자의 동작을 보조하기 위한 전자 장치 및 시스템
WO2022139209A1 (ko) 피트니스 피드백을 제공하는 전자 장치, 이의 제어 방법 및 서버
WO2022154373A1 (ko) 웨어러블 전자 장치의 가속도 센서를 이용하여 사용자의 자세를 판단하는 방법 및 그 전자 장치
WO2022059968A1 (ko) 증강 현실 콘텐츠를 제공하는 전자 장치 및 그의 동작 방법
WO2023219245A1 (ko) 사용자에게 운동 프로그램을 제공하는 방법 및 시스템
WO2022025444A1 (ko) 화면을 표시하는 방법 및 그 장치
WO2023153694A1 (ko) 제어 파라미터의 값을 결정하는 방법 및 그 방법을 수행하는 전자 장치
WO2023106763A1 (ko) 웨어러블 장치를 위한 움직임 제어 모델 생성 방법 및 그 방법을 수행하는 전자 장치
WO2023106753A1 (ko) 웨어러블 장치를 제어하는 파라미터의 값을 결정하는 방법 및 그 방법을 수행하는 전자 장치
WO2023022567A1 (ko) 폴더블 전자 장치 및 디지털 홀 센서를 이용한 폴더블 전자 장치의 제어 방법
WO2023080417A1 (ko) 사용자의 심박수에 기초하여 웨어러블 장치를 제어하는 방법 및 장치
WO2023063803A1 (ko) 사용자에게 운동 프로그램을 제공하는 방법 및 시스템
WO2022154349A1 (ko) 배터리 잔여량에 기초하여 전자 장치를 제어하는 방법 및 그 전자 장치
WO2024034889A1 (ko) 보행 상태 결정 방법 및 그 방법을 수행하는 장치
WO2022154440A1 (ko) 오디오 데이터를 처리하는 전자 장치 및 그 동작 방법
WO2022239929A1 (ko) 생체 정보 검출 방법 및 이를 지원하는 전자 장치
WO2023128651A1 (ko) 운동 모드에 기초하여 웨어러블 장치를 제어하는 방법 및 그 방법을 수행하는 전자 장치
WO2022030898A1 (ko) 무선 통신을 이용한 측위 방법 및 이를 지원하는 전자 장치
WO2024071708A1 (ko) 웨어러블 장치 및 그 장치를 제어하는 방법
WO2024076131A1 (ko) 웨어러블 장치의 센싱 정보에 기초하여 참조 영상 출력 방법 및 그 방법을 수행하는 전자 장치
WO2020242005A1 (ko) 사용자의 이동 패턴 특징을 이용한 모드 제어 방법 및 장치
WO2022075603A1 (ko) 보행에 관한 정보를 확인하는 전자 장치 및 보행에 관한 정보를 확인하는 전자 장치의 동작 방법
WO2022255785A1 (ko) 복수의 전자 장치를 이용하여 운동 데이터를 제공하는 방법 및 그 전자 장치
WO2022149825A1 (ko) 전자 장치 및 전자 장치의 사운드 렌더링 방법
WO2022092766A1 (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: 23753045

Country of ref document: EP

Kind code of ref document: A1