METHOD OF CONTROLLING WEARABLE DEVICE BASED ON EXERCISE MODE AND ELECTRONIC DEVICE PERFORMING THE METHOD

An electronic device may determine a target exercise mode of a wearable device, determine a value of a first control parameter based on the target exercise mode, generate sensing data based on raw sensing data obtained from the wearable device and the value of the first control parameter, generate a target state factor corresponding to a target type of the target exercise mode based on the sensing data, determine a value of a second control parameter based on the target exercise mode, determine a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and/or control the wearable device based on the torque value.

BACKGROUND

Certain example embodiments relate to a technology for controlling a wearable device.

2. Description of Related Art

Aging demographics have contributed to a growing number of people who experience inconvenience and pain from reduced muscular strength or aging-induced joint problems. Thus, there is a growing interest in walking assist devices that enable elderly users or patients with reduced muscular strength or joint problems to walk with less effort.

SUMMARY

According to an example embodiment, an electronic device may include a communication module, including communication circuitry, configured to exchange data with an external device, and at least one processor configured to control the electronic device. The at least one processor may be configured for performing one or more of the following operations: determining a target exercise mode of a wearable device; determining a value of a first control parameter based on the target exercise mode; generating sensing data based on raw sensing data obtained from the wearable device and a value of the first control parameter; generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data; determining a value of a second control parameter based on the target exercise mode; determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter; and controlling the wearable device based on the torque value.

According to an example embodiment, a method of controlling a wearable device performed by an electronic device may be provided, and the method may include: determining a target exercise mode of the wearable device; determining a value of a first control parameter based on the target exercise mode; generating sensing data based on raw sensing data obtained from the wearable device and a value of the first control parameter; generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data; determining a value of a second control parameter based on the target exercise mode; determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter; and controlling the wearable device based on the torque value.

According to an example embodiment, an electronic device may include a communication module, including communication circuitry, configured to exchange data with an external device, and at least one processor configured to control the electronic device. The at least one processor may be configured for performing the following operations: receiving information on one or more exercise modes from a user; generating an exercise program based on the exercise modes; when a wearable device is controlled based on the exercise program, determining a target exercise mode; determining a value of a first control parameter based on the target exercise mode; generating sensing data based on raw sensing data of the wearable device and a value of the first control parameter; generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data; determining a value of a second control parameter based on the target exercise mode; determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter; and controlling the wearable device based on the torque value.

DETAILED DESCRIPTION

Hereinafter, various example embodiments of the present disclosure will be described with reference to the accompanying drawings. However, the example embodiments are not intended to limit the present disclosure to some of the example embodiments, but various changes, modifications, equivalents, and/or alternatives of the example embodiments will be apparent after an understanding of the disclosure.

FIG.1is a diagram illustrating an example configuration of a system for providing an exercise program to a user according to an example embodiment.

According to an example embodiment, a system for providing an exercise program to a user may include an electronic device110, a wearable device120, an additional device130, and a server140.

According to an example embodiment, the electronic device110may be a user terminal connectable to the wearable device120using short-range wireless communication. For example, the electronic device110may transmit, to the wearable device120, a control signal for controlling the wearable device120. The electronic device110will be described in greater detail below with reference toFIG.2, and the transmission of a control signal will be described in greater detail below with reference toFIG.4.

According to an example embodiment, the wearable device120may provide a user with an assistance force to assist the user in walking or doing an exercise or with a resistance force to hinder the user from walking. The resistance force may also be provided to the user for the user to do an exercise. The assistance force or the resistance force output by the wearable device120may be controlled as values of various control parameters used for the wearable device120are controlled. A structure of the wearable device120and a method of operating the wearable device120will be described in detail below with reference toFIGS.3A,3B,3C,3D,4,5, and6.

According to an example embodiment, the electronic device110may be connected, directly or indirectly, to the additional device130(e.g., wireless earphones131, a smart watch132, or smart eyeglasses133) using short-range wireless communication. For example, the electronic device110may output information indicating a state of the electronic device110or the wearable device120to the user through the additional device130. For example, feedback information on a walking state of the user wearing the wearable device120may be output through a haptic device, a speaker device, and a display device of the additional device130.

According to an example embodiment, the electronic device110may be connected, directly or indirectly, to the server140using short-range wireless communication or cellular communication.

According to an example embodiment, the server140may include a database (DB) in which information on a plurality of exercise modes to be provided to the user through the wearable device120is stored.

An exercise mode may refer to a type of exercise to be performed by a user wearing a wearable device. For example, the type of exercise may include a calisthenics type and/or a weights type. For example, the type of exercise may include a new exercise type that is not known. When the user wearing the wearable device120performs a motion, an exercise mode may provide a preset force (e.g., torque) corresponding to the motion to the user through the wearable device120. For example, the force to be provided to the user may be an assistance force to help with the exercise. For example, the force to be provided to the user may be a resistance force to help with the exercise. An output timing and/or a magnitude of the torque to be provided to the user by the wearable device120may be controlled as the user changes a previous exercise mode or authors a new exercise mode. An exercise mode may be based on a motion control model that controls the wearable device120such that the wearable device120provides the user with a suitable torque for a target motion of the user.

The motion control model may be a model (or software, or program) for outputting a torque to the user through the wearable device120in a corresponding exercise mode. For example, the motion control model may be a model that controls the wearable device120such that a torque corresponding to a motion of the user is output through the wearable device120. The motion control model may output the torque based on values of control parameters. For example, the control parameters may include parameters for adjusting at least one of a magnitude, direction, and timing of a torque to be output through the wearable device120, a sensitivity to joint angles of the wearable device120, or an offset angle between the joint angles.

According to an example embodiment, the server140may manage a user account of the user of the electronic device110or the wearable device120. The server140may store and manage, in association with the user account, an exercise mode performed by the user and a result of performing the exercise mode.

According to an example embodiment, the user wearing the wearable device120may perform an exercise mode of a step exercise type or a non-step exercise type. The exercise mode of the step exercise type may include, for example, a walking exercise mode including, for example, a power walking mode, an interval walking mode, a water walking mode, a resisted walking mode, a balance training walking mode, and an assisted walking mode. The exercise mode of the step exercise type may include, for example, a running exercise mode. The exercise mode of the step exercise type may include, for example, an exercise mode in which a left leg and a right leg move symmetrically or alternately, such as, for example, a fast feet mode, a lunge mode, a split jacks mode, a toe-tap triceps mode, a knee up mode, a march step with twist mode, or a mountain climber mode. The exercise mode of the non-step exercise type may include, for example, an exercise mode in which a left leg and a right leg move in the same direction, such as, for example, a squat mode, a narrow squat mode, a half squat mode, a deadlift mode, a single leg deadlift mode, a kick back mode, a bird dog mode, or a good morning mode. The exercise mode of the step exercise type and the exercise mode of the non-step exercise type may apply different methods to output a torque by the wearable device120, and thus different motion control models may be used therefor. For example, a first motion control model may be applied to a first type which is the step exercise type, and a second motion control model may be applied to a second type which is the non-step exercise type. Based on a motion control model corresponding to an exercise mode, the wearable device120may be controlled. A method of providing an exercise mode to a user using the wearable device120will be described in detail below with reference toFIGS.7through15C.

FIG.2is a block diagram illustrating an example electronic device in a network environment according to an example embodiment.

FIG.2is a block diagram illustrating an electronic device201(e.g., the electronic device110ofFIG.1) in a network environment200according to an example embodiment.

Referring toFIG.2, the electronic device201in the network environment200may communicate with an electronic device202via a first network298(e.g., a short-range wireless communication network), or communicate with at least one of an electronic device204and a server208via a second network299(e.g., a long-range wireless communication network). According to an example embodiment, the electronic device201may communicate with the electronic device204via the server208. According to an example embodiment, the electronic device201may include a processor220, a memory230, an input module250, a sound output module255, a display module260, an audio module270, and a sensor module276, an interface277, a connecting terminal278, a haptic module279, a camera module280, a power management module288, a battery289, a communication module290, a subscriber identification module (SIM)296, or an antenna module297. In an example embodiment, at least one (e.g., the connecting terminal278) of the above components may be omitted from the electronic device201, or one or more other components may be added to the electronic device201. In an example embodiment, some (e.g., the sensor module276, the camera module280, or the antenna module297) of the components may be integrated as a single component (e.g., the display module260).

The processor220may execute, for example, software (e.g., a program240) to control at least one other component (e.g., a hardware or software component) of the electronic device201connected, directly or indirectly, to the processor220and may perform various data processing or computations. According to an example embodiment, as at least a part of data processing or computations, the processor220may store a command or data received from another component (e.g., the sensor module276or the communication module290) in a volatile memory232, process the command or data stored in the volatile memory232, and store resulting data in a non-volatile memory234. According to an example embodiment, the processor220may include a main processor221(e.g., a central processing unit (CPU) or an application processor (AP)) or an auxiliary processor223(e.g., a graphics processing unit (GPU), a neural processing unit (NPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operable independently from or in conjunction with, the main processor221. For example, when the electronic device201includes the main processor221and the auxiliary processor223, the auxiliary processor223may be adapted to consume less power than the main processor221or to be specific to a specified function. The auxiliary processor223may be implemented separately from the main processor221or as a part of the main processor221.

The auxiliary processor223may control at least some of functions or states related to at least one (e.g., the display module/device260, the sensor module276, or the communication module290) of the components of the electronic device201, instead of the main processor221while the main processor221is in an inactive (e.g., sleep) state or along with the main processor221while the main processor221is an active state (e.g., executing an application). According to an example embodiment, the auxiliary processor223(e.g., an ISP or a CP) may be implemented as a portion of another component (e.g., the camera module280or the communication module290) that is functionally related to the auxiliary processor223. According to an example embodiment, the auxiliary processor223(e.g., an NPU) may include a hardware structure specifically for artificial intelligence (AI) model processing. An AI model may be generated by machine learning. The machine learning may be performed by, for example, the electronic device201, in which the AI model is performed, or performed via a separate server (e.g., the server208). Learning algorithms may include, but are not limited to, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The AI model may include a plurality of artificial neural network layers. An artificial neural network may include, for example, a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), and a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more thereof, but is not limited thereto. The AI model may alternatively or additionally include a software structure other than the hardware structure.

The memory230may store various pieces of data used by at least one component (e.g., the processor220or the sensor module276) of the electronic device201. The various pieces of data may include, for example, software (e.g., the program240) and input data or output data for a command related thereto. The memory230may include the volatile memory232or the non-volatile memory234. The non-volatile memory234may include an internal memory236and/or an external memory238.

The program240may be stored as software in the memory230and may include, for example, an operating system (OS)242, middleware244, or an application246.

The input module250may receive, from outside (e.g., a user) the electronic device201, a command or data to be used by another component (e.g., the processor220) of the electronic device201. The input module250may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).

The sound output module255may output a sound signal to the outside of the electronic device201. The sound output module255may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as playing multimedia or playing a recording. The receiver may be used to receive an incoming call. According to an example embodiment, the receiver may be implemented separately from the speaker or as a part of the speaker.

The display module260may visually provide information to the outside (e.g., a user) of the electronic device201. The display module260may include, for example, a display, a hologram device, or a projector, and a control circuitry for controlling a corresponding one of the display, the hologram device, and the projector. According to an example embodiment, the display module260may include a touch sensor adapted to sense a touch, or a pressure sensor adapted to measure an intensity of a force of the touch.

The audio module270may convert sound into an electric signal or vice versa. According to an example embodiment, the audio module270may obtain the sound via the input module250or output the sound via the sound output module255or an external electronic device (e.g., the electronic device202, such as a speaker or headphones) directly or wirelessly connected to the electronic device201.

The interface277may support one or more specified protocols to be used by the electronic device201to couple with an external electronic device (e.g., the electronic device202) directly (e.g., by wire) or wirelessly. According to an example embodiment, the interface277may include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.

The connecting terminal278may include a connector via which the electronic device201may physically connect to an external electronic device (e.g., the electronic device202). According to an example embodiment, the connecting terminal278may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphones connector).

The haptic module279may convert an electric signal into a mechanical stimulus (e.g., a vibration or a movement) or an electrical stimulus, which may be recognized by a user via their tactile sensation or kinesthetic sensation. According to an example embodiment, the haptic module279may include, for example, a motor, a piezoelectric element, or an electric stimulator.

The camera module280, including at least one camera, may capture a still image and moving images. According to an example embodiment, the camera module280may include one or more lenses, image sensors, ISPs, and flashes.

The power management module288may manage power supplied to the electronic device201. According to an example embodiment, the power management module288may be implemented as, for example, at least a part of a power management integrated circuit (PMIC).

The battery289may supply power to at least one component of the electronic device201. According to an example embodiment, the battery289may include, for example, a primary cell, which is not rechargeable, a secondary cell, which is rechargeable, or a fuel cell.

The communication module290may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device201and an external electronic device (e.g., the electronic device202, the electronic device204, or the server208) and performing communication via the established communication channel. The communication module290may include one or more CPs that are operable independently from the processor220(e.g., an AP) and that support direct (e.g., wired) communication or wireless communication. According to an example embodiment, the communication module290may include a wireless communication module292(e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module294(e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate with the external electronic device, for example, the electronic device204, via the first network298(e.g., a short-range communication network, such as Bluetooth™, wireless-fidelity (Wi-Fi) direct, or infrared data association (IrDA)) or the second network299(e.g., a long-range communication network, such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN)). These various types of communication modules may be implemented as a single component (e.g., a single chip), or may be implemented as multiple components (e.g., multiple chips) separate from each other. The wireless communication module292may identify and authenticate the electronic device201in a communication network, such as the first network298and/or the second network299, using subscriber information (e.g., international mobile subscriber identity (IMSI)) stored in the SIM296.

The antenna module297may transmit or receive a signal or power to or from the outside (e.g., an external electronic device) of the electronic device201. According to an example embodiment, the antenna module297may include an antenna including a radiating element including a conductive material or a conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an example embodiment, the antenna module297may include a plurality of antennas (e.g., an antenna array). In such a case, at least one antenna appropriate for a communication scheme used in a communication network, such as the first network298or the second network299, may be selected by, for example, the communication module290from the plurality of antennas. The signal or power may be transmitted or received between the communication module290(including communication circuitry) and the external electronic device via the at least one selected antenna. According to an example embodiment, another component (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as a part of the antenna module297including at least one antenna.

According to an example embodiment, the antenna module297may form a mmWave antenna module. According to an example embodiment, the mmWave antenna module may include a PCB, an RFIC on a first surface (e.g., a bottom surface) of the PCB, or adjacent to the first surface of the PCB and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an antenna array) disposed on a second surface (e.g., a top or a side surface) of the PCB, or adjacent to the second surface of the PCB and capable of transmitting or receiving signals in the designated high-frequency band.

According to an example embodiment, commands or data may be transmitted or received between the electronic device201and the external electronic device (e.g., the electronic device204) via the server208coupled, directly or indirectly, with the second network299. Each of the external electronic devices (e.g., the electronic device202and204) may be a device of the same type as or a different type from the electronic device201. According to an example embodiment, all or some of operations to be executed by the electronic device201may be executed by one or more of the external electronic devices (e.g., the electronic devices202and204, and the server208). For example, if the electronic device201needs to perform a function or a service automatically, or in response to a request from a user or another device, the electronic device201, instead of, or in addition to, executing the function or the service, may request one or more external electronic devices to perform at least a part of the function or service. The one or more external electronic devices receiving the request may perform the at least part of the function or service requested, or an additional function or an additional service related to the request, and may transfer a result of the performance to the electronic device201. The electronic device201may provide the result, with or without further processing of the result, as at least a part of a response to the request. To that end, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device201may provide ultra-low latency services using, e.g., distributed computing or MEC. In an embodiment, the external electronic device (e.g., the electronic device204) may include an Internet-of-things (IoT) device. The server208may be an intelligent server using machine learning and/or a neural network. According to an example embodiment, the external electronic device (e.g., the electronic device204) or the server208may be included in the second network299. The electronic device201may be applied to intelligent services (e.g., a smart home, a smart city, a smart car, or healthcare) based on 5G communication technology or IoT-related technology.

According to various example embodiments described herein, an electronic device may be a device of one of various types. The electronic device may include, as non-limiting examples, a portable communication device (e.g., a smartphone, etc.), a computing device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. However, the electronic device is not limited to the examples described above.

FIGS.3A,3B,3C, and3Dare diagrams illustrating an example of a wearable device according to an example embodiment.

Referring toFIGS.3A,3B,3C, and3D, a wearable device300(e.g., the wearable device120ofFIG.1) may be worn on a user to assist the user in walking (and/or gait) more readily. For example, the wearable device300may be a device that assists the user in walking. The wearable device300may also be an exercise device that not only assists the user with their movements (e.g., walking or doing an exercise) but also provides the user with a resistance force to provide the user with an exercise function. For example, the resistance force provided to the user may be a force that is actively applied to the user, such as, for example, a force output by a device such as a motor. For another example, the resistance force may not be the force that is actively applied to the user but a force that hinders a movement or motion of the user, such as, for example, a frictional force. The resistance force may also be referred to as an exercise load.

AlthoughFIGS.3A,3B,3C, and3Dillustrate an example of a hip-type wearable device, a type of the wearable device300is not limited to the illustrated hip type, and the wearable device300may be provided in a type that supports a whole lower body, supports a portion of the lower body, for example, a portion of the lower body up to a knee and a portion of the lower body up to an ankle, or supports a whole body.

Although example embodiments described below with reference toFIGS.3A,3B,3C, and3D apply to a hip-type wearable device, the example embodiments are not limited to the hip-type wearable device but apply to all types of wearable devices.

According to an example embodiment, the wearable device300may include a driver310, a sensor320, an inertial measurement unit (IMU)330, a controller340, a battery350, and a communication module352. For example, the IMU330and the controller340may be arranged in a main frame of the wearable device300. For another example, the IMU330and the controller340may be included in a housing formed on or attached to the outside of the main frame of the wearable device300.

The driver310may include a motor314and a motor driver circuit312for driving the motor314. The sensor320may include at least one sensor321. The controller340may include a processor342, a memory344, and an input interface346. Although the sensor321, the motor driver circuit312, and the motor314are shown inFIG.3Cas a single sensor, a single motor driver circuit, and a single motor, respectively, another example300-1of the wearable device300may include a plurality of sensors321and321-1, a plurality of motor driver circuits312and312-1, and a plurality of motors314and314-1as shown inFIG.3D. According to implementation, the wearable device300may 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 device300is worn.

The following descriptions of the sensor321, the motor driver circuit312, and the motor314may also apply to the sensor321-1, the motor driver circuit312-1, and the motor314-1shown inFIG.3D.

The driver310may drive a hip joint of the user. For example, the driver310may be disposed at or near a right hip of the user and/or at or near a left hip of the user. The driver310may be additionally disposed at or near knees of the user and at or near ankles of the user. The driver310may include the motor314configured to generate a rotational torque and the motor driver circuit312configured to drive the motor314.

The sensor320may measure an angle of the hip joint (hereinafter also be referred to as a hip joint angle) of the user when the user walks. Here, information associated with the hip joint angle sensed by the sensor320may include a right hip joint angle, a left hip joint angle, a difference between the right hip joint angle and the left hip joint angle, and a hip joint motion direction. For example, the sensor321may be disposed in the driver310. Based on a position of the sensor321, the sensor320may additionally measure a knee angle of the user and an ankle angle of the user. The sensor321may be an encoder. The information associated with the hip joint angle measured by the sensor320may be transmitted to the controller340.

According to an example embodiment, the sensor320may include a potentiometer. The potentiometer may sense an R-axis joint angle and an L-axis joint angle, and an R-axis joint angular velocity and an L-axis joint angular velocity, based on a walking motion of the user. In this case, R and L axes may be reference axes for a right leg and a left leg of the user, respectively. For example, the R and L axes may be set to be vertical to the ground and set such that a front side of a body of a person has a negative value and a rear side of the body has a positive value.

The IMU330may measure acceleration information and pose information when the user walks. For example, the IMU330may sense an X-axis acceleration, a Y-axis acceleration, and a Z-axis acceleration, and an X-axis angular velocity, a Y-axis angular velocity, and a Z-axis angular velocity, based on a walking motion of the user (e.g., see x, y, and z axes inFIGS.5-6). The acceleration information and the pose information measured by the IMU330may be transmitted to the controller340.

In addition to the sensor320and the IMU330described above, the wearable device300may include other sensors (e.g., an electromyogram (EMG) sensor) configured to sense a change in a quantity of motion of the user or a change in biosignal based on a walking motion of the user.

The controller340may control an overall operation of the wearable device300. For example, the controller340may receive the information sensed by each of the sensor320and the IMU330. The information sensed by the IMU330may include the acceleration information and the pose information, and the information sensed by the sensor320may include information on the right hip joint angle, the left hip joint angle, the difference between the angles of both hip joints, and the hip joint motion direction. According to an example embodiment, the controller340may calculate the difference between the angles of both hip joints based on the right hip joint angle and the left hip joint angle. The controller340may generate a signal for controlling the driver310based on the sensed information. For example, the generated signal may correspond to an assistance force assisting the user in walking. For another example, the generated signal may correspond to a resistance force hindering the user from walking. The resistance force may also be provided to the user to assist the user in doing an exercise or motion. In the following description, an exercise load (e.g., torque) with a negative magnitude may represent the resistance force, and an exercise load (e.g., torque) with a positive magnitude may represent the assistance force.

According to an example embodiment, the processor342of the controller340may control the driver310to provide the resistance force to the user. For example, the driver310may provide the resistance force to the user by applying an active force to the user through the motor314. For another example, the driver310may provide the resistance force to the user using back-drivability of the motor314without applying the active force to the user. The back-drivability of a motor may represent the reactivity of a rotation axis of the motor in response to an external force, and a greater degree of the back-drivability may indicate that the motor may more readily respond to an external force acting on the rotation axis of the motor, that is, the rotation axis of the motor may more readily rotate. For example, even when the same external force is applied to the rotation axis of the motor, a degree of rotation of the rotation axis of the motor may change according to a degree of the back-drivability.

According to an example embodiment, the processor342of the controller340may control the driver310such that the driver310outputs a torque (and/or an assistance torque) for assisting the user with a movement or motion. For example, in the wearable device300of a hip type, the driver310may be disposed at or near each of the left hip and the right hip of the user, and the controller340may output a control signal for controlling the driver310to generate a torque.

The driver310may generate the torque based on the control signal output by the controller340. A torque value for generating the torque may be externally set or be set by the controller340. For example, to indicate a magnitude of the torque value, the controller340may use a magnitude of a current for a signal transmitted to the driver310. That is, as the magnitude of the current received by the driver310increases, the torque value may increase. For example, the processor342of the controller340may transmit the control signal to the motor driver circuit312of the driver310, and the motor driver circuit312may generate a current corresponding to the control signal to control the motor314.

The battery350may supply power to components of the wearable device300. The wearable device300may further include a circuit (e.g., a power management integrated circuit (PMIC)) configured to convert power of the battery350to match an operating voltage of the components of the wearable device300and provide it to the components of the wearable device300. In addition, the battery350may or may not supply power to the motor314based on an operation mode of the wearable device300.

The communication module352, including communication circuitry, may support the establishment of a direct (or wired) communication channel or a wireless communication channel between the wearable electronic device300and an external electronic device and may support the communication through the established communication channel. The communication module352may include one or more communication processors that support direct (or wired) communication or wireless communication. According to an example embodiment, the communication module352may include a wireless communication module (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). A corresponding one of these communication modules may communicate with an external electronic device through a first network (e.g., a short-range communication network such as Bluetooth, wireless-fidelity (Wi-Fi) direct, or infrared data association (IrDA)) or a second network (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network). These types of communication modules may be integrated into a single component (e.g., a single chip) or different separate components (e.g., chips).

According to an example embodiment, the electronic device201described above with reference toFIG.2may be included in the wearable device300.

According to an example embodiment, the electronic device201described above with reference toFIG.2may be a device physically separated from the wearable device300, and the electronic device201and the wearable device300may be connected through short-range wireless communication.

FIG.4is a diagram illustrating an example of a wearable device communicating with an electronic device according to an example embodiment.

Referring toFIG.4, the wearable device300(e.g., the wearable device120ofFIG.1) described above with reference toFIGS.3A,3B,3C, and3Dmay communicate with the electronic device201(e.g., the electronic device110ofFIG.1) described above with reference toFIG.2. For example, the electronic device201may be an electronic device of a user of the wearable device300. The wearable device300and the electronic device201may be connected through short-range wireless communication.

The electronic device201may display a user interface (UI) for controlling operations of the wearable device300on a display201-1. The UI may include, for example, at least one soft key through which the user may control the wearable device300.

The user may input a command for controlling the operations of the wearable device300through the UI on the display201-1of the electronic device201, and the electronic device201may generate a control command corresponding to the command and transmit the generated control command to the wearable device300. The wearable device300may operate according to the received control command and transmit a control result to the electronic device201. The electronic device201may display a control completion message on the display201-1of the electronic device201.

FIGS.5and6are diagrams illustrating an example of outputting a torque by a wearable device according to an example embodiment.

Referring toFIGS.5and6, drivers310-1and310-2of the wearable device300(e.g., the wearable device120ofFIG.1) ofFIGS.3A,3B, and3Cmay be disposed at or near a hip joint of a user, and the controller340of the wearable device300may be disposed at or near a waist of the user. However, the positions of the drivers310-1and310-2and the controller340are not limited to the example positions shown inFIGS.5and6.

The wearable device300may measure (and/or sense) a left hip joint angle q_l and a right hip joint angle q_r of the user. For example, the wearable device300may measure the left hip joint angle q_l of the user through a left encoder and measure the right hip joint angle q_r of the user through a right encoder. As shown inFIG.6, the left hip joint angle q_l may be a negative value because a left leg of the user is in front of a reference line620, and the right hip joint angle q_r may be a positive value because a right leg of the user is behind the reference line620. According to implementation, the right hip joint angle q_r may be negative when the right leg is in front of the reference line620, and the left hip joint angle q_l may be positive when the left leg is behind the reference line620.

According to an example embodiment, the wearable device300may obtain a first angle (e.g., q_r) and a second angle (e.g., q_l) by filtering a first raw angle (e.g., q_r_raw) of a first joint (e.g., a right hip joint) measured by the sensor320and a second raw angle (e.g., q_l_raw) of a second joint (e.g., a left hip joint). For example, the wearable device300may filter the first raw angle and the second raw angle based on a previous first angle and a previous second angle that are measured at a previous time. A filtering degree, which is a degree of filtering the raw angles, may be adjusted based on a value of a control parameter indicating a sensitivity of an angle change.

According to an example embodiment, the wearable device300may determine 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, and may control the motor driver circuit312of the wearable device300such that the determined torque value τ(t) is output. A force to be provided to the user by the torque value τ(t) may be referred to herein as force feedback. For example, the wearable device300may determine the torque value τ(t) based on Equation 1 below.

In Equation 1, y denotes a state factor, and q_r denotes a right hip joint angle, and q_l denotes a left hip joint angle. According to Equation 1, the state factor y may be related to a distance between both legs. For example, y being zero (0) may indicate a state (e.g., a crossing state) in which the distance between the legs is 0, and an absolute value of y being maximum may indicate a state (e.g., a landing state) in which an angle between the legs is maximal. When q_r and q_l are measured at a time t, the state factor may be represented as y(t), in this case.

The gain κ is a parameter indicating a magnitude and direction of an output torque. As a magnitude of the gain κ increases, a greater torque may be output. When the gain κ is a negative value, a torque acting as a resistance force may be output to the user. When the gain κ is a positive value, a torque acting as an assistance force may be output to the user. The delay Δt is a parameter associated with a torque output timing. The gain κ and the delay Δt may be preset, and may be adjusted by the user, the wearable device300, or the electronic device201described above with reference toFIG.2.

A model that outputs the torque acting as the assistance force to the user using Equation 1 may be defined as a torque output model (e.g., a torque output algorithm). The wearable device300or the electronic device201may input, to the torque output model, values of input parameters received through sensors to determine the magnitude and delay of a torque to be output.

According to an example embodiment, the wearable device300or the electronic device201may apply, to a first state factor y(t), a first gain value and a first delay value as parameter values determined for the state factor y(t) to determine a first torque value through Equation 2 below.

Since it needs be applied to both legs, the calculated first torque value may include a value for the first joint and a value for the second joint. For example, τl(t) may be a value for the left hip joint which is the second joint, and τr(t) may be a value for the right hip joint which is the first joint. τl(t) and τr(t) may have the same magnitude and opposite torque directions. The wearable device300may control the motor driver circuit312of the wearable device300such that a torque corresponding to the first torque value is output.

According to an example embodiment, when the user performs a gait in which the left leg and the right leg are asymmetrical, the wearable device300may provide an asymmetrical torque to each of the legs of the user to assist such an asymmetric gait. For example, the wearable device300may provide a greater (and/or stronger) assistance force to a leg with a smaller stride or a slower swing speed. Hereinafter, a leg with a smaller stride or a slower swing speed will be referred to as an affected leg or a target leg.

In general, the affected leg may have a shorter swing time or a smaller stride compared to an unaffected leg. According to an example embodiment, to assist the user with their gaits, a method of adjusting a timing of a torque acting on the affected leg may be used. For example, to increase an output time of a torque for assisting the affected leg with a swing motion, an offset angle may be added to an actual joint angle of the affected leg. The offset angle may be, for example, an angle that is applied to an actual joint angle measured from the affected leg to maintain a walking balance between the normal leg and the affected leg. As the offset angle increases, the output time of the torque for assisting the affected leg with the swing motion when the user walks may increase. For example, in consideration of a state of the affected leg, an offset angle of −3° to −23° may be determined. As a walking function of the affected leg is more degraded, a greater value of the offset angle may be used. For example, when the affected leg is a right leg of the user, the offset angle may be applied to the right. For example, an angle of a hip joint to which an offset angle of −20° is applied may be changed from a previous angle of −40° to 20° to an angle of −60° to 0°.

As an angle of the affected leg changes by the offset angle, a state factor to be calculated afterward may change. For example, a time for which a positive torque value for assisting the affected leg in moving behind (e.g., a supporting motion) is output may be longer than the normal leg.

c is a value of a parameter indicating an offset angle between joint angles. As the offset angle is added to the actual joint angle of the affected leg, a value of an input parameter to be input to the torque output model provided in (and/applied to) the wearable device300may be adjusted. For example, values of q_r and q_l may be adjusted as represented by Equation 3 below. In addition, crdenotes an offset angle for the right hip joint, and ci denotes an offset angle for the left hip joint.

According to an example embodiment, the wearable device300may filter the state factor to reduce discomfort or inconvenience the user may feel due to an irregular torque output. For example, the wearable device300or the electronic device201may determine an initial state factor yraw(t) of a present time t based on the first angle of the first joint and the second angle of the second joint, and may determine a first state factor y(t) based on a previous state factor yprvdetermined at a previous time t-1 and the initial state factor yraw(t). The present time t may indicate a time at which data (e.g., sample) is processed, and the previous time t-1 may indicate a time at which t-1th data is processed. For example, a difference between the present time t and the previous time t-1 may be an operation period of a processor that generates or processes corresponding data. The sensitivity α denotes a value of a parameter indicating sensitivity. For example, a sensitivity value may be continuously adjusted during a test walk, but may be preset as a constant value to reduce the complexity of computation or calculation.

For example, the state factor may be filtered using the sensitivity as represented by Equation 4 below.

In Equation 4, y(t-1) denotes a previous state factor yprvdetermined for a previous time t-1. For example, the sensitivity may have a value between 0 and 1. As the sensitivity increases, an influence of an initial state factor yraw(t) may be more greatly applied to a first state factor y(t) determined using Equation 4. For example, in an exercise mode in which a motion of the user changes fast, a greater sensitivity may be set for the wearable device300to track fast the fast motion of the user. When a small sensitivity is set in the exercise mode in which the motion of the user changes fast, a speed at which the wearable device300tracks the changed motion of the user may decrease.

Although Equation 4 is described that the sensitivity a is applied to the initial state factor yraw(t), it may be implemented in an embodiment in which the sensitivity is applied to y(t-1) or be partially modified and applied to the foregoing embodiment.

According to an example embodiment, a method of outputting a torque based on a state factor described above with reference to Equations 1 to 4 may be used when the user wearing the wearable device300walks. For example, when the user performs an in-situ exercise mode (e.g., an exercise mode of a non-step exercise type), instead of a walking mode (e.g., an exercise mode of a step exercise type), a motion control model corresponding to the exercise mode performed by the user may be used to control the wearable device300.

FIG.7is a diagram illustrating an example of determining a torque value for controlling a wearable device according to an example embodiment.

According to an example embodiment, values of control parameters used for a system710(e.g., a wearable device (e.g., the wearable device120ofFIG.1or the wearable device300ofFIGS.3A,3B, and3C) and a user) to output a torque may be determined based on an exercise mode. For example, a target motion control model may determine values of control parameters corresponding to a target exercise mode. The target exercise mode may be an exercise mode currently performed by the user or an exercise mode which is a target to be controlled, and the target motion control model may be a motion control model for the target exercise mode. The target motion control model may control the system710based on the values of the control parameters for the target exercise mode. The target motion control model may be executed by the wearable device or an electronic device (e.g., the electronic device110ofFIG.1or the electronic device201ofFIG.2).

According to an example embodiment, the target motion control model may determine the values of the control parameters. For example, the control parameters may include at least one of a sensitivity factor720, an offset factor730, a timing factor (e.g., delay factor)740, or a gain factor750. The values of the control parameters included in the target motion control model may be set differently for each user, and personalization may be performed for each user.

The system710may generate a first raw angle (e.g., q_r_raw(t)) of a first joint (e.g., a right hip joint) of the wearable device and a second raw angle (e.g., q_l_raw(t)) of a second joint (e.g., a left hip joint) of the wearable device. A raw angle may be an angle that is obtained through a sensor but is not processed yet, for example, an angle that is not filtered. The target motion control model applied to the system710may filter the first raw angle and the second raw joint angle to obtain a first angle (e.g., q_r(t)) and a second angle (e.g., q_l (t)). For example, the target motion control model may filter the first raw angle and the second raw angle based on a previous first angle and a previous second angle that are measured at a previous time. A filtering degree of such raw angle filtering may be adjusted based on a value of the sensitivity factor720indicating the sensitivity of an angle change. The target motion control model may be determined by the electronic device (e.g., the electronic device110ofFIG.1or the electronic device201ofFIG.2) connected to the wearable device from among a plurality of motion control models.

The target motion control model may adjust the first angle (e.g., q_r(t)) and the second angle (e.g., q_l (t)) using the offset factor730. As described above, crdenotes an offset angle with respect to the right hip joint, and cldenotes an offset angle with respect to the left hip joint. crand clmay be determined based on a target exercise mode.

The target motion control model may generate a state factor (e.g., y(t)) based on a target type of the target exercise mode. For example, when the target type is a first type (e.g., a step exercise type), the state factor may be generated based on Equation 5 below. For another example, when the target type is a second type (e.g., a non-step exercise type), the state factor may be generated based on Equation 6 below.

The state factor generated by Equation 5 may correspond to an exercise mode in which the first joint and the second joint move symmetrically or alternately. The state factor generated by Equation 6 may correspond to an exercise mode in which the first joint and the second joint move in the same direction.

According to an example embodiment, when the wearable device includes a left joint and a right joint, the state factor may be generated using Equation 5 or 6.

According to an example embodiment, when the wearable device includes only one joint, the state factor y(t) may be generated by sin(q(t)) or (q(t)) based on an angle q(t) of the joint.

The target motion control model may determine a value (e.g., Δt) of the timing factor740for the state factor (e.g., y(t)). For example, Δt may be determined based on the target exercise mode. Even when users perform the same exercise mode, methods of controlling their bodies may be different for each user, and thus the users may feel different levels of discomfort or inconvenience even though a torque is output at the same timing by the wearable device. Thus, the discomfort or inconvenience at the output timing of the torque may be adjusted through the adjustment of the timing factor740.

The target motion control model may determine a value (e.g., κ) of the gain factor750for a state factor (e.g., y(t-Δt) to which the value of the timing factor740is applied. For example, κ may be determined based on the target exercise mode.

The target motion control model may determine a torque value (e.g., τ(t)) based on the target type of the target exercise mode. For example, when the target type is the first type (e.g., the step exercise type), the torque value may be determined based on Equation 7 below. For another example, when the target type is the second type (e.g., the non-step exercise type), the torque value may be determined based on Equation 8 below.

The target motion control model may control the wearable device based on the torque value. For example, the target motion control model may control the wearable device such that the wearable device outputs an assistance force or resistance force corresponding to the torque value to the user.

According to an example embodiment, when the wearable device includes only one joint, the torque value may be determined similarly to Equation 8.

FIG.8is a flowchart illustrating an example method of controlling a wearable device based on an exercise mode according to an example embodiment.

Operations810to870described below may be performed by an electronic device (e.g., the electronic device110ofFIG.1, the wearable device120ofFIG.1, the electronic device201ofFIG.2, or the wearable device300ofFIGS.3A,3B, and3C).

In operation810, a processor of the electronic device may determine a target exercise mode of a wearable device. For example, the target exercise mode may be an exercise mode that is being performed or executed currently by the wearable device in the course of an exercise program including one or more exercise modes. The exercise program may be a set of a plurality of exercise modes that are to be performed sequentially by a user. For example, when a previous exercise mode in a previous order set before an order of the target exercise mode among the exercise modes for which respective execution orders are set is performed or completed, the electronic device may determine the target exercise mode in a next order.

According to an example embodiment, the target exercise mode may be an exercise mode personalized in advance for a user of the wearable device. For example, the target exercise mode may be personalized through adjustment of at least one of a value of a first control parameter or a value of a second control parameter for the target exercise mode. A method of personalizing an exercise mode will be described in detail below with reference toFIGS.11and12.

According to an example embodiment, the target exercise mode may be an exercise mode of a step exercise type. For example, the exercise mode of the step exercise type may include a walking exercise mode including, for example, power walking, interval walking, water walking, resisted walking, balance training walking, and assisted walking. For example, the exercise mode of the step exercise type may include a running exercise mode. For example, the exercise mode of the step exercise type may include an exercise mode in which a left leg and a right leg of the user move symmetrically or alternately, for example, a fast feet mode, a lunge mode, a split jacks mode, a toe-tap triceps mode, a knee up mode, a march step with twist mode, or a mountain climber mode.

According to an example embodiment, the target exercise mode may be an exercise mode of a non-step exercise type. For example, the exercise mode of the non-step exercise type may include an exercise mode in which a left leg and a right leg of the user move in the same direction, for example, a squat mode, a narrow squat mode, a half squat mode, a deadlift mode, a single leg deadlift mode, a kick back mode, a bird dog mode, or a good morning mode.

According to an example embodiment, when the electronic device is the wearable device (e.g., the wearable device120ofFIG.1and/or the wearable device300ofFIG.3), the wearable device may determine the target exercise mode by receiving information on the target exercise mode of the wearable device from an external electronic device (e.g., the electronic device110ofFIG.1and/or the electronic device201ofFIG.2) through the communication module.

According to an example embodiment, the electronic device may receive the information on the target exercise mode from the user through a UI and determine the target exercise mode based on the received information. For example, the electronic device may receive the information on the target exercise mode through a user input over a touch display. In this example, the user may select the target exercise mode that is currently being performed or is to be performed soon from among a plurality of exercise modes output on the touch display and may thereby transmit the information on the target exercise mode to the electronic device. For example, the electronic device may receive the information on the target exercise mode by receiving a user voice through a microphone. In this example, the electronic device may determine the target exercise mode corresponding to the voice. The touch display and/or the microphone may be a module included in the electronic device or a module included in an additional device (e.g., the additional device130shown inFIG.1) wirelessly connected to the electronic device.

According to an example embodiment, the electronic device may actively determine the target exercise mode of the wearable device based on sensing data (e.g., raw sensing data) obtained through the wearable device while the user is doing an exercise with the wearable device worn on the user. A method by which the electronic device actively determines the target exercise mode will be described in detail below with reference toFIG.16.

In operation820, the processor of the electronic device may determine a value of a first control parameter for processing raw sensing data obtained from the wearable device, based on the target exercise mode.

According to an example embodiment, the first control parameter may include at least one of a parameter for adjusting the sensitivity of the raw sensing data or a parameter indicating an offset angle between joint angles of the raw sensing data. The raw sensing data may be sensing data that is unprocessed sensing data obtained through a corresponding sensor. For example, the raw sensing data may include a first raw angle (e.g., q_r_raw(t)) of a first joint (e.g., a right hip joint) and a second raw angle (e.g., q_l_raw(t)) of a second joint (e.g., q_r_raw(t)), as described above with reference toFIG.7. For example, the first control parameter may include at least one of a sensitivity factor or an offset factor. For example, the value of the first control parameter may be a value personalized for the user.

According to an example embodiment, the value of the first control parameter may be determined based on a motion speed in the target exercise mode. For example, when the target exercise mode is an exercise mode for a fast motion such as a fast feet mode, a great value of the sensitivity of the raw sensing data may be determined as the first control parameter. For example, when the target exercise mode is an exercise mode for a slow motion such as a good morning mode, a small value of the sensitivity of the raw sensing data may be determined as the first control parameter.

According to an example embodiment, the value of the first control parameter may be determined based on a motion characteristic in the target exercise mode. For example, when the target exercise mode is a step exercise mode and requires a balance between a left leg and a right leg, a value of the offset angle may be determined as the first control parameter.

According to an example embodiment, when the determined target exercise mode is different from a previous target exercise mode, the processor of the electronic device may determine the value of the first control parameter such that a difference from a previous value of the first control parameter is within a preset range. For example, the value of the first control parameter may change stepwise or gradually during a preset time (e.g., an exercise mode transition time). As the value of the first control parameter changes gradually, a potential situation in which a value or direction of a torque to be output to the user changes drastically may be prevented or reduced.

According to an example embodiment, the preset time for an exercise mode transition may vary based on at least one of the previous exercise mode or the determined target exercise mode. For example, the transition time in a case in which the previous exercise mode and the target exercise mode are of the same exercise type may be longer than that in a case in which the previous exercise mode and the target exercise mode are of different exercise types. For example, the transition time in the case in which the previous exercise mode and the target exercise mode are of the same exercise type may be shorter than that in the case in which the previous exercise mode and the target exercise mode are of different exercise types.

In operation830, the processor of the electronic device may generate sensing data based on the raw sensing data and the value of the first control parameter. For example, the raw sensing data may include the first raw angle (e.g., q_r_raw(t)) and the second raw angle (e.g., q_l_raw(t)). For example, the raw sensing data may include a first raw joint angle of a first leg and a second raw joint angle of a second leg that are generated by a sensor of the wearable device. For example, the sensing data may be a first angle (e.g., q_r(t)) and a second angle (e.g., q_l (t)), as described above with reference toFIG.7. For example, the sensing data may be a first angle and a second angle to which an offset angle described above with reference toFIG.7is applied.

In operation840, the processor of the electronic device may generate a target state factor corresponding to the target type of the target exercise mode based on the sensing data. The target state factor, which may be a state factor corresponding to the target type of the target exercise mode from between a state factor of a first type defined by Equation 5 or a state factor of a second type defined by Equation 6, may be a state factor that is currently used to control the wearable device.

For example, when the target type of the target exercise mode is the first type (e.g., the step exercise type), the target state factor may be generated based on Equation 5 described above with reference toFIG.7. For another example, when the target type of the target exercise mode is the second type (e.g., the non-step exercise type), the target state factor may be generated based on Equation 6 described above with reference toFIG.7.

In operation850, the processor of the electronic device may determine a value of a second control parameter for at least one of an output timing or a magnitude of a torque to be output by the wearable device, based on the target exercise mode. The magnitude of the torque may include both an intensity and direction of the torque. For example, when the magnitude of the torque is “−1,” the numeral “1” may denote the intensity of the torque and the sign “−” may denote the direction of the torque.

According to an example embodiment, the second control parameter may include at least one of a parameter for controlling the output timing of the torque output by the wearable device or a parameter for controlling the magnitude of the torque. For example, the second control parameter may include at least one of a timing factor or a gain factor. The gain factor may include the intensity and direction of the torque. For example, the value of the second control parameter may be a value personalized for the user.

According to an example embodiment, when the determined target exercise mode is different from the previous exercise mode, the processor of the electronic device may determine the value of the second control parameter such that a difference from a previous value of the second control parameter is within a preset range. For example, the value of the second control parameter may change stepwise or gradually during a preset time (e.g., an exercise mode transition time). As the value of the second control parameter changes gradually, a potential situation in which a value or direction of a torque to be output to the user changes drastically may be prevented or reduced.

According to an example embodiment, the preset time for an exercise mode transition may vary based on at least one of the previous exercise mode or the determined target exercise mode. For example, the transition time in a case in which the previous exercise mode and the target exercise mode are of the same exercise type may be longer than that in a case in which the previous exercise mode and the target exercise mode are of different exercise types. For example, the transition time in the case in which the previous exercise mode and the target exercise mode are of the same exercise type may be shorter than that in the case in which the previous exercise mode and the target exercise mode are of different exercise types.

In operation860, the processor of the electronic device may determine a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter.

For example, when the target type is the first type (e.g., the step exercise type), the torque value may be determined based on Equation 7 described above with reference toFIG.7. For another example, when the target type is the second type (e.g., the non-step exercise type), the torque value may be determined based on Equation 8 described above with reference toFIG.7.

In operation870, the electronic device may control the wearable device based on the determined torque value.

According to an example embodiment, when the electronic device is a user terminal, the electronic device may control the wearable device by transmitting information on the torque value to the wearable device. According to an example embodiment, when the electronic device is a wearable device, the electronic device may control the wearable device based on the determined torque value.

As the wearable device controls a motor disposed on a joint (e.g., a hip joint) of the wearable device based on the torque value, the wearable device may provide the user with a force corresponding to the torque value. The force may be, for example, an assistance force or a resistance force.

FIG.9is a flowchart illustrating an example method of generating an exercise program based on exercise modes according to an example embodiment.

According to an example embodiment, operations910and920described below may be performed by an electronic device (e.g., the electronic device110ofFIG.1, the wearable device120ofFIG.1, the electronic device201ofFIG.2, or the wearable device300ofFIGS.3A,3B, and3C). Operations910and920may be performed before operation810described above with reference toFIG.8is performed.

In operation910, the electronic device may receive information on one or more exercise modes from the user. For example, the information on the exercise modes may include information on an execution time of an exercise mode and information on an execution level of the exercise mode. A method of receiving information on one or more exercise modes from a user will be described in greater detail below with reference toFIG.10.

In operation920, the electronic device may generate an exercise program based on the exercise modes.

According to an example embodiment, the electronic device may provide an exercise to the user by controlling the wearable device through the exercise program. For example, the wearable device may be controlled based on a motion control model for each of the exercise modes included in the exercise program.

FIG.10is a diagram illustrating an example method of generating an exercise program according to an example embodiment.

According to an example embodiment, an electronic device (e.g., the electronic device110ofFIG.1, the wearable device120ofFIG.1, the electronic device201ofFIG.2, or the wearable device300ofFIGS.3A,3B, and3C) may provide a user with a list1000on which a plurality of exercise modes is listed. For example, the list1000may include a first sub-list1010and a second sub-list1020that are divided by type. For example, the first sub-list1010may include one or more exercise modes of a step exercise type, and the second sub-list1020may include one or more exercise modes of a non-step exercise type.

According to an example embodiment, the list1000may further include a UI1030through which the user is able to generate a new exercise mode. For example, the user may generate the new exercise mode using the UI1030. A method of generating a new exercise mode will be described in detail below with reference toFIG.12.

According to an example embodiment, the user may generate an exercise program1040by selecting at least some of the exercise modes from the list1000. For example, the user may generate the exercise program1040by selecting a knee up mode, a squat mode, and an interval walking mode from among the exercise modes on the list1000.

According to an example embodiment, each of the exercise modes on the list1000may be an exercise mode personalized in advance. For example, values of control parameters of a motion control model for an exercise mode may be predetermined for the user. The values of the control parameters for the exercise mode may be determined by the user. The values of the control parameters for the exercise mode may be determined by the electronic device such that the values are suitable for the user.

FIG.11is a diagram illustrating an example of adjusting an execution time and level of each exercise mode of an exercise program according to an example embodiment.

According to an example embodiment, an electronic device (e.g., the electronic device110ofFIG.1, the wearable device120ofFIG.1, the electronic device201ofFIG.2, or the wearable device300ofFIGS.3A,3B, and3C) may receive, from a user, information on exercise modes included in an exercise program1100. For example, the information may include information on an execution time of the exercise modes and information on an execution level of the exercise modes.

According to an example embodiment, a target level among a plurality of execution levels may be set for an exercise mode. For example, values of control parameters may be differently preset for each of the execution levels.

For example, for a knee up mode which is a first exercise mode, an execution time may be set to 5 minutes and an execution level may be set to 2 steps. For a squat mode which is a second exercise mode, an execution time may be set to 5 minutes and an execution level may be set to 3 steps. For an interval walking mode which is a third exercise mode, an execution time may be set to 20 minutes and an execution level may be set to 2 steps.

FIG.12is a diagram illustrating an example method of adjusting values of control parameters of an exercise mode according to an example embodiment.

According to an example embodiment, an electronic device (e.g., the electronic device110ofFIG.1, the wearable device120ofFIG.1, the electronic device201ofFIG.2, or the wearable device300ofFIGS.3A,3B, and3C) may provide a user with a UI1200through which the user is able to adjust values of control parameters of an exercise mode. For example, the UI1200may be an authoring tool for generating an exercise mode.

According to an example embodiment, the user may adjust the values of the control parameters by changing values of the control parameters set for an existing exercise mode.

According to an example embodiment, the user may set values of the control parameters of a new exercise mode while generating the new exercise mode. For example, the user may select the UI1030described above with reference toFIG.10to generate the new exercise mode, and when the UI1030is selected, the UI1200may be provided to the user.

The new exercise mode may be generated by changing the values of the control parameters using the existing exercise mode. For example, the user may generate a fast feet mode by adjusting values of a sensitivity factor and a timing factor of a basic walking exercise mode. For example, to generate a good morning mode or a deadlift mode, the user may adjust values of the control parameters of a squat mode with similar waist motions.

For example, the UI1200may include a graph1202showing a trajectory of joint angles shown in a corresponding exercise mode and a trajectory of an output torque.

For example, the UI1200may output a torque value1204that is output to a left joint and a right joint. The torque value1204may be an instantaneous maximum or large torque value, or a root mean square (RMS) torque value.

For example, the UI1200may output a value1206of power generated by a force provided to the user.

For example, the UI1200may include a UI1210for adjusting the values of the control parameters.

For example, the UI1200may include a UI1220for setting a type of a corresponding exercise mode.

For example, the UI1200may include a UI1230for setting a name of a corresponding exercise mode.

FIG.13is a flowchart illustrating an example method of outputting feedback information generated based on sensing data according to an example embodiment.

According to an example embodiment, operations1310and1320described below may be performed by an electronic device (e.g., the electronic device110ofFIG.1, the wearable device120ofFIG.1, the electronic device201ofFIG.2, or the wearable device300ofFIGS.3A,3B, and3C). Operation1310may be performed after operation830described above with reference toFIG.8is performed.

In operation1310, the electronic device may generate feedback information on execution of a target exercise mode based on sensing data.

According to an example embodiment, the electronic device may determine in real time a present pose that is currently taken by a user doing an exercise based on the sensing data and may compare the present pose of the user and a target pose preset for the target exercise mode. The electronic device may generate, as the feedback information, a difference between the present pose and the target pose. For example, the present pose of the user may be determined based on an angle of a hip joint, a range of motion of the hip joint, or IMU information measured by an IMU (e.g., the IMU330ofFIGS.3A,3B,3C, and3D).

According to an example embodiment, when a wearable device operates with values of control parameters for the target exercise mode, the electronic device may calculate a value of power provided to the user and generate the calculated value of power as the feedback information. For example, in an assistance mode, a positive value of power may be calculated. For another example, in a resistance mode, a negative value of power may be calculated.

According to an example embodiment, the electronic device may calculate a first RMS torque based on a first torque. For example, the electronic device may calculate the first RMS torque with respect to output torque values. For example, the first RMS torque may be calculated based on Equation 9 below.

In Equation 9, n denotes a total number of data obtained by a one-time motion of the user, τidenotes an ith torque, and τRMSdenotes an RMS torque for the one-time motion.

The electronic device may calculate a first average value of power based on a first value of power. The first value of power may be a value of power generated as the first torque is output. The first value of power may be calculated as a product between the first torque τiand a first angular velocity {acute over (q)}i. The first angular velocity may be obtained based on first sensing data of a first joint.

The electronic device may calculate the first average value of power based on output torques and angular velocities obtained at a time when the torques are output. For example, the first average value of power may be calculated based on the first value of power and a second value of power at a second time that is later than a first time. The first average value of power may be calculated based on Equation 10 below.

In Equation 10, n denotes a total number of data obtained by a one-time motion of the user, τidenotes an ith torque (e.g., ith time or sample), {acute over (q)}idenotes an ith angular velocity, and MP denotes an average value of power for the one-time motion.

According to an example embodiment, the electronic device may calculate, as the feedback information, a value of output power in comparison to an input torque by calculating MP/τRMS. For example, MP/τRMSdenotes agility of a motion. In this example, a unit of the calculated value of the agility of the motion is rad/sec.

In operation1320, the electronic device may output the feedback information. For example, the electronic device may visually output the feedback information over a display. For example, the electronic device may audibly output the feedback information through a speaker. The feedback information may output through an additional device (e.g., the additional device130ofFIG.1) connected to the electronic device, in addition to the display or a speaker of the electronic device.

According to an example embodiment, the user wearing the wearable device may check the accuracy of the exercise they are doing, based on the feedback information. For example, the user may modify or change an exercise pose taken by the user based on the feedback information.

According to an example embodiment, a trainer who instructs the user wearing the wearable device on how to do the exercise may check the feedback information through the electronic device. The trainer may determine the suitability of the values of the control parameters for the target exercise mode performed by the user, based on the value of power as the feedback information. For example, when it is determined that the values of the control parameters for the target exercise mode are not suitable, the trainer may adjust the values of the control parameters.

FIG.14Ais a diagram illustrating an example trajectory of joint angles and an example trajectory of a state factor with respect to the joint angles in a target exercise mode, and an example trajectory of a torque value determined based on the state factor and an assistance mode according to an example embodiment.

According to an example embodiment, a graph1410shows a trajectory of joint angles corresponding to a change in motions1401,1402, and1403performed by a user and a trajectory of a state factor determined based on the joint angles, when a good morning mode is performed as an exercise mode. For example, the good morning mode may be of a non-step exercise type, and thus the state factor for the good morning mode may be generated based on Equation 6 described above with reference toFIG.7.

According to an example embodiment, in a case in which the good morning mode operates as an assistance mode, when the user performs motions while changing from the motion1402of bending their waist to the motion1403of stretching the waist, a torque that assists the user in stretching the waist may be provided as an assistance force to the user. In addition, a graph1420shows a trajectory of a torque value, in which a positive value of torque may indicate the assistance force that assists the user in stretching the waist.

FIG.14Bis a diagram illustrating an example trajectory of joint angles measured when a target exercise ofFIG.14Ais repeatedly performed and an example trajectory of a state factor with respect to the joint angles, and an example trajectory of a torque value determined based on the state factor and an assistance mode according to an example embodiment.

According to an example embodiment, a graph1430shows a trajectory of joint angles corresponding to a change in motions performed by a user and a trajectory of a state factor determined based on the joint angles, when the user repeatedly performs a good morning exercise.

According to an example embodiment, a graph1440shows a trajectory of a torque value determined based on the state factor and an assistance mode, when a good morning mode operates as an assistance mode.

FIG.14Cis a diagram illustrating an example trajectory of a torque value output by a wearable device and an example trajectory of power, when a target exercise ofFIG.14Ais repeatedly performed according to an example embodiment.

According to an example embodiment, in a case in which a user repeatedly performs a good morning exercise, a graph1450shows a trajectory of joint angles corresponding to a change in motions performed by the user, a graph1460shows a trajectory of a joint angular velocity, a graph1470shows a trajectory of a torque value, and a graph1480shows a trajectory of a power value. In the graph1480, a positive value of power may indicate that an assistance force is provided to the user, and a negative value of power may indicate that a resistance force is provided to the user. In a good morning exercise mode as an assistance mode, it may be verified that the assistance force is provided to the user in most sections.

FIG.15Ais a diagram illustrating an example trajectory of joint angles in a target exercise mode and an example trajectory of a state factor with respect to the joint angles, and an example trajectory of a torque value determined based on the state factor and a resistance mode according to an example embodiment.

According to an example embodiment, in a case in which a good morning mode is performed as an exercise mode, a graph1510shows a trajectory of joint angles corresponding to a change in motions1501,1502, and1503performed by a user and a trajectory of a state factor determined based on the joint angles.

According to an example embodiment, in a case in which the good morning mode operates as a resistance mode, when the user performs motions while changing from the motion1502of bending their waist to the motion1503of stretching the waist, a torque that hinders the user from stretching the waist may be provided as a resistance force to the user. In addition, a graph1520shows a trajectory of a torque value, in which a negative value of torque may indicate the resistance force that hinders the user from stretching the waist.

FIG.15Bis a diagram illustrating an example trajectory of joint angles measured when a target exercise ofFIG.15Ais repeatedly performed and an example trajectory of a state factor with respect to the joint angles, and an example trajectory of a torque value determined based on the state factor and a resistance mode according to an example embodiment.

According to an example embodiment, a graph1530shows a trajectory of joint angles corresponding to a change in motions performed by a user and a trajectory of a state factor determined based on the joint angles, when the user repeatedly performs a good morning exercise.

According to an example embodiment, a graph1540shows a trajectory of a torque value determined based on the state factor and a resistance mode, when a good morning mode operates as a resistance mode.

FIG.15Cis a diagram illustrating an example trajectory of a torque value output by a wearable device and an example trajectory of power, when a target exercise ofFIG.15Ais repeatedly performed according to an example embodiment.

According to an example embodiment, in a case in which a user repeatedly performs a good morning exercise, a graph1550shows a trajectory of joint angles corresponding to a change in motions performed by the user, a graph1560shows a trajectory of a joint angular velocity, a graph1570shows a trajectory of a torque value, and a graph1580shows a trajectory of a power value. In the graph1580, a negative value of power may indicate that a resistance force is provided to the user, and a positive value of power may indicate that an assistance force is provided to the user. In a good morning exercise mode as a resistance mode, it may be verified that the resistance force is provided to the user in most sections.

FIG.16is a flowchart illustrating an example method in which an electronic device actively determines a target exercise mode according to an example embodiment.

According to an example embodiment, operation810described above with reference toFIG.8may include operations1610and1620described below. Operations1610and1620may be performed by an electronic device (e.g., the electronic device110ofFIG.1, the wearable device120ofFIG.1, the electronic device201ofFIG.2, and/or the wearable device300ofFIGS.3A-3C).

In operation1610, the electronic device may obtain sensing data (e.g., raw sensing data) through a sensor of a wearable device while a user is doing an exercise with the wearable device worn on the user. The sensing data may include, for example, a joint angle, a joint angular velocity, and/or IMU information. For example, when the sensing data is the joint angle (or the joint angular velocity and/or the IMU information), the sensing data may further include a trajectory (e.g., a pattern) of a change in the joint angle (and/or the joint angular velocity, and/or the IMU information) over time.

In operation1620, the electronic device may determine a target exercise mode corresponding to the sensing data from among a plurality of exercise modes. For example, the electronic device may determine the target exercise mode corresponding to the sensing data based on a preset rule. For example, the electronic device may determine the target exercise mode based on an exercise mode classification model trained in advance to classify the exercise modes based on the sensing data. The exercise mode classification model may be a neural network-based classification model. The exercise mode classification model may be trained in advance to identify an exercise mode corresponding to input sensing data, based on a plurality of pieces of sensing data respectively corresponding to a plurality of exercise modes.

FIGS.17A,17B,17C,17D,17E,17F, and17Gare each a flowchart illustrating an example method of controlling a wearable device based on an exercise mode according to an example embodiment.

At least some of operations810to870sequentially described above with reference toFIG.8may be omitted from an example of implementation according to an example embodiment.

In a method1710illustrated with reference toFIG.17A, at least one processor of an electronic device may perform operation810of determining a target exercise mode of a wearable device, operation840of generating a target state factor corresponding to a target type of the target exercise mode based on sensing data (or raw sensing data) obtained from the wearable device, operation850of determining a value of a second control parameter for a magnitude of a torque to be output by the wearable device based on the target exercise mode, operation860of determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and operation870of controlling the wearable device based on the torque value.

In a method1720illustrated with reference toFIG.17B, the at least one processor of the electronic device may perform operation810of determining a target exercise mode of a wearable device, operation840of generating a target state factor corresponding to a target type of the target exercise mode based on sensing data (or raw sensing data) obtained from the wearable device, operation850of determining a value of a second control parameter including a value of a control parameter for an output timing of a torque to be output by the wearable device and a value of a control parameter for a magnitude of the torque based on the target exercise mode, operation860of determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and operation870of controlling the wearable device based on the torque value.

In a method1730illustrated with reference toFIG.17C, the at least one processor of the electronic device may perform operation810of determining a target exercise mode of a wearable device, operation820of determining a value of a first control parameter including a control parameter for adjusting a sensitivity of raw sensing data obtained from the wearable device based on the target exercise mode, operation830of generating sensing data based on the raw sensing data and the value of the first control parameter, operation840of generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data, operation850of determining a value of a second control parameter for a magnitude of a torque to be output by the wearable device based on the target exercise mode, operation860of determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and operation870of controlling the wearable device based on the torque value.

In a method1740illustrated with reference toFIG.17D, the at least one processor of the electronic device may perform operation810of determining a target exercise mode of a wearable device, operation820of determining a value of a first control parameter including a control parameter indicating an offset angle between joint angles of raw sensing data obtained from the wearable device based on the target exercise mode, operation830of generating sensing data based on the raw sensing data and the value of the first control parameter, operation840of generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data, operation850of determining a value of a second control parameter for a magnitude of a torque to be output by the wearable device based on the target exercise mode, operation860of determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and operation870of controlling the wearable device based on the torque value.

In a method1750illustrated with reference toFIG.17E, the at least one processor of the electronic device may perform operation810of determining a target exercise mode of a wearable device, operation820of determining a value of a first control parameter including a control parameter indicating an offset angle between joint angles of raw sensing data obtained from the wearable device based on the target exercise mode, operation830of generating sensing data based on the raw sensing data and the value of the first control parameter, operation840of generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data, operation850of determining a value of a second control parameter including a value of a control parameter for an output timing of a torque to be output by the wearable device and a value of a control parameter for a magnitude of the torque based on the target exercise mode, operation860of determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and operation870of controlling the wearable device based on the torque value.

In a method1760illustrated with reference toFIG.17F, the at least one processor of the electronic device may perform operation810of determining a target exercise mode of a wearable device, operation820of determining a value of a first control parameter including a control parameter for adjusting a sensitivity of raw sensing data obtained from the wearable device based on the target exercise mode, operation830of generating sensing data based on the raw sensing data and the value of the first control parameter, operation840of generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data, operation850of determining a value of a second control parameter including a value of a control parameter for an output timing of a torque to be output by the wearable device and a value of a control parameter for a magnitude of the torque based on the target exercise mode, operation860of determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and operation870of controlling the wearable device based on the torque value.

In a method1770illustrated with reference toFIG.17G, the at least one processor of the electronic device may perform operation810of determining a target exercise mode of a wearable device, operation820of determining a value of a first control parameter including a control parameter for adjusting a sensitivity of raw sensing data obtained from the wearable device and a control parameter indicating an offset angle between joint angles of the raw sensing data based on the target exercise mode, operation830of generating sensing data based on the raw sensing data and the value of the first control parameter, operation840of generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data, operation850of determining a value of a second control parameter including a value of a control parameter for a magnitude of a torque to be output by the wearable device based on the target exercise mode, operation860of determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and operation870of controlling the wearable device based on the torque value.

According to an example embodiment, an electronic device may include a communication module configured to exchange data with an external device, and at least one processor (including processing circuitry) configured to control the electronic device. The processor may determine a target exercise mode of a wearable device, determine a value of a first control parameter based on the target exercise mode, generate sensing data based on raw sensing data obtained from the wearable device and the value of the first control parameter, generate a target state factor corresponding to a target type of the target exercise mode based on the sensing data, determine a value of a second control parameter based on the target exercise mode, determine a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and control the wearable device based on the torque value.

According to an example embodiment, the target type of the target exercise mode may be any one of a step exercise type and a non-step exercise type.

According to an example embodiment, the determining of the target exercise mode of the wearable device may include determining the target exercise mode from among one or more exercise modes of an exercise program performed by the wearable device.

According to an example embodiment, the determining of the target exercise mode from among the exercise modes of the exercise program performed by the wearable device may include, when a previous exercise mode set in an order before an order of the target exercise mode among the exercise modes for which an execution order is set is performed, determining the target exercise mode in a next order.

According to an example embodiment, the first control parameter may include at least one of a parameter for adjusting sensitivity of the raw sensing data or a parameter indicating an offset angle between joint angles of the raw sensing data.

According to an example embodiment, the second control parameter may include at least one of a parameter for controlling an output timing of a torque output by the wearable device and a parameter for controlling a magnitude of the torque.

According to an example embodiment, the raw sensing data may include a first raw joint angle of a first leg and a second raw joint angle of a second leg that are generated by a sensor of the wearable device.

According to an example embodiment, the target exercise mode may be an exercise mode personalized for the user of the wearable device.

According to an example embodiment, the target exercise mode may be personalized by adjusting at least one of the value of the first control parameter or the value of the second control parameter for the target exercise mode.

According to an example embodiment, the processor may further receive information on one or more exercise modes including the target exercise mode from the user and generate an exercise program based on the exercise modes.

According to an example embodiment, the information on the exercise modes may include information on an execution time of the target exercise mode and information on an execution level of the target exercise mode.

According to an example embodiment, the processor may further generate feedback information on the execution of the target exercise mode based on the sensing data and output the feedback information.

According to an example embodiment, a force corresponding to the torque value may be output by the wearable device.

According to an example embodiment, a method of controlling a wearable device performed by an electronic device may include determining a target exercise mode of the wearable device, determining a value of a first control parameter based on the target exercise mode, generating sensing data based on raw sensing data obtained from the wearable device and the value of the first control parameter, generating a target state factor corresponding to a target type of the target exercise mode based on the sensing data, determining a value of a second control parameter based on the target exercise mode, determining a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and controlling the wearable device based on the torque value.

According to an example embodiment, the target type of the target exercise mode may be any one of a step exercise type and a non-step exercise type.

According to an example embodiment, the target exercise mode may be an exercise mode personalized for a user of the wearable device, and the target exercise mode may be personalized by adjusting at least one of the value of the first control parameter or the value of the second control parameter for the target exercise mode.

According to an example embodiment, the method of controlling the wearable device may further include receiving information on one or more exercise modes including the target exercise mode from the user and generating an exercise program based on the exercise modes.

According to an example embodiment, the information on the exercise modes may include information on an execution time of the target exercise mode and information on an execution level of the target exercise mode.

Each embodiment herein may be used in combination with any other embodiment(s) described herein.

According to an example embodiment, the method of controlling the wearable device may further include generating feedback information on the execution of the target exercise mode based on the sensing data and outputting the feedback information.

According to an example embodiment, an electronic device may include a communication module, including communication circuitry, configured to exchange data with an external device, and at least one processor configured to control the electronic device. The processor may receive information on one or more exercise modes from a user, generate an exercise program based on the exercise modes, determine a target exercise mode when the wearable device is controlled based on the exercise program, determine a value of a first control parameter based on the target exercise mode, generate sensing data based on raw sensing data of the wearable device and a value of the first control parameter, generate a target state factor corresponding to a target type of the target exercise mode based on the sensing data, determine a value of a second control parameter based on the target exercise mode, determine a torque value corresponding to the target type of the target exercise mode based on the target state factor and the value of the second control parameter, and control the wearable device based on the torque value. “Based on” as used herein covers based at least on.

The above-described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described examples, or vice versa. The term “software module” as used herein may include various processing circuitry and/or executable program instructions. The same applies to “software modules.”

Therefore, the scope of the disclosure is defined not by the detailed description, but by the claims and their equivalents, and all variations within the scope of the claims and their equivalents are to be construed as being included in the disclosure. While the disclosure has been illustrated and described with reference to various embodiments, it will be understood that the various embodiments are intended to be illustrative, not limiting. It will further be understood by those skilled in the art that various changes in form and detail may be made without departing from the true spirit and full scope of the disclosure, including the appended claims and their equivalents. It will also be understood that any of the embodiment(s) described herein may be used in conjunction with any other embodiment(s) described herein.