๐Robust Recovery Controller
์ด๋ฒ ํฌ์คํธ๋ 4์กฑ๋ณดํ ๋ก๋ด์ด ์ ๋ณต๋์์ ๋ ๋ค์ ์ ์์ ์ผ๋ก ๋ณดํํ๊ธฐ ์ํด ์์ธ๋ฅผ ํ๋ณตํ๋ ๋ชจ์
์ ์ด(์ดํ Recovery ํน์ Reset task๋ผ๊ณ ์ง์นญ)์ ๊ฐํํ์ต ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ๊ณ ์ํ Robust Recovery Controller for a Quadrupedal Robot using Deep Reinforcement Learning
๋ผ๋ ๋
ผ๋ฌธ์ ๋ํ ๋ฆฌ๋ทฐ์
๋๋ค.
Abstract
The ability to recover from a fall is an essential feature for a legged robot to navigate in challenging environments robustly. Until today, there has been very little progress on this topic. Current solutions mostly build upon (heuristically) predefined trajectories, resulting in unnatural behaviors and requiring considerable effort in engineering system-specific components. In this paper, we present an approach based on
model-free
Deep Reinforcement Learning (RL) to control recovery maneuvers of quadrupedal robots using a hierarchical behavior-based controller. The controller consists offour neural network policies
includingthree behaviors
andone behavior selector
to coordinate them. Each of them is trained individually in simulation and deployed directly on a real system. We experimentally validate our approach on the quadrupedal robotANYmal
, which is a dog-sized quadrupedal system with 12 degrees of freedom. With our method, ANYmal manifests dynamic and reactive recovery behaviors to recover from an arbitrary fall configuration withinless than 5 seconds
. We tested the recovery maneuver more than 100 times, and the success rate washigher than 97 %
.
์์ฝ
- Model-free ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ด์ฉ
- ์ด 4๊ฐ์ Neural Network๋ฅผ ํ์ฉํ Policy๋ค์ ์ค๊ณํจ (์ค์ ๋ก ์ ์ฒด control system์ ์ฐ์ธ NN์ 6๊ฐ- Height Estimator, Actuator Network ์ถ๊ฐ)
- ETH์์ ๊ฐ๋ฐํ 4์กฑ๋ณดํ ๋ก๋ด์ธ ANYmal ํ๋ซํผ์ ์ฌ์ฉ
- 5์ด ์ด๋ด์ ์ ๋ณตํ๋ณต์ ์ฝ 97 ํผ์ผํธ์ ์ฑ๊ณต๋ฅ ๋ก ์ํ
Problem Statement
MPC vs RL
์ ์ด(Control) ๋ถ์ผ์์ ํ์ฌ ํฌ๊ฒ ์๋ ๋ฐฉ๋ฒ๋ก ์ผ๋ก MPC(Model Predictive Control)๊ณผ RL(Reinforcement Learning) ๋ฐฉ๋ฒ๋ก ์ด ์ฃผ๋ชฉ์ ๋ฐ๊ณ ์์ต๋๋ค. ์ด๋ถ๋ฒ์ ์ผ๋ก ๋ ๋ฐฉ๋ฒ์ด ํ์ฐํ๊ฒ ๋๋์ด์ง๊ฑฐ๋ ์ฐ์ด์ด ๊ฐ๋ ค์ง๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ๋ ๋ฐฉ๋ฒ๋ก ๊ฐ์ ๊ณตํต์ , ์ฐจ์ด์ ๋ฑ์ ์ดํด๋ณด๋ฉฐ ์์ํด๋ณด๋ ค๊ณ ํฉ๋๋ค.
์๋ ๊ทธ๋ฆผ์ Optimal Control(์ต์ ์ ์ด)
, Operations Research(๊ฒฝ์๊ณผํ)
, Reinforcement Learning(๊ฐํํ์ต)
์ ๊ฐ๊ฐ ํ๋์ ์งํฉ์ผ๋ก ํ์ํ๊ณ ๊ฐ ๊ด๊ณ๋ฅผ ์ดํด๋ณด๋ฉด ๊ธฐ์กด์ ์ ์ด ๋ฐฉ์์ ๋ฐ์ ํ๋ฆ์ ์ด์ด์จ MPC๋ Optimal Control
์ ํฌํจ๋์ด ์๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค. Operations Research
์ ์ข ๋ ๋์ ๋ฒ์์ ์์ฌ ๊ฒฐ์ ๋ชจ๋ธ๋ค์ ์ฐ๊ตฌํ๋ ๋ถ์ผ๋ก ์ฃผ๋ก ์ฐ์
๊ณตํ์์ ๋ฐฐ์ฐ๋ ๋ถ๋ถ์ด๋ฉฐ ์์ฌ๊ฒฐ์ ์ ๋์์ ๋ฐ๊ธฐ์ํด ์ํ์ ๋ชจ๋ธ, ํต๊ณํ, ์๊ณ ๋ฆฌ์ฆ๋ค์ ์ด์ฉํ๋ ์ฐ๊ตฌ๋ถ์ผ ์
๋๋ค. ๋ฐ๋ผ์ Optimal Control
, Operations Research
์ ์ค๋์ ์ฃผ์ ๋ฐฉ๋ฒ๋ก ์ธ Reinforcement Learning
๊ณผ์ ๊ด๊ณ๋ฅผ ์ดํด๋ณด์๋ฉด ์ํ์ ๋ชจ๋ธ๋ง์ ๊ธฐ๋ฐ์ผ๋ก ํ Model-based Methods๊ฐ Optimal Control
๊ณผ Reinforcement Learning
์ ๊ต์งํฉ ๋ถ๋ถ์ผ๋ก ๋ณผ ์ ์๊ณ ์ต๊ทผ ๊ฐํํ์ต ์ฐ๊ตฌ๋ค๋ Model-based RL์ผ๋ก ์ฐ๊ตฌ๋ค์ด ๋ง์ด ์ด๋ฃจ์ด์ง๊ณ ์์ต๋๋ค. Operations Research
์ Reinforcement Learning
์ ๊ต์งํฉ์ผ๋ก๋ Large action-space Method๋ก ๋ณผ ์ ์๋๋ฐ, ๊ธฐ์กด์ ์ํ๋ฆฌ ๊ฒ์๊ณผ ๊ฐ์ด ๊ฐ๋จํ ๋ฐฉํฅ ์กฐ์ํค์ ๊ฐ์ action์ ์ ํ์ง๊ฐ ์ ์ ๊ฒฝ์ฐ์ ๋นํด ์์ฌ๊ฒฐ์ ์ ๋ด๋ ค์ผํ๋ ์ํฉ์ด ๋ณต์กํ ์๋ก ์ฆ, ๋ฌธ์ ๊ฐ ๋ ์ด๋ ต๊ณ ๋ณต์กํ ์๋ก action์ ์ ํ์ง๊ฐ ๋ง์์ง๊ธฐ ๋๋ฌธ์ action space๊ฐ ๋ ์ปค์ง๋ ๋ฐฉํฅ์ผ๋ก ์ฐ๊ตฌ๊ฐ ๋ง์ด ์ด๋ฃจ์ด์ง๊ณ ์๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
๊ทธ๋ผ ์ข ๋ ์์ธํ MPC๊ณผ RL์ ๋น๊ตํด๋ณด๋ฉด, MPC๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ง์น ์ด๋ ์์์ ์์ ๋ฑ์ ํค๊ณ ๋น์ ๋ฐ๋ผ ํ๋์ ๊ธธ์ ๋ณด๋ฏ์ด, ํ๋์ ์ต์ ์ trajectory๋ฅผ ์ฐพ์ ๊ทธ trajectory์ 1 step์ ์คํ์ํต๋๋ค. ์ํ์ ์ผ๋ก ๋ชจ๋ธ๋งํ ์ต์ ์์ ํด๋ฅผ ๊ตฌํด์ ๊ณ์ฐ๊ณผ ์คํ์ ๋ฐ๋ณตํ๋ฉฐ ์ ์ด๋ฅผ ํ๋ ๊ฒ ์ ๋๋ค. ๋ฐ๋ฉด RL์ search space๋ฅผ MDP(Markov Decision Process)๋ฅผ ์ด์ฉํ์ฌ ์ ์ํ๊ณ ํ์ต์ ํ๋ฉฐ ์์ t์์์ ์ต์ ์ action์ ํ ์ ์๋๋ก ํฉ๋๋ค. ๋๊ฐ์ง ๋ฐฉ๋ฒ ๋ชจ๋ Advanced ์ํฌ ๋ถ๋ถ์ด ๋ง์ด ๋จ์์๊ณ MPC๋ non-linear ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๊ณ ์์ผ๋ฉฐ RL์ value-based๋ policy-based ๊ธฐ๋ฐ์ ๋ฐฉ๋ฒ๋ค๊ณผ ํจ๊ป ์ต๊ทผ์๋ ์ธ๊ณต์ ๊ฒฝ๋ง์ gradient๊ธฐ๋ฒ์ ์ด์ฉํ์ฌ ๋ฐ์ ํด๋๊ฐ๊ณ ์์ต๋๋ค. MPC์ RL์ ๋น๊ต๋ ์ต๊ทผ ICRA์ ๊ฐ์ ๋ก๋ด ์ ์ด ๊ด๋ จ ํํ๋ค์์๋ ๊ด์ฌ์ด ๋ง์ ์ฃผ์ ์ด๋ฉฐ Michiel van de Panne (UBC) ๊ต์๋์ ๋ฐํ์์ ์ข ๋ ์์ธํ ํ์ธํ์ค ์ ์์ต๋๋ค.
Locomotion VS Recovery
์ด๋ฐ ๊ฐํํ์ต ๋ฐฉ๋ฒ๋ก ์ผ๋ก 4์กฑ๋ณดํ์ Recovery Task๋ฅผ ํ๊ธฐ ์ํด์๋ Recovery task์ ๋ํ ํน์ฑ์ ์ข ๋ ์ดํด๋ณผ ํ์๊ฐ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์กฑํ(Legged) ๋ก๋ด๋ค์ ์์ ์ ์ธ ๋ณดํ(Locomotion)์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ๊ฐ์ง task๋ฅผ ํ๋๋ฐ์ ์ด์ ์ด ๋ง์ถฐ์ ธ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ณดํ๋ก๋ด์ ์์ Manipulator๋ฅผ ๋ฌ์์ ์ํ๋ ์์น๋ก ๋ณดํ์ ํ ๋ค Manipulator๋ก ์ปต์ ์ง๋ ์ผ๊ณผ ๊ฐ์ task๋ฅผ ์ํํ๋ ๊ฒ์
๋๋ค. ํ์ง๋ง 4์กฑ๋ณดํ ๋ก๋ด์ ์ฌ์ฉํ๊ธฐ ์ํด ์ ์ ๋ ์์ ์ ์ธ ๋ณดํ
์ด ์ค์ ๋ก ๋ก๋ด์ด ์ด์ฉ๋๋ ํ๊ฒฝ์์๋ ์ฌ๋ฌ๊ฐ์ง ์์ธกํ ์ ์๋ ๋ณ์๋ค๋ก ์ธํด ๋ง์กฑ๋ ์ ์๋ ์กฐ๊ฑด์ผ ์ ์์ผ๋ฉฐ ๋ฐ๋ผ์ ๋ก๋ด์ด ๋์ด์ง ์ ๋ฐ์ ์๋ค๋ฉด ๋ค์ ๋ณดํ์ ํ ์ ์๋ ์ ์์ ์ธ ์ํ๋ก ๋์์ค๊ธฐ ์ํ ๋ฅ๋ ฅ๋ ๊ฐ์ถ๊ณ ์์ด์ผ ํฉ๋๋ค. ๋ฐ๋ก ์ด๋ฅผ ์ํ ๋ก๋ด์ ๊ธฐ๋ฅ์ Recovery๋ผ๊ณ ํ ์ ์๊ณ Recovery๋ฅผ Locomotion task์ ๋น๊ตํ์ฌ ํน์ง ๋ช๊ฐ์ง๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์ฐ์ Recovery๋ ์์ ์ด์ผ๊ธฐํ ๊ฒ๊ณผ ๊ฐ์ด Locomotion์ด ๋ฉ์ธ์ด ๋๋ task์ธ๋ฐ ๋ฐํด, ๋ก๋ด์ ์ด์ฉ life cycle์ ์ํ support task๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๋ก๋ด์ด ์ ์ฉ๋๋ ํ์ฅ์์ ๋ฉ์ธ task๋ค์ ๋์์์ด ์ํํ๊ธฐ ์ํด ํ๋ฆ์ ์ ์ง์์ผ์ฃผ๋ ์ฅ์น๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค. ๋ค์์ผ๋ก Locomotion์ ๋ณดํ์ ํ ๋ ๋ก๋ด ๋ค๋ฆฌ์ ์์ง์์ด ์ฃผ๊ธฐ(period)๋ฅผ ๊ฐ์ง๋ Cyclicํ ๋ชจ์ ์ ํ๋ ๊ฒ์ ๋ฐํด Recovery๋ ๋์ด์ง(Fall) ์์ธ๋ก๋ถํฐ ๋ค์ ๊ฑธ์ ์ ์๋ ์์๋(Stand) ์์ธ๋ก ๊ฐ๊ธฐ ์ํ ๋ชจ์ ์ ์ทจํด์ผ ํ๊ธฐ ๋๋ฌธ์ Non-cyclicํ๊ณ case-by-case๋ก ๋ค์ํ ํ๋ณต ๋ชจ์ ๋ค์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ Locomotion์ ํ๊ฒฝ์ ๋ฐ๋ผ(์ง๋ฉด์ ๋ง์ฐฐ๋ ฅ์ด๋ ์ธ๋ ฅ ๋ฑ) ๋ณดํ์ ๋์ด๋๊ฐ ๋ฌ๋ผ์ง๊ธด ํ์ง๋ง ๋ก๋ด์ joint์ ๋์ ๋ฒ์, ์ฆ action์ search space๋ก ์๊ฐํ์ ๋ Recovery์ ๋นํด ์ข ๋ ์ข์ search space๋ฅผ ๊ฐ์ง๊ณ ์๋ค๊ณ ํ ์ ์์ต๋๋ค. ๋ง์ง๋ง์ผ๋ก Locomotion์ ์ํํ ๋ ์ฐธ๊ณ ํ ์ ์๋ ๋๋ฌผ์ด๋ ์ฌ๋์ ๋ชจ์ ๋ฐ์ดํฐ๋ค์ด ์์ง๋ง Recovery ๊ฐ์ ๊ฒฝ์ฐ ์ฐธ๊ณ ํ ์ ์๋ ๋ชจ์ ๋ฐ์ดํฐ๋ค์ด ๋ง์ด ์๊ณ ์ผ์ด๋๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ฉ๋ด์ผ ๊ฐ์ด ๊ฐ๊ฐ์ ๋จ๊ณ๋ฅผ ๋ช ์ํ๊ธฐ ๊น๋ค๋กญ๋ค๋ ์ ์ด ์์ต๋๋ค.
Method
Overview
๋ ผ๋ฌธ์์ ์ ์ํ ์ ์ฒด์ ์ธ Control System์ ๋ชจ์ต์ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ต๋๋ค. ๊ฐํํ์ต ์๊ณ ๋ฆฌ์ฆ์ผ๋ก๋ TRPO(Trust Region Policy Optimization algorithm)์ GAE(Generalized Advantage Estimator)๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ ์ ์๋ ๋ฐฉ๋ฒ์์๋ ํฌ๊ฒ 3๊ฐ์ง ํน์ง๋ค์ด ์์ต๋๋ค.
Control Task Decomposed : Recoveryํ๋ task๋ฅผ 3๊ฐ๋ก Behavior๋ค๋ก ๋๋์ด์ ๊ฐ๊ฐ์ Behavior๋ฅผ ์ํํ๋ Control Policy๋ฅผ ํ์ต
Hierarchical Structure : ์ฌ๋ฌ๊ฐ์ Behavior policies๋ฅผ ์กฐ์จํ ์ ์๋ ์์๊ณ์ธต์ Behavior Selector๋ฅผ ๋ง๋ค์ด์ ๊ณ์ธต์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉ
Height Estimator : ๋ก๋ด์ ์ค์ ์ด์ฉํ ๋ ํ์ํ ์ํ ์ ๋ณด์ธ Height ๊ฐ์ ๋ถ์ ํํ ์ ๋ณด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด Neural Network ์ฌ์ฉ(Regression model)
Behavior Policies
Recovery task๋ฅผ ์ฌ๋ฌ๊ฐ์ Behavior๋ค๋ก ๋๋์ด์ ์ด 3๊ฐ์ ๊ฐ๊ฐ์ task, Self-Righting, Standing up, Locomotion๊ฐ ์๊ณ ๊ฐ behavior์ ๋ด๋นํ๋ policy๊ฐ ์์ต๋๋ค.
Self-Righting์ ์์์ ๋ก๋ด์ ๋์ด์ง ์์ธ์์ ๋ก๋ด์ ๋ชธ์ฒด(base)๊ฐ ๋๋ฐ๋ก(๋ค์ง์ด์ ธ ์๊ฑฐ๋ ์์ผ๋ก ๋์๊ฐ ์์ง ์์ ์ํ) ๋์ด ์๊ณ 4๊ฐ์ ๋ฐ์ด ์ง๋ฉด์ ๋ฟ์ ์๋ ์์ธ๋ก ์์ง์ด๋ ๊ฒ์ ๋งํฉ๋๋ค. Standing up์ Self-righting
์์ ๋ง๋ ์์ธ์์ 4๊ฐ์ ๋ค๋ฆฌ๋ค์ ์ด์ฉํ์ฌ ์ผ์ด์ ์์ธ๋ก ๋ง๋๋ ๊ฒ์ ๋งํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก Locmotion์ Controller์์ ์ฃผ๋ command๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ณดํ์ ํ๋ ๊ฒ์ ๋งํ๋ฉฐ ์ด๋ command๋ก๋ forward velocity
, lateral velocity
, turing rate(yaw ๋ฐฉํฅ)
์ ์ฃผ์ด ์์ง์ด๊ฒ ๋ฉ๋๋ค.
(1)Self-righting behavior
Self-righting์ ํ์ตํ๊ธฐ ์ํด policy์ ๋ค์ด๊ฐ๋ data(state ์ ๋ณด)๋ก๋ ์๋์ ํ์์ ๋ณผ ์ ์๋ฏ์ด ์ด 6๊ฐ์ data๊ฐ ์์ต๋๋ค. ๊ทธ ์ค e_g๋ ๋ชธ์ฒด base์ z ๋ฐฉํฅ์ผ๋ก์ ๋จ์ ๋ฒกํฐ๋ก ๋ชธ์ฒด์ upright๋ฅผ ํ๋จํ๊ธฐ ์ํ ์ ๋ณด๋ก ๋ณผ ์ ์์ต๋๋ค.
๋ณดํต ๊ฐํํ์ต์์๋ reward๋ฅผ ์ต๋ํ ํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต(์ต์ ํ)์ด ์ผ์ด๋์ง๋ง reward์ ๋ฐ๋ ๊ฐ๋ ์ธ cost์ ๊ฐ์ด ์ต์ํํ๋ ๋ฐฉํฅ์ผ๋ก ํ์ต์ ์์ผฐ์ต๋๋ค. ์๋์ ์์ฒ๋ผ ์ฌ๋ฌ๊ฐ์ cost term๋ค์ด ์์ง๋ง ๊ทธ ์ค self-righting์์ ํน์ง์ ์ธ cost term์ orientation cost term ์ ๋๋ค. ์ด cost term์ c_o=\left\|[0,0,-1]^T-e_g\right\|๋ก ๊ณ์ฐ๋๋๋ฐ ์ด๋ ์์์ ์ค๋ช ํ ๋๋ก policy network๊ฐ ๋ก๋ด ๋ชธ์ฒด์ base์ ๋ฐฉํฅ์ uprighting ํ๋๋ก ํ์ต๋๊ฒ ํ๊ธฐ ์ํ term์ด๋ผ๊ณ ๋ณผ ์ ์์ต๋๋ค.
(2)Standing up behavior
Standing up์ ์ด์ ์ Self-righting์ state ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ๋ํ์ฌ Base linear velocity
์ ๋ณด๊น์ง ํฌํจํ์ฌ policy์ input์ผ๋ก ๋ค์ด๊ฐ๊ฒ ๋ฉ๋๋ค. Self-righting๊ณผ Standing up policy ๊ฐ์ state ์ ๋ณด ํฌํจ ๊ด๊ณ ๋ฟ๋ง ์๋๋ผ ์ดํ ์๊ฐํ Locomotion policy, Behavor Selector์ state ์ ๋ณด์ ์งํฉ๊ด๊ณ๋ฅผ ๋ณด๋ฉด ๋ค๋ฅธ policy์ ๋ค์ด๊ฐ๋ ์ ๋ณด๋ฅผ ํฌํจํ๊ณ ์ถ๊ฐ์ ์ธ data๋ฅผ ๋ํ์ฌ์ Self-righting
โ Standing up
โ Locomotion
โ Behavior Selector
์์ผ๋ก state space๊ฐ ์ ์ ๋ ์ปค์ ธ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
Staning up behavior policy๊ฐ ํ์ตํด์ผํ cost ์ต์ํ ์์ ์๋์ ๊ฐ์ด ์ฌ๋ฌ cost term๋ค์ด ์์ง๋ง ๊ทธ์ค height cost term์ด ํน์ง์ ์ธ cost๋ผ๊ณ ๋ณผ ์ ์์ผ๋ฉฐ ANYmal ๋ก๋ด์ด ์์์ ๋์ ์ง๋ฉด์ผ๋ก๋ถํฐ ๋ชธ์ฒด(base frame)๊น์ง์ ๊ฑฐ๋ฆฌ, height์ด 0.35m๋ณด๋ค ์์์์๋ 1, ์๋๋ฉด 0์ผ๋ก ๊ณ์ฐํฉ๋๋ค.
(3)Locomotion behavior
Locomotion task policy์๋ input์ผ๋ก command๊น์ง ๋ค์ด๊ฐ๊ฒ ๋๋ฉด์ cost์์๋ command๋ฅผ ์ ์ํํ๋์ง ํ๋จํ๋๋ก ํ๋ angular velocity, linear velocity, foot clearance, foot slippage cost๊ฐ ๋ค์ด๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ง๊ธ๊น์ง policy network๋ค์ input์ objective(=cost ์ต์ํ)์ ๋ํด์ ์ด์ผ๊ธฐ ํ์ง๋ง ๊ฒฐ๊ณผ์ ์ผ๋ก network๊ฐ ์ด๋ค ๊ฐ๋ค์ output ํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ๊ทธ output์ผ๋ก ์ด๋ป๊ฒ ๋ก๋ด์ ์์ง์ด๋์ง์ ๋ํด์๋ ์์ง ์ค๋ช ํ์ง ์์์ต๋๋ค. ๋ก๋ด์ ์์ง์ด๊ธฐ ์ํด์๋ timestep๋ง๋ค ๋ก๋ด์ ๊ฐ ๋ชจํฐ๊ฐ ์์ง์ฌ์ผ ํ๋ desired joint position์ ๊ตฌํด์ ํด๋น position์ผ๋ก ๋ชจํฐ๋ฅผ ๋๋ ค์ฃผ๋ฉด ๋ฉ๋๋ค.
๊ฐ Behavior policy์์ ๋์ค๋ output์ o_t์ด๋ฉฐ ์ด๋ ๋ก๋ด์ ๊ตฌ๋์ํค๋ 12๊ฐ์ joint motor์ ๋์
ํ๋ ์ค์ ๋ฒกํฐ์
๋๋ค. ๋์
์ด๋ผ๊ณ ํํํ ์ด์ ๋ ํด๋น ์ค์๊ฐ์ ๋ฐ๋ก joint์ desired position์ผ๋ก ์ฌ์ฉํ๋ ๊ฒ์ด ์๋๋ผ ์ข ๋ ๋น ๋ฅธ ํ์ต ์๋ ด์ ์ํด desired joint position์ ๊ตฌํ๋ ์์ ๊ฑฐ์ณ ๊ณ์ฐ๋ ๊ฐ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์
๋๋ค. ์ฐ์ Self-righting
๊ณผ Standing up
task์์๋ ๋คํธ์ํฌ์์ ๋์จ ๊ฐ o_t๋ฅผ ํ์ฌ ๊ฐ ๋ชจํฐ์ position์ธ \phi_t์ ๋ํด์ฃผ์ด์ ์ต์ข
desired joint position์ธ \phi_d ๊ฐ์ผ๋ก ์ ์ดํฉ๋๋ค. Locomotion
์์๋ ํ์ฌ์ joint position ๋์ , ๋ก๋ด์ด ์์๋ ์์ธ์ธ nominal joint configuration \phi_n์ o_t์ ๋ํด์ฃผ์ด ์ต์ข
desired joint position์ธ \phi_d์ ์ฌ์ฉํฉ๋๋ค.(o_t์ ๊ณฑํด์ง๋ k๋ ํ์ดํผํ๋ผ๋ฏธํฐ์ฒ๋ผ ์ฐพ์์ผ ํ๋ ์์๊ฐ์
๋๋ค.)
Height Estimator
data-driven RL์์ policy์ ๋ค์ด๊ฐ๋ data์ quality๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ฐ๋ผ์ ์ค์ ์๋ํ๋ ๋ก๋ด์ state๋ฅผ ์ถ์ ํ๋ State estimation ๋ํ ๋ก๋ด์ RL์ ์ ์ฉํ๊ธฐ ์ํด์ ๋๋ ์ผ ๋์ ์๋ ์ค์ํ ๋ถ๋ถ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ๋ก๋ด์ ๋ชจ์ ์บก์ณ์ ๊ฐ์ ์ผ์๋ฅผ ๋ถ์ฐฉํ์ง ์๋ํ ์ค์ ๋ก๋ด์ base height๊ฐ์ ์ ์ ์ ์๊ณ ๋ก๋ด์ด ์ ์์ ์ผ๋ก ๋ณดํํ ๋๋ TSIF(Two State Implicit Filter)์ ๊ฐ์ State Estimation ๊ธฐ๋ฒ์ ํตํด ์ด๋์ ๋ ์ถ์ ํ ์ ์์ง๋ง ๋์ด์ ธ์ base๊ฐ ๊ฑฐ์ ๋ฐ๋ฅ๊ณผ ๊ฐ๊น์ธ ๊ฒฝ์ฐ ์ถ์ ๊ฐ์ด ๋งค์ฐ ๋ถ์์ ํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํด๋น ๋ ผ๋ฌธ์์๋ Regression Neural Network๋ฅผ ํตํด height๋ฅผ ๋์ด์ง ์ํ์์๋ ์ ์ถ์ ํ ์ ์๋๋ก ํ์ต๋๋ค.
Height Estimator Network๊ฐ input์ผ๋ก ๋ฐ๋ data๋ ์๋์ ํ์ ๊ฐ์ต๋๋ค. Output์ผ๋ก๋ body์ IMU ๊ฐ๊ณผ 12๊ฐ joint๋ค์ position์ ์ถ๋ ฅํ์ฌ ํด๋น ๊ฐ๋ค์ ๊ฐ์ง๊ณ forward kinematics๋ฅผ ์ด์ฉํ์ฌ ๊ตฌํ height ๊ฐ์ ๋คํธ์ํฌ์์ ์ถ์ ํ ๊ฐ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ด ์ ๊ฒฝ๋ง์ ๊ฐํํ์ต์ผ๋ก ํ์ต์ ํ๋ ๊ฒ์ด ์๋๋ผ ์ง๋ํ์ต ๋ฐฉ๋ฒ์ผ๋ก true ๊ฐ์ ๋ง์ถฐ๊ฐ๋ ๊ณผ์ ์ ํตํด ํ์ตํ๊ฒ ๋๋๋ฐ ์ด๋ true data๋ ์๋ฎฌ๋ ์ด์ ์์์๋ ์ฝ๊ฒ ๊ตฌํ ์ ์๊ณ Regression model์ loss ๊ฐ์ \sum_{j=0}^K\left\|h_j-h_\psi\left(s_j\right)\right\|^2์ผ๋ก ๊ณ์ฐ๋ฉ๋๋ค. (j: joint index, s_j: joint state, \psi: network parameter)
Behavior Selector
์ฌ๋ฌ๊ฐ์ behavior policy๋ค์ ์ด๋ป๊ฒ ์กฐ์จํ ๊ฒ์ธ์ง๋ ์์ ๊ณ์ธต์ Behavior Selector๋ฅผ NN์ ์ด์ฉํ์ฌ ๋ง๋ค์ด์ ํ์ต์ํต๋๋ค.
๋ก๋ด์ ์ํฉ์ ๋ง์ถ์ด์ ์ ์ ํ behavoir๋ฅผ ํ๋๋ก behavior selector๋ categorical distribution์ ํ์ตํ๊ฒ ๋ฉ๋๋ค. Behavior selector์ ์์ ์ค๋ช ํ Height estimator๋ 3๊ฐ์ behavior policy๋ค์ด ๋ค ํ์ต์ด ๋ ํ์ ์๋ ๊ทธ๋ฆผ์ ์ค๋ฅธ์ชฝ์ ๋ณด์ด๋ Algorithm1์ ํ๋ฆ์ ๋ฐ๋ผ ํ์ต๋๊ฒ ๋ฉ๋๋ค. Behavior selelctor์ state ๋cost๋ locomotion๊ณผ ๋งค์ฐ ์ ์ฌํ๊ณ ํด๋น ํฌ์คํธ์ appendix์ ํ๋ก ์ ๋ฆฌ๋์ด ์์ผ๋ฉฐ cost์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ชจํฐ์ power efficiency๋ฅผ ์ํ term ์ ๋ ์ถ๊ฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ํด๋น cost ์์ด ๊ถ๊ธํ์ ๋ถ์ ์๋ฌธ ๋ ผ๋ฌธ์์ ํ์ธํ์ค ์ ์์ต๋๋ค.
Simulating ANYmal
๋ก๋ด์ ๊ฐํํ์ต์ ์ ์ฉํ ๋ ํฐ ์ด์๋ค ์ค ํ๋๋ Sim-to-Real์ ๋๋ค. ์๋ฎฌ๋ ์ด์ ์ผ๋ก ์ค์ ํ๊ฒฝ์ ๋จ์ํํ๊ณ ๋ชจ์ฌํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์๋ฎฌ๋ ์ด์ ์์ ์ ํ์ต์ด๋๊ณ ์ ๋์ํ๋๋ผ๋ ์ค์ ๋ก๋ด์ deployํ์๋ ์ ์๋ํ์ง ์๋ ๋ฌธ์ ๊ฐ ์๊น๋๋ค. ๋ฐ๋ผ์ ์ค์ ํ๊ฒฝ์์๋ ๋ก๋ด์ด ๊ฒฝํํ๊ฒ ๋๋ noise๋ค์ ์๋ฎฌ๋ ์ด์ ์๋ randomํ๊ฒ ์ ์ฉ์์ผ ์ต๋ํ ์ค์ ์ํฉ๊ณผ๋ ์ ์ฌํ๊ฒ ๋ง๋ ํ๊ฒฝ์์ ํ์ต์ ํ๊ฒ ๋ฉ๋๋ค.
ํด๋น ๋
ผ๋ฌธ์์๋ Link length, Intertial property, Link mass, CoM(Center of Mass), Collision geometry, Coefficient of friction ๋ฑ๊ณผ ๊ฐ์ด ๋ฌผ๋ฆฌ์ ์ธ ๊ฐ๋ค์ ์๋ ํ์์ ๋ณผ ์ ์๋ฏ์ด ์ผ์ ๋ฒ์์์ randomํ๊ฒ ๊ฐ์ ๋ฃ์ด์ฃผ์๊ณ policy์ input data๊ฐ ๋๋ observation ๊ฐ๋ค์๋ noise ๊ฐ์ ์ถ๊ฐํ์ฌ Sim-to-Real ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ต๋๋ค. ์ด์ธ์๋ ANYmal ๋ก๋ด ํ๋ซํผ์์ ์ฌ์ฉํ๋ SEA motor์ ์คํ๋ง๊ณผ ๊ฐ์ ๊ธฐ๊ณ์ ์์๋ค์ ๋ณ์๋ก ์ธํ ์ ์ด ์ด์๋ ํด๊ฒฐํ๊ธฐ ์ํด Actuator Network
๋ฅผ ํ์ต์์ผ ์ด๋ฅผ ํด๊ฒฐํ์์ต๋๋ค.
(์ ์์ฝ์์ ์ธ๊ธํ๋ ๋๋ก ์ฌ์ค์ Actuator Network๋ Height Estimator๊น์ง NN์ด ์ถ๊ฐ๋๋ฏ๋ก 4๊ฐ๊ฐ ์๋ ์ด 6๊ฐ์ NN์ด ์ฌ์ฉ๋์์์ ์ ์ ์์ต๋๋ค.)
Result and Discussion
๋ ผ๋ฌธ์์ ์ค๊ณํ Recovery Controller์ ์คํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ด (1) Recovery ์ฑ๊ณต๋ฅ , (2) Height Estimator์ ์ํ ์ถ์ ํจ๊ณผ, (3) Behavior Selector์ (๊ธฐ์กด ๋ฐฉ๋ฒ๋ก ์ธ State Machine๊ณผ ๋น๊ตํ์ ๋์) ๊ฒฝ์๋ ฅ 3๊ฐ์ง๋ก ์ดํด๋ณผ ์ ์์ต๋๋ค.
The success of recovery
Recovery ์คํ์ ์ด 2๊ฐ์ง๋ก ์งํ๋์๋๋ฐ ์ฒซ๋ฒ์งธ๋ ์ง๋ฉด์ ๋ก๋ด์ ์์์ position์ผ๋ก ๋์ด์ง ์ํฉ์ ์ฐ์ถํ ํ 5์ด ์ด๋ด๋ก ์ผ์ด๋ ์ ์๋์ง๋ฅผ ํ์ธํ๊ณ ๋๋ฒ์งธ๋ก๋ ๋ก๋ด์ด ๊ฑท๊ณ ์์ ๋ ๋ฐ๋ก ์ณ์ ๋์ด๋จ๋ฆฐํ ๋ก๋ด์ด ๋ค์ ์์ฐ์ค๋ฝ๊ฒ(๊ฐ behavior๋ค ๊ฐ์ switching์ด ์์ฐ์ค๋ฝ๊ฒ) ์ผ์ด๋๋์ง๋ฅผ ํ์ธํ์ต๋๋ค. ๊ฐ๊ฐ์ ์คํ ๋ชจ๋ 50๋ฒ ์ด์์ฉ ์งํํ์ผ๋ฉฐ์ด๋ ์ฝ 100๋ฒ์ค 97๋ฒ์ ์ฑ๊ณตํ์ฌ 97% ์ฑ๊ณต๋ฅ ์ ๋ณด์์ต๋๋ค. (์คํจํ ์ผ์ด์ค๋ค์ ๊ฒฝ์ฐ์๋ joint์ position์ด 2\pi๋ฅผ ๋์ด๊ฐ๋ ๊ฐ์ผ๋ก ๋์ฌ ๋ ์ ์๋ํ์ง ์์๋ค๊ณ ํฉ๋๋ค.)
The effectiveness of Height Estimator
๊ธฐ์กด์ State Estimator TSIF(Two State Implicit Filter)๋ง์ ์ฌ์ฉํ์ ๋๋ ๋ก๋ด์ด ๋ฐ๋ฅ์ ๋์ด์ ธ ์์ ๊ฒฝ์ฐ error ๊ฐ์ด ๋งค์ฐ์ปธ์ง๋ง๋ Neural Network๋ฅผ ํตํด ๋ณด์ ํ์ ๋ ์ค์ฐจ๊ฐ 1cm ๋ฏธ๋ง์ผ๋ก ๋จ์ด์ง๋ ๊ฒ์ ํ์ธํ ์ ์์์ต๋๋ค. ์ค๋ฅธ์ชฝ์ height ๊ทธ๋ํ๋ ๋งจ ์๋ ์บก์ณ๋์ด์๋ ๋ก๋ด์ ์ผ๋ จ์ ๋ชจ์ ๊ณผ์ ์ค์ height๋ฅผ ๊ทธ๋ํ๋ก plottingํ ๊ฒ์ธ๋ฐ simulation(์ด๋ก์)์ด true๊ฐ์ด๋ฉฐ, TSIF๋ง์ ์ฌ์ฉํ์ ๋(ํ๋์)๋ ๋ก๋ด์ด ๋์ด์ ธ์์ ๋ ์ค์ฐจ๊ฐ ํฐ๋ฐ ๋ฐํด neural network(์ฃผํฉ์)์ simulation data์ ๊ฑฐ์ ๊ฐ์์ ํ์ธํ ์ ์์ต๋๋ค.
The competitiveness of Beahavior Selector
๊ธฐ์กด์ ์ ์ด๋ฐฉ๋ฒ๋ค์์๋ ์ฌ๋ฌ๊ฐ์ง mode๋ฅผ ์กฐ์จํ๊ธฐ ์ํด์ FSM(Finite State Machine)์ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ํน์ ์กฐ๊ฑด์ if์ ๋ฃ์ด์ฃผ์ด์ ๊ฐ mode๋ฅผ transitionํ๋ ๊ธฐ๋ฒ์ธ๋ฐ ๋ ผ๋ฌธ์์๋ ๊ฐํํ์ต์ผ๋ก ํ์ตํ Behavior Selector์ ๋น๊ต๋ฅผ ์ํด ๊ธฐ์กด์ FSM ๋ฐฉ์์ ํ์ฉํ์ฌ State Machine์ ๋ง๋ค์ด์ ๋น๊ตํ์ต๋๋ค. FSM ๋ฐฉ์์ ์ฌ์ ํ corner case๋ค์ด Behavior Selector์ ๋นํด ๋ง์ด ์กด์ฌํ๊ณ ๊ฐ behavior๋ค ๊ฐ์ ์ ํ๋ ์์ฐ์ค๋ฝ์ง ์์์ต๋๋ค.
Review
์์ง minor ํ ์ฃผ์ ์ธ Recovery task์ ๋ํด ์ง์ค์ ์ผ๋ก ์ ๋ถ์ํ๊ณ ์ฑ๊ณผ๋ ํ์คํ ๋ณด์ฌ์ค ๋ ผ๋ฌธ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. Control system์ workingํ๊ฒ ํ๊ธฐ ์ํด ๊ฐ ํํธ๋ค์ ์ด๋ป๊ฒ ์ค๊ณํ๊ณ ํ์ตํด์ผํ ์ง ๋ง์ ๊ณ ๋ฏผ์ ํ๋ค๋ ๊ฒ์ ๋๋ ์ ์์์ต๋๋ค. ์ฌ์ ํ flat ground์์๋ง ์งํ๋ ์ฐ๊ตฌ์ด๊ธฐ์ slope๊ฐ ์๋ ํ๊ฒฝ์ด๋ ๋ค๋ฅธ object๊ฐ ์๋ ์ข ๋ ์ค์ ์ํฉ๊ณผ ๋น์ทํ ์ํฉ์ ๋ํ recovery๊ฐ ํด๊ฒฐ๋๊ธฐ ์ํด์๋ ์ฐ๊ตฌ๋์ด์ผ ํ ๋ถ๋ถ์ด ์ถฉ๋ถํ ๋ง์ ๊ฒ ๊ฐ์ต๋๋ค.
Appendix
Reference
orginal paper : https://arxiv.org/abs/1901.07517