SlideShare a Scribd company logo
1 of 2
Download to read offline
제 12 회 한국로봇종합학술대회 논문집 2017 년 2 월 5 일 – 2 월 8 일
- 1 -
1. 서론
1.1 연구 배경
최근의 HMD(Head Mounted Display) 발전으로 인
하여 VR(Virtual Reality) 어플리케이션의 비약적인
발전이 이루어지고 있다. 로보틱스 분야의 고전적인
연구분야인 6DoF SLAM(6-Degree of Freedom
Simultaneous Localization and Mapping)의 경우,
현실 실내공간의 3차원 공간정보를 적은 노력으로
디지털화 할 수 있다는 특성때문에 함께 가상현실
어플리케이션으로서의 가능성을 주목받고 있다.
1.2 문제점 인식
로보틱스 알고리즘을 이용하여 생성된 point cloud
형태의 실내공간의 3차원 공간정보를 생성할 때, 3차
원 공간정보(Map) 데이터의 회전값은 모바일로봇의
센서데이터들로부터 도출된다. 이는 일반적으로 스캔
초기의 IMU(Inertial Measurement Unit)으로부터 측
정된 중력가속도의 방향을 이용하여 추정하는데, 이
들의 값은 정확하게 수평이 아닌 경우가 많다. 이는
센서의 중력방향이 Map의 수평면과 일치하지 않거
나, 센서 자체의 노이즈로 인하여 발생한다.
해당 Map 데이터를 이용하여 가상현실 어플리케
이션을 만드는 경우, 어플리케이션 개발자는 Map의
3차원 회전값을 수정하여 평면으로 맞춰서 현실공간
과 동일한 환경을 재현해야 한다. 하지만 수평을 수
동으로 조정하는 작업은 개발숙련도에 따라 완성도
차이가 나며, 넓은 공간에 대해서는 완벽히 수평으로
만들지 못할 가능성이 높다.
[그림 1] 유저시점에서 관측한 Point Cloud에 대한
수평보정 결과의 비교. 시계방향으로 기울어진 이전
데이터와(위쪽)과 보정후 데이터(아래쪽).
1.3 해결방법
3차원 공간을 스캔 할 때의 촬영자의 이동경로가
평면의 특성을 띈다는 점을 이용하면, 어플리케이션
개발자의 수평보정(Stabilization) 과정을 자동화 할
수 있다. 이동경로에서 SVD를 이용하여 plane
fitting을 수행하여 평면을 추출하면, 해당 평면으로
부터 회전정보를 추출하여 Quaternion rotation으로
손쉽게 수평을 맞춰 줄 수 있다.
위 방법으로 수평보정을 수행하기 이전과 이후의
한 결과는 [그림 1]에서 보이는 바와 같으며, 이후의
내용에서 원리와 실험과정을 기술한다.
Plane Fitting 을 이용한
평면특성을 지닌 경로데이터의 수평보정 방법
백인식1
, 도락주2
1
고려대학교
Stabilization Method of Trajectory Data with Planar Characteristic
using Plane Fitting
Baek Insik1
, Nakju Lett Doh2
1
Korea University
e-mail: bispro@korea.ac.kr, nakju@korea.ac.kr
요 약
가상현실 어플리케이션을 만들기 위하여 로보틱스의 6DoF SLAM 기술을 이용하여 현실의 3차원 공간정보를 디지털화
하는 경우, 획득된 공간정보들의 회전값은 스캔의 초기위치에서 센서데이터들로부터 도출된 회전값을 사용한다. 그렇
게 생성된 3차원 지도는 센서의 노이즈로 인하여 수평이 맞지 않는 경우가 많다. 이를 이용하여 가상현실 어플리케이
션을 만드는 경우, 어플리케이션 개발자는 수동으로 3차원 지도를 수평을 맞춰주어야 한다. 수평을 수동으로 조정하는
경우 정확도가 떨어지고, 실패 가능성이 높다. 이 때 촬영자의 이동경로의 평면특성을 이용하면 3차원 지도의 회전을
추정하고, 손쉽게 정확하게 수평을 맞출 수 있다. 본 논문은 경로데이터에 대해 SVD를 이용한 plane fitting을 이용해
평면을 추정하고, quaternion rotation을 이용해 경로데이터를 회전시키는 방법을 소개한다.
제 12 회 한국로봇종합학술대회 논문집 2017 년 2 월 5 일 – 2 월 8 일
- 2 -
2. 본론
2.1 배경 이론
2.1.1 Normal vector 추출의 방법
경로데이터는 시간에 따른 촬영자의 위치를 추정
하여 3차원 공간좌표로 표현 한 것이고, 이는 3차원
Point Cloud의 형태로 표현될 수 있다. 무게중심을
원점으로 하는 N개의 Point Cloud를, XYZ 좌표값을
열벡터로 하는 3 by N 행렬로 변환하고, 이 행렬에
대해 SVD(Singular Value Decomposition, 특이값
분해)를 수행하고 eigenvector를 취하여 평면특성을
찾는 때, 이 과정은 [2]에서 언급된 고전적인
PlaneSVD 문제로 치환된다.
평면특성을 갖는 3차원 Point Cloud 데이터의 경
우, 가장 작은 singular value값에 해당하는 Left
Singular Vector는 plane에 수직한 벡터와 같다는
점을 이용하면 평면의 Normal vector를 도출할 수
있다. 이 때 trajectory의 포인트 개수가 많다면, 연
산량을 줄이기 위하여 구간별로 sampling을 해줄 수
있다.
2.1.2 회전의 방법
Plane의 Normal vector(A vector)는 어플리케이션
에서 설정된 연직 위 방향(B vector)을 향하도록 회
전해야 한다. 회전에 의해 생기는 특이점 문제를 피
하기 위해 Euler 연산보다는 Quaternion 연산을 통
해 회전을 수행해야한다. A에서 B벡터로 회전시키는
Quaternion인 Q을 구하고, Plane이 속한 공간정보를
Q만큼 회전시켜주면 수평보정 과정이 완료된다.
위 과정에서 유의할 점은, SVD로 인해 도출될 수
있는 plane에 수직한 벡터는 두 개이고, 하나의 벡
터는 plane의 위쪽을, 나머지 하나는 plane의 아래쪽
을 가르키는 벡터라는 것이다. Map이나 스캔용 모바
일로봇이 회전 할 수 있지만 대개의 경우 그 회전값
이 크지 않다고 전제할 수 있으므로, 벡터가 아래방
향을 가리키는 경우에는 해당 벡터에 -1 값을 곱하
여 벡터가 위쪽을 가리키도록 수정하여 사용한다.
2.2 실험
2.2.1 공간정보데이터 획득 방법
실험에 사용된 장비는 Velodyne VLP 16-line
LiDAR scanner와 GX4-25 IMU이다. [그림 2]에 장
비의 전체 사진처럼 해당 모바일로봇 유닛에 상용
삼각대와 바퀴를 부착하여 스캔용 달리(dally)를 구
성하였다. 촬영자는 이 삼각대를 천천히 이동시키며
공간정보를 스캔한다.
스캔 된 공간은 일산 킨텍스 제1전시장이며, ‘로보
월드 2016’ 행사장이다. 해당 공간의 바닥은 대체적
으로 경사가 없는 평면이며, 약 20분동안 장비를 자
유롭게 끌고다니며 데이터를 획득하였다.
획득된 센서데이터는 [1]의 Offline SLAM 알고리
즘을 통하여 환경에 대한 3차원 Point Cloud 데이터
와 촬영자의 경로데이터로 [그림 3]처럼 변환하였다.
[그림 2, 3]스캔 장비(왼쪽)과 경로데이터(오른쪽)
2.2.2 가상현실 어플리케이션 적용 방법
‘Unity’ 게임엔진으로 point cloud를 불러오기 위해,
로보틱스에서 쓰는 Z+가 연직 위인 오른손좌표계를
게임엔진에서의 Y+가 연직 위인 왼손좌표계로 변환
하였다. C# MathNet 라이브러리의 SVD 라이브러리
를 사용하여 본 논문에서 서술된 프로세스를 통하여
경로데이터의 수평보정을 수행하였고, 이를 통해 전
체 Map 데이터에 대해 수평을 보정하였다. 경로데이
터의 보정결과를 수평방향으로 Orthogonal
perspective camera로 Y+ 방향에서 바라본 Point
Cloud는 [그림 4]에 나타나있다.
[그림 4]수평보정 전(위쪽)과 후(아래쪽)의 경로
3. 결론
본 연구는 가상현실 어플리케이션에 로보틱스의 3
차원 공간정보 데이터가 활용 될 때의 수평보정 과
정을 자동화하는 방법에 대한 것이다. 이를 통해 가
상현실 어플리케이션 작업자는 적은 노력으로 정확
하게 자동으로 수평보정을 수행할 수 있다.
단 해당 연구는 전체 경로가 평면특성을 갖는다는
가정을 따르고, 따라서 경로의 높낮이가 변하는 때
대처할 수 없다는 한계를 가진다. 향후의 연구에서는
그러한 특성을 갖는 경로데이터에 대해서도 수평보
정을 수행할 수 있도록 해야 할 것이다.
참고문헌
[1] K. Lee, et al., “Accurate Continuous Sweeping
Framework in Indoor Spaces With Backpack
Sensor System for Applications to 3-D
Mapping,” IEEE Robotics and Automation
Letters, vol. 1, no. 1, pp. 316–323, 2016.
[2] K. Klasing, et al., “Comparison of surface
normal estimation methods for range sensing
applications,” 2009 IEEE International
Conference on Robotics and Automation,
2009.

More Related Content

Similar to Stabilization Method of Trajectory Data with Planar Characteristic using Plane Fitting

시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx
ssuserfb6a2f
 
시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx
ssuserfb6a2f
 

Similar to Stabilization Method of Trajectory Data with Planar Characteristic using Plane Fitting (20)

스마트폰기반의 Ts 측량 지원시스템 개발
스마트폰기반의 Ts 측량 지원시스템 개발스마트폰기반의 Ts 측량 지원시스템 개발
스마트폰기반의 Ts 측량 지원시스템 개발
 
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [AutoCar죠] : 자율주행 로봇 층간 이동을 위한 인지 기능 구현
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [AutoCar죠] : 자율주행 로봇 층간 이동을 위한 인지 기능 구현제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [AutoCar죠] : 자율주행 로봇 층간 이동을 위한 인지 기능 구현
제 17회 보아즈(BOAZ) 빅데이터 컨퍼런스 - [AutoCar죠] : 자율주행 로봇 층간 이동을 위한 인지 기능 구현
 
스마트폰 기반의 TS 측량 지원시스템 개발
스마트폰 기반의 TS 측량 지원시스템 개발스마트폰 기반의 TS 측량 지원시스템 개발
스마트폰 기반의 TS 측량 지원시스템 개발
 
0425 꽃길만걷자 조
0425 꽃길만걷자 조0425 꽃길만걷자 조
0425 꽃길만걷자 조
 
증강현실의 기술원리 및 프레임워크
증강현실의 기술원리 및 프레임워크증강현실의 기술원리 및 프레임워크
증강현실의 기술원리 및 프레임워크
 
입문 Visual SLAM 14강 - 2장 Introduction to slam
입문 Visual SLAM 14강  - 2장 Introduction to slam입문 Visual SLAM 14강  - 2장 Introduction to slam
입문 Visual SLAM 14강 - 2장 Introduction to slam
 
[A-GIST 발표] Crowdsourced 3D Mapping: A combined Multi-View Geometry and Self-...
[A-GIST 발표] Crowdsourced 3D Mapping: A combined Multi-View Geometry and Self-...[A-GIST 발표] Crowdsourced 3D Mapping: A combined Multi-View Geometry and Self-...
[A-GIST 발표] Crowdsourced 3D Mapping: A combined Multi-View Geometry and Self-...
 
[FOSS4G Korea 2016] Smart Camera UAV를 이용한 오픈소스 기반의 자동촬영 및 UAV Image 처리시스템 개발
[FOSS4G Korea 2016]  Smart Camera UAV를 이용한 오픈소스 기반의 자동촬영 및 UAV Image 처리시스템 개발[FOSS4G Korea 2016]  Smart Camera UAV를 이용한 오픈소스 기반의 자동촬영 및 UAV Image 처리시스템 개발
[FOSS4G Korea 2016] Smart Camera UAV를 이용한 오픈소스 기반의 자동촬영 및 UAV Image 처리시스템 개발
 
Smart Camera UAV를 이용한 오픈소스 기반의 자동촬용 및 UAV image 처리시스템 개발
Smart Camera UAV를 이용한 오픈소스 기반의 자동촬용 및 UAV image 처리시스템 개발Smart Camera UAV를 이용한 오픈소스 기반의 자동촬용 및 UAV image 처리시스템 개발
Smart Camera UAV를 이용한 오픈소스 기반의 자동촬용 및 UAV image 처리시스템 개발
 
시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx
 
Gis개론
Gis개론Gis개론
Gis개론
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
증강현실
증강현실증강현실
증강현실
 
고해상도 위성영상을 이용한 smart주제도 생성
고해상도 위성영상을 이용한 smart주제도 생성고해상도 위성영상을 이용한 smart주제도 생성
고해상도 위성영상을 이용한 smart주제도 생성
 
모바일 증강현실 기술동향
모바일 증강현실 기술동향모바일 증강현실 기술동향
모바일 증강현실 기술동향
 
시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx시스템종합설계_R&D_최종발표자료.pptx
시스템종합설계_R&D_최종발표자료.pptx
 
Ar 최신기술과 서비스 동향 및 전망
Ar 최신기술과 서비스 동향 및 전망Ar 최신기술과 서비스 동향 및 전망
Ar 최신기술과 서비스 동향 및 전망
 
파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기파이어몽키 3D 애플리케이션 만들기
파이어몽키 3D 애플리케이션 만들기
 
논문-정규분포변환
논문-정규분포변환논문-정규분포변환
논문-정규분포변환
 
간단한 기구부와 결합한 공간증강현실 시스템의 샘플 기반 제어 방법
간단한 기구부와 결합한 공간증강현실 시스템의 샘플 기반 제어 방법간단한 기구부와 결합한 공간증강현실 시스템의 샘플 기반 제어 방법
간단한 기구부와 결합한 공간증강현실 시스템의 샘플 기반 제어 방법
 

Stabilization Method of Trajectory Data with Planar Characteristic using Plane Fitting

  • 1. 제 12 회 한국로봇종합학술대회 논문집 2017 년 2 월 5 일 – 2 월 8 일 - 1 - 1. 서론 1.1 연구 배경 최근의 HMD(Head Mounted Display) 발전으로 인 하여 VR(Virtual Reality) 어플리케이션의 비약적인 발전이 이루어지고 있다. 로보틱스 분야의 고전적인 연구분야인 6DoF SLAM(6-Degree of Freedom Simultaneous Localization and Mapping)의 경우, 현실 실내공간의 3차원 공간정보를 적은 노력으로 디지털화 할 수 있다는 특성때문에 함께 가상현실 어플리케이션으로서의 가능성을 주목받고 있다. 1.2 문제점 인식 로보틱스 알고리즘을 이용하여 생성된 point cloud 형태의 실내공간의 3차원 공간정보를 생성할 때, 3차 원 공간정보(Map) 데이터의 회전값은 모바일로봇의 센서데이터들로부터 도출된다. 이는 일반적으로 스캔 초기의 IMU(Inertial Measurement Unit)으로부터 측 정된 중력가속도의 방향을 이용하여 추정하는데, 이 들의 값은 정확하게 수평이 아닌 경우가 많다. 이는 센서의 중력방향이 Map의 수평면과 일치하지 않거 나, 센서 자체의 노이즈로 인하여 발생한다. 해당 Map 데이터를 이용하여 가상현실 어플리케 이션을 만드는 경우, 어플리케이션 개발자는 Map의 3차원 회전값을 수정하여 평면으로 맞춰서 현실공간 과 동일한 환경을 재현해야 한다. 하지만 수평을 수 동으로 조정하는 작업은 개발숙련도에 따라 완성도 차이가 나며, 넓은 공간에 대해서는 완벽히 수평으로 만들지 못할 가능성이 높다. [그림 1] 유저시점에서 관측한 Point Cloud에 대한 수평보정 결과의 비교. 시계방향으로 기울어진 이전 데이터와(위쪽)과 보정후 데이터(아래쪽). 1.3 해결방법 3차원 공간을 스캔 할 때의 촬영자의 이동경로가 평면의 특성을 띈다는 점을 이용하면, 어플리케이션 개발자의 수평보정(Stabilization) 과정을 자동화 할 수 있다. 이동경로에서 SVD를 이용하여 plane fitting을 수행하여 평면을 추출하면, 해당 평면으로 부터 회전정보를 추출하여 Quaternion rotation으로 손쉽게 수평을 맞춰 줄 수 있다. 위 방법으로 수평보정을 수행하기 이전과 이후의 한 결과는 [그림 1]에서 보이는 바와 같으며, 이후의 내용에서 원리와 실험과정을 기술한다. Plane Fitting 을 이용한 평면특성을 지닌 경로데이터의 수평보정 방법 백인식1 , 도락주2 1 고려대학교 Stabilization Method of Trajectory Data with Planar Characteristic using Plane Fitting Baek Insik1 , Nakju Lett Doh2 1 Korea University e-mail: bispro@korea.ac.kr, nakju@korea.ac.kr 요 약 가상현실 어플리케이션을 만들기 위하여 로보틱스의 6DoF SLAM 기술을 이용하여 현실의 3차원 공간정보를 디지털화 하는 경우, 획득된 공간정보들의 회전값은 스캔의 초기위치에서 센서데이터들로부터 도출된 회전값을 사용한다. 그렇 게 생성된 3차원 지도는 센서의 노이즈로 인하여 수평이 맞지 않는 경우가 많다. 이를 이용하여 가상현실 어플리케이 션을 만드는 경우, 어플리케이션 개발자는 수동으로 3차원 지도를 수평을 맞춰주어야 한다. 수평을 수동으로 조정하는 경우 정확도가 떨어지고, 실패 가능성이 높다. 이 때 촬영자의 이동경로의 평면특성을 이용하면 3차원 지도의 회전을 추정하고, 손쉽게 정확하게 수평을 맞출 수 있다. 본 논문은 경로데이터에 대해 SVD를 이용한 plane fitting을 이용해 평면을 추정하고, quaternion rotation을 이용해 경로데이터를 회전시키는 방법을 소개한다.
  • 2. 제 12 회 한국로봇종합학술대회 논문집 2017 년 2 월 5 일 – 2 월 8 일 - 2 - 2. 본론 2.1 배경 이론 2.1.1 Normal vector 추출의 방법 경로데이터는 시간에 따른 촬영자의 위치를 추정 하여 3차원 공간좌표로 표현 한 것이고, 이는 3차원 Point Cloud의 형태로 표현될 수 있다. 무게중심을 원점으로 하는 N개의 Point Cloud를, XYZ 좌표값을 열벡터로 하는 3 by N 행렬로 변환하고, 이 행렬에 대해 SVD(Singular Value Decomposition, 특이값 분해)를 수행하고 eigenvector를 취하여 평면특성을 찾는 때, 이 과정은 [2]에서 언급된 고전적인 PlaneSVD 문제로 치환된다. 평면특성을 갖는 3차원 Point Cloud 데이터의 경 우, 가장 작은 singular value값에 해당하는 Left Singular Vector는 plane에 수직한 벡터와 같다는 점을 이용하면 평면의 Normal vector를 도출할 수 있다. 이 때 trajectory의 포인트 개수가 많다면, 연 산량을 줄이기 위하여 구간별로 sampling을 해줄 수 있다. 2.1.2 회전의 방법 Plane의 Normal vector(A vector)는 어플리케이션 에서 설정된 연직 위 방향(B vector)을 향하도록 회 전해야 한다. 회전에 의해 생기는 특이점 문제를 피 하기 위해 Euler 연산보다는 Quaternion 연산을 통 해 회전을 수행해야한다. A에서 B벡터로 회전시키는 Quaternion인 Q을 구하고, Plane이 속한 공간정보를 Q만큼 회전시켜주면 수평보정 과정이 완료된다. 위 과정에서 유의할 점은, SVD로 인해 도출될 수 있는 plane에 수직한 벡터는 두 개이고, 하나의 벡 터는 plane의 위쪽을, 나머지 하나는 plane의 아래쪽 을 가르키는 벡터라는 것이다. Map이나 스캔용 모바 일로봇이 회전 할 수 있지만 대개의 경우 그 회전값 이 크지 않다고 전제할 수 있으므로, 벡터가 아래방 향을 가리키는 경우에는 해당 벡터에 -1 값을 곱하 여 벡터가 위쪽을 가리키도록 수정하여 사용한다. 2.2 실험 2.2.1 공간정보데이터 획득 방법 실험에 사용된 장비는 Velodyne VLP 16-line LiDAR scanner와 GX4-25 IMU이다. [그림 2]에 장 비의 전체 사진처럼 해당 모바일로봇 유닛에 상용 삼각대와 바퀴를 부착하여 스캔용 달리(dally)를 구 성하였다. 촬영자는 이 삼각대를 천천히 이동시키며 공간정보를 스캔한다. 스캔 된 공간은 일산 킨텍스 제1전시장이며, ‘로보 월드 2016’ 행사장이다. 해당 공간의 바닥은 대체적 으로 경사가 없는 평면이며, 약 20분동안 장비를 자 유롭게 끌고다니며 데이터를 획득하였다. 획득된 센서데이터는 [1]의 Offline SLAM 알고리 즘을 통하여 환경에 대한 3차원 Point Cloud 데이터 와 촬영자의 경로데이터로 [그림 3]처럼 변환하였다. [그림 2, 3]스캔 장비(왼쪽)과 경로데이터(오른쪽) 2.2.2 가상현실 어플리케이션 적용 방법 ‘Unity’ 게임엔진으로 point cloud를 불러오기 위해, 로보틱스에서 쓰는 Z+가 연직 위인 오른손좌표계를 게임엔진에서의 Y+가 연직 위인 왼손좌표계로 변환 하였다. C# MathNet 라이브러리의 SVD 라이브러리 를 사용하여 본 논문에서 서술된 프로세스를 통하여 경로데이터의 수평보정을 수행하였고, 이를 통해 전 체 Map 데이터에 대해 수평을 보정하였다. 경로데이 터의 보정결과를 수평방향으로 Orthogonal perspective camera로 Y+ 방향에서 바라본 Point Cloud는 [그림 4]에 나타나있다. [그림 4]수평보정 전(위쪽)과 후(아래쪽)의 경로 3. 결론 본 연구는 가상현실 어플리케이션에 로보틱스의 3 차원 공간정보 데이터가 활용 될 때의 수평보정 과 정을 자동화하는 방법에 대한 것이다. 이를 통해 가 상현실 어플리케이션 작업자는 적은 노력으로 정확 하게 자동으로 수평보정을 수행할 수 있다. 단 해당 연구는 전체 경로가 평면특성을 갖는다는 가정을 따르고, 따라서 경로의 높낮이가 변하는 때 대처할 수 없다는 한계를 가진다. 향후의 연구에서는 그러한 특성을 갖는 경로데이터에 대해서도 수평보 정을 수행할 수 있도록 해야 할 것이다. 참고문헌 [1] K. Lee, et al., “Accurate Continuous Sweeping Framework in Indoor Spaces With Backpack Sensor System for Applications to 3-D Mapping,” IEEE Robotics and Automation Letters, vol. 1, no. 1, pp. 316–323, 2016. [2] K. Klasing, et al., “Comparison of surface normal estimation methods for range sensing applications,” 2009 IEEE International Conference on Robotics and Automation, 2009.