희희
프로젝트 개요
기술개발 과제
국문 : Ohmnilabs의 telebot을 활용한 VR을 사용한 전시회 관람 로봇
영문 : A robot for watching a exhibition via VR using Ohmnilabs' telebot
과제 팀명
희희
지도교수
김성환 교수님
개발기간
2018년 3월 ~ 2018년 6월 (총 4개월)
구성원 소개
서울시립대학교 수학과 2013540003 권형구(팀장)
서울시립대학교 컴퓨터과학부 2014920029 위세라
서울시립대학교 컴퓨터과학부 2014920053 조영서
서론
개발 과제의 개요
개발 과제 요약
하루가 다르게 변해가는 세상을 살아가는 바쁜 현대인들은 시간적 또는 공간적인 제약으로 인해 관람하고자하는 전시회 또는 박람회에 참석하지 못하는 경우가 많습니다. 이러한 시공간적인 제약을 최소화 시킬 수 있는 방안을 모색하던 중에 전시회 박람 로봇을 제작하게 되었습니다. 사용자는 로봇을 원하는 장소에 보낸 후에 웹 사이트를 이용해서 ‘지도 제작’을 로봇에게 요청합니다. 로봇은 웹 서버로부터 요청을 받은 후 실시간으로 현장을 촬영하기 시작합니다. 사용자는 자신의 컴퓨터를 이용해서 현장의 상황과 지도 제작 과정을 확인할 수 있습니다. 또한 서버로부터 받은 위치 정보를 기반으로 로봇은 스스로 장애물을 피해 이동합니다. 로봇이 지도 제작을 완료한 후 사용자는 VR기기를 통해서 촬영된 지도를 확인할 수 있습니다.
개발 과제의 배경
- 교통이 좋지 않거나 시간이 없어 국내외에서 열리는 전시회 또는 박람회에 참가하지 못하는 경우가 있다.
- 어떤 전시회는 참석하지 않으면 정보의 격차를 발생시켜 개인이나 단체에 손실을 불러올 수 있다.
- 특히 국내라고 하더라도 교통 오지에 거주하는 경우 전시회가 열리는 큰 도시로 이동하는 데 막대한 비용이 발생하기 때문에 손실을 감수해야만 하는 경우도 있다.
- 전시회 관람 로봇을 활용하면 여러 사람들이 먼 곳에서도 전시회를 즐기고 배울 수 있다.
- 국내외 어느 곳이든 체험할 수 있어 환경의 제약을 벗어날 수 있게 해준다.
개발 과제의 목표 및 내용
◇ SLAM 기법을 이용하여 로봇이 스스로 지도를 만들고 자신의 위치를 특정할 수 있게 한다. - 라즈베리파이와 카메라 파이를 이용해 360도 주변 모습을 캡쳐한다. - 라즈베리파이에서UV4L 모듈을 사용해 실시간 영상 스트리밍 서버를 구축한다. - 컴퓨터에서 SLAM연산을 수행하여 지도를 제작하고 로봇의 위치정보를 다시 로봇에게 전송해준다. ◇ VR기기를 이용해 로봇을 움직이며 전시회를 관람한다. - HMD를 이용해 로봇이 전송해주는 이미지를 관람한다. - 키보드 혹은 HMD의 조종 방식을 통해 로봇을 움직인다. - 바뀐 위치를 제작된 지도에 업데이트한다. - 위와 같은 방식을 반복하며 전시회를 관람한다.
관련 기술의 현황
관련 기술의 현황 및 분석(State of art)
*전 세계적인 기술현황 ◇ SLAM - 2016년 10월, 구글에서 2D 지도 뿐만 아니라 3D지도 또한 제작할 수 있는 '카토그래퍼'라는 SLAM기술을 오픈소스로 공개하였다. - 최근 ‘ㅅ’사의 로봇청소기는 SLAM 알고리즘을 이용해 그동안 청소하지 못했던 위치에 대한 인식 및 측정, 청소 등을 수행하고 청소에 대한 경과 및 결과를 사용자에게 알려주는 기능을 탑재하여 출시되었다. - 자동차 산업에서도 네비게이션, 자율 주행 등 SLAM 알고리즘을 접목시켜 진행되는 프로젝트가 꾸준히 늘어나고 있다. - github 등 오픈소스 커뮤니티에 다양한 SLAM Project들이 올라있다. ◇ 영상 stitching - 스마트폰의 파노라마 촬영 기능에 이용되고 있다. - 미스티카VR 등 저렴한 가격으로 쉽게 Stitching 기술을 사용할 수 있는 소프트웨어들이 공개되어있다.
*특허조사 및 특허 전략 분석 ◇ 천정의 반복 무늬와 화소이동벡터를 이용한 로봇의 위치 및 방향 계산 - 2012년 5월 등록되었다. - 천정에 반복되는 무늬가 있는 경우 각 지점으로부터의 거리를 계산하여 로봇의 위치와 방향을 계산하는 방법이다.-
◇ 특징점을 이용한 영역 구분 방법 및 장치와 이를 이용한 이동 청소 로봇 - 2007년 12월 등록되었다. - 삼성전자주식회사에서 출원한 특허로 특징점을 이용한 영역 구분 방법 및 장치와 이를 이용한 이동 청소 로봇. - 특징점을 이용한 영역 구분 방법은 장애물과의 거리를 감지하여 얻은 다수의 격자점을 이용하여 그리드 맵을 생성하는 단계, 그리드 맵으로부터 특징점을 추출하는 단계, 특징점 중에서 영역구분요소의 거리범위에 포함되는 후보 특징점 쌍을 추출하는 단계, 후보 특징점 쌍 중에서 영역구분요소의 요건을 만족하는 최종 특징점 쌍을 추출하는 단계, 최종 특징점 쌍을 이어 임계선을 생성하는 단계 및 임계선과 그리드 맵을 이은 폐곡선으로 만들어진 영역들 사이의 크기 관계에 따라 최종영역을 생성하는 단계를 포함한다.-
◇ 단일 카메라를 이용한 입력 비디오영상에서 3차원 공간정보추출 시스템 - 2008년 8월에 출원되었다. - 본 발명은 단일 카메라로 입력되는 비디오(동영상)에서 3차원 공간정보를 추출하는 알고리즘으로서, 상세하게는 입력영상을 확장 칼만 필터(Extended Kalman Filter) 알고리즘을 이용하여 특징점(Feature Point)를 인식하고, 그 인식된 특징점의 3차원 공간상의 위치를 추적하는 소프트웨어 및 알고리즘에 관한 것이다.
*기술 로드맵
시장상황에 대한 분석
- 경쟁제품 조사 비교
◇ FOVE HUG Project - HMD착용자가 더 현실감을 느낄 수 있도록 눈 위치에 해당하는 2개의 렌즈를 부착했으나 로봇은 거의 정지된 상태에서 바라보게 설계되어있다. 또 해당 위치에 대한 지도를 제공해주지는 않는다. 로봇의 시야전환에 따라 HMD착용자의 시야가 전환되므로 VR영상에 다소 지연이 있을 것으로 생각된다.
- 마케팅 전략 제시
강점(Strength) | 약점(Weakness) | |
---|---|---|
1 | 1. 웹 기반 기술로 인터넷에 연결할 수만 있으면 공간에 제약을 받지 않음
2. SLAM기술의 적용으로 공간 독립적으로 운영할 수 있음 |
1. 소수의 Pi camera에 stitching 기술을 적용시켜 영상의 선명도가 낮음
2. 평면 영상 전송으로 인한 입체감 저하 |
기회(Opportunity) | SO 전략 | WO 전략 |
1. 비슷한 기능을 수행하는 로봇이나 상품의 부재
2. 전시회에 참석할 시간, 환경적 여건이 없어서 참석하지 못하는 사례가 많아 높은 수요가 예상됨 |
- 전시회의 홍보와 함께 로봇의 운영을 알림으로써 VR 관람객 확보
- 누구나 어디서든 손쉽게 사용 가능하다는 점을 강조 |
- 카메라 교체나 VR 영상 송출방식의 간단한 변경 등으로 성능을 향상시킬 수 있음을 강조
- 높은 수요량에 비해 낮은 공급량을 강조하여 홍보 |
위협(Threat) | ST 전략 | WT 전략 |
1. 전시회 측의 로봇 운영 거부 가능성
2. 관람객 등으로 인한 로봇의 파손이나 충돌, 사고 가능성 |
- SLAM 기술로 전시회 벽면 등과 충돌할 가능성이 적음을 강조
- 로봇의 전시회 관람만 별도로 허용되는 시간을 만드는 등의 노력을 통해 관람객과의 충돌 가능성을 낮춤 |
- 기기 부품의 변경으로 간단히 성능을 향상시킬 수 있음을 강조
- 입체 영상을 전송하도록 하여 로봇 조작 중 충돌 가능성을 낮춤 |
개발과제의 기대효과
기술적 기대효과
◇VR기술의 향상 - VR관객의 증대로 영상 송 수신 기술이 보다 중요하게 다뤄질 것이다. 또 VR기술로 사회적 불평등을 해소하려는 움직임이 늘어날 것이며 그에 따라 현재보다 다양한 방향으로 VR기술이 발전할 것이다. ◇Stitching 기술의 향상 - 영상의 품질을 결정하는 것이 Stitching 기술이 됨에 따라 보다 선명하고 이질감 없는 영상을 제공하기 위해 관련 디스플레이 성능이나 기술이 향상될 것이다.
경제적, 사회적 기대 및 파급효과
사회적 파급효과 - 보다 많은 사람들이 전시회를 경험할 수 있을 것이다. - 전시회가 자주 열리는 도시에 가지 않아도 전시회를 경험할 수 있게 됨으로써 도시와 농촌간의 문화적 격차를 해소할 수 있을 것이다. - 환경의 제약을 받지 않고 사람들이 참여하게 되어 전시회의 가치가 보다 정확히 평가될 수 있다. - 신체적 장애, 정신 질환 등의 이유로 외출을 꺼려하는 사람들에게도 전시회 관람 기회를 동등하게 제공함으로써 문화적 격차를 줄일 수 있을 것이다.
경제적 파급효과 - 이촌향도 현상을 일부 해소할 수 있다. - 전시회에 참여할 수 있는 방법이 다양해짐으로 전시회 운영비를 더 많이 얻을 수 있을 것이며 향후 전시회에 긍정적인 영향을 끼칠 것이다. - 시공간적 제약을 받지않고 다양한 전시회를 관람하는 것이 가능해지기 때문에 교통비는 절감할 수 있을 것이다. - 학교나 기타 단체에서 체험학습으로 전시회장을 직접 가는 것 대신에 VR기기로 간접체험하는 형태의 관람이 보편화 되면서 VR기기 구매율이 증가할 것이다.
기술개발 일정 및 추진체계
개발 일정
단계별 세부개발 내용 | 담당자 | 개발기간 (월단위) | 비고 | |||
---|---|---|---|---|---|---|
3 | 4 | 5 | 6 | |||
개념 설계 및 주제 선정 | 권형구 | |||||
라즈베리 파이와 파이카메라의 설치와 실시간 영상 스트리밍 | 위세라 | |||||
SLAM기법을 이용한 지도 제작과 위치 특정 | 조영서 | |||||
camera calibration을 통한 SLAM정확도 향상 | 전원 | |||||
테스트 및 상용화 | 전원 |
구성원 및 추진체계
권형구 - 주제 선정 및 개념설계를 한다. 라즈베리 파이와 파이카메라를 로봇에 설치하며 촬영된 영상을 실시간으로 전송할 수 있게 한다. 위세라 - 실시간 영상으로 SLAM 연산을 수행하여 전시회장의 지도를 제작하고 로봇의 위치를 특정 지을 수 있게 한다. 조영서 - 파이 카메라에 camera calibration을 하여 내부 요인들을 구한다. 이를 SLAM에 적용하여 initializaion 시간을 단축시키고 정확도를 향상시킨다.
설계
설계사양
제품의 요구사항
번호 | 요구사항 | D | 대 |
2 | 사용자가 웹 사이트를 통해서 로봇에게 지도 제작 명령을 내릴 수 있다. | D | 대 |
3 | 로봇이 장애물을 피해 스스로 주행할 수 있다. | D | 중 |
4 | 로봇이 지도를 제작할 수 있다. | D | 대 |
5 | 사용자가 지도 제작 과정을 실시간으로 확인할 수 있다. | D | 중 |
6 | 사용자가 VR 기기를 사용하여 로봇이 만든 지도를 볼 수 있다. | W | 소 |
목적계통도
평가 내용
1. 로봇이 실시간으로 촬영을 할 수 있는가? 2. 로봇이 장애물을 피해서 스스로 주행할 수 있는가? 3. 로봇이 지도를 제작할 수 있는가? 4. 사용자가 지도 제작 과정을 실시간으로 확인이 가능한가? 5. 사용자가 VR 기기를 사용하여 로봇이 만든 지도를 볼 수 있는가?
개념설계안
SLAM - 전송된 이미지들에서 특징점들을 추출하여 기록, 이를 비교하며 지도를 제작하고 이를 바탕으로 로봇 또는 드론 등의 위치를 파악해내는 기술이다. 입력 값으로 이미지 파일을, 출력 값으로 예상되는 개체의 위치를 갖는다. Web Server - 사용자로부터 이동명령을 입력 받아 Ohmnilabs telebot에게 명령을 전달, 로봇을 움직이고 Raspberry Pi로부터 사진을 전송 받는다. 전송 받은 이미지를 SLAM을 통해 연산하여 로봇의 위치를 계산한다. 여러 기계들이 서로 연결되는 hub역할을 한다. - SLAM은 ORB SLAM2 라이브러리를 사용하고, HTTP 프로토콜을 사용하여 실시간 영상 스트리밍 서버에 접속하고 로봇을 조종할 때도 웹 페이지를 이용한다. Web Client Page - 실시간으로 사용자에게 입력을 받아서 동작을 수행하는 테스트 페이지와 사용자가 동작을 명령하는 조작 페이지, OhmniLabs에서 제공해준 API를 이용하여 로봇에게 명령을 요청하는 명령 페이지로 구성되어있다. - 조작 페이지에서 서버에 명령을 요청하면 서버에서는 명령 queue에 명령을 저장해둔다. 명령 페이지에서는 서버에 연속적으로 요청을 보내고 서버는 만일 명령 queue에 들어온 명령이 있다면 사용자가 요청한 명령을 명령 페이지에 전송해주고 없다면 null 값을 보내준다. 명령 페이지에서는 요청받은 명령에 따라서 미리 작성해 놓은 함수를 실행한다. Raspberry Pi & Pi Camera - Ohmnilabs에서 카메라 관련 API를 제공해주지 않는 관계로 로봇에 라즈베리파이와 파이카메라를 부착해서 사진 및 영상 촬영을 수행한다. - SLAM 연산을 실시간으로 수행하기 위해서 라즈베리파이를 이용해 실시간 영상 스트리밍 서버를 구축한다. - Raspberry Pi 3 model B를 사용했다. Ohmnilabs telebot - PVT Black 모델을 사용하며 웹 페이지를 열어서 로봇 동작을 수행할 수 있는 전용 어플리케이션과 브라우저를 갖고 있다. 전, 후, 시계방향 회전, 반시계방향 회전, 음성 출력, 화면 각도 조정 등의 기능을 수행할 수 있으며 이동 속도, 회전 속도 등 또한 조정할 수 있다.
상세설계 내용
조립도
조립 순서
1. Raspberry Pi와 Pi Camera를 연결 2. PVT Black의 상단에 Pi Camera가 전방을 향하도록 Raspberry Pi 부착 3. PVT Black 및 Raspberry Pi 네트워크 연결
부품도
PVT Black과 Raspberry Pi 접합부
Ohmni Telebot에 Raspberry Pi와 파노라마 렌즈, Camera Pi를 부착하기 위한 접합부이다.
(설명은 부품도1의 색상을 기준으로 함)
(가로 * 세로 * 높이 , 각 mm 단위)
1. 적색부분 - 92 * 59 * 3
2. 녹색부분 - 95 * 59 * 37
3. 귤색부분 - 58 * 29 * 52
4. 자색부분 - 36 * 36 * 13
소프트웨어 설계
결과 및 평가
완료 작품의 소개
프로토타입 사진 혹은 작동 장면
내용
포스터
관련사업비 내역서
내용
완료작품의 평가
내용
향후계획
내용
특허 출원 내용
내용