**E2Map: Experience-and-Emotion Map for Self-Reflective Robot Navigation with Language Models** Review
2026.01
관심사인 Language Model + Navigation 논문 읽음
ICRA 2025 [📄] [] Chan Kim, Keonwoo Kim, Mintaek Oh, Hanbi Baek, Jiyang Lee, Donghwi Jung, Soojin Woo, Younkyung Woo, John Tucker, Roya Firoozi, Seung-Woo Seo, Mac Schwager, and Seong-Woo Kim
Abstract
- 기존의 방법들은 static한 환경에서만 사용되었고, agent의 경험을 반영하지 않았다.
- 이 논문은, LLM 지식과 agent의 사람의 감정 표현에서 유래된 real-world의 경험을 사용하여 이러한 한계를 극복해보고자 한다.
- simulation과 real-world 환경에서 모두 검증을 마쳤다.
I. Introduction
- LLM은 방대한 지식을 바탕으로 로봇의 instruction 수행에 유용하지만, Real-world의 stochasticity을 다루는 데에는 취약하다.
- Initial plan은 LLM의 일반 지식에만 의존하기 때문에, 갑자기 문이 열리거나 사람이 튀어나오는 등의 예기치 못한 상황에 실패할 확률이 높다.
- 인간은 ‘감정’을 통해 Homeostasis를 유지하고, 위험을 회피하거나 행동을 수정한다. 저자들은 이 메커니즘을 로봇에 적용하고자 한다.
- 핵심 아이디어: 로봇이 특정 Event을 겪으면, 이를 Emotional response으로 수치화하여 Map에 반영하고, 이를 Cost function으로 사용하여 경로를 즉각 수정한다.
III. Method
A. Building and Initializing E2Map
- E2Map은 환경의 Visual-Language feature와 Agent의 감정 반응을 모두 포함하는 Spatial grid map이다.
- $\mathcal{M} \in \mathcal{R}^{\bar{H} \times \bar{W} \times (C_{lang} + C_{emo})}$
- $\bar{H}, \bar{W}:$ Grid map의 크기
- $C_{lang}$: Visual-Language feature의 차원 (LSeg 등을 사용해 추출)
- $C_{emo}$: emotion parameter의 수
- 각 grid map은 s meter의 실제 크기를 가지고 있다.
- $\mathcal{M} \in \mathcal{R}^{\bar{H} \times \bar{W} \times (C_{lang} + C_{emo})}$
- 각 grid cell의 emotion은 Multivariate Gaussian Distribution의 가중 합으로 모델링된다.
- Multivariate Gaussian Distribution : $\mathcal{N}(\mathbf{x} \mid \boldsymbol{\mu}_{\mathbf{p}_i}, \boldsymbol{\Sigma}_{\mathbf{p}_i})$
- x(로봇의 위치)가 평균값(장애물)과 공분산행렬(cost의 범위) 하에서 안전한가?를 기준으로 map을 구성
- 계산 효율성을 위해 모든 장애물을 다 계산하지 않고, 특정 Threshold를 넘는 영향력을 가진 장애물만 카운트한 숫자
- $\mathcal{N}$: Gaussian Distribution
- $\mathbf{x}$: 맵 상의 임의의 위치 좌표
- $\boldsymbol{\mu}_{\mathbf{p}_i}$(Mean): 분포의 중심. 즉, emotion이 발생하는 정확한 위치를 의미
- $\boldsymbol{\Sigma}_{\mathbf{p}_i}$ (Covariance Matrix): 공분산 행렬. emotion이 중심으로부터 얼마나 넓게 퍼져있는지를 결정. 초기에는 Identity matrix에 계수를 곱한 형태로 초기화된다. 대각 성분인 $\sigma_x^2, \sigma_y^2$는 감정이 $x$축과 $y$축 방향으로 퍼지는 정도(분산)를 나타낸다. 참고: 비대각 성분이 0이라는 것은 $x$축과 $y$축 방향의 퍼짐이 서로 독립적이라는 의미. (왜 대각행렬을 사용 했는지는 모르겠다)
- $\mathbf{p}_i$: Occupied Grid cell의 좌표 $[x, y]$. 즉, 장애물이나 물체가 있는 위치.
- Multivariate Gaussian Distribution : $\mathcal{N}(\mathbf{x} \mid \boldsymbol{\mu}_{\mathbf{p}_i}, \boldsymbol{\Sigma}_{\mathbf{p}_i})$
-
최종적으로 emotion은 Multivariate Gaussian Distribution의 weighted summation 으로 계산된다. :
\[\begin{equation} E(\mathbf{x}) = \sum_{\mathbf{p}_i \in \mathcal{O}} w_{\mathbf{p}_i} \mathcal{N}_{\mathbf{p}_i}(\mathbf{x})\end{equation}\]- $E(\mathbf{x})$ (Total Emotion Score) : 위치 $\mathbf{x}$에서 계산된 최종 감정 값. 로봇은 이 값이 높은 곳을 위험하거나 피해야 할 곳(높은 Cost)으로 인식.
- $\sum_{\mathbf{p}_i \in \mathcal{O}}$ (Summation over Occupied Cells) 맵에 있는 모든 장애물 $\mathbf{p}_i$들이 뿜어내는 감정의 영향력을 하나도 빠짐없이 다 더하겠다는 뜻.
- $\mathcal{O}$: 맵에서 장애물이나 물체가 있어 Occupied 된 모든 그리드 셀들의 집합
- $w_{\mathbf{p}_i}$ (Weight Parameter) : 가중치 파라미터.
- $\mathcal{N}_{\mathbf{p}_i}(\mathbf{x})$ (Multivariate Gaussian Distribution) :장애물 위치 $\mathbf{p}_i$를 중심으로 하는 다변량 정규 분포 값. 논문에서는 편의상 $\mathcal{N}(\mathbf{x} \mid \boldsymbol{\mu}{\mathbf{p}i}, \boldsymbol{\Sigma}{\mathbf{p}i})$를 줄여서 $\mathcal{N}_{\mathbf{p}_i}(\mathbf{x})$로 표기.
-
weight parameter는 valid Gaussian distribution에 의해 수에 기반하여 초기화된다. :
\[\begin{equation} w_{p_i} = \frac{1}{N_{p_i}^{val}}, \quad \forall p_i \in \mathcal{O} \end{equation}\]- $N_{p_i}^{val}$ (Number of Valid Gaussian Distributions) : 해당 위치에 영향을 주는 유효한 정규 분포의 개수
- 장애물이 여러 grid cell에 걸쳐있을 경우 위험도가 중복되어 overestimation 될 수 있기에 역수를 취하여 정규화 한다.
- occupied 된 각 grid cell 은 다음과 같은 emotion parameters를 가진다. $\Theta_{i}^{emo} = {\Sigma_{p_{i}}, w_{p_{i}}}$ 이 parameter 들은 visual-language feature 와 함께 $\mathcal{M}$(map)에 저장된다. 그리고 agent의 경험에 따라 update 된다.
B. Reflecting Emotion and Updating E2Map
Agent가 주행 중 예기치 못한 Event를 겪었을 때, E2Map을 업데이트하는 과정은 다음 3단계로 이루어진다.
- Event Descriptor (LMM):
- 사건 발생 전중후의 이미지를 입력받아 상황을 텍스트로 묘사한다.
- 예: “갑자기 문이 열리면서 사람과 충돌했다.”
- 문제 범위를 좁히기 위해 agent’s event는 simulator 혹은 sensor information에 의한 것으로만 가정했다.
- (GPT-4o)
- Emotion Evaluator (LLM):
- 묘사된 텍스트를 바탕으로 두 가지 척도로 감정 점수를 매긴다.
- Upsetness: 로봇 자신에게 미친 부정적 영향의 강도.
- Guiltiness: 로봇의 행동이 환경이나 타인에게 미친 영향.
- (Llama3)
- 묘사된 텍스트를 바탕으로 두 가지 척도로 감정 점수를 매긴다.
- Updating E2Map:
- 산출된 감정 점수를 바탕으로 grild cell의 위치를 update 한다.
- Weber-Fechner law에서 영감을 받아, 자극(감정 점수)의 로그 값에 비례하여 표준편차를 업데이트한다.
1) Event descriptor
- Agent가 겪은 시각적 경험을 언어(Text)로 변환하는 단계이다. 연속된 이미지 시퀀스를 입력받아 상황을 설명하는 언어 묘사($l_{evt}$)를 생성한다.
- GPT-4o와 같은 LMM (Large Multi-modal Model)을 사용
- $\mathcal{F}_{ed}$: Event Descriptor 모델
- $p_{ed}$: event descriptor 의 Prompt
-
사건 발생 전후의 맥락을 파악하기 위해 총 3장의 이미지를 사용
- $I_{t_{evt}-h}$: 사건 발생 전 이미지
- $I_{t_{evt}}$: 사건 발생 당시 이미지
- $I_{t_{evt}+h}$: 사건 발생 후 이미지 ($h$는 하이퍼파라미터)
- 작동 방식 (Step-by-step Reasoning): 단순히 3장을 한 번에 묘사하는 것이 아니라, 각 장면을 개별적으로 묘사한 뒤 이를 종합하여 전체 상황을 설명하도록 유도 (Zero-shot prompting)
2) Event evaluator
- 묘사된 상황 텍스트를 바탕으로 Agent가 느꼈을 ‘감정 점수’를 매기는 단계. Event Descriptor가 생성한 텍스트($l_{evt}$)를 읽고, 두 가지 기준에 따라 감정 점수를 평가.
- Llama 3와 같은 LLM을 사용
- 평가 기준 (Negative Emotions): 인간의 회피 및 복구 본능에서 영감을 받았다.
- Upsetness: Impact the agent feels in the given situation
- Guiltiness: Impact on the environment caused by the agent’s actions
- 점수 산정: Few-shot prompting을 사용하여 각 기준별로 1~3점(3점이 가장 강함)을 매기고 이유를 서술하게 한다. 최종 감정 점수($s_{emo}$)는 두 점수의 합이다. (최대 6점)
- $\mathcal{F}_{ee}$: Emotion Evaluator 모델
- $p_{ee}$: Few-shot 프롬프트
3) Update the E2Map
- Agent가 충돌 등의 사건을 겪었을 때, 해당 위치의 감정 파라미터를 업데이트하여 “위험 범위는 넓히되, 중심부의 위험 강도는 유지”하는 것이 목표
- 위험 범위 확장 (Standard Deviation Update)
-
인간의 감각 강도가 자극의 로그 값에 비례한다는 Weber-Fechner law에서 영감을 받아, 감정 점수($s_{emo}$)에 따라 표준편차($\sigma$)를 업데이트한다.
\[\begin{equation}\sigma_{k}^{new} = \sigma_{k} v_{k} \log\left(\frac{s_{emo}}{T}\right), \quad \text{where } k \in \{x, y\}\end{equation}\]- $(\cdot)^{new}$: 업데이트된 새로운 value 혹은 function
- $T$: Temperature parameter
- $v_{k}$: 사건 발생 당시 로봇의 방향 벡터(Unit direction vector). 로봇이 진입하던 방향으로 위험 범위를 확장하기 위함.
- $s_{emo}$: LLM이 평가한 감정 점수. 점수가 클수록 $\log$ 값이 커져서 위험 반경이 넓어진다.
-
- 위험 강도 보정 (Weight Update)
-
단순히 표준편차($\sigma$)만 넓히면 문제가 발생한다. 정규 분포(Gaussian)는 전체 부피가 1로 고정되어 있어서, 옆으로 퍼지면 필연적으로 중심의 높이(Peak value)가 낮아진다. 즉, 위험 범위를 넓혔더니 오히려 가장 위험해야 할 중심부의 위험도 수치가 떨어지는 부작용이 생긴다. 이를 막기 위해 가중치($w$)를 보정한다.
\[\begin{equation}w_{\mathbf{p}_i}^{new} = w_{\mathbf{p}_i} \frac{\mathcal{N}_{\mathbf{p}_i}(\mathbf{p}_i)}{\mathcal{N}_{\mathbf{p}_i}^{new}(\mathbf{p}_i)}\end{equation}\]- $\mathcal{N}_{\mathbf{p}_i}(\mathbf{p}_i)$: 업데이트 전 중심에서의 높이.
- $\mathcal{N}_{\mathbf{p}_i}^{new}(\mathbf{p}_i)$: 업데이트 후 중심에서의 높이.
-
- 1, 2의 과정을 통해 업데이트 된 표준편차를 Eq. 1에서 다시 계산하여 emotion grid의 magnitude를 유지하면서 emotion의 영향을 받는 공간 범위만 확장 할 수 있다.
C. Navigating with E2Map
E2Map이 실제로 로봇 주행에 어떻게 활용되는지, 전체적인 Navigation Loop를 설명한다.
- Goal Selection (목적지 선택) (line 1)
- 사용자가 자연어로 명령($l_{inst}$)을 내리면, Goal Selector (LLM)가 이를 해석하여 code로 변환한다.
- 이 코드는 API를 호출하여 명령어가 지칭하는 물체나 장소의 정확한 그리드 좌표(Goal)를 반환한다.
- Navigation System (주행 시스템) (line 2, 4, 6~8)
- Planning ($D^*$ Algorithm): 경로 계획에는 $D^*$ 알고리즘을 사용. 핵심은 E2Map의 감정 값($E(\mathbf{x})$)을 주행 비용(Cost)으로 사용한다는 점.
- 감정 점수가 높은 지역은 비용이 비싸게 책정되므로, 알고리즘은 자연스럽게 이를 우회하는 최적 경로를 생성.
- Control (MPPI): 생성된 경로를 따라가기 위해 MPPI(Model Predictive Path Integral) 제어 알고리즘을 사용.
- Localization: 3D LiDAR를 사용하여 실시간으로 로봇의 위치($p_{agent}$)를 파악.
- One-shot Behavior Adjustment (즉각적인 행동 교정) (line 9~14)
- 주행 중 예상치 못한 사건(Event)이 발생하면, 즉시 E2Map의 감정 파라미터가 업데이트.
- 지형(비용)이 바뀌었으므로, $D^*$ 알고리즘이 즉각적으로 경로를 재계산한다
- 이를 통해 로봇은 단 한 번의 경험만으로도 “어? 여기 위험해졌네?”라고 판단하고 바로 경로를 수정하여 행동을 교정
- Comparison with Potential Field (기존 방식과의 차이)
- Repulsive force처럼 쓴다는 점은 고전적인 Potential Field 방식과 유사.
- 차이점: Potential Field 방식은 로봇이 구석에 갇히는 Local Minima, 즉 최적화 문제가 자주 발생한다. 이 논문은 별도의 글로벌 플래너($D^*$)를 사용하여 경로를 계산함으로써 이 문제를 해결했다.
IV. Experiments
A. Experimental Setup
- 환경: ROS Gazebo Simulator 및 Real-world office
- 로봇: Unitree Go1 (Quadruped robot).
-
시나리오:
Fig. 5 - Danger sign: 갑작스럽게 설치된 정적 장애물
- Human-wall: 벽 뒤에서 갑자기 튀어나오는 사람.
- Dynamic door: 로봇이 접근할 때 갑자기 열리는 문.
- 정확한 비교를 위해 우리의 방법과 비교군은 같은 지시문 명령을 사용했다.
- simulation에서 검증을 마친 후 real-world에서도 역시 검증을 마쳤다.
B. Experiments in Simulated Environment
- 각 시나리오 방법에 대해 10개의 다른 지시문을 사용
- 로봇은 같은 지점에서 시작하여 최대 4개의 object에 대한 명령을 수행. 모든 명령을 수행했을 경우에만 success로 판별.
- 모든 결과에 대해 E2Map이 우수한 성능을 보이는 것을 확인할 수 있음.
C. Experiments in Real World
- Real-World 에서는 환경 물건 및 로봇 파손 등의 문제를 방지하기 위하여 dynamic door의 시나리오만 실행했다.
V. Conclusion
- 인간의 감정 메커니즘을 모사하여, 로봇이 경험을 통해 공간 정보를 업데이트하는 E2Map을 제안했다.
- 다양한 LLM/LMM capability(Code generation, Event description, Emotion evaluation)를 통합하여 One-shot behavior adjustment를 구현했다.
- 현재는 부정적 감정(충돌, 위험) 위주로 실험했지만, 긍정적 감정(편안함 등)을 활용한 선호 경로 탐색 등으로 확장할 수 있다. 또한, 센서 기반의 Event trigger가 아닌 Anomaly detection 알고리즘을 통한 자율적인 이벤트 인식이 필요하다.
참고자료
- one shot vs zero shot vs few shot
- LSeg
- Large Language Models are Zero-Shot Reasoners [31]
- Hyperparameter
- 사용자가 설정하는 값
- Weber-Fechner law
- D*
- MPPI
- (경로추종 기술 중 하나) MPC는 ‘미래를 예측해서 제어한다’는 개념이고, MPPI는 그 개념을 구현할 때 ‘무작위로 여러 번 던져보고(Sampling) 최적해를 찾는’ 구체적인 기술.