Method and apparatus for adjusting control parameter values of wearable device
Provided are a method and apparatus for adjusting a control parameter value in association with a torque output to provide a force to a user, which, when the user performs a test walk while wearing a wearable device, assesses suitability of the control parameter value used for outputting the torque based on the torque output through the test walk and state information of a joint of the user and adjusts the control parameter value such that the user feels convenience in walking, in order to adjust the control parameter value.
1 . A method of adjusting a control parameter value performed by a wearable device, the method comprising:
outputting a first torque value to a driver circuit configured to control the wearable device to apply a force to a portion of a body of a user while the user is wearing the wearable device, the first torque value being determined based on a first value of a control parameter, and the control parameter including at least one of magnitude information, output timing information, and sensitivity information;
obtaining a first angular velocity of a first joint in the body of the user in association with the output of the first torque value;
determining, based on the first angular velocity, a second value of the control parameter to change the first angular velocity of the first joint;
outputting a second torque value to the driver circuit, the second torque value being determined based on the second value of the control parameter;
obtaining a second angular velocity of the first joint in the body of the user in association with the output of the second torque value; and
determining a final value of the control parameter based on the second value of the control parameter,
wherein the determination of the final value is further based on a termination condition on optimization of the control parameter being satisfied after the second angular velocity is obtained, and
wherein the determining of the second value of the control parameter to change the first angular velocity of the first joint comprises:
re-determining the second value of the control parameter to change the first angular velocity of the first joint, based on the termination condition being not satisfied after the second angular velocity is obtained,
wherein the termination condition comprises at least one of whether a number of times of adjusting a value of the control parameter corresponds to a threshold number of adjustment, whether a number of strides of the user corresponds to a threshold number of strides, and a passage of time for adjusting the value of the control parameter corresponds to a threshold time, and
wherein the determining of the second value of the control parameter comprises:
calculating a first gait agility value representing gait agility of the user based on the first angular velocity of the first joint in the body of the user obtained in association with the output of the first torque value; and
determining the second value of the control parameter to change the gait agility of the user.
2 . The method of claim 1 , wherein the first gait agility value is calculated based on the first torque value and the first angular velocity.
3 . The method of claim 1 , wherein the calculating of the first gait agility value representing gait agility in association with the first torque value comprises:
obtaining the first angular velocity of the first joint at a first time at which the first torque value is output;
determining a first power value generated from the first joint based on the first angular velocity; and
calculating the first gait agility value based on the first torque value and the first power value.
4 . The method of claim 1 , wherein the determining of the second value of the control parameter to change the gait agility of the user comprises:
determining the second value of the control parameter to increase the gait agility of the user based on the first gait agility value.
5 . The method of claim 1 , wherein the first value of the control parameter comprises a first gain value and a first delay value.
6 . The method of claim 3 , wherein the determining of the first power value based on the first angular velocity comprises:
determining the first power value based on the first angular velocity and the first torque value.
7 . The method of claim 3 , wherein the calculating of the first gait agility value based on the first torque value and the first power value comprises:
calculating a first root mean square (RMS) torque value based on the first torque value;
calculating a first mean power value based on the first power value; and
calculating the first gait agility value based on the first RMS torque value and the first mean power value.
8 . The method of claim 7 , wherein the calculating of the first mean power value based on the first power value comprises:
calculating the first mean power value based on the first power value and a second power value related to a second time subsequent to the first time.
9 . The method of claim 1 , wherein the outputting of the first torque value comprises:
obtaining previous state information of the portion of the body of the user while the user is wearing the wearable device at a previous time;
determining a previous state factor based on the previous state information; and
outputting the first torque value based on the previous state factor and the first value of the control parameter.
10 . A non-transitory computer-readable storage medium storing a program that causes a processor to perform the method of claim 1 .
11 . A wearable device comprising:
a processor configured to control the wearable device;
at least one sensor configured to measure a joint angle in a body of a user;
a motor driver circuit configured to be controlled by the processor;
a motor electrically connected to the motor driver circuit; and
a support frame configured to transmit a torque output by the motor to a portion of the body of the user;
wherein the processor is configured to:
output a first torque value to the motor driver circuit to control the motor to apply a force to the portion of the body of the user through the support frame while the user is wearing the wearable device, the first torque value being determined based on a first value of a control parameter, and the control parameter including at least one of magnitude information, output timing information, and sensitivity information;
obtain a first angular velocity of a first joint in the body of the user in association with the output of the first torque value;
determine, based on the first angular velocity, a second value of the control parameter to change the first angular velocity of the first joint;
output a second torque value to the motor driver circuit, the second torque value being determined based on the second value of the control parameter;
obtain a second angular velocity of the first joint in the body of the user in association with the output of the second torque value;
determine a final value of the control parameter based on the second value of the control parameter, wherein the determination of the final value is further based on a termination condition on optimization of the control parameter being satisfied after the second angular velocity is obtained; and
re-determine the second value of the control parameter to change the first angular velocity of the first joint based on the termination condition being not satisfied after the second angular velocity is obtained,
wherein the termination condition comprises at least one of whether a number of times of adjusting a value of the control parameter corresponds to a threshold number of adjustment, whether a number of strides of the user corresponds to a threshold number of strides, and a passage of time for adjusting the value of the control parameter corresponds to a threshold time, and
wherein the processor is further configured to:
calculate a first gait agility value representing gait agility of the user based on the first angular velocity of the first joint in the body of the user obtained in association with the output of the first torque value; and
determine the second value of the control parameter to change the gait agility of the user.
12 . The wearable device of claim 11 , wherein the processor is configured to:
obtain the first angular velocity of the first joint from a first time at which the first torque value is output through the sensor;
determine a first power value generated from the first joint based on the first angular velocity; and
calculate the first gait agility value based on the first torque value and the first power value.
13 . The wearable device of claim 11 , wherein the processor is configured to:
determine the second value of the control parameter to change the gait agility of the user based on the first gait agility value.
14 . The wearable device of claim 11 , wherein the first value of the control parameter comprises a first gain value and a first delay value.
15 . The wearable device of claim 12 , wherein the processor is configured to:
determine the first power value based on the first angular velocity and the first torque value.
16 . The wearable device of claim 12 , wherein the processor is configured to:
calculate a first root mean square (RMS) torque value based on the first torque value;
calculate a first mean power value based on the first power value; and
calculate the first gait agility value based on the first RMS torque value and the first mean power value.
17 . The wearable device of claim 16 , wherein the processor is configured to:
calculate the first mean power value based on the first power value and a second power value related to a second time subsequent to the first time.
18 . A wearable device comprising:
a memory storing one or more instructions; and
a processor configured to execute the one or more instructions to:
output a first torque value to a driver circuit configured to control the wearable device to apply a force to at least a portion of a body of a user while the user is wearing the wearable device, the first torque value being determined based on a first value of a control parameter;
obtain a first angular velocity of a first joint in the body of the user in association with the output of the first torque value;
determine, based on the first angular velocity, a second value of the control parameter to change the first angular velocity of the first joint;
output a second torque value to the driver circuit, the second torque value being determined based on the second value of the control parameter;
obtain a second angular velocity of the first joint in the body of the user in association with the output of the second torque value; and
determine a final value of the control parameter based on the second value of the control parameter, wherein the determination of the final value is further based on a termination condition on optimization of the control parameter being satisfied after the second angular velocity is obtained,
wherein the processor is further configured to:
calculate a first gait agility value representing gait agility of the user based on the first angular velocity of the first joint in the body of the user obtained in association with the output of the first torque value; and
determine the second value of the control parameter to change the gait agility of the user.