정리노트
[논문리뷰] Human-in-the-loop optimization of hip assistance witha soft exosuit during walking 본문
[논문리뷰] Human-in-the-loop optimization of hip assistance witha soft exosuit during walking
Krex_Kim 2022. 8. 25. 01:31
◆ Introduction
그동안 외골격 로봇에대한 수많은 연구가 있어왔지만, 적용에 어려움을 겪는 가장 큰 부분중 하나는 바로 'Personalization'에 대한 부분이다.
사람의 신체와 움직임의 특성은 개개인마다 천차만별이기 때문에, 특정 목적을 수행하는 제어가 이루어지더라도, 한가지의 고정된 Control Strategy로는 모든 사람들에게 Optimal한 제어를 제공할 수는 없다는 것이 여러 논문 결과를 통해 밝혀졌다.
가령, 사람이 걷는데 힘을 보조하는 외골격 로봇을 제어해야 한다고 했을때,
"정확히 어느타이밍에 어떤부위에 얼마만큼의 힘이 들어가도록 제어해야 가장 최적의 보조를 수행 하는가?"에 대해
모든사람에게 꼭 맞는 답을 내리기는 참 어려운 일이다.
사람마다 보행패턴이 모두 다르기 때문에, 누군가한테는 꼭 맞는 제어방식이 누군가한테는 안맞을 수 있다.
이런이유로
Exoskeleton Robot Control에서 Control Parameter에 대한 "Personalization" 연구가 수년간 이루어져 왔었다.
이 논문에서는 그동안의 연구를 크게 "Discrete Step"와 "Continous Sweep" 두가지 계열의 Optimization Protocol기법을 사용한 것으로 나누었다.
이는 로봇의 Control Parameter와 착용자의 Performance(대부분 Metabolic Cost에 대한 signal) 사이의 관계 파악을 "Continous"하게 진행하는지, 혹은 일정 텀을두고 "Discrete"하게 띄엄띄엄 진행하는지에 따라 구분한 것이라고 생각할수 있다.
논문에서는 그동안의 이런 "Personalized Walking Assistance"연구에서 극복하기 가장 어려운 부분으로 "Lengthy Evaluation Process"를 꼽았다.
Metabolic Cost를 의미있는 데이터가 되도록 Sampling하는데 걸리는 시간이 매우 오래걸림을 지적한 것이다.
Metabolic Cost 데이터자체가 Noisy할 수 밖에 없고, 변동폭이 심하기때문에 Optimization을 진행할 수 있을만큼 충분한 양의 데이터가 모이려면 시간이 오래걸리게된다.
* 논문은 한번 측정당 2분이 걸렸다.
이에대한 해결책으로 이 논문은 "Bayesian Optimization"을 활용한 Human In the Loop(HIL) Optimization 알고리즘을 꼽았다. Bayesian Optimization은 Limited Data, Noisy Performance Signal 환경에서 잘 작동하는 Optimization 기법이며,
다른 Optimization기법인 Gradient Descent 기법보다 2배더 빠르다고 한다.
* Bayesian Optimization에 대한 내용은 아래 블로그에 잘 정리되어었다
https://wooono.tistory.com/102
Bayesian Optimization은
Gaussian Process를 따라 가장 최적의 결과를 만들어내는 최적의 Optimal Paramter Setting을 Searching하는 알고리즘이다.
주로 머신러닝기법에서, Hyperparameter Tuning시에
Grid Search나 Random Search처럼 그냥 노가다해서 찾는게아니라 Gaussian Process라는 수학적 근거를 가지고
효과적으로 빠르게 Optimal한 Hyperparameter Set을 찾게하는 방법인데,
여기서는 Control Parameter Setting에대해 Search하는 용도로 이 Optimization이 사용되었다.
◆ Experimental method
전체 동작원리를 나타낸 그림이다.
- 실험순서
1, 실시간 Target Computer에서 적절한 Force Profile을 만들고, Exoskeleton로봇이 해당 프로파일을 따라 사용자에게 Assitive Force를 가한다.
2, 로봇 보조를 받아 사용자가 움직이고, 그에따라 Metabolic Cost가 100hz주기로 측정된다.
Metabolic Cost 정보는 'Low signal-to-Noise ratio'특성을 가지고 있기 때문에, (그냥 신호에 잡음이 심하다는 말)
1/120hz, 즉, 2분간의 Metabolic Rate를 측정해서 이 정보를 Parameter Optimization의 Target 값으로 사용한다.
3, 가장 최적의 결과값을 만들어내는 Parameter Optimization을 진행한다.
여기서 Optimization한 파라미터는 2개의 Conrol Parameter로, 모터 Force Profile의 Peak Timing과 Offset Timing이다.
Bayesian Optimization을 통해 Parameter Search를 'Iteratively' 진행해주면서 최적해를 찾아나가는 것이다.
- Force Profile
Assistive Profile, 즉 Force Profile은 4개의 파라미터에의해 정의되는데,
2개의 Fixed Parameters (Peak Force, Onset Timing)와
2개의 Free Parameters (Peak Timing, Offset Timing)이다.
=> 2개의 파라미터는 고정이고 2개의 파라미터는 Bayesian Optimization을 통해 최적값을 찾아준다는 의미이다.
Fixed Parameter에서
Onset Timing은 다리가 'maximum hip flexion' 되는 지점을 잡았는데,
그래프에서 이 지점이 0%인 이유는 Heel Strike를 0%로 잡는 기존 Gait Phase와 달리 'maximum hip flexion'지점을 기준삼아 새롭게 Gait Phase를 정의했기 때문이다.
(기존 Gait Phase 정의대로라면 이지점은 대략 86.2%지점이라고 한다.)
Peak Force의 경우 몸무게에 30% 만큼의 힘으로 정했다고 하는데, 이는 다른논문결과를 참조하여 정한 수치라고 한다.
이렇게 Fixed Parameter인 Onset Timing과 Peak Force를 정해주면,
Free Parameter, 우리가 Optimization해줘야하는 Parameter인
Peak Timing과 Offset Timing은 각각 15~40%, 30~55% 범위 Constraints를 가지게 된다.
◆ Results
- Metabolic Rate Reduction
Exoskeleton Robot을 착용했을때가 그렇지 않을때에 비해 17.4±3.2% 정도의 감소율을 보인다고 했다.
기존 다른 논문에서의 결과가 8~11% 언저리의 성능인데, 훨씬 더 좋은 성능을 보임을 알 수 있다.
- Optimization Convergence Time
Bayesian Optimization을 사용한 Parameter Search결과, Converge까지의 시간은 21.4 ± 1.0 분 정도의 시간을 보인다고 한다. 다른 비슷한 연구에서 Gradient Descent기법을 통한 Optimization의 경우 50분, 4D Covariance Matrix Adaptation Evolution Strategy를 활용한 경우(뭔지는 모른다만..) 83 ± 14 분 정도의 시간이 소요되는데에 반해 한참 빠른 성능을 보임을 알 수 있다.
- Optimal Timing
Bayesian Optimization에서 Converge되는 결과치가 대부분 Search area안에 놓여있음을 알 수 있다.
- Metabolic landscape and probability of improvement landscape
논문에서, 2D Parameter와 Metabolic Signal에 대한 3차원 Landscape을 Graphical하게 표현해두었는데,
이를 통해 개개인마다의 보행의 다양성을 알 수 있다. 개인마다 Optimal한 Peak Timing과 Offset Timing이 모두 다른 것이다.
논문에서는 한 사용자의 Posterior Landscape, 즉, 먼저 수집된 Landscape을 정보가 다른 사용자의 Optimization을 진행할 때 얼마나 도움을 줄 수 있는 지에 대해서도 연구했다는 내용이 나오는데,
결론은, 대개 한사람의 Optimal Point는 다른 사람의 Sub-Optimal Point와 비슷하거나 일치하다는 것이다.
◆ Discussion
1, parameter개수에 대해
결과에서, Optimal Timing을 보면 대부분 경계에 걸려있음을 알 수 있는데,
논문에서는 이같은 결과가 Parameter개수를 더 늘리면 Metabolic Cost를 더 많이 줄일 수 있을 것이라는 가능성을 암시한다고 한다. 적절한 Control 파라미터를 더 만들어주면, 개개인에 따른 Metabolic Cost감소를 훨씬더 잘 수행할 수 있을 것이라는 내용이다.
2, 파라미터 개수가 늘어나지 못했던 이유, "Lengthy Sampling Time"
두번째로 언급한 Discussion은 논문에서 파라미터 개수가 2개밖에 되지않는 결정적 이유이기도 한 Sampling Time길이문제이다. 그리고 Bayesian Optimization 기법은 사용가능한 모든 데이터를 사용해서 Metabolic cost와 acquisition function을 계산하는데, 보통 'human addaptation'효과로 인해 처음 데이터의 영향이 그리 크지 않을 수 있으므로, 'Data Forgetting'기법을 사용하면 더 나은 Bayesian Optimization기법이 될 수 있음을 제시하고 있다.