시각장애인을 위한 핸들 제어형 이동 안내 로봇
0. Summary

기존 시각장애인 안내 로봇은 주로 로봇의 중심 경로를 기준으로 안전성을 판단한다. 하지만 실제 사용자는 로봇 뒤쪽의 핸들을 잡고 이동하기 때문에, 로봇 경로와 사용자의 실제 보행 경로가 달라 몇 가지 문제가 발생한다.
본 연구에서는 이러한 한계를 개선하기 위해 로봇 경로와 사용자 경로를 분리 생성하고, 사용자가 사용자의 안전 경로를 따라 이동할 수 있도록 능동 핸들 제어 기반 안내 구조를 설계했다.
- 문제 정의: 로봇이 안전하게 주행하더라도, 핸들을 잡고 뒤에서 이동하는 사용자는 벽이나 장애물에 가까워질 가능성과 로봇에 종속되어 크게 회전하며 많이 이동하는 문제가 있음.
- 핵심 아이디어: robot path와 user path를 분리하고, user path 추종을 위해 핸들을 능동적으로 제어
- 구현 내용: 3D LiDAR 기반 user perception, A* 기반 dual-path planning, switching PID 기반 handle control
- 검증 환경: 좁은 zigzag 환경과 전시 관람 모사 환경
- 주요 결과: 충돌 0건, 사용자 이동 거리 약 29.2% 감소, 몸통 중심 추정 오차 약 5cm, 손 방향 추론 정확도 약 99%
1. Research Background
기존 로봇 중심 안내 방식의 한계
기존의 안내 로봇은 주로 로봇 중심의 경로 계획을 진행하다 보니, 뒤따르는 사용자를 거의 고려하지 않거나 사용자와 로봇을 하나의 강체로 판단하여 안내하는 경향이 있다.
하지만 실제 안내 상황에서 사용자는 로봇 중심에 위치하지 않는다. 사용자는 로봇 뒤쪽의 핸들을 잡고 이동하며, 이때 사용자의 실제 보행 경로는 로봇 중심 경로와 달라진다.

이러한 차이는 좁은 길이나 커브 구간에서 더 크게 나타난다. 로봇은 벽이나 장애물과 충돌하지 않더라도, 사용자는 로봇의 회전 동작에 의해 바깥쪽으로 이동하면서 벽이나 장애물에 가까워질 수 있다. 또한, 로봇과 사용자를 하나의 큰 강체처럼 판단하면, 좁은 길에서는 통과 가능한 경로를 찾지 못하거나 경로 계획 자체가 실패할 수 있다.
| 실제 주행 관측 | 이동 궤적 |
|---|---|
![]() | ![]() |
전시 관람 환경처럼 경유지 이동과 회전이 반복되는 상황에서는, 사용자가 로봇의 회전 동선을 그대로 따라가면서 불필요한 보행 거리가 증가할 수도 있다.
따라서 본 연구에서는 다음 두 가지를 모두 주요 목표로 보았다.
-
좁은 환경에서의 사용자 안전성 확보
로봇뿐 아니라 핸들을 잡고 뒤따르는 사용자가 벽이나 장애물에 가까워지지 않도록 한다. -
전시 관람 환경에서의 사용자 이동 효율 개선
여러 경유지와 회전 구간이 반복되는 상황에서 사용자의 불필요한 보행 거리를 줄인다.
연구 목표
본 연구의 목표는 로봇 중심의 안내 방식에서 벗어나, 사용자의 실제 이동 경로를 고려한 핸들 제어형 안내 로봇 구조를 설계하고 검증하는 것이다.
구체적인 목표는 다음과 같다.
- 로봇 경로와 사용자 경로를 분리하여 생성한다.
- 로봇은 안정적인 robot path를 따라 이동하도록 한다.
- 사용자는 별도로 생성된 user path를 따라 걸을 수 있도록 핸들 제어로 유도한다.
- 좁은 환경에서 사용자가 벽과 충분한 안전거리를 유지하도록 한다.
- 전시 관람 환경처럼 회전과 경유지 이동이 많은 상황에서 사용자 보행 거리를 줄인다.
핵심 목표는 단순히 “로봇이 잘 주행하는 것”이 아니라, 로봇을 따라가는 사용자가 실제로 안전하고 효율적으로 이동하도록 만드는 것이다.
2. System Overview

본 시스템은 크게 User Perception, Dual-path Planning, Handle Control의 세 단계로 구성된다.
먼저 3D LiDAR를 통한 점군 데이터를 User Perception 모듈에 입력 후 사용자의 몸통 중심과 손 방향을 추론한다. Dual-path Planning 모듈은 앞서 생성된 사용자 위치를 기반으로 로봇이 이동할 robot path와 사용자가 따라갈 user path를 분리하여 생성한다. Handle Control 모듈은 사용자의 현재 위치와 user path 사이의 오차를 기반으로 핸들 목표 각도를 계산하고, 하위 제어기를 통해 실제 핸들 움직임을 제어한다.
사용 기술 및 환경
- Robot platform: Twinny Nargo60 기반 differential drive mobile robot
- Sensor: 3D LiDAR (Velodyne VLP-16)
- Perception: 3D point cloud processing, PointNet
- Planning: A* 기반 global path planning, TEB 기반 robot local navigation
- Control: Switching PID 기반 handle control
- System: Ubuntu (20.04), ROS (noetic)
- AI data collection: UDP/ROS 통신, VIVE/OpenVR 기반 Ground Truth 수집
3. Hardware Integration

핸들 모듈은 로봇 후방에 프로파일 재료 기반으로 구성했다. 사용자는 이 핸들을 잡고 로봇 뒤쪽에서 이동하며, 핸들의 안내를 통해 이동 방향을 인지한다.
핸들 모듈은 다음과 같은 요소로 구성했다.

- 로봇 후방 장착 구조물

- 모터 및 베벨기어 기반 구동부

- 회전축 설계 주문

- 회전축 및 핸들 그립

- 상위 ROS 제어기와의 제어 명령 인터페이스
4. 주요 구현 내용
4-1. User Perception

핸들 제어를 수행하기 위해서는 사용자가 현재 어디에 위치하는지, 그리고 사용자가 어느 손으로 핸들을 잡고 있는지를 인식해야 한다. 사용자의 몸통 중심 위치는 user path와의 오차 계산에 사용되고, 손 방향 정보는 핸들 안내를 보정하는 데 활용된다.
초기에는 사용자 point cloud의 평균점을 몸통 중심으로 사용하는 방식을 고려했다. 그러나 사용자의 자세가 변하거나 벽에 가까워지는 상황에서는 point cloud 분포가 왜곡되어 중심점 추정이 불안정해지는 문제가 있었다.
이를 해결하기 위해 3D LiDAR 기반 사용자 point cloud를 입력으로 사용하고, PointNet 구조를 통해 다음 두 가지 출력을 동시에 추론하도록 구성했다.
- 사용자 몸통 중심점
- 사용자가 핸들을 잡은 손 방향
Ground Truth 수집

사용자 몸통 중심점 학습을 위해 VIVE/OpenVR 기반 모션 트래킹 장비로 Ground Truth를 수집했다. VIVE 시스템에서 얻은 위치 데이터를 ROS 시스템과 연결하기 위해 UDP 통신 구조를 구성했고, 3D LiDAR에서 얻은 사용자 point cloud와 VIVE 기반 GT 데이터를 함께 저장하는 데이터 수집 파이프라인을 만들었다.

LiDAR 좌표계와 VIVE 좌표계를 맞추기 위해 translation 및 rotation matrix 기반 좌표 변환을 적용했다. 또한 LiDAR와 GT 장비의 관측 주기가 다르기 때문에, timestamp 기반 정합과 GT에 이상값 필터링을 적용하여 학습 데이터의 정합 품질을 개선했다.
4-2. Dual-path Planning

기존 방식처럼 로봇 경로만 생성하면 사용자의 실제 보행 위치가 로봇 움직임에 종속된다. 이 경우 로봇은 안전한 경로를 따라가더라도, 사용자는 커브 구간이나 좁은 길에서 벽이나 장애물에 가까워질 수 있다.
이를 해결하기 위해 본 연구에서는 robot path와 user path를 분리하여 생성했다.
- Robot path: 로봇이 안정적으로 주행하기 위한 경로
- User path: 사용자가 따라 이동할 안전 경로
ROS 환경에서 사용자 목표점을 기준으로 두 경로를 각각 A* 알고리즘 기반으로 생성하고, 로봇은 robot path를 따라 이동하며 사용자는 핸들 제어를 통해 user path를 추종하도록 구성했다.
이 구조를 통해 로봇의 주행 안정성을 유지하면서도, 사용자의 실제 이동 경로를 별도로 제어할 수 있도록 했다.
4-3. Handle Control
Dual-path planning에서 생성된 user path를 따라 사용자가 이동할 수 있도록 능동 핸들 제어 구조를 설계했다.
핸들 제어는 사용자의 현재 위치와 user path 사이의 lateral error (cross track error)를 기준으로 동작하며, 상황에 따라 두 가지 모드로 전환된다.

Nominal Guidance Mode

Nominal guidance mode는 사용자가 user path 주변의 안전 영역 안에 있을 때 동작하는 기본 안내 모드이다.
이 모드의 목표는 핸들 자체를 단순히 user path 위에 위치시키는 것이 아니라, 핸들을 잡고 있는 사용자의 몸통 중심이 user path를 따라가도록 유도하는 것이다. 사용자가 왼손 또는 오른손 중 어느 손으로 핸들을 잡는지에 따라 손잡이와 몸통 중심 사이의 상대 위치가 달라지므로, 손 방향 추론 결과를 이용해 목표 핸들 위치와 제어 기준에 offset을 반영했다.
이를 통해 사용자가 안전 영역 안에 있을 때는 과도한 복귀 제어를 하지 않고, 손잡이 방향에 따른 몸통 위치 차이를 고려하면서 부드럽게 진행 방향을 전달하도록 했다.
Active Recovery Mode

Active recovery mode는 사용자가 user path에서 threshold 이상 벗어났을 때 동작하는 복귀 모드이다.
이 모드에서는 사용자 위치와 user path 사이의 법선 거리 오차를 줄이는 방향으로 PID 제어를 수행한다. 즉, 사용자의 몸통 중심이 user path에서 벗어난 정도를 lateral error로 정의하고, 이 오차가 줄어드는 방향으로 핸들 목표 각도를 보정한다.
이를 통해 사용자가 다시 안전 경로 안으로 들어오도록 유도했다.
PID 기반 제어 전략
핸들 제어는 사용자의 몸통 중심과 user path 사이의 lateral error를 줄이는 방향으로 수행했다.
두 제어 모드는 목적이 다르기 때문에 동일한 PID 구조를 사용하되, gain 설정 방향을 다르게 가져갔다.
| 제어 모드 | 목적 | Gain 설정 방향 | 제어 특성 |
|---|---|---|---|
| Nominal Guidance | 부드러운 방향 안내 | I, D gain 상대적으로 증가 | 작은 offset을 안정적으로 보정하고 급격한 핸들 움직임을 완화 |
| Active Recovery | 안전 경로로 빠른 복귀 | P gain 증가, D gain 상대적으로 감소 | 경로 이탈에 즉각적으로 반응하여 강한 복귀 방향 전달 |
5. Experiment & Result
5-1. User Perception 성능 평가

PointNet 기반 perception module을 통해 사용자 몸통 중심점과 손 방향을 추론했다. 초기 mean point 기반 방식은 자세 변화와 벽 근접 상황에서 중심점이 흔들리는 문제가 있었지만, PointNet 기반 모델을 적용하면서 point cloud의 형상 특징을 활용할 수 있었다.
- 손 방향 추론 정확도: 약 100%
- 사용자 몸통 중심 추정 mean error: 4.1cm (데이터셋 결과)
- 사용자 몸통 중심 추정 mean error: 5.1cm (실측 결과)
5-2. 좁은 Zigzag 환경 실험


좁은 zigzag 환경에서 Fixed (고정 핸들), Passive (수동 핸들), Active (능동 핸들)방식을 비교했다.
능동 핸들 제어 방식은 사용자를 user path 안쪽으로 유도하여 벽과의 안전거리를 더 잘 확보하는 경향을 보였다.
- 충돌 발생: 0건
- 벽과의 안전거리 확보 가능성 확인
- 사용자 경로 이탈 감소 경향 확인
5-3. 전시 관람 모사 환경 실험


전시 관람 환경처럼 여러 경유지를 이동하고 회전이 반복되는 환경에서 실험을 진행했다.
고정 핸들 방식에서는 사용자가 로봇의 회전 동선을 크게 따라가야 했지만, 능동 핸들 방식에서는 사용자 경로를 별도로 따라가도록 유도하여 불필요한 이동 거리를 줄일 수 있었다.
- 고정 핸들 대비 사용자 이동 거리 약 29.2% 감소
- 경유지 이동 환경에서 사용자 보행 효율 개선 확인
5-4. 사용자 피드백

안대를 착용한 일반인 10명과 시각장애인 1명을 대상으로 실험을 진행하고 사용자 피드백을 수집했다.
주요 피드백은 다음과 같다.
- 좁은 환경에서 핸들 제어 방식이 충돌 회피에 도움이 될 수 있음
- 핸들의 움직임이 너무 잦으면 방향 감각이 떨어질 수 있음
- 핸들 제어는 모든 구간이 아니라 좁은 길이나 위험 구간에서 선택적으로 동작하는 것이 좋을 수 있음
- 모터 소리와 핸들 움직임이 사용자 불안감에 영향을 줄 수 있음
- 음성 안내와 함께 제공되면 더 안정적인 안내가 가능할 수 있음
이 피드백을 통해 안내 로봇의 성능은 충돌 회피나 경로 추종만으로 평가하기 어렵고, 사용자가 느끼는 예측 가능성, 안정감, 피로도까지 함께 고려해야 한다는 점을 확인했다.
6. Technical Challenges
6-1. 로봇 중심 경로만으로 사용자 안전을 보장하기 어려운 문제
로봇 중심 경로만을 기준으로 경로를 생성하면, 로봇 자체는 장애물을 회피할 수 있지만 사용자의 실제 보행 경로는 안전하지 않을 수 있다. 특히 사용자가 로봇 뒤쪽 핸들을 잡고 이동하는 구조에서는 로봇의 회전과 사용자의 회전 반경이 달라진다.
이를 해결하기 위해 robot path와 user path를 분리하고, 사용자가 user path를 따라 이동하도록 핸들 제어를 적용했다. 그 결과 전시 관람 모사 환경에서 사용자 이동 거리를 약 29.2% 줄일 수 있었다.
6-2. 평균점 기반 사용자 중심 추정의 한계
초기에는 사용자 point cloud의 평균점을 몸통 중심으로 사용하는 방식을 고려했다. 그러나 자세 변화, 벽 근접 상황, point cloud 분포 변화에 따라 중심점이 흔들리는 문제가 있었다.
이를 해결하기 위해 PointNet 기반 모델을 적용하여 point cloud의 형상 특징을 학습하도록 구성했다. 이를 통해 사용자 몸통 중심 추정 mean error 약 5cm 수준의 결과를 확인했다.
6-3. LiDAR와 GT 장비 간 timestamp mismatch 문제
학습 데이터 수집 과정에서 LiDAR는 약 10Hz, GT 장비는 약 60Hz로 동작하여 point cloud와 GT 좌표의 관측 시점이 어긋나는 문제가 있었다. 이 문제는 학습 데이터의 label 품질을 저하시켜 perception 모델 성능에 영향을 줄 수 있었다.
이를 해결하기 위해 timestamp를 기준으로 PCD와 GT 데이터를 정합하고, 갑작스럽게 튀는 GT 값을 필터링했다. 그 결과 테스트 데이터셋 기준 중심 추정 오차를 약 8cm 수준에서 약 4.1cm 수준까지 줄일 수 있었다.
6-4. 핸들 움직임에 따른 사용자 불안감 문제
능동 핸들 제어는 사용자를 안전 경로로 유도할 수 있지만, 핸들의 움직임이 너무 잦거나 급격하면 사용자가 오히려 방향 감각을 잃거나 불안감을 느낄 수 있다.
이를 완화하기 위해 nominal guidance mode와 active recovery mode를 분리했다. 사용자가 안전 영역 안에 있을 때는 부드럽게 안내하고, 경로에서 벗어난 경우에만 복귀 제어를 강하게 적용하는 구조로 설계했다.
7. 회고
본 연구를 통해 로봇 시스템에서 “로봇이 안전하게 움직이는 것”과 “사용자가 안전하게 이동하는 것”은 다를 수 있다는 점을 확인했다. 특히 시각장애인 안내 로봇처럼 사용자가 로봇과 물리적으로 연결되는 시스템에서는, 로봇 중심의 주행 안정성뿐 아니라 사용자의 실제 보행 경로와 체감 안정성이 함께 고려되어야 한다.
향후 개선 방향은 다음과 같다.
- 핸들 움직임을 더 부드럽고 예측 가능하게 만드는 제어 방식 개선
- 좁은 길이나 위험 구간에서만 선택적으로 동작하는 adaptive guidance 전략 적용
- 음성 안내와 핸들 제어를 함께 활용하는 multimodal guidance 구조 검토
- 다양한 사용자 체형, 보행 속도, 실제 시각장애인 사용자를 대상으로 한 추가 검증
- 동적 장애물이 많은 환경에서 user path 재계획 안정성 개선
이 연구는 단순한 로봇 경로 추종 문제가 아니라, 사용자의 실제 이동 경험을 고려한 human-robot interaction 기반 안내 시스템 설계 문제로 확장될 수 있다.

