Priceless

[Paper] Room for me?: Mobile navigation for entering a confined space using deep reinforcement learning 리뷰 본문

Review/Paper

[Paper] Room for me?: Mobile navigation for entering a confined space using deep reinforcement learning 리뷰

Hyun__ 2024. 9. 1. 14:00

참고

https://ieeexplore.ieee.org/document/10202306

 

Room for Me?: Mobile Navigation for Entering a Confined Space Using Deep Reinforcement Learning

We consider the navigation problem where a robot tries to enter a confined space where obstacles are populated randomly. The objective is to move into and stay inside the confined space while not colliding with obstacles. Since the robot does not know the

ieeexplore.ieee.org

 

Room for me 논문을 리뷰합니다.

잘못된 부분 지적해 주시면 감사하겠습니다.

 

관련 사담

네이버 본사를 방문한 적이 있다

방문했을 때 네이버 랩스의 로봇과 관련된 영상을 봤다

 

아래 영상은 엘리베이터 내에서 로봇의 위치를 선정하는 연구에 관한 것이다

영상 속 연구 사례는 엘리베이터에서 사람들에게 안 불편한 위치를 선정하거나 

빠르게 이동하기 위한 위치를 선정하는 것과 관련한 것이다

 

이번에 리뷰하고자 하는 논문과 조금이나마 연관 있는 연구 사례라 생각하여

참고하면 좋을 것으로 생각한다

 

https://youtu.be/E6VUkPG3jXU?si=APq1YVpTTwe3LqYo

 

1. Introduction

이번 논문은 mobile robot이 엘리베이터와 같이 제한되고 혼잡한 공간에 장애물이 있을 때의 navigation method에 대해 이야기한다

 

로봇이 엘리베이터에 탑승할 때 문이 열리기 전까지 엘리베이터 내 승객이 어디에 위치하는지 알 수 없다

그러므로 path planning에 기반한 navigation이 어려울 수 있다

 

또한 엘리베이터 내에 로봇이 위치하기 위한 별도의 공간이 마련되어 있다 하더라도

그 자리에 사람이 있어 pre-occupied 상태라면 로봇이 적절히 대응할 수 없다는 문제가 있다

 

해당 논문에서 DRL(Deep Reinforcement Learning)을 통한 방법을 소개한다

이 방법은 sequential process를 통해 자리를 찾거나, path planning, control 하기 위한 별도의 계산이 필요 없다

 

이 연구에서는 DRL 알고리즘 중 하나인 Soft Actor-Critic(SAC) 알고리즘을 사용했다

continuous state와 continuous action spaces에 적용할 수 있다

SAC의 entropy maximization 과정을 통해 policy가 장애물의 변화에도 더욱 robust 할 수 있다

 

설계 환경 조건은 다음과 같다

1. 매 training episode마다 장애물의 수와 위치는 바뀐다

2. 장애물의 숫자는 1~3 사이다. 제한된 공간의 특성을 반영한다

3. 장애물은 고정된 위치에 있으며, 장애물로부터 상대적인 pose와 robot state를 얻을 수 있다

 

2. Related Work

path planning 기반의 방법은 pre-occupancy 문제를 해결할 수 없으므로

목표 지점으로 위치하는 방법은 적절하지 않다

 

sequential decision making 방법은 environment가 바뀔 때마다 다시 설계해야 한다

 

RL을 통해 sequential decision making을 사용하지 않으므로

DRL을 통해 robot control로 확장한다

 

3. Problem Description

논문에서 장애물은 같은 위치에서 움직이지 않는다고 가정한다

문제를 MDP(Markov Decision Problem)으로 설정한다

 

S, A: state와 action

T: state-transition function

R: reward function

γ: discount factor 

 

이들은 Markov Property를 만족한다

 

4. Methods

Actor-Critic 알고리즘은 actor-only method와 critic-only method의 장점을 결합한 알고리즘으로

DNN을 통해 policy function과 value function을 근사할 수 있다

 

off-policy 알고리즘인 SAC를 사용하여

많은 탐색을 통해 robust and stable 하게 만들 수 있다

 

A) State 

environment에서 얻을 수 있는 정보의 state space는 아래와 같다

 

S(obs)는 로봇과 장애물 간의 거리이다

N은 장애물의 수로, 1~3에 해당한다

 

S(wall)은 벽과의 거리로 

아래 그림에서 노란색 선에 해당한다

S(dir)은 로봇이 향하는 radian으로 위 그림의 검은색 화살표에 해당한다

radian 값은 아래와 같다

 

S(act)는 (t-1)에서의 로봇의 action으로

left와 right에 대한 linear velocity value이다

이 값으로 action으로 pose가 변하는 것을 알 수 있다

 

S(ang)의 θ는 로봇으로부터 로봇이 향하는 각도와 장애물 간의 각도를 나타낸 것으로

민트색 화살표에 해당한다

이 값을 통해 로봇에 대한 장애물의 상대적 방향을 알 수 있다

 

 

B) Actions

current state를 입력으로 하여

left wheel과 right wheel의 2차원 action을 만든다

C) Reward

current state를 입력으로 하여 

아래와 같은 scalar value를 가진 reward function을 정의한다

d(ent)는 로봇과 입구와의 거리, d(obs)는 로봇과 장애물 간의 거리이다

 

c(n)은 음수가 아닌 실수이며

충돌하거나 입구와 거리가 너무 멀 때 큰 negative reward를 받도록 설계되었다

 

training 동안의 immediate rewards는

SAC를 통해 [-3, 3]으로 normalize한 reward를 부여한다

 

200 step 이후 어떠한 penalty 없이 에피소드가 종료된다

 

D) Training Episodes

Pybullet과 Open AI Gym API를 사용했다

 

매 training episode 마다 장애물의 위치와 수는 바뀌며,

로봇이 입구를 통과하지 못할 위치에 장애물이 위치하진 않는다

 

에피소드는 로봇이 충돌하거나 입구로부터 매우 멀어졌을 때 종료된다

 

 

E) Parameterization

vanilla SAC의 extended version을 사용하며,

안정성을 위한 temperature parameter α를 자동으로 조절한다

hyper parameter의 경우 SAC에 따라 아래와 같이 정해졌다

 

minibatch의 샘플 수를 64로 설정했으며,

아래는 policy와 Q function(actor-value function)의 구조이다

 

5. Experiments

System: AMD Ryzen 95900X 12-Core CPU, NVIDIA GeForce RTX 3070 Ti GPU, and 32GB RAM, PyTorch 1.12.1

A) Training Results

로봇은 2500 episodes 동안 학습했다

아래의 (a)는 policy loss, (b)는 Q-value loss를 나타낸다

두 그래프 모두 0으로 수렴하는 것을 알 수 있다

 

(a)의 policy loss는 desired action과 current action의 차이를 나타낸다

policy loss가 줄어드는 것은 navigation을 위한 더 나은 policy로 수렴하는 것을  의미한다

 

(b)의 Q-value loss는 expected return과 current value의 차이를 나타낸다

Q-value가 증가하는 것은 누적된 reward로 accuracy가 증가하는 것을 의미한다

 

아래 그래프는 total reward를 나타낸다

total reward가 증가하는 것은 agent가 optimal policy로 수렴하는 것을 나타낸다

 

B) Test Results

생성된 optimal policy로 test를 수행했다

장애물이 1~3개일 때의 success rate를 나타냈다

 

C) Discussions

target의 location 정보가 없거나 pre-occupancy 문제를 다루기 위해 DRL이 적절한 방법일 수 있다는 것을 제시했다

path planning 기반 접근 방법에 비해 이점이 있다

 

장애물의 움직임 또한 입력으로 넣었을 때 움직이는 장애물까지 대응할 수 있을 것이다

 

하지만 충돌을 완전히 막을 수 없으며, 완전히 로봇이 좁은 영역을 통과하는 것을 보장할 수 없다는 한계가 존재한다

6. Conclusion

mobile robot의 navigation problem을 MDP로 정의했으며,

SAC와 off-policy DRL을 사용하여 해결했다

 

향후 해결해야 할 문제가 있다

노이지한 센서 데이터에 대한 대응이 필요할 것이고, 더욱 많은 수의 장애물과 더 좁은 공간에서의 optimal policy를 찾기 위해 다른 방법이 필요할 것이다