6조-안내봇이루멍

MIE capstone
이동: 둘러보기, 검색

프로젝트 개요

기술개발 과제

국문 : 지능형 사족 보행 로봇을 이용한 캠퍼스 투어 및 경로 안내 시스템

영문 : Intelligent Quadruped Robot-Based Campus Tour and Path Guidance System

과제 팀명

안내봇 이루멍

지도교수

황면중 교수님

개발기간

2023년 9월 ~ 2023년 12월 (총 4개월)

구성원 소개

서울시립대학교 기계정보공학과 20184300** 이*재(팀장)

서울시립대학교 기계정보공학과 20184300** 김*민

서울시립대학교 기계정보공학과 20184300** 김*준

서울시립대학교 기계정보공학과 20194300** 박*현

서론

개발 과제의 개요

개발 과제 요약

실외에서 움직일 수 있는 사족보행 로봇과 음성 AI 서비스를 개발해 학교 투어 및 길 안내를 수행하는 로봇의 소프트웨어 시스템을 구현하고자 한다. 위 시스템 개발로 사용자의 편의성이 증가하고 학교 홍보효과가 증대될 것이라 기대된다. 학교 투어는 로봇이 정해진 경로를 이동하고 길 안내는 현재 위치부터 사용자가 설정한 목적지까지 계산된 경로를 이동한다. 그리고 이동 중에 로봇은 스스로 장애물 회피를 진행하고 음성 AI 기능을 탑재해 사용자와 질의응답을 하며 학교와 관련된 정보를 제공해준다.

개발 과제의 배경

현재 대형 건물과 박물관에서는 안내를 위한 로봇이 사용되고 있으나, 이들은 주로 바퀴형 로봇으로 제한된 실내 공간에서만 운용 가능하며, 사용자가 직접 검색해야 하는 정보 제한이 있다. 반면, 사족보행 로봇은 이러한 제약을 극복하고, 의료 및 물류 분야 등에서 이미 활용되고 있어 안내 로봇 분야에서도 큰 잠재력을 가지고 있다. 또한, 최근에는 OpenAI의 ChatGPT 같은 LLM을 이식한 챗봇이 주목받고 있으며, 이들 기술을 안내 로봇에 도입하면 공공장소나 상업시설에서 더 효율적인 안내 서비스가 가능해진다​​.

개발 과제의 목표 및 내용

이 프로젝트의 목표는 사족보행 로봇 GO1을 활용하여 학교 캠퍼스 투어 및 길 안내 서비스를 제공하는 것이다. 이 로봇은 음성인식 및 인공지능을 이용하여 사용자와 의사소통이 가능하도록 설계된다. 개발 내용으로는, Unitree사의 GO1 모델을 사용하여 기본 움직임과 장애물 회피 기능을 구현하고, 음성인식 및 자율주행을 위한 센서들을 부착한다. 필요한 경우 3D 프린터로 부품을 제작하며, 최종적으로 목표 기능을 탑재한 소프트웨어를 로봇에 이식해 특정 실험과 최종 시연을 진행할 예정이다​​.

관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • 전 세계적인 기술현황

LLM (Large Language Model)

국내 기술:

Maum AI: 한국어 처리 가능한 큰 언어 모델 개발 및 확장 계획. Naver Clova: 신경망 기반 기계 번역 모델 개발로 국내 언어 모델 기술 성숙도 향상.

국외 기술:

모델 자체 훈련 데이터 생성: 구글 연구자들이 개발한 자가 훈련을 통한 언어 모델 개선. ChatGPT와 Bard: 사용자 기반 확장 및 비즈니스에 새로운 가능성 제시. GPT-4: OpenAI의 모델로 인간 수준의 성능 및 복잡한 추론 이해, 고급 코딩 능력 등을 보유. 글로벌 건강 및 개발 솔루션 개발: Bill & Melinda Gates 재단의 AI 기반 큰 언어 모델 활용 연구. 비교: 국내는 주로 기업 중심의 언어 모델 개발에 집중, 해외는 연구 및 개발, 개방형 커뮤니티 및 국제 협력을 통한 언어 모델 발전에 초점​​.

안내로봇(Navigation)

국내 기술:

KIST: 실내 및 실외 환경에서 로둣 안내 시스템 연구. LG CNS: 지하철 역 및 공공 시설에서 로봇 안내 서비스 제공. GNSS, AI 내비게이션, SLAM 기술: 실외 길안내 로봇 개발에 기여.

국외 기술:

Waymo: 자율 주행 차량을 통한 안전한 길 안내 서비스 제공. Savioke의 Relay 로봇: 호텔 및 병원에서 활용되는 물건 배달 로봇. Rovenso의 범용 로봇: 다양한 응용 분야에서 활용 가능한 로봇 개발. 비교: 국내 안내로봇은 주로 실내 환경에서 사용되며, 해외 안내로봇은 다양한 환경에서 자율 주행 능력에 초점을 맞춤. 양측 모두 GNSS, AI 내비게이션, SLAM 등 핵심 기술 사용하여 로봇의 실외 길안내 기능 개발에 힘쓰고 있음​​.

  • 기술 로드맵
<Figure 1>기술 로드맵
  • 특허조사 및 특허 전략 분석
<Figure 2>특허 조사
<Figure 3>특허 전략


하드웨어 (H/W) 설계

통신: 사용자와 로봇 간의 효율적인 커뮤니케이션을 위해 마이크와 블루투스 모듈이 포함된 목걸이 사용.

센서: 2D LiDAR 센서로 로봇이 주변 물체를 인식 및 회피.

제어 시스템: 컨트롤러 PC가 로봇의 뇌 역할을 하며, 모든 처리 작업을 총괄.

전력 공급: 배터리 시스템이 장기간의 동력을 보장.

위치 추적: RTK GPS 모듈을 이용한 정밀한 위치 추적 및 최적 경로 결정​​.

소프트웨어 (S/W) 설계

자율주행: 장애물 회피, 경로 최적화, 거리 유지 기능 포함. GPS와 내장된 지도 데이터를 활용해 최적 경로 계산. 음성 AI: 사용자와 자연스러운 대화를 가능하게 하는 음성 인터페이스 제공. STT(Speech-to-Text) 기술과 LLM(Large Language Model)을 활용하여 사용자 요구 분류 및 적절한 반응 생성. 연속적인 개선: 소프트웨어 설계는 프로젝트 진행 과정에서 지속적으로 검토 및 개선됨​​. 로봇 자율주행

Global Planner: Dijkstra’s algorithm을 활용한 그래프기반 경로 탐색. GPS좌표에 기반한 경유점들을 활용해 global path 생성. Local Planner: DWA 로컬 플래너를 사용하여 장애물 회피 및 경로 생성. 위치 추정: RTK-GPS와 IMU 센서를 활용하여 로봇의 정확한 위치 추정 및 회전값 파악​​.

시장상황에 대한 분석

  • 경쟁제품 조사 비교
<Figure 4>경쟁제품 비교

클로이(LG 전자, 한국)

LG 전자에서 만든 실내 자율주행 로봇이다. 로봇 내에 장착된 상하단의 센서를 사용하여 장애물 감지와 자율주행이 가능하다. 대형 디스플레이가 장착되어 사용자에게 추가적인 서비스 제공도 가증하다. 또한 사용자가 목적지를 입력하면 목적지까지 동행해주는 기능 또한 제공한다.  

FURO(퓨처로봇, 한국)

비상 경보 알림 (화재 경보 시 길 안내), 음성 대화 및 시설안내, 그리고 자율 주행 서비스를 제공한다. 디스플레이가 달려있어 사용자에게 시각적인 정보도 전달이 가능하다. 로봇에 다양한 얼굴을 적용 가능해 상황에 맞게 효과적으로 사용자와 상호작용이 가능하다. 자율주행을 할 때 로봇이 스스로 주변환경을 인식하고, 장애물 회피, 그리고 사용자에게 희망 목적지 에스코트를 한다. (출처 : http://www.futurerobot.com/default/product/sub03.php)

SANBOT(Qihan, 중국)

지능형 클라우드 지원 서비스 로봇으로 교육, 백화점, 병원 등에서 다양하게 사용되고 있다. 클라우드를 통해 다수의 SANBOT을 한번에 관리가 가능하다. 터치 스크린을 내장하고 있어 사용자에게 컨텐츠나 관련 명령을 받을 수 있게 되어있다. 안드로이드 애플리케이션을 통해서 로봇을 조작할 수 있게 API를 제공하고 있다. 사람의 몸짓과 표정을 읽고 복잡한 음성 명령에 응답할 수 있다. (출처 : http://en.sanbot.com/)

PEPPER(SoftBank, 일본)

SoftBank에서 개발한 휴머노이드 로봇으로 시각, 청각, 촉각 센서를 통해 사람의 표정과 목소리 변화를 인식한 후 행동 양식을 결정하게 된다. 이를 바탕으로 백화점, 은행, 영화관 등에 방문하는 사람들에게 길을 안내하고, 사람과 소통할 수 있는 특징이 있다. 
  • 마케팅 전략 제시

안내 로봇이 속한 서비스 로봇 분야는 지속적으로 성장하고 있다. 아래 표는 국내와 해외의 안내 로봇 시장 동향에 대한 표이다. (단위 : 억 달러)

<Figure 5> 로봇 시장 동향

위의 표를 통해 서비스 로봇 분야는 지속적으로 성장하고, 2026년에 이르면 그 세계적인 시장규모는 1033억 달러에 이를 것으로 예상된다. 최근 선진국의 대다수 국가들은 노인 인구 증가, 고령화 그리고 인건비 상승으로 로봇으로 대체하려는 사회적인 압력이 증가하고, 인공지능과 로봇공학의 발전으로 상업화가 가능한 로봇들이 지속적으로 개발되고 있다. 이에 안내로봇을 포함한 서비스 로봇이 일상에서 더 자주 보이고, 소비할 것으로 예상된다.

  • swot분석
<Figure 6>SWOT분석
<Figure 7>SWOT분석2

개발과제의 기대효과

기술적 기대효과

사족보행 로봇의 이동능력 향상

사족보행 로봇의 기술적 발전은 로봇의 운용성, 보행 속도 및 하중 용량에 큰 영향을 미친다. 이러한 기술적 발전으로 인해 사족보행 로봇은 더 높은 운용성과 더 빠른 속도, 그리고 더 높은 하중 용량을 가질 수 있다 [a]. 특히, 센서 기술의 향상과 인공지능의 발전은 로봇이 더욱 정확하고 빠르게 환경을 인식하고 반응할 수 있게 만든다. 이는 로봇이 더 효율적으로 작동하고 더 다양한 작업을 수행할 수 있게 해, 실내외의 다양한 환경에서 움직일 수 있게 되어, 기존 바퀴형 로봇의 한계를 극복한다. 


음성 인식 및 자연어 처리 기술의 활용

음성 인식, 자연어 처리(NLP), 머신러닝 등의 기술이 발전함에 따라, 챗봇은 사용자의 질문을 더 정확하게 이해하고 더 적절한 답변을 제공할 수 있게 된다. 사용자의 선호도와 필요에 따라 맞춤형 서비스를 제공하는 등의 챗봇 기술의 발전이 예상된다. 또한, 더욱 진보된 데이터 분석과 머신 런닝 알고리즘의 도입은 챗봇이 더욱 개인화된 서비스를 제공하고 사용자의 만족도를 높일 수 있게 해줄 것이다. 따라서 사용자와의 효율적인 의사소통을 가능하게 하며, 원활한 질의응답 서비스를 제공한다. 

경제적, 사회적 기대 및 파급효과

경제적 파급효과
학교 홍보 효과 증대는 본 프로젝트의 중요한 기대효과 중 하나다. 사족보행 로봇과 음성 인식 기술의 도입은 학교의 현대적이고 기술적인 이미지를 강화하는 데 큰 역할을 할 것으로 예상된다. 특히, 이러한 신기술은 학교의 혁신적인 면모를 대외적으로 알릴 수 있는 효과적인 수단이 될 것이다. 로봇이 학교 캠퍼스를 안내하며, 방문객과 학생들에게 유익한 정보를 제공함으로써, 학교는 기술적 진보와 사용자 중심의 서비스를 통해 좋은 인상을 심어줄 수 있다. 또한, 이 프로젝트는 학교의 연구 및 개발 역량을 강조하며, 기술 혁신을 추구하는 학교의 정신을 반영한다. 이는 미래의 학생들, 교직원, 그리고 협력 기관들에게 학교의 긍정적인 이미지를 전달하며, 학교의 명성을 높이는 데 기여할 것이다. 

사회적 파급효과

사회적 기대효과는 이 프로젝트의 중요한 부분으로, 편의성 제공과 안전한 길 안내는 전체 학생과 방문객 대상으로 큰 이점을 제공한다. 편의성 제공은 캠퍼스 안내와 정보 제공을 통해 학교 생활을 더욱 쉽고 편리하게 만들어 준다. 학생들과 방문객은 로봇을 통해 신속하고 정확한 정보를 얻을 수 있어, 학교의 다양한 시설과 서비스를 이용하는 데 도움이 된다. 또한, 안전한 길 안내는 장애물 인식 및 회피 기능을 통해 학생들과 방문객이 캠퍼스를 더 안전하게 이동할 수 있게 돕는다. 이러한 기능은 학교의 서비스 품질을 높이고, 학교 커뮤니티의 만족도를 증가시키는 데 기여할 것이다.

기술개발 일정 및 추진체계

개발 일정

<Figure 8>개발 일정

구성원 및 추진체계

김영민 : 센서 및 시스템 통합 김영준 : 음성 인식 시스템 개발 박정현 : 로봇 제어 이용재 : 로봇 제어

설계

설계사양

제품의 요구사항

<Figure 9>제품 요구사항

설계 사양

목적 계통도

<Figure 10>목적 계통도
<Figure 11> 설계 사양

개념설계안

가. 음성 시스템

1) 입출력 장치 구성방식

<Figure 12>입출력 장치 구성방식
입출력 장치는 로봇의 제한된 적재 능력과 야외 환경이라는 점을 고려해 무선 마이크를 선택했다.

2) 음성 인식 (Speech to Text)

<Figure 13>음성 인식
가격 측면에서 무료이고 성능 또한 준수한 Google Speach Recognition을 선택했다.

3) 음성 합성 (Text to Speech)

<Figure 14>음성합성
Naver CLOVA Voice의 경우 월 9만원이라는 구독료가 존재하지만, 한국어 문장의 어조를 파악하여 자연스러운 발음을 출력해 사용자 만족도를 올릴 수 있다고 판단해 Naver CLOVA Voice를 선택했다.

4) Large Language Model

<Figure 15>Large Language Model
높은 이식성을 가지고 있어 어플리케이션에 손쉽게 통합이 가능하고, 유지 비용이 저렴한 OpenAI를 선택했다.

나. 자율주행 시스템

1) 장애물 인식 센서

<Figure 16>장애물 인식 센서
로봇 주위의 360도 측정이 가능하고, 깊이 오차율이 준수해 2D라이다를 선택했다.


2) 위치 인식 기술

<Figure 17>위치 인식 기술
다른 위치 인식 방식에 비해 높은 정확도를 가지는 RTK-GPS를 선택했다.


3) 사족보행로봇

<Figure 18>사족보행로봇
가격 대비 많은 종류의 센서가 탑재된 GO1 Air를 선택했다.

4) 사용자와의 거리측정 방식

<Figure 19>사용자와의 거리측정 방식
유지비용과 소비 전력이 적고, 어느 정도 정확성이 보장되는 Bluetooth Low Energy(BLE)방식을 사용했다.

다. 구체 설계안

1) 전체 시나리오

<Figure 20>전체 시나리오


2) ROS 구조도

<Figure 21>ROS 구조도

이루멍 로봇은 사용자에게 길 안내 서비스를 하기위해 자율주행 기능이 필요하다. 자율주행 알고리즘은 global planner와 local planner 2단계로 적용된다. global planner는 현재 로봇의 위치로부터 목적지까지의 전체 경로를 생성하는 역할을 한다. 전체 경로는 일련의 gps좌표들로 이루어지게 된다. 학교의 주요 목적지들과 갈림길들이 그래프로 형태로 저장되어 있고, Dijkstra’s 알고리즘을 사용하여 최단경로를 생성하게 된다. gps를 사용하여 로봇의 위치를 파악한다. 생성된 global path는 local planner에게 전달된다. local planner에서는 전달받은 global path를 추종하며, 장애물이 존재하면 이를 회피하며 이동하는 역할을 한다. gps를 통한 위치파악, 라이다센서를 이용하여 장애물을 감지등을 활용하여 동작하게 된다. robot state에서는 로봇의 현재 속도를 파악할 수 있다. local planner의 결과로써 로봇이 최종적으로 동작해야 하는 속도와 각속도를 얻을 수 있다.


3) 음성 AI 설계

i. 음성 안내 기능 개요

<Figure 22>음성AI 동작 시나리오

이루멍 로봇은 사용자와의 음성 기반 상호작용을 위해 두 가지 주요 기능을 수행한다. 첫째, '정적 기능'에서는 GPS 또는 블루투스 신호와 같은 이벤트를 감지할 때 미리 저장된 음성 파일을 재생하여 사용자에게 필요한 정보를 전달한다. 이 과정은 Robot Operating System(ROS) 토픽을 통해 다양한 센서 데이터와 통합되어 실행된다.

둘째, '동적 기능'은 마이크를 통해 지속적으로 사용자의 음성을 모니터링하여 호출명령어("안녕 이루멍")를 인식하고, 이를 통해 음성 챗봇이 활성화된다. 활성화된 후에는 사용자가 요구하는 작업(속도 조절, 목적지 설정, 학교 관련 질문 등)을 분석하고 이에 대응하여 적절한 ROS 메시지를 구성하거나, 질문에 대한 응답을 생성하기 위해 LLM으로 텍스트를 전송한다. 이루멍의 정적 기능은 학교 안내와 사용자와의 거리 조절을 제어하는 데 중점을 두고, 동적 기능은 사용자의 명령에 반응하여 대화를 이어가는 데 사용된다. 이루멍은 이 기능들을 통해 사용자에게 유용한 안내 서비스를 제공한다.


ii. LLM 모델링 파이프라인

<Figure 23>LLM 모델링 파이프라인

이루멍은 서울시립대학교 관련 지식을 통합한 대화형 언어 모델을 개발하여, 정확하고 신뢰할 수 있는 대학 캠퍼스 정보를 제공하기 위해 설계되었다. 이 과정에서 사용되는 Langchain 프레임워크는 언어 모델을 기반으로 한 애플리케이션 개발을 용이하게 하며, 특히 Word Embedding 기술을 통해 텍스트 데이터를 수치적 벡터로 변환, 의미론적인 정보를 딥러닝 모델이 이해할 수 있는 형태로 인코딩한다.

지식 통합 과정은 대규모의 텍스트 데이터를 처리하고 이를 벡터 데이터베이스에 저장함으로써, 쿼리가 발생할 때마다 관련 정보를 신속하게 검색하고 LLM에 제공한다. 이를 통해, 이루멍은 단순한 대화 생성이 아닌, 구체적인 데이터에 기반한 정보를 제공함으로써 사실과 다른 거짓 정보를 생성하는 환각 현상(Hallucination)을 방지하고 사용자에게 실질적인 가치를 제공한다.

이러한 시스템은 서울시립대학교의 공식 문서와 데이터를 학습 자료로 사용하여, 이루멍이 사용자로부터 속도 조절, 목적지 설정, 학교 관련 질문 등의 쿼리를 받았을 때, 정확한 정보를 기반으로 응답할 수 있도록 한다. 이루멍의 LLM은 사용자의 쿼리를 분석하고, 벡터 데이터베이스에서 추출한 관련 문서의 정보와 결합하여, 사용자의 질문에 대한 구체적이고 정확한 답변을 생성한다.

결과적으로, 이루멍은 서울시립대학교의 캠퍼스 정보와 서비스를 정확하게 안내하는 역할을 하며, 사용자의 질문에 대해 검증된 데이터를 바탕으로 답변을 제공한다. 이로써 사용자들은 필요한 정보를 더 빠르고 쉽게 얻을 수 있다.

상세설계 내용

가. H/W 설계안

<Figure 24>하드웨어설계안

본 프로젝트의 하드웨어 구성은 사용자와 로봇 간의 효율적인 커뮤니케이션과 정밀한 환경 인식을 목표로 구축되었다. 사용자는 통합된 마이크와 블루투스 모듈이 포함된 편안하고 실용적인 목걸이를 착용하게 되는데, 이 장치는 사용자의 명령을 실시간으로 로봇에 전달하고, 로봇과의 원활한 양방향 통신을 보장한다. 로봇의 등 위에는 몇 가지 주요 하드웨어들을 적재하여 고정하는 방식을 사용하였다.

2D LiDAR 센서는 로봇이 주변의 물체들을 인식하고 이를 효과적으로 회피하는 데 필수적인 역할을 한다. 스피커는 로봇이 사용자에게 음성으로 정보를 전달하며, 상호작용의 자연스러움을 강화한다. 컨트롤러 PC는 로봇의 뇌 역할을 하여 모든 처리 작업을 총괄하고, 복잡한 명령을 신속하게 수행한다. 배터리 시스템은 안정적이고 장기간의 동력 공급을 보장하여 로봇이 장시간 작업을 수행할 수 있도록 한다. 추가적인 블루투스 모듈은 사용자의 목걸이와 로봇 간의 단거리 통신을 담당하며, 데이터 전송의 신뢰성과 속도를 높인다. 마지막으로, RTK GPS 모듈은 정밀한 위치 추적 기능을 제공하여, 로봇이 캠퍼스 내에서의 위치를 정확하게 파악하고 최적의 경로를 결정하게 한다. 이러한 디바이스들을 통해 로봇은 캠퍼스 환경에서 다양한 작업을 수행할 수 있는 기반이 된다.

나.S/W 설계안
<Figure 25>소프트웨어설계안

본 프로젝트의 자율주행 로봇 '이루멍'은 두가지 주요 시스템이 있고 각 기능을 위한 소프트웨어 설계가 동반된다(그림 2 참고). 자율주행을 위해서는 장애물 회피, 경로 최적화 그리고 거리 유지 기능이 존재한다. 장애물 회피능력을 위해 로봇은 다양한 센서를 활용하여 주변 환경을 정밀하게 감지한다. 이 센서들은 로봇이 계단, 불규칙한 지형 등을 인식하고 이를 효율적으로 회피할 수 있도록 정보를 제공한다. 경로 최적화 기능 역시 로봇의 핵심적인 기능으로, GPS와 내장된 지도 데이터를 기반으로 로봇의 현재 위치와 목적지 사이의 최적 경로를 실시간으로 계산한다. 이는 로봇이 임무 수행 중 발생할 수 있는 예측 불가능한 변수에 대처하고, 효율적인 경로 수정을 가능하게 하여 에너지 소비를 최소화하고 운영 시간을 극대화한다. 거리 유지 기능은 로봇이 사용자와의 안전한 거리를 유지하며 동행하도록 한다. 이 기능은 로봇이 사용자를 안내하는 동안 특히 중요하며, 블루투스와 같은 통신 모듈을 통해 사용자와 로봇 사이의 거리를 지속적으로 측정하고 조정한다.

두번째 시스템인 음성 AI는 사용자와의 상호작용을 하는 기능으로서, 사용자와 로봇 간의 자연스러운 대화를 가능하게 하는 음성 인터페이스를 제공한다. 이 인터페이스는 인식된 음성 명령을 텍스트로 변환하고 이를 로봇의 작동 명령으로 전환하는 과정을 포함하며, 사용자의 질문에 대한 응답을 생성하여 음성으로 전달한다. 이 모든 기능들은 통합적으로 작동하여 사용자에게 직관적이고 편리한 상호작용을 제공하며, 이는 본 프로젝트의 진행 과정에서 지속적으로 검토하고 개선해온 부분이다. 이러한 세심한 설계와 개발을 통해 '이루멍'은 서울시립대학교 캠퍼스 내에서 학생 및 방문객에게 신뢰할 수 있는 안내 서비스를 제공할 것이다.

이론적 계산 및 시뮬레이션

시뮬레이션은 ROS통신을 활용한 GAZEBO simulator를 사용하였으며, 알고리즘 구현의 정확성을 테스트하였다. 실제 학교의 중앙로와 유사하게 맵을 구성하였고 위 환경에서 로봇의 자율주행 성능을 테스트하였다. 목표위치를 주었을 때 제작한 global_planner가 정상적으로 동작하는 것을 확인할 수 있었다. 또한, local_planner에서 장애물을 인식하고 미리 지정해놓은 속도 임계값을 지키며 회피하고 주행하는 것을 확인할 수 있었다.

  • RSSI

RSSI는 무선 통신 단말기의 수신에서 측정된 수신 신호의 전력 값으로, 단위는 dBm로 대부분 음의 값을 가진다. 거리가 가까울수록 RSSI가 커지고, 거리가 멀수록 작은 값을 나타낸다. 아래 식은 RSSI와 실제 거리 사이의 관계식이다.

<Figure 26>RSSI 수식

해당 식에서 d는 거리를 의미하고, α는 1m 거리에서 측정된 RSSI 값이다. N은 장애물 등과 같은 전파 환경에 따라 설정이 가능하고, 일반적으로 2~4의 값을 가진다

  • 칼만 필터

칼만 필터는 잡음이 포함되어 있는 센서의 측정치에서 선형 역학계의 상태를 추정하는 재귀 필터이다. 칼만 필터 알고리즘은 예측과 업데이트 두 단계로 이뤄진다. 예측 단계에서는 현재 상태 변수의 값과 정확도를 예측한다. 업데이트 단계에서는 이전에 추정한 상태 변수를 기반으로 예측한 측정치와 실제 측정치를 반영해 현재의 상태 변수를 업데이트한다.

<Figure 27>칼만필터
  • 칼만 필터 적용 전
<Figure 28>칼만 필터 적용 전 RSSI 데이터


  • 칼만 필터 적용 후
<Figure 29>칼만 필터 적용 후 RSSI 데이터

조립도

<Figure 30>부품목록
  • 조립 후 사진
<Figure 31>하드웨어 고정부 센서 부착 전, 후

과학상자 내의 부품들과 PCB_서포터를 이용해 탁자 형식의 구조물을 GO1 로봇 위에 설치한다. 하단에는 NUC을 중간에는 GPS 및 아두이노를 위치시킨다. 상단에는 GPS 안테나를 위치시킨다. GO1의 목 부분에는 스피커를 위치시킨다. 블루투스 마이크로 입력된 음성 정보를 보내줄 장치는 NUC에 부착하고 마이크는 사용자가 들게하여 쉽게 음성을 입력할 수 있도록 한다.

제어부 및 회로설계

<Figure 32>아두이노와 블루투스 모듈 회로도

블루투스 모듈과 아두이노는 위의 회로와 같이 연결이 된다. 블루투스 모듈인 HM-10에서 VCC와 GND는 아두이노의 VCC와 GND에 연결을 하고, HM-10의 TXD와 RXD는 각각 아두이노의 2번과 3번 포트에 연결을 했다.


<Figure 33>GO1 내부 제어기와 NUC의 통신구조

GO1내부구조는 라즈베리파이, Jetson Nano, Jetson Xavier등의 다른 다수의 제어들이 이더넷으로 연결되어 구성된다. 라즈베리 파이는 다른 제어기들과의 통신을 주로 담당하고, GO1에서는 부분적으로 ROS통신을 제공하는데, 이때 ROS Master의 IP가 된다. 다른 노드들은 라즈베리파이의 IP를 ROS Master로 설정하여 ROS 원격 통신을 할 수 있다. Jetson Xavier에서는 로봇의 모터 제어에 관한 작업을 수행한다. Unitree legged real 패키지를 통해 ROS로 로봇에게 속도 명령을 전달한다. Jetson Nano에서는 GO1머리부분의 LED를 제어할 수 있다.

개발한 소프트웨어 대부분은 go1외부에 추가로 장착하는 미니 pc인 NUC에서 동작한다. NUC에서는 라이다, GPS, 아두이노, 인터넷 연결을 위한 핸드폰 핫스팟과 연결되어 센서 값을 받고, 음성 AI와 자율주행 기능의 결과를 통해 로봇의 속도와 각속도를 최종적으로 계산하여 Jetson Xavier로 내보내어 로봇을 동작시킨다.

소프트웨어 최종 설계

가. 음성AI

<Figure 34>최종 음성 AI 프로세스

음성 AI 챕터에서 소개하는 그림 8은 본 프로젝트의 핵심 요소인 이벤트 트리거 프로세스와 동적 상호작용 프로세스를 나타낸다. 이벤트 트리거 프로세스는 GPS 콜백을 기반으로 작동한다. 이 시스템은 로봇이 특정 건물 위치에 도달했을 때, 해당 건물에 대한 사전 녹음된 설명을 자동으로 재생하는 기능을 포함한다. 또한, 사용자와 로봇 사이의 거리가 일정 기준을 벗어날 경우 경고 메시지를 재생하여 안전 유지를 도모한다. 이러한 프로세스는 로봇이 캠퍼스 내에서 자율적으로 활동하는 동안 필요한 정보를 제공하고 사용자의 안전을 확보하는데 중요한 역할을 한다. 동적 상호작용 프로세스는 사용자의 호출 명령어를 인식하고, 이를 기반으로 1) 속도 조절, 2) 목적지 설정, 3) 학교 관련 질문 등 세 가지 주요 작업으로 분류하여 수행한다. 이 과정에서 음성 AI는 사용자의 명령을 신속하고 정확하게 분석하고, 해당하는 작업을 적절히 실행한다. 이 프로세스는 사용자와 로봇 간의 상호작용을 더욱 풍부하고 유연하게 만들어, 사용자의 경험을 향상시키는데 기여한다. 이 그림과 설명은 로봇이 어떻게 다양한 상황에 대응하고, 사용자와의 상호작용을 자연스럽게 유지하는지를 명확하게 보여주는 중요한 자료이다.

음성 인식의 첫 단계인 STT(Speech-to-Text)는 사용자의 음성 명령을 텍스트로 변환하는 중요한 역할을 한다. 이 시스템은 마이크를 통해 사용자의 음성을 지속적으로 수집하며, 특히 '안녕 이루멍' 혹은 'Hello 이루멍'과 같은 호출 명령어를 반복적으로 탐지한다. 이 과정에서 Google의 Text-to-Speech 기술을 활용하여 높은 정확도와 신속한 응답을 보장한다. 사용자가 호출 명령어를 말하면, 로봇은 이를 인식하고 '무엇을 도와드릴까요?'라는 음성 응답을 제공한다. 이후, 로봇은 사용자의 추가 질문이나 명령을 기다린다.

사용자가 제시하는 요구는 주로 속도 조절, 목적지 안내, 학교 관련 질문 3가지로 나뉜다. STT 시스템은 이러한 사용자의 요구를 정확히 분류해야 하지만, 자연어 처리는 코딩을 통한 조건문 분류만으로는 한계가 있다. 이를 해결하기 위해, LLM(Large Language Model)을 활용한다. 본 프로젝트에서는 OpenAI가 제공하는 ChatGPT 3.5 Turbo 모델을 API로 사용하여, 다양한 사용자 요구를 효과적으로 분류하고 적절한 반응을 생성한다. 특히, 시립대학교 관련 문서로 사전 학습된 LLM 모델은 학교 관련 질문에 대한 높은 정확도를 제공한다.

분류된 텍스트는 로봇의 각 기능에 맞는 프로세스로 전환된다. 예를 들어, 속도 조절이나 목적지 안내 요청이 있을 경우, 이러한 요구는 ROS 토픽으로 전송되어 로봇이 실시간으로 반응할 수 있도록 한다. 또한, 학교 관련 질문에 대해서는 해당 질문을 LLM 모델에 전달하고, 모델은 질문에 대한 답변을 생성한다. 이 답변은 TTS(Text-to-Speech) 과정을 거쳐 음성으로 변환되고, 스피커를 통해 사용자에게 전달된다. 이러한 과정을 통해 로봇은 사용자의 다양한 요구에 신속하고 정확하게 대응할 수 있으며, 사용자에게 만족스러운 경험을 제공한다.


나. 로봇 자율주행 1) 자율주행구조


<Figure 35>ROS navigation stack 구조도

로봇의 자율주행을 위해 ros_navigation 패키지를 변형하거나 일부 직접 개발한 알고리즘으로 대체하여 활용하였다. 기존의 Navigation은 로봇이 모터의 엔코터 값으로부터 역산한 변위인 오도메트리(odometry), 각 링크간의 상대 위치인 상대위치변환(tfMessage), 거리 센서(sensor topics), 지도(map), 목적 좌표(move_base), 속도 명령(cmd_vel) 절차로 이루어진다. 하지만 사족 보행의 특성상 보통의 바퀴형 로봇에서 얻을 수 있었던 오도메트리를 얻기 힘들다. 그리고 기존의 실내로봇은 라이다 등의 센서로 SLAM으로 작성한 map에서 오도메트리와 amcl을 통해 자신의 위치를 추정하지만, 이번 프로젝트에서는 실외에서 정확한 위치를 GPS와 IMU를 통해서 얻을 수 있기 때문에, 이부분을 변경해야 한다. 그리고, 기존의 global planner는 SLAM에서 작성한 map에서 경로를 찾지만, 이번에는 map이 없기 때문에 새로운 Global Planner를 작성해야 한다.

2) 글로벌 플래너

a) 경유점(waypoint) 가공

<Figure 36>중복된 점 제거 전, 후
<Figure 37>보간 전, 후

경유점을 얻기 위해서 GPS 안테나를 들고 학교캠퍼스를 이동하며 좌표들을 기록한다. 기록한 좌표값들은 간격이 일정하지 않고, 매끄럽지 않기 때문에, 가공이 필요하다. 따라서 같은 지점에 중복된 점들을 제거한 뒤, 다항식 보간법을 사용하여 일정한 간격으로 나누었다.


b) 경유점 edge매칭


<Figure 38>학교 중앙로의 경유점

각 엣지에 대응될 수 있도록 경유점들을 구간별로 분리한다. 노드에 A1, X3,,등 고유한 이름을 부여하고 엣지의 이름은 연결하는 노드들을 나열하여 부여했다. 예를 들면, wA1A2는 노드 A1과 A2를 연결하는 엣지이다.

c) Dijkstra’s algorithm을 활용한 global planner


<Figure 39>Global planner flow chart

Global planner의 동작 방식은 다음과 같다. 첫번째로 목표 노드가 입력을 받으면, 로봇현재 위치에 대응되는 임시 노드를 추가한다. 그리고 가장 가까운 엣지를 찾고, 현재 위치와 엣지간을 잇는 임시 엣지와 임시 노드를 추가한다. 그 다음 현재 노드에서 목표노드까지 Dijkstra's algorithm을 통해 노드상에서의 경로를 계산한다. 계산된 노드들 경로는 엣지들의 나열로 볼 수 있는데, 엣지와 대응된 경유점등을 하나로 이어 global path를 완성한다. 그리고 처음 추가한 임시 노드들과 엣지들을 삭제하여 초기 상태로 돌아온다.


<Figure 40>Global planner동작 예시

위 사진은 실제 학교의 중앙로를 중심으로 global planner를 제작하고 경로를 생성했을 때이다. 로봇의 현재 위치부터 경로가 생성되 었으며, 목표지점으로 입력한 창의공학관까지 경로를 생성하였다.

3) 로컬 플래너

<Figure 41>DWA 로컬 플래너

로컬 플래너로는 ROS 패키지 move_base에서 제공하는 DWA 로컬 플래너를 사용하였다. 위 사진은 DWA를 도식화한 그림이다. 그림과 같이 로봇은 현재 위치를 기준으로 X, Y방향의 속도와 각속도의 최대, 최소값을 샘플링하여 가능한 모든 조합을 생성한 후 장애물 정보를 이용해 장애물에 부딧히지 않는 경로를 생성한다. 이때, 로봇에게 주어지는 파라미터는 속도, 가속도의 최대, 최솟값 뿐만 아니라 경로를 얼마나 잘 따라갈지, 목표점 도착 시 목표 지점에서 얼마나 떨어져도 되는지 등 다양하다. 속도의 최대값은 Y축으로는 0으로 설정하였으며, X축으로는 사람이 걸을 때의 평균 속도인 1.3m/s로 설정하였다. 또한, 목표지점에서의 거리 차이는 초기에 목표 삼았던 1m까지 가능하도록 설정하였다. 나머지 파라미터들은 실험을 진행하며 최적의 파라미터로 설정하였다.

4) 위치 추정

<Figure 42>RTK-GPS 동작 예시

Move_base동작 시 로봇의 위치를 파악하기 위해서 RTK-GPS를 사용하였다. RTK-GPS는 위 사진과 같이 실시간으로 GNSS(Global Navigation Satellite System) 관측 값으로 오차를 보정하여 추정하기 때문에 위치 정확도가 높다. GPS로 얻은 값은 위도, 경도로 표현되기 때문에 이를 평면 좌표계로 변환하고자 UTM52 좌표계로 변환하였다. 하지만 GPS 하나만으로는 로봇이 얼마나 회전하였는지 모르기 때문에 로봇에 내장된 IMU 센서를 사용해 회전값을 파악하였다. 이때, 내장된 IMU 센서는 로봇을 처음 실행시켰을 때 0도로 초기화 되기 때문에 일정거리를 움직여 초기 위치와 나중 위치에서의 GPS의 X, Y의 차이를 보고 IMU값을 캘리브레이션 하였다.

통합

1) 통합 시나리오


<Figure 43>통합시나리오 시퀀스 다이어그램

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

<Figure 44>안내봇 이루멍 프로토타입

포스터

<Figure 45>포스터

관련사업비 내역서

<Figure 46>관리사업비

완료작품의 평가

<Figure 47>완료작품평가

향후계획

먼저 음성 AI 부분에 있어서 로봇에 국한하지 않고 모바일이나 웹사이트에서도 학교 정보를 알려줄 수 있는 시스템을 만들고 싶다. 길안내 로봇은 직접 학교에 와야만 학교에 대해 물어볼 수 있다는 한계가 존재한다. 따라서 이를 보안하여 인터넷 사이트나 모바일 기기를 이용해서도 쉽게 학교 정보를 얻을 수 있도록 하고 싶다.

두번째로 자율주행 부분에 있어서는 길 안내 범위를 넓힐 것이다. 계단을 이용하고 도로를 가로지르는 등 다양한 센서들을 활용해 범용성을 더 넓히고 싶다. 그리고 메인 PC에 전력이 공급될 때 보조배터리를 이용해 전류가 부족하여 실행 도중 꺼지는 현상이 발생했는데 이를 보완하여 많은 시간 이용 가능하도록 만들 것이다. 마지막으로 블루투스를 이용한 사용자와의 거리인식을 좀 더 보완하여 실시간성을 가지도록 할 것이다. 블루투스의 값이 정확하지 않아 업데이트 주기를 늦춰 사용자와의 거리가 멀어져도 늦게 반응하였는데 이를 보완해 빠른 반응을 할 수 있도록 할 것이다.

특허 출원 내용

<Figure 48>특허